WhatsApp API getTemplate - nxtele/http-api-document GitHub Wiki
查询消息模板
通过API查询WhatsApp应用下的单个号码绑定的消息模板
- URL:
https://api2.nxcloud.com/api/wa/getTemplate
- Method:
POST
- Content-Type:
application/json
- 需要鉴权:
是
鉴权机制
鉴权规则请参考地址:API接口调用约定
请求参数
header参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
accessKey |
String |
是 |
fmexxx3ki |
用户身份标识 |
ts |
String |
是 |
1655710885431 |
当前请求的时间戳(单位是毫秒),牛信服务端允许用户端请求最大时间误差为60秒 |
bizType |
String |
是 |
2 |
WhatsApp业务类型,取固定值“2” |
action |
String |
是 |
getTemplate |
WhatsApp业务操作,取固定值“getTemplate” |
sign |
String |
是 |
6e95xxx826 |
API入参参数签名,签名算法 |
body参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
appkey |
String |
是 |
|
牛信云WhatsApp应用的appkey |
business_phone |
String |
是 |
86158xxx1795 |
商户的WhatsApp号码列表,需要带国码,如185xxx99 |
messaging_product |
String |
是 |
whatsapp |
发送消息的通道,应用于WhatsApp消息的发送时,值必须为“whatsapp” |
after |
String |
否 |
|
向后分页游标值 |
before |
String |
否 |
|
向前分页游标值 |
limit |
integer |
否 |
|
每页模板数量 (为空 limit则默认值为20) |
name |
String |
否 |
|
模板名称(会返回同名的不同语言模板) |
同一名称下的多个不同语言版本,视为1个模板
请求示例
body(application/json) 参数:
{
"business_phone": "185xxx99",
"appkey": "jh42xxxd434",
"messaging_product": "whatsapp"
}
响应参数
参数名 |
类型 |
说明 |
code |
Integer |
结果编码 |
data |
JsonObject |
请求结果 |
message |
String |
请求结果说明 |
参数名 |
类型 |
说明 |
data |
array[templateInfo object] |
模板信息数组 |
paging |
object |
分页信息 |
参数名 |
类型 |
说明 |
id |
string |
模板ID |
category |
string |
模板类型 |
language |
string |
模板语言 |
name |
string |
模板名称 |
status |
string |
审核状态枚举 枚举值: APPROVED: 使用中 IN_APPEAL: 已提出上诉 PENDING: 待处理 REJECTED: 已拒绝 PENDING_DELETION: 待删除 DELETED: 已删除 DISABLED: 不可用 PAUSED: 暂时停用 LIMIT_EXCEEDED: 超出限制 |
rejected_reason |
string |
拒绝原因 |
quality_score |
object |
模板质量 |
components |
array[component object] |
模板组件 |
参数名 |
类型 |
说明 |
score |
string |
模板质量枚举 枚举值: GREEN: 高 YELLOW: 中 RED: 低 UNKNOWN: 质量待定 |
参数名 |
类型 |
说明 |
type |
string |
组件类型,取值包括:HEADER, BODY, FOOTER, BUTTONS |
format |
string |
仅type= HEADER时有此项,描述HEADER里内容的类型,类型包括TEXT,DOCUMENT,IMAGE, VIDEO |
text |
string |
type= HEADER且format=text时,为HEADER文本内容;type=BODY时,为BODY的文本内容;type=FOOTER时,为FOOTER的文本内容。 |
example |
object |
变量示例,当HEADER或者BODY内容中配置了变量及示例值时,有此项 |
buttons |
array[button object] |
仅type=BUTTONS时有此项,描述模板按钮的配置信息 |
参数名 |
类型 |
说明 |
header_handle |
string |
头部媒体资源链接 |
custom_header_handle_url |
string |
自定义头部媒体资源链接,当创建/编辑时选择custom_header_handle_url 有值 |
header_text |
array[string] |
头部文本变量示例,数组中仅有1个值 |
body_text |
array[array[string]] |
内容文本变量示例,根据模板BODY的内容配置,数组中可能有1个或多个值 |
参数名 |
类型 |
说明 |
type |
string |
按钮类型,包括QUICK_REPLY, URL , PHONE_NUMBER,COPY_CODE,FLOW . 1. QUICK_REPLY即快速回复按钮;2. URL即行动号召url按钮;3. PHONE_NUMBER即行动号召phone_number按钮; 4. COPY_CODE 复制优化码 5. FLOW |
text |
string |
按钮上的显示文字 |
url |
string |
行动号召按钮上配置的网址,仅type=URL时有此项 |
phone_number |
string |
行动号召按钮上配置的电话,仅type= PHONE_NUMBER时有此项 |
example |
array[string] |
示例的URL,例如:https://www.baidu.com/user |
flow_id |
string |
当type =Flow时有值, WhatsApp 提供的流程的唯一标识符。流程必须已发布 |
flow_action |
string |
当type =Flow时有值, navigate 或 data_exchange 默认:navigate |
navigate_screen |
string |
当type =Flow时有值, 仅在 flow_action 为 navigate 时,此为必要项。流程的第一个屏幕的. |
参数名 |
类型 |
说明 |
cursors |
object |
游标 |
next |
string |
next 不为空可向后翻页 |
previous |
string |
previous不为空可向前翻页 |
参数名 |
类型 |
说明 |
before |
string |
游标值(上一页) |
after |
string |
游标值(下一页) |
响应示例
成功示例
{
"code": 0,
"data": {
"data": [
{
"components": [
{
"format": "TEXT",
"text": "ni{{1}}hao",
"type": "HEADER",
"example": {
"header_text": [
"AA"
]
}
},
{
"text": "hello{{1}}world{{2}}hahah",
"type": "BODY",
"example": {
"body_text": [
[
"BB",
"CC"
]
]
}
},
{
"text": "I am footer",
"type": "FOOTER"
},
{
"buttons": [
{
"text": "I am QR1",
"type": "QUICK_REPLY"
},
{
"text": "I am QR2",
"type": "QUICK_REPLY"
}
],
"type": "BUTTONS"
}
],
"rejected_reason": "INVALID_FORMAT",
"quality_score": {
"score": "UNKNOWN"
},
"name": "normal_text3",
"language": "en_US",
"id": "15xxxx67",
"category": "OTP",
"status": "REJECTED"
}
],
"paging": {
"next": "https://graph.facebook.com/v15.0/10xxx925/message_templates?fields=id%2Ccategory%2Clanguage%2Cname%2Cstatus%2Ccomponents%2Crejected_reason%2Cquality_score&limit=20&after=MTkZD",
"cursors": {
"before": "MAZDZD",
"after": "MTkZD"
}
}
},
"message": "请求成功"
}
失败示例
{
"code": -1,
"message": "请求失败",
"data": null
}
响应码说明
code |
message |
解决办法 |
0 |
请求成功 |
|
-1 |
请求失败 |
请联系技术人员排除问题 |
1000~100X |
鉴权问题 |
详情查看API鉴权部分 |
9000 |
参数异常 |
参数遗漏,请检查必须的参数 |
9001 |
系统业务错误 |
请联系技术人员排除问题 |
9002 |
商户手机号错误 |
请确认商户号码是否属于whatsapp号码 |
9006 |
该whatsapp号码未绑定应用 |
请联系业务人员处理应用和手机号绑定操作 |