sendTemplateMessage

解释:推送模板消息

百度APP中扫码体验:sendTemplateMessage - 图1接口调用请求说明:请提前在开发者平台创建消息模板。用application/x-www-form-urlencoded方式提交数据。

  1. POST https://openapi.baidu.com/rest/2.0/smartapp/template/send?access_token=ACCESS_TOKEN

名词解释:

  • swan_id:百度生成的与设备相关的唯一标识,APP卸载重安装不会变,详见 swanid机制说明sendTemplateMessage - 图2
  • open_id:百度用户登录唯一标识,详见 开放接口-登录sendTemplateMessage - 图3
  • formId:页面内form组件的report-submit属性为true时返回formid,详见 form表单sendTemplateMessage - 图4

公共请求参数:

参数名类型是否必须描述
access_tokenstringaccess_tokensendTemplateMessage - 图5,授权小程序的接口调用凭据

请求参数:

参数名类型是否必须描述
template_idstring所需下发的模板消息的id
touserstring接收者swan_id
touser_openIdstring接收者open_id
datajson/string{"keyword1": {"value": "2018-09-06"},"keyword2": {"value": "kfc"}}
pagestring点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar),该字段不填则模板无跳转。
scene_idstring场景id,例如表单id和订单id
scene_typeint场景type,1:表单;2:百度收银台订单;3:直连订单
extjson/string{"xzh_id":111,"category_id":15}

touser&touser_openId使用规则说明:

  • 百度登录用户使用touser_openId,游客用户使用touser(参考Q&A:怎么判断当前用户是游客状态还是 登录状态)

Q&A

  • 消息发送失败可能的原因?

  • scene_id 状态需要和用户登录状态保持一致,否则 scene_id 校验会失败

  • 发送消息时用到的 touser/touser_openid 必须和申请 scene_id 时的 touser/touser_openid 一一对应, 否则也会导致 scene_id 检验失败

  • 如果通过上面的查验仍然发送消息失败,请检查 appkey 是否异常

  • 怎么判断当前用户是游客状态还是 登录状态?

  • scene_id最后一位是 1 代表登录状态, 最后一位是 0 代表未 登录游客状态

  • 通过swan.isLoginSyncsendTemplateMessage - 图6 API可以判断当前用户是否为 登录状态

  • 如何获取swan_id & open_id?

  • 获取swan_id:详见 swan.getSwanIdsendTemplateMessage - 图7

  • 获取open_id:详见 登录sendTemplateMessage - 图8 文档中获取登录用户OpenId相关内容

模板消息开发流程图:

sendTemplateMessage - 图9

错误码

错误码说明
2002参数错误
4001template_id 不正确
4002消息推送接口调用失败
4003表单无效
4004场景id无效
6001无 push 权限

请求示例

实际请求使用form 不是json

  1. {
  2. "touser_openId": "",
  3. "access_token":"24.173e34227090dbe664c4991ef5c24779.2592000.1573901211.282335-16099124",
  4. "page": "pages/home/home",
  5. "touser":"SL9aK4AETi6bpnzaBVSMgfcTPfkUuNKuvKbyLZmNLKfxanvypng1UCzjgn5VG82QbFeiRdhdsa1q1JnV279RWu8pA",
  6. "scene_type": 1,
  7. "scene_id": "11.d9ea3ac49f00320f4269b8fb72b53194.290079.1571309167.0",
  8. "data": {
  9. "keyword1": {
  10. "value": "16601213222"
  11. },
  12. "keyword2": {
  13. "value": "2019年10月23日 12:30"
  14. },
  15. "keyword3": {
  16. "value": "百度科技园"
  17. } ,
  18. "keyword4": {
  19. "value": "北京市海淀区西北旺东路10号院"
  20. },
  21. "template_id": "ad92f10716024214be69b0db539a30b6"
  22. }

返回示例

  1. {
  2. "errno":0,
  3. "msg":"success",
  4. "data":{
  5. "msg_key":4330862
  6. }
  7. }