cloudbase.sendSmsV2

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

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

发送携带 URL Link 的短信

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

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

  • 正文内容是由短信模板和变量构成,例:{1},跳转小程序 {2} 回T退订,模板参数中 {1},{2} 是变量:
  • {1} :用户可自定义传入的内容,当前最长为30个字。
  • {2} :用户传入的 URL Link,例如 https://wxmpurl.cn/tN5huKl2Gwg 示例:【云开发】能力上新,跳转小程序 https://wxmpurl.cn/tN5huKl2Gwg 回T退订

短信资源包:前往“开发者工具-云开发-设置-环境设置-资源包”中购买。

第三方代开发说明:小程序需要将【短信服务】或【云开发】权限集授权给第三方,第三方才可代小程序调用此接口。第三方在调用接口时,可选择使用第三方的环境或小程序的环境,默认使用小程序的环境。在resource_appid填入第三方的appid,在env填入第三方账号下的环境,即可使用第三方的环境。

调用方式:

HTTPS 调用

请求地址

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

请求参数

属性 类型 默认值 必填 说明
access_token / cloudbase_access_token string 接口调用凭证
env string 环境 ID
url_link string URL Link
template_id string 短信模版 ID。(844110: 营销类短信模版 ID)
template_param_list Array.<string> 短信模版变量数组
phone_number_list Array.<string> 手机号列表,单次请求最多支持 1000 个境内手机号,手机号必须以+86开头
use_short_name bool false 是否使用小程序简称
resource_appid string 资源方appid,第三方代开发时可填第三方appid或小程序appid,应为所填环境所属的账号APPID

返回值

Object

返回的 JSON 数据包

属性 类型 说明
errcode number 错误码
errmsg string 错误信息
send_status_list Array.<Object> 开放数据列表

errcode 的合法值

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

send_status_list 的结构

属性 类型 说明
serial_no string 发送流水号
phone_number string 手机号码
code string 短信请求错误码
message string 短信请求错误码描述
iso_code string 国家码或地区码

请求数据示例

{
  "env":"online-12345678910",
  "url_link":"https://wxaurl.cn/xxxxxx",
  "template_id": "844110",
  "template_param_list": ["能力上新"],
  "phone_number_list":[
     "+8612345678910"
  ]
}

返回数据示例

{
  "errcode":0,
  "send_status_list":[
     {
        "serial_no":"8:gFIqWUHzllUyOFRHgeu20201231",
        "phone_number":"+8612345678910",
        "code":"Ok",
        "message":"send success",
        "iso_code":""
     }
  ]
}

云调用

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

接口方法

openapi.cloudbase.sendSmsV2

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

请求参数

属性 类型 默认值 必填 说明
env string 环境 ID
urlLink string URL Link
templateId string 短信模版 ID。(844110: 营销类短信模版 ID)
templateParamList Array.<string> 短信模版变量数组
phoneNumberList Array.<string> 手机号列表,单次请求最多支持 1000 个境内手机号,手机号必须以+86开头
useShortName bool false 是否使用小程序简称
resourceAppid string 资源方appid,第三方代开发时可填第三方appid或小程序appid,应为所填环境所属的账号APPID

返回值

Object

返回的 JSON 数据包

属性 类型 说明
errCode number 错误码
errMsg string 错误信息
sendStatusList Array.<Object> 开放数据列表

errCode 的合法值

说明 最低版本
0 成功

sendStatusList 的结构

属性 类型 说明
serialNo string 发送流水号
phoneNumber string 手机号码
code string 短信请求错误码
message string 短信请求错误码描述
isoCode string 国家码或地区码

异常

Object

抛出的异常

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

errCode 的合法值

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

请求数据示例

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.sendSmsV2({
        "env": 'online-12345678910',
        "urlLink": 'https://wxaurl.cn/xxxxxx',
        "templateId": '844110',
        "templateParamList": [
          "能力上新"
        ],
        "phoneNumberList": [
          "+8612345678910"
        ]
      })
    return result
  } catch (err) {
    return err
  }
}

返回数据示例

{
  "errCode": 0,
  "sendStatusList": [
    {
      "code": "Ok",
      "message": "send success",
      "serialNo": "8:gFIqWUHzllUyOFRHgeu20201231",
      "phoneNumber": "+8612345678910",
      "isoCode": ""
    }
  ],
  "errMsg": "openapi.cloudbase.sendSmsV2:ok"
}