WhatsApp API updateTemplate - nxtele/http-api-document GitHub Wiki
编辑消息模板
在WhatsApp应用下的指定的单个号码编辑指定的消息模板。
需要注意的是,如果创建模板时使用了富媒体交互模板,需要同时提交富媒体示例文件,富媒体示例文件通过“模板示例媒体上传”API接口上传。
- URL:
https://api2.nxcloud.com/api/wa/updateTemplate
- Method:
POST
- Content-Type:
application/json
- 需要鉴权:
是
鉴权机制
鉴权规则请参考地址:API接口调用约定
请求参数
header参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
accessKey |
String |
是 |
fmexxx3ki |
用户身份标识 |
ts |
String |
是 |
1655710885431 |
当前请求的时间戳(单位是毫秒),牛信服务端允许用户端请求最大时间误差为60秒 |
bizType |
String |
是 |
2 |
WhatsApp业务类型,取固定值“2” |
action |
String |
是 |
updateTemplate |
WhatsApp业务操作,取固定值“updateTemplate” |
sign |
String |
是 |
6e95xxx826 |
API入参参数签名,签名算法 |
body参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
appkey |
String |
是 |
|
牛信云WhatsApp应用的appkey |
business_phone |
String |
是 |
86158xxx1795 |
商户的WhatsApp号码列表,需要带国码,如185xxx99 |
messaging_product |
String |
是 |
whatsapp |
发送消息的通道,应用于WhatsApp消息的发送时,值必须为“whatsapp” |
category |
String |
否 |
MARKETING |
模板类型,模板被拒时可修改类型 枚举值: "MARKETING" : "包括促销或优惠、信息更新或邀请客户回应/采取行动的信息。任何不符合效用或身份验证用途均为营销","UTILITY" : "促成商定的某个具体请求或交易,或向客户提供与进行中的交易相关的最新信息,包括售后通知和定期账单","AUTHENTICATION" :"使商家可以使用一次性密码验证用户身份,可能会在登录过程的多个步骤中出现(如帐号认证、帐号找回、诚信挑战)" |
template_id |
String |
是 |
|
模板id |
components |
array[component object] |
是 |
|
模板组件 |
参数名 |
类型 |
是否必须 |
说明 |
type |
string |
必须 |
组件类型,取值包括:HEADER, BODY, FOOTER, BUTTONS |
format |
string |
必须/无 |
仅type= HEADER时有此项且为必须项,type!=HEADER时,无此项。描述HEADER里内容的类型。取值范围包括:TEXT,DOCUMENT,IMAGE, VIDEO |
text |
string |
必须/无 |
type= HEADER且format=text时,为必须项;type=BODY时,为必须项;type=FOOTER时,为必须项;type=BUTTONS时,无此项。 |
example |
object |
必须/无 |
变量示例,当HEADER或者BODY内容中配置了变量时,为必须项。否则无此项。 |
buttons |
array[button object] |
必须/无 |
仅type=BUTTONS时,为必须项,否则无此项。 |
add_security_recommendation |
boolean |
必须/无 |
添加安全建议 身份验证模板 type = BODY 时可选 值为 true/false。 |
code_expiration_minutes |
integer |
必须/无 |
验证码的失效时间 身份验证模板 type = FOOTER 时可选 值的可填范围是 1-90。 |
cards |
array[card object] |
必须/无 |
仅type=CAROUSEL 必填,轮播模板卡片. |
参数名 |
类型 |
是否必须 |
说明 |
components |
array[component object] |
必须/无 |
轮播模板组件. 且component的type取值为HEADER, BODY, BUTTONS. |
参数名 |
类型 |
是否必须 |
说明 |
header_handle |
string |
必须/无 |
当HEADER中 format=DOCUMENT或format=IMAGE或format=VIDEO时,与custom_header_handle_url二选一,否则无此项,如果与custom_header_handle_url同时存在时,以custom_header_handle_url为准。上传文件模板示例 获取 header_handle 值 |
custom_header_handle_url |
string |
必须/无 |
当HEADER中 format=DOCUMENT或format=IMAGE或format=VIDEO时,与header_handle二选一,否则无此项,示例媒体url建议小于1M,否则会超时。如果与header_handle同时存在时,以custom_header_handle_url为准 |
header_text |
array[string] |
必须/无 |
当HEADER中 format=TEXT时为必须项,否则无此项 |
body_text |
array[array[string]] |
必须/无 |
当BODY内容文本中配置了变量时为必须项,根据变量配置,数组中可能有1个或多个值。当BODY内容文本中未配置变量则无此项。 |
参数名 |
类型 |
是否必须 |
说明 |
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时为必须项。如果是动态url,则需带上后缀变量{{1}}。 |
phone_number |
string |
必须/无 |
行动号召按钮上配置的电话,仅type= PHONE_NUMBER时为必须项 |
example |
array[string] |
必须/无 |
必须/无 |
otp_type |
string |
必须/无 |
验证码按钮类型 固定值 ONE_TAP 或者 COPY_CODE ;ONE_TAP的含义是一键填充 COPY_CODE的含义是复制验证码 |
autofill_text |
string |
必须/无 |
自动填充按钮文本,展示在按钮上的文案,仅otp_type = ONE_TAP 时为必须项 |
package_name |
string |
必须/无 |
安卓包名,仅otp_type = ONE_TAP 时为必须项 |
signature_hash |
string |
必须/无 |
应用hash,仅otp_type = ONE_TAP 时为必须项 |
flow_id |
string |
必须/无 |
当type =Flow时有值, WhatsApp 提供的流程的唯一标识符。流程必须已发布 |
flow_action |
string |
必须/无 |
当type =Flow时有值, navigate 或 data_exchange 默认:navigate |
navigate_screen |
string |
必须/无 |
当type =Flow时有值, 仅在 flow_action 为 navigate 时,此为必要项。流程的第一个屏幕的. |
请求示例
body(application/json) 参数:
{
"appkey": "8exxxs",
"messaging_product": "whatsapp",
"business_phone": "185xxx99",
"template_id": "15125xxxx5168",
"category": "MARKETING",
"components": [
{
"type": "BODY",
"text": "Your code is {{1}}.",
"example": {
"body_text": [
[
"10086"
]
]
}
}
]
}
响应参数
参数名 |
类型 |
说明 |
code |
Integer |
结果编码 |
data |
JsonObject |
请求结果 |
message |
String |
请求结果说明 |
参数名 |
类型 |
说明 |
success |
Boolean |
修改结果 |
响应示例
成功示例
{
"code": 0,
"data": {
"success": true
},
"message": "请求成功"
}
失败示例
{
"code": -1,
"message": "请求失败",
"data": null
}
响应码说明
code |
message |
解决办法 |
0 |
请求成功 |
|
-1 |
请求失败 |
请联系技术人员排除问题 |
1000~100X |
鉴权问题 |
详情查看API鉴权部分 |
9000 |
参数异常 |
参数遗漏,请检查必须的参数 |
9001 |
系统业务错误 |
请联系技术人员排除问题 |
9002 |
商户手机号错误 |
请确认商户号码是否属于whatsapp号码 |
9006 |
该whatsapp号码未绑定应用 |
请联系业务人员处理应用和手机号绑定操作 |