微信小程序 訂閱消息·send

2022-05-12 15:30 更新

subscribeMessage.send

本接口應在服務器端調(diào)用,詳細說明參見服務端API。
本接口支持云調(diào)用。需開發(fā)者工具版本 >= 1.02.1904090(最新穩(wěn)定版下載
wx-server-sdk >= 0.4.0

發(fā)送訂閱消息

調(diào)用方式:

  • HTTPS 調(diào)用
  • 云調(diào)用

HTTPS 調(diào)用

請求地址

POST https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN

請求參數(shù)

屬性 類型 默認值 必填 說明
access_token string 接口調(diào)用憑證
touser string 接收者(用戶)的 openid
template_id string 所需下發(fā)的訂閱模板id
page string 點擊模板卡片后的跳轉(zhuǎn)頁面,僅限本小程序內(nèi)的頁面。支持帶參數(shù),(示例index?foo=bar)。該字段不填則模板無跳轉(zhuǎn)。
data Object 模板內(nèi)容,格式形如 { "key1": { "value": any }, "key2": { "value": any } }
miniprogram_state string 跳轉(zhuǎn)小程序類型:developer為開發(fā)版;trial為體驗版;formal為正式版;默認為正式版
lang string 進入小程序查看”的語言類型,支持zh_CN(簡體中文)、en_US(英文)、zh_HK(繁體中文)、zh_TW(繁體中文),默認為zh_CN

返回值

Object

返回的 JSON 數(shù)據(jù)包

屬性 類型 說明
errcode number 錯誤碼
errmsg string 錯誤信息

errcode 的合法值

說明 最低版本
40003 touser字段openid為空或者不正確
40037 訂閱模板id為空不正確
43101 用戶拒絕接受消息,如果用戶之前曾經(jīng)訂閱過,則表示用戶取消了訂閱關(guān)系
47003 模板參數(shù)不準確,可能為空或者不滿足規(guī)則,errmsg會提示具體是哪個字段出錯
41030 page路徑不正確,需要保證在現(xiàn)網(wǎng)版本小程序中存在,與app.json保持一致

接口限制

次數(shù)限制:開通支付能力的是3kw/日,沒開通的是1kw/日。

請求示例

{
  "touser": "OPENID",
  "template_id": "TEMPLATE_ID",
  "page": "index",
  "miniprogram_state":"developer",
  "lang":"zh_CN",
  "data": {
      "number01": {
          "value": "339208499"
      },
      "date01": {
          "value": "2015年01月05日"
      },
      "site01": {
          "value": "TIT創(chuàng)意園"
      } ,
      "site02": {
          "value": "廣州市新港中路397號"
      }
  }
}

訂閱消息參數(shù)值內(nèi)容限制說明

參數(shù)類別 參數(shù)說明 參數(shù)值限制 說明
thing.DATA 事物 20個以內(nèi)字符 可漢字、數(shù)字、字母或符號組合
number.DATA 數(shù)字 32位以內(nèi)數(shù)字 只能數(shù)字,可帶小數(shù)
letter.DATA 字母 32位以內(nèi)字母 只能字母
symbol.DATA 符號 5位以內(nèi)符號 只能符號
character_string.DATA 字符串 32位以內(nèi)數(shù)字、字母或符號 可數(shù)字、字母或符號組合
time.DATA 時間 24小時制時間格式(支持+年月日),支持填時間段,兩個時間點之間用“~”符號連接 例如:15:01,或:2019年10月1日 15:01
date.DATA 日期 年月日格式(支持+24小時制時間),支持填時間段,兩個時間點之間用“~”符號連接 例如:2019年10月1日,或:2019年10月1日 15:01
amount.DATA 金額 1個幣種符號+10位以內(nèi)純數(shù)字,可帶小數(shù),結(jié)尾可帶“元” 可帶小數(shù)
phone_number.DATA 電話 17位以內(nèi),數(shù)字、符號 電話號碼,例:+86-0766-66888866
car_number.DATA 車牌 8位以內(nèi),第一位與最后一位可為漢字,其余為字母或數(shù)字 車牌號碼:粵A8Z888掛
name.DATA 姓名 10個以內(nèi)純漢字或20個以內(nèi)純字母或符號 中文名10個漢字內(nèi);純英文名20個字母內(nèi);中文和字母混合按中文名算,10個字內(nèi)
phrase.DATA 漢字 5個以內(nèi)漢字 5個以內(nèi)純漢字,例如:配送中

符號表示除中文、英文、數(shù)字外的常見符號,不能帶有換行等控制字符。 時間格式支持HH:MM:SS或者HH:MM。 日期包含年月日,為y年m月d日,y年m月、m月d日格式,或者用‘-’、‘/’、‘.’符號連接,如2018-01-01,2018/01/01,2018.01.01,2018-01,01-01。 每個模板參數(shù)都會以類型為前綴,例如第一個數(shù)字模板參數(shù)為number01.DATA,第二個為number02.DATA

例如,模板的內(nèi)容為

姓名: {{name01.DATA}}
金額: {{amount01.DATA}}
行程: {{thing01.DATA}}
日期: {{date01.DATA}}

則對應的json為

{
  "touser": "OPENID",
  "template_id": "TEMPLATE_ID",
  "page": "index",
  "data": {
      "name01": {
          "value": "某某"
      },
      "amount01": {
          "value": "¥100"
      },
      "thing01": {
          "value": "廣州至北京"
      } ,
      "date01": {
          "value": "2018-01-01"
      }
  }
}

云調(diào)用

云調(diào)用是小程序·云開發(fā)提供的在云函數(shù)中調(diào)用微信開放接口的能力,需要在云函數(shù)中通過 wx-server-sdk 使用。

接口方法

openapi.subscribeMessage.send
需在 config.json 中配置 subscribeMessage.send API 的權(quán)限,詳情

請求參數(shù)

屬性 類型 默認值 必填 說明
touser string 接收者(用戶)的 openid
templateId string 所需下發(fā)的訂閱模板id
page string 點擊模板卡片后的跳轉(zhuǎn)頁面,僅限本小程序內(nèi)的頁面。支持帶參數(shù),(示例index?foo=bar)。該字段不填則模板無跳轉(zhuǎn)。
data Object 模板內(nèi)容,格式形如 { "key1": { "value": any }, "key2": { "value": any } }
miniprogramState string 跳轉(zhuǎn)小程序類型:developer為開發(fā)版;trial為體驗版;formal為正式版;默認為正式版
lang string 進入小程序查看”的語言類型,支持zh_CN(簡體中文)、en_US(英文)、zh_HK(繁體中文)、zh_TW(繁體中文),默認為zh_CN

返回值

Object

返回的 JSON 數(shù)據(jù)包

屬性 類型 說明
errCode number 錯誤碼
errMsg string 錯誤信息

errCode 的合法值

說明 最低版本
0 成功

異常

Object

拋出的異常

屬性 類型 說明
errCode number 錯誤碼
errMsg string 錯誤信息

errCode 的合法值

說明 最低版本
40003 touser字段openid為空或者不正確
40037 訂閱模板id為空不正確
43101 用戶拒絕接受消息,如果用戶之前曾經(jīng)訂閱過,則表示用戶取消了訂閱關(guān)系
47003 模板參數(shù)不準確,可能為空或者不滿足規(guī)則,errmsg會提示具體是哪個字段出錯
41030 page路徑不正確,需要保證在現(xiàn)網(wǎng)版本小程序中存在,與app.json保持一致

請求示例

const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.subscribeMessage.send({
        touser: 'OPENID',
        page: 'index',
        lang: 'zh_CN',
        data: {
          number01: {
            value: '339208499'
          },
          date01: {
            value: '2015年01月05日'
          },
          site01: {
            value: 'TIT創(chuàng)意園'
          },
          site02: {
            value: '廣州市新港中路397號'
          }
        },
        templateId: 'TEMPLATE_ID',
        miniprogramState: 'developer'
      })
    return result
  } catch (err) {
    return err
  }
}


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號