# 触发云函数

调试诊断

接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南

接口英文名:invokeCloudFunction

通过本接口可以触发指定云开发环境中的云函数。

云函数是云开发中运行在云端的代码,可用于处理业务逻辑。

重要提示:使用本 API 触发的云函数无法获取 OpenID 等用户登录态信息,因此无法使用涉及用户登录态的其他 API。

# 1. 调用方式

# HTTPS 调用

POST New https://api.weixin.qq.com/tcb/invokecloudfunction?access_token=ACCESS_TOKEN

# 云调用

  • 本接口不支持云调用。

# 第三方调用

  • 本接口支持第三方平台代商家调用。

  • 该接口所属的权限集 id 为:49

  • 服务商获得其中之一权限集授权后,可通过使用 authorizer_access_token 代商家进行调用,具体可查看 第三方调用 说明文档。

# 2. 请求参数

# 查询参数 Query String Parameters

参数名类型必填说明
access_tokenstring接口调用凭证,可使用 authorizer_access_token

# 请求体 Request Payload

参数名类型必填说明
envstring云开发环境 ID,用于指定要触发云函数的环境
namestring云函数名称,即要触发的云函数的函数名
req_datastring传递给云函数的输入参数,为 JSON 字符串格式。具体结构由开发者根据云函数业务逻辑自定义定义

# 3. 返回参数

# 返回体 Response Payload

参数名类型说明
errcodenumber错误码,0 表示成功,其他值表示失败
errmsgstring错误信息,成功时返回 "ok"
resp_datastring云函数返回的数据,为 JSON 字符串格式。内容由云函数业务逻辑决定

# 4. 注意事项

  • 使用本 API 触发云函数,在云函数中无法获取 OpenID 等用户相关信息,无法使用涉及用户登录态的其他 API。
  • 注意 POST BODY 部分会传递给云函数作为输入参数。
  • 由 HTTP API 触发的云函数可以使用云调用。
  • 由 HTTP API 触发云函数的超时时间为 5s,请注意云函数的执行时间不能过长。
  • 如果是服务商模式-批量代云开发,则使用 component_access_token
  • 如果是服务商模式-普通代云开发,则使用 authorizer_access_token
  • 如果是小程序普通调用,则使用 access_token

# 5. 代码示例

请求示例

curl -d '{}' \
'https://api.weixin.qq.com/tcb/invokecloudfunction?access_token=ACCESS_TOKEN&env=ENV&name=login'

返回示例

{
  "errcode": 0,
  "errmsg": "ok",
  "resp_data": "{\"event\":{\"userInfo\":{\"appId\":\"SAMPLE_APPID\"}},\"appid\":\"SAMPLE_APPID\"}"
}

# 6. 错误码

以下是本接口的错误码列表,其他错误码可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。

错误码错误描述解决方案
-1system error系统繁忙,此时请开发者稍候再试
40014invalid access_token不合法的 access_token ,请开发者认真比对 access_token 的有效性(如是否过期),或查看是否正在为恰当的公众号调用接口
40101missing parameter缺少必填参数
41001access_token missing缺少 access_token 参数
42001access_token expiredaccess_token 超时,请检查 access_token 的有效期,请参考基础支持 - 获取 access_token 中,对 access_token 的详细机制说明
43002require POST method需要 POST 请求
44002empty post dataPOST 的数据包为空。post请求body参数不能为空。
85088no qbase privilege该APP未开通云开发

# 7. 适用范围

本接口支持「第三方平台」账号类型代调用,权限集请参考「调用方式」部分。其他账号类型如无特殊说明,均不可调用。