title | header | nav | sidebar |
---|---|---|---|
模板消息 |
third |
third |
api |
为了便于第三方开发者对小程序模板消息接口的模板进行设置,更好得发送模板消息,现提供如下接口:
GET https://openapi.baidu.com/rest/2.0/smartapp/template/library/list
公共请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
access_token | string | 是 | 授权小程序的接口调用凭据 |
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
offset | int | 是 | 用于分页,表示从offset开始,默认值为0 |
count | int | 是 | 用于分页,表示拉取count条记录,默认值为0,最大为20 |
公共响应参数 |
参数 | 类型 | 描述 | 示例值 |
---|---|---|---|
errno | int | 状态码 | 40001 |
msg | string | 状态描述 | 参数错误 |
data | object | 响应参数 | -- |
响应参数
字段名 | 类型 | 描述 |
---|---|---|
total_count | int | 模板库标题总数 |
id | string | 模板标题id(获取模板标题下的关键词库时需要) |
title | string | 模板标题内容 |
请求实例 |
curl -X GET \
'https://openapi-test.baidu.com/rest/2.0/smartapp/template/library/list?access_token=45.ee3671b4e41f2704280d5ddbe9a3f94c.3600.1556461507.C8Bds396khnu6KDKnqfoUUgZ31K-hBY-gJNc4SsGGjYJrS2RMh&count=20&offset=2271'
响应示例:
{
"errno": 0,
"msg": "success",
"data": {
"total_count": 2278,
"list": [
{
"id": "BD0001",
"title": "订单支付成功通知"
},
{
"id": "BD0002",
"title": "购买成功通知"
},
{
"id": "BD0003",
"title": "订单发货提醒"
},
{
"id": "BD0004",
"title": "待付款提醒"
},
{
"id": "BD0005",
"title": "付款成功通知"
}
]
}
}
GET https://openapi.baidu.com/rest/2.0/smartapp/template/library/get
公共请求参数
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
access_token | string | 是 | 授权小程序的接口调用凭据 |
请求参数
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
id | int | 是 | 模板标题id,可通过接口获取,也可登录小程序后台查看获取 |
公共响应参数
参数 | 类型 | 描述 | 示例值 |
---|---|---|---|
errno | int | 状态码 | 40001 |
msg | string | 状态描述 | 参数错误 |
data | object | 响应参数 | -- |
响应参数
字段名 | 类型 | 描述 |
---|---|---|
id | string | 模板标题id |
title | string | 模板标题 |
keyword_count | int | 关键字条数 |
keyword_id | int | 关键词id,添加模板时需要 |
name | string | 关键词内容 |
example | string | 关键词内容对应的示例 |
请求实例
curl -X GET \
'https://openapi.baidu.com/rest/2.0/smartapp/template/library/get?access_token=45.ee3671b4e41f2704280d5ddbe9a3f94c.3600.1556461507.C8Bds396khnu6KDKnqfoUUgZ31K-hBY-gJNc4SsGGjYJrS2RMh&id=wDYzYZVxobJivW9oMpSCpuvACOfJXQIoKUm0PY397Tc'
响应示例:
{
"errno": 0,
"msg": "success",
"data": {
"id": "BD0016",
"title": "取票成功通知",
"keyword_count": 13,
"keyword_list": [
{
"keyword_id": 1,
"name": "金额",
"example": "300元"
},
{
"keyword_id": 2,
"name": "订单号",
"example": "321254555"
},
{
"keyword_id": 3,
"name": "预订时间",
"example": "2016年9月9日 10:10"
},
{
"keyword_id": 4,
"name": "发车时间",
"example": "2016年9月10日 10:20"
},
{
"keyword_id": 5,
"name": "出发地",
"example": "广州"
},
{
"keyword_id": 6,
"name": "目的地",
"example": "北京"
},
{
"keyword_id": 7,
"name": "备注",
"example": "请尽快完成支付"
},
{
"keyword_id": 8,
"name": "上车地点",
"example": "3号口"
},
{
"keyword_id": 9,
"name": "车牌号",
"example": "粤A00951"
},
{
"keyword_id": 10,
"name": "司机姓名",
"example": "王师傅"
},
{
"keyword_id": 11,
"name": "手机号码",
"example": "15201912039"
},
{
"keyword_id": 12,
"name": "联系人",
"example": "张三"
},
{
"keyword_id": 13,
"name": "坐席类型",
"example": "一等座"
}
]
}
}
错误码说明:
错误码 | 错误描述 |
---|---|
2002 | 参数错误 |
POST https://openapi.baidu.com/rest/2.0/smartapp/template/add
公共请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
access_token | string | 是 | 授权小程序的接口调用凭据 |
请求参数
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
id | int | 是 | 模板标题id |
keyword_id_list | string | 是 | 模板关键词id列表,如[1,2,3]; |
公共响应参数
参数 | 类型 | 描述 | 示例值 |
---|---|---|---|
errno | int | 状态码 | 40001 |
msg | string | 状态描述 | 参数错误 |
data | object | 响应参数 | -- |
响应参数
字段名 | 类型 | 描述 |
---|---|---|
template_id | string | 添加至帐号下的模板id,发送小程序模板消息时所需 |
请求示例
curl -X POST \
'https://openapi.baidu.com/rest/2.0/smartapp/template/add?access_token=45.ee3671b4e41f2704280d5ddbe9a3f94c.3600.1556461507.C8Bds396khnu6KDKnqfoUUgZ31K-hBY-gJNc4SsGGjYJrS2RMh&id=BD0016&keyword_id_list=[1,2,3]'
响应示例:
{
"errno": 0,
"msg": "success",
"data": {
"template_id": "wDYzYZVxobJivW9oMpSCpuvACOfJXQIoKUm0PY397Tc"
}
}
错误码说明:
错误码 | 错误描述 |
---|---|
2002/30001 | 参数错误(具体提示见返回值) |
GET https://openapi.baidu.com/rest/2.0/smartapp/template/list
公共请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
access_token | string | 是 | 授权小程序的接口调用凭据据 |
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
offset | int | 是 | 用于分页,表示从offset开始,默认值为0 |
count | int | 是 | 用于分页,表示拉取count条记录,默认值为0,最大为20 |
公共响应参数
参数 | 类型 | 描述 | 示例值 |
---|---|---|---|
errno | int | 状态码 | 40001 |
msg | string | 状态描述 | 参数错误 |
data | object | 响应参数 | -- |
响应参数
字段名 | 类型 | 描述 |
---|---|---|
total_count | int | 模板库标题总数 |
template_id | string | 模板id,发送小程序模板消息时所需 |
title | string | 模板标题 |
content | string | 模板内容 |
example | string | 模板内容示例 |
请求示例
curl -X GET \
'https://openapi.baidu.com/rest/2.0/smartapp/template/list?access_token=45.ee3671b4e41f2704280d5ddbe9a3f94c.3600.1556461507.C8Bds396khnu6KDKnqfoUUgZ31K-hBY-gJNc4SsGGjYJrS2RMh&count=20&offset=2271'
响应示例:
{
"errno": 0,
"msg": "success",
"data": {
"total_count": 2,
"list": [
{
"template_id": "e4313219538c4b0262e3a14a0507000e8bd79e9PTPAz",
"title": "续费成功通知",
"content": "购买时间{{keyword1.DATA}}\n物品名称{{keyword2.DATA}}",
"example": "购买时间: 2016年6月6日\n物品名称: 奶茶"
},
{
"template_id": "f34178cd598201d9dc8d5c88cd87b44cf7cd0e64d90Y",
"title": "续费成功通知",
"content": "购买时间{{keyword1.DATA}}\n物品名称{{keyword2.DATA}}",
"example": "购买时间: 2016年6月6日\n物品名称: 奶茶"
}
]
}
}
POST https://openapi.baidu.com/rest/2.0/smartapp/template/del?template_id=TEMPLATE_ID
公共请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
access_token | string | 是 | 授权小程序的接口调用凭据 |
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
template_id | string | 是 | 模板id,发送小程序模板消息时所需 |
公共响应参数
参数 | 类型 | 描述 | 示例值 |
---|---|---|---|
errno | int | 状态码 | 40001 |
msg | string | 状态描述 | 参数错误 |
data | object | 响应参数 | -- |
请求参数
curl -X GET \
'https://openapi.baidu.com/rest/2.0/smartapp/template/del?access_token=45.ee3671b4e41f2704280d5ddbe9a3f94c.3600.1556461507.C8Bds396khnu6KDKnqfoUUgZ31K-hBY-gJNc4SsGGjYJrS2RMh&template_id=e4313219538c4b0262e3a14a0507000e8bd79e9PTPAz'
响应示例:
{
"errno": 0,
"msg": "success"
}
错误码说明:
错误码 | 错误描述 |
---|---|
30001 | 参数错误(具体提示见返回值) |
POST https://openapi.baidu.com/rest/2.0/smartapp/template/sendmessage
公共请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
access_token | string | 是 | 授权小程序的接口调用凭据 |
请求参数:
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
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 | int | 状态码 | 40001 |
msg | string | 状态描述 | 参数错误 |
data | object | 响应参数 | -- |
响应参数
参数 | 类型 | 描述 | 示例值 |
---|---|---|---|
msg_key | int | 消息id | 158 |
响应示例:
{
"errno": 0,
"msg": "success",
"data": {
"msg_key": 158
}
}
结果码 | 错误描述 |
---|---|
2002 | 参数错误 |
4001 | template_id 不正确 |
4002 | 消息推送接口调用失败 |
4003 | 表单无效 |
4004 | 场景id无效 |
6001 | 无push权限 |