sendTemplateMessage
解释:推送模板消息接口调用请求说明:请提前在开发者平台创建消息模板。
- POST https://openapi.baidu.com/rest/2.0/smartapp/template/send?access_token=ACCESS_TOKEN
参数说明:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
template_id | string | 是 | 所需下发的模板消息的id |
touser | string | 否 | 接收者swan_id |
touser_openId | string | 否 | 接收者open_id |
data | json string | 是 | {"keyword1": {"value": "2018-09-06"},"keyword2": {"value": "kfc"}} 。 |
page | string | 否 | 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar),该字段不填则模板无跳转。 |
scene_id | string | 是 | 场景id,例如表单id和订单id。 |
scene_type | int | 是 | 场景type,1:表单;2:百度收银台订单;3:直连订单。 |
ext | json string | 否 | {"xzh_id":111,"category_id":15} |
说明:
- 当开发者获得用户openid,填写到touser_openid,否则获取用户swanid,填写到touser。
- 当touser_openId 和touser至少填写一个,如同时填写,仅以touser_openId 下发消息。
- 评价服务必须填写touser_openId 以及ext字段。其中ext字段以json格式包含category_id和xzh_id。
消息发送失败可能的原因
- scene_id 状态需要和用户登录状态保持一致,否则 scene_id 校验会失败。
如:登录态scene_id最后一位是1, 未登录态最后一位是0, 登录态对应的是touser_openId,未登录态对应的是touser。如果不匹配 scene_id 将会校验失败,导致消息无法发送。
发送消息时用到的 touser/touser_openid 必须和 申请 scene_id 时的 touser/touser_openid 一一对应, 否则也会导致 scene_id 检验失败。
如果通过上面的查验仍然发送消息失败, 请检查 appkey 是否异常。
返回值:
- {
"errno": 0,
"msg": "success",
"data": {
"msg_key": 158
}
错误码
错误码 | 说明 |
---|---|
2002 | 参数错误 |
4001 | template_id 不正确 |
4002 | 消息推送接口调用失败 |
4003 | 表单无效 |
4004 | 场景id无效 |
6001 | 无 push 权限 |