# 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。(2053122: 营销类短信模版 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": "2053122",
  "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。(2053122: 营销类短信模版 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": '2053122',
        "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"
}
点击咨询小助手