cloudbase.createSendSmsTask

本接口应在服务器端调用,详细说明参见服务端API

本接口支持云调用。需开发者工具版本 >= 1.02.1904090(最新稳定版下载),wx-server-sdk >= 0.4.0

创建发短信任务。发送的短信支持打开云开发静态网站 H5,进而在 H5 里可以打开小程序。详情可参考静态网站 H5 跳小程序

短信格式:

小程序名称${content},点击 云开发静态网站 URL 打开小程序名称小程序,退订回T。 示例:【云开发】能力上新,跳转小程序https://dllzff.cn/VcdrUJK0 退订回T。

短信由签名和正文内容组成:

短信签名是位于短信正文前【】中的署名,小程序发送短信时,签名为小程序名称。

  • 正文内容是由短信模板和变量构成,{1},跳转小程序 {2} 退订回T,模板参数中 {1},{2} 是变量:
  • {1} :用户可自定义传入的内容,当前最长为30个字。
  • {2} :用户传入的静态托管的地址,例如 /action/index.html?action=double12。

通过该 API 来实现发短信的完整过程:

  1. 下载 CSV 模版文件,并按格式填写手机号、短信内容、跳转的静态托管地址
  2. 上传填写后的 CSV 文件, 并获取CodeUri
    1. 调用描述扩展上传文件信息,获取上传链接 UploadUrl
      1. FileType 参数填 SMS
    2. 使用 HTTP PUT 方法请求 UploadUrl 上传 CSV 文件
  3. 调用本 API,创建发短信任务,并获取到查询 ID
  4. 通过查询 ID 可以查询短信任务的执行情况

调用方式:

HTTPS 调用

请求地址

POST https://api.weixin.qq.com/tcb/createsendsmstask?access_token=TOKEN

请求参数

属性 类型 默认值 必填 说明
access_token string 接口调用凭证
env string 环境 ID
file_url string 短信 CSV 文件地址CodeUri

返回值

Object

返回的 JSON 数据包

属性 类型 说明
errcode number 错误码
errmsg string 错误信息
query_id string 查询 ID

errcode 的合法值

说明 最低版本
0 请求成功
-1 系统繁忙,此时请开发者稍候再试
-501007 参数有误,具体原因参考 errmsg
-601027 无效的环境
-601028 该环境没有开通静态网站
-601032 小程序昵称不能为空
-601033 仅支持非个人主体小程序

请求数据示例

{
  "env":"xxx",
  "file_url":"xxx"
}

返回数据示例

{
  "errcode":0,
  "query_id":"xxx"
}

云调用

云调用是小程序·云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过 wx-server-sdk 使用。

接口方法

openapi.cloudbase.createSendSmsTask

需在 config.json 中配置 cloudbase.createSendSmsTask API 的权限,详情

请求参数

属性 类型 默认值 必填 说明
env string 环境 ID
fileUrl string 短信 CSV 文件地址CodeUri

返回值

Object

返回的 JSON 数据包

属性 类型 说明
errCode number 错误码
errMsg string 错误信息
queryId string 查询 ID

errCode 的合法值

说明 最低版本
0 成功

异常

Object

抛出的异常

属性 类型 说明
errCode number 错误码
errMsg string 错误信息

errCode 的合法值

说明 最低版本
-1 系统繁忙,此时请开发者稍候再试
-501007 参数有误,具体原因参考 errmsg
-601027 无效的环境
-601028 该环境没有开通静态网站
-601032 小程序昵称不能为空
-601033 仅支持非个人主体小程序

请求数据示例

const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV,
})
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.cloudbase.createSendSmsTask({
        env: 'xxx',
        fileUrl: 'xxx'
      })
    return result
  } catch (err) {
    return err
  }
}

返回数据示例

{
  "errCode": 0,
  "queryId": "xxx",
  "errMsg": "openapi.cloudbase.createSendSmsTask:ok"
}