下发统一服务消息

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

..:: 本接口支持云调用。

服务器端调用

接口地址请求地址 api

POST message/wxopen/template/uniform_send?access_token=(ACCESS_TOKEN)
Synopsis

下发小程序和公众号统一的服务消息

Mimetype

application/json

Query Parameters
  • access_token (string) – 必选 接口调用凭证

Request JSON Object
  • touser (string) – 必选 用户openid,可以是小程序的openid,也可以是mp_template_msg.appid对应的公众号的openid

  • weapp_template_msg (object) –

    非必选 小程序模板消息相关的信息,可以参考小程序模板消息接口; 有此节点则优先发送小程序模板消息

    • template_id (string): 必选 小程序模板ID

    • page (string): 必选 小程序页面路径

    • form_id (string): 必选 小程序模板消息formid

    • data (string): 必选 小程序模板数据

    • emphasis_keyword (string): 必选 小程序模板放大关键词

  • mp_template_msg (object) –

    必选 公众号模板消息相关的信息,可以参考公众号模板消息接口;有此节点并且没有weapp_template_msg节点时,发送公众号模板消息

    • appid (string): 必选 公众号appid,要求与小程序有绑定且同主体

    • template_id (string): 必选 公众号模板id

    • url (string): 必选 公众号模板消息所要跳转的url

    • miniprogram (string): 必选 公众号模板消息所要跳转的小程序,小程序的必须与公众号具有绑定关系

    • data (string): 必选 公众号模板消息的数据

Response JSON Object
  • errmsg (string) – 错误信息

  • errcode (number) – 错误码

请求示例
 1POST message/wxopen/template/uniform_send HTTP/1.1
 2Host: https://api.weixin.qq.com/cgi-bin/
 3Accept: application/json, text/javascript
 4{
 5  "touser": "OPENID",
 6  "weapp_template_msg": {
 7    "template_id": "TEMPLATE_ID",
 8    "page": "page/page/index",
 9    "form_id": "FORMID",
10    "data": {
11      "keyword1": {
12        "value": "339208499"
13      },
14      "keyword2": {
15        "value": "2015年01月05日 12:30"
16      },
17      "keyword3": {
18        "value": "腾讯微信总部"
19      },
20      "keyword4": {
21        "value": "广州市海珠区新港中路397号"
22      }
23    },
24    "emphasis_keyword": "keyword1.DATA"
25  },
26  "mp_template_msg": {
27    "appid": "APPID ",
28    "template_id": "TEMPLATE_ID",
29    "url": "http://weixin.qq.com/download",
30    "miniprogram": {
31      "appid": "xiaochengxuappid12345",
32      "pagepath": "index?foo=bar"
33    },
34    "data": {
35      "first": {
36        "value": "恭喜你购买成功!",
37        "color": "#173177"
38      },
39      "keyword1": {
40        "value": "巧克力",
41        "color": "#173177"
42      },
43      "keyword2": {
44        "value": "39.8元",
45        "color": "#173177"
46      },
47      "keyword3": {
48        "value": "2014年9月22日",
49        "color": "#173177"
50      },
51      "remark": {
52        "value": "欢迎再次购买!",
53        "color": "#173177"
54      }
55    }
56  }
57}
响应示例
HTTP/1.1 200 OK
Vary: Accept
Content-Type: text/javascript
{
  "errcode": 0,
  "errmsg": "ok"
}

云调用

openapi.uniformMessage.send({touser, weappTemplateMsg, mpTemplateMsg})

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

参数
  • touser (string()) – 是 用户openid,可以是小程序的openid,也可以是mp_template_msg.appid对应的公众号的openid

  • weappTemplateMsg (object()) –

    否 小程序模板消息相关的信息,可以参考小程序模板消息接口; 有此节点则优先发送小程序模板消息

    • templateId (string): 是 小程序模板ID

    • page (string): 是 小程序页面路径

    • formId (string): 是 小程序模板消息formid

    • data (string): 是 小程序模板数据

    • emphasisKeyword (string): 是 小程序模板放大关键词

  • mpTemplateMsg (object()) –

    是 公众号模板消息相关的信息,可以参考公众号模板消息接口;有此节点并且没有weapp_template_msg节点时,发送公众号模板消息

    • appid (string): 是 公众号appid,要求与小程序有绑定且同主体

    • templateId (string): 是 公众号模板id

    • url (string): 是 公众号模板消息所要跳转的url

    • miniprogram (string): 是 公众号模板消息所要跳转的小程序,小程序的必须与公众号具有绑定关系

    • data (string): 是 公众号模板消息的数据

返回

  • errCode (number): 错误码

  • errMsg (string): 错误信息

抛出

SomeError()

  • errCode (number): 错误码

  • errMsg (string): 错误信息

请求示例
const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.uniformMessage.send({
      touser: 'OPENID',
      weappTemplateMsg: {
        page: 'page/page/index',
        data: {
          keyword1: {
            value: '339208499'
          },
          keyword2: {
            value: '2015年01月05日 12:30'
          },
          keyword3: {
            value: '腾讯微信总部'
          },
          keyword4: {
            value: '广州市海珠区新港中路397号'
          }
        },
        templateId: 'TEMPLATE_ID',
        formId: 'FORMID',
        emphasisKeyword: 'keyword1.DATA'
      },
      mpTemplateMsg: {
        appid: 'APPID ',
        url: 'http://weixin.qq.com/download',
        miniprogram: {
          appid: 'xiaochengxuappid12345',
          pagepath: 'index?foo=bar'
        },
        data: {
          first: {
            value: '恭喜你购买成功!',
            color: '#173177'
          },
          keyword1: {
            value: '巧克力',
            color: '#173177'
          },
          keyword2: {
            value: '39.8元',
            color: '#173177'
          },
          keyword3: {
            value: '2014年9月22日',
            color: '#173177'
          },
          remark: {
            value: '欢迎再次购买!',
            color: '#173177'
          }
        },
        templateId: 'TEMPLATE_ID'
      }
    })
    console.log(result)
    return result
  } catch (err) {
    console.log(err)
    return err
  }
}
返回示例
{
  "errCode": 0,
  "errMsg": "openapi.uniformMessage.send:ok"
}

错误码

错误码

说明

40037

模板id不正确,weapp_template_msg.template_id或者mp_template_msg.template_id

41028

weapp_template_msg.form_id过期或者不正确

41029

weapp_template_msg.form_id已被使用

41030

weapp_template_msg.page不正确

45009

接口调用超过限额

40003

touser不是正确的openid

40013

appid不正确,或者不符合绑定关系要求