获取模板消息列表
通过API获取模板消息列表
- URL:
https://api.nxcloud.com/saas/wa/template/{phone}?page_number={page_number}&page_size={page_size}&name={name}&tenant_id={tenant_id}
- Method:
GET
- Content-Type:
application/json
- 需要鉴权:
是
请求参数
header参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
accessKey |
String |
是 |
fme2na3kdi3ki |
用户身份标识 |
ts |
String |
是 |
1655710885431 |
当前请求的时间戳(单位是毫秒),牛信服务端允许用户端请求最大时间误差为60秒 |
bizType |
String |
是 |
2 |
WhatsApp业务类型,取固定值“2” |
action |
String |
是 |
mt |
WhatsApp业务操作,取固定值“mt” |
sign |
String |
是 |
6e9506557d1f289501d333ee2c365826 |
API入参参数签名,公共约定 |
parameter 参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
phone |
String |
是 |
86158xxxx1795 |
消息发送方的WhatsApp号码,需要带国码。如86158xxxx1795 |
tenant_id |
Long |
是 |
1 |
租户ID |
page_number |
integer |
是 |
1 |
页数 |
page_size |
integer |
是 |
10 |
每页个数 |
name |
String |
否 |
模板名称 |
模板名称 |
返回参数说明
参数名 |
类型 |
说明 |
data |
data JsonObject |
请求结果 |
message |
string |
请求结果说明 |
code |
integer |
结果编码 |
data
参数名 |
类型 |
说明 |
id |
Long |
模板id |
channel |
integer |
渠道类型 2:WhatsApp |
name |
String |
模板名称 |
content |
String |
模板内容 |
created_at |
String |
模板创建时间 |
updated_at |
String |
模板修改时间 |
status |
integer |
模板状态 (0:已拒绝。1:待处理;2:使用中;3:已提出上诉;6:不可用;9:待删除;11:暂时停用”;12:超出限制;14:已删除) |
language |
String |
模板语言缩写 |
language_name |
String |
模板语言名称 |
unsubscribe |
String |
模板是否退订 |
quality |
String |
模板质量 |
category |
String |
模板类型名称 MARKETING、UTILITY |
category_type |
String |
模板类型 1:MARKETING,2:UTILITY |
waRejectedReason |
String |
模板被拒原因 |
is_close_auto_flow |
integer |
是否关闭未分配会话 0:不关闭 1:关闭 |
响应示例
{
"code": 0,
"message": "",
"data": {
"list": [
{
"id": 314,
"channel": 2,
"name": "buttontest22",
"content": "Hello, I am the new virtual assistant. I can help you discover products or provide support. Please reach out if I can help!",
"created_at": "2024-06-25 14:31:26",
"updated_at": "2024-06-25 15:27:39",
"status": 2,
"language": "en_GB",
"language_name": "English (UK)",
"unsubscribe": "",
"additional": null,
"quality": "UNKNOWN",
"category": "MARKETING",
"category_type": 1,
"waRejectedReason": "",
"is_close_auto_flow": 0
}
],
"total": 1,
"has_next_page": false
},
"traceId": "16f9ca88e70844a8a088f9a4a3806e5e"
}
创建模板消息
通过API创建模板
- URL:
https://api.nxcloud.com/saas/wa/template/{phone}
- Method:
POST
- Content-Type:
application/json
- 需要鉴权:
是
请求参数
header参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
accessKey |
String |
是 |
fme2na3kdi3ki |
用户身份标识 |
ts |
String |
是 |
1655710885431 |
当前请求的时间戳(单位是毫秒),牛信服务端允许用户端请求最大时间误差为60秒 |
bizType |
String |
是 |
2 |
WhatsApp业务类型,取固定值“2” |
action |
String |
是 |
mt |
WhatsApp业务操作,取固定值“mt” |
sign |
String |
是 |
6e9506557d1f289501d333ee2c365826 |
API入参参数签名,公共约定 |
parameter 参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
phone |
String |
是 |
86158xxxx1795 |
消息发送方的WhatsApp号码,需要带国码。如86158xxxx1795 |
body参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
tenant_id |
Long |
是 |
1 |
租户ID |
name |
String |
是 |
test_1 |
模板名称(不能为中文) |
language |
String |
是 |
模板语言 |
如 af |
category_type |
integer |
是 |
模板类型 |
模板类型 1:MARKETING,2:UTILITY |
content |
String |
是 |
模板内容 |
模板内容 |
headerText |
String |
否 |
模板头部文本 |
|
mediaName |
String |
否 |
模板头部富媒体名称 |
(参考上传媒体(用于上传模板多媒体示例使用和上传文件至meta)返回参数original_filename) |
mediaId |
String |
否 |
模板头部富媒体Id |
(参考上传媒体(用于上传模板多媒体示例使用和上传文件至meta)返回参数media_id) |
mediaType |
String |
否 |
模板头部富媒体类型 |
IMAGE, DOCUMENT, VIDEO |
templateMediaId |
String |
否 |
模板头部富媒体模板Id |
(参考上传媒体(用于上传模板多媒体示例使用和上传文件至meta)返回参数h) |
footerText |
String |
否 |
模板页眉 |
|
tag_name |
String |
否 |
标签名称 |
必须是已经存在的标签,发送模板消息打标签 |
syn_meta |
boolean |
否 |
同步meta接口 |
默认为true,同步meta接口 true:同步,false:不同步 |
is_close_auto_flow |
integer |
否 |
是否关闭未分配会话 |
0:不关闭 1:关闭 |
buttonComponents |
array[buttonComponent JsonObject] |
否 |
模板按钮 |
|
- buttonComponent object参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
type |
String |
是 |
- |
按钮类型,QUICK_REPLY(快速回复按钮)、URL(行动号召url按钮)、PHONE_NUMBER(行动号召phone_number按钮)、FLOW(表单按钮)、COPY_CODE(即复制代码按钮) |
customizeType |
String |
否 |
- |
按钮自定义类型,当按钮类型为QUICK_REPLY必填,conventional(常规)、unsubscribe(退订) |
text |
String |
是 |
- |
按钮名称 |
phoneNumber |
String |
是 |
- |
电话号码,行动号召按钮上配置的电话,仅type= PHONE_NUMBER时为必须项 |
url |
String |
是 |
- |
链接地址,行动号召按钮上配置的网址,仅type=URL时为必须项。如果是动态url,则需带上后缀变量1,如{{1}} |
flow_id |
String |
否 |
- |
流Id,当按钮类型为FLOW必填 |
buttonEvents |
array[buttonEvent JsonObject] |
否 |
- |
按钮关联事件。 |
example |
array[string] |
否 |
- |
type=URL,且为动态url时为必须项,例如:https://www.baidu.com/user type=COPY_CODE,为必填项 |
参数名 |
类型 |
必选 |
示例值 |
说明 |
event |
String |
是 |
- |
事件类型,tag(标签)、text(文本)、template(模板) |
tagName |
String |
否 |
- |
标签名称,当事件类型为tag时必填 |
text |
String |
否 |
- |
文本内容,当事件类型为text时必填 |
templateId |
String |
否 |
- |
模板Id,当事件类型为template时必填 |
templateName |
String |
否 |
- |
模板名称,当事件类型为template时必填 |
参考截图示例1
参数请求示例1
{
"name": "test_23",
"tenant_id ": 123,
"language": "af",
"category_type": 1,
"content": "send messsage content:WhatsApp:{{WhatsApp}},end message",
"headerText": "",
"footerText": "foot",
"mediaName": "1705406614735.jpg",
"templateMediaId": "4:MTcwNTQwNjYxNDczNS5qcGc=:aW1hZ2UvcG5n:ARYVc4sZwi3xB-cwPixWwFGyXYwd_SZ4JyGw89jmzar1IWgtWQtJmZTokdNe0wJ8LzUM_8QV0wqfw-Lzu5nk0_j2j75qeAxXQMBYLl247jV-tw:e:1719648253:1407008009801826:100084713375965:ARaNsT4tjB0mMOdhv48",
"mediaId": "1167113681293447",
"mediaType":"IMAGE",
"tag_name":"tag1",
"is_close_auto_flow": 0,
"buttonComponents": [
{
"customizeType": "conventional",
"text": "button1",
"type": "QUICK_REPLY",
"payload": "",
"buttonEvents": [
{
"event": "tag",
"tagName": "Viber tag"
},
{
"event": "template",
"templateId": 314,
"templateName": "buttontest22"
}
]
},
{
"customizeType": "conventional",
"text": "button 2",
"type": "QUICK_REPLY",
"payload": "test text",
"buttonEvents": [
{
"event": "tag",
"tagName": "Viber tag"
},
{
"event": "text",
"text": "test text"
}
]
},
{
"customizeType": "conventional",
"text": "button3",
"type": "QUICK_REPLY",
"payload": "",
"buttonEvents": [
{
"event": "template",
"templateId": 313,
"templateName": "test_8"
}
]
}
]
}
参考截图示例2
参数请求示例2
{
"name": "test_45",
"language": "af",
"tenant_id": 1,
"category_type": 1,
"content": "template content https://119.91.210.214:10001/api/shortLink/doAccess/Y3Mjmq ",
"headerText": "test head",
"footerText": "foot",
"mediaName": "",
"templateMediaId": "",
"mediaId": "",
"mediaType": "",
"flowsButtonText": "",
"tag_name":"tag1",
"is_close_auto_flow": 0,
"buttonComponents": [{
"text": "phone",
"type": "PHONE_NUMBER",
"url": "",
"phoneNumber": "8613128xxxx"
},
{
"text": "web1",
"type": "URL",
"url": "https://testnxlink.nxcloud.com/",
"phoneNumber": ""
},
{
"text": "web2",
"type": "URL",
"url": "https://www.baidu.com/",
"phoneNumber": ""
}]
}
参考截图示例3

参数请求示例3
{
"name": "test_99",
"language": "sq",
"tenant_id": 1,
"category_type": 1,
"content": "template content",
"headerText": "header content",
"footerText": "foot content",
"mediaName": "",
"templateMediaId": "",
"mediaId": "",
"tag_name":"tag1",
"is_close_auto_flow": 0,
"buttonComponents": [{
"type": "flow",
"text": "button",
"flow_id": "803348158336427"
}]
}
参考截图示例4
参数请求示例4
{
"category_type": 1,
"tenant_id": 123,
"language": "en_US",
"name": "ten_btn3",
"content": "10个按钮",
"buttonComponents": [
{
"type": "URL",
"text": "百度",
"url": "https://www.baidu.com"
},
{
"type": "URL",
"text": "谷歌",
"url": "https://www.google.com"
},
{
"phoneNumber": "8615773549503",
"text": "phone",
"type": "PHONE_NUMBER"
},
{
"example": [
"121314"
],
"type": "COPY_CODE"
},
{
"type": "QUICK_REPLY",
"customizeType": "conventional",
"text": "dome1"
},
{
"type": "QUICK_REPLY",
"customizeType": "unsubscribe",
"text": "退订"
}
]
}
更新模板
通过API更新模板
- URL:
https://api.nxcloud.com/saas/wa/template/{phone}
- Method:
PUT
- Content-Type:
application/json
- 需要鉴权:
是
请求参数
header参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
accessKey |
String |
是 |
fme2na3kdi3ki |
用户身份标识 |
ts |
String |
是 |
1655710885431 |
当前请求的时间戳(单位是毫秒),牛信服务端允许用户端请求最大时间误差为60秒 |
bizType |
String |
是 |
2 |
WhatsApp业务类型,取固定值“2” |
action |
String |
是 |
mt |
WhatsApp业务操作,取固定值“mt” |
sign |
String |
是 |
6e9506557d1f289501d333ee2c365826 |
API入参参数签名,公共约定 |
parameter 参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
phone |
String |
是 |
86158xxxx1795 |
消息发送方的WhatsApp号码,需要带国码。如86158xxxx1795 |
body参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
tenant_id |
Long |
是 |
1 |
租户ID |
id |
Long |
是 |
1 |
模板Id |
name |
String |
是 |
test_1 |
模板名称(不能为中文) |
language |
String |
是 |
模板语言 |
如 af |
category_type |
integer |
是 |
模板类型 |
模板类型 1:MARKETING,2:UTILITY |
content |
String |
是 |
模板内容 |
模板内容 |
headerText |
String |
否 |
模板头部文本 |
|
mediaName |
String |
否 |
模板头部富媒体名称 |
(参考上传媒体(用于上传模板多媒体示例使用和上传文件至meta)返回参数original_filename) |
mediaId |
String |
否 |
模板头部富媒体Id |
(参考上传媒体(用于上传模板多媒体示例使用和上传文件至meta)返回参数media_id) |
mediaType |
String |
否 |
模板头部富媒体类型 |
IMAGE, DOCUMENT, VIDEO |
templateMediaId |
String |
否 |
模板头部富媒体模板Id |
(参考上传媒体(用于上传模板多媒体示例使用和上传文件至meta)返回参数h) |
footerText |
String |
否 |
模板页眉 |
|
tag_name |
String |
否 |
标签名称 |
必须是已经存在的标签,发送模板消息打标签 |
syn_meta |
boolean |
否 |
同步meta接口 |
默认为true,同步meta接口 true:同步,false:不同步 |
is_close_auto_flow |
integer |
否 |
是否关闭未分配会话 |
0:不关闭 1:关闭 |
buttonComponents |
array[buttonComponent JsonObject] |
否 |
模板按钮 |
|
- buttonComponent object参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
type |
String |
是 |
- |
按钮类型,QUICK_REPLY(快速回复按钮)、URL(行动号召url按钮)、PHONE_NUMBER(行动号召phone_number按钮)、FLOW(表单按钮)、COPY_CODE(即复制代码按钮) |
customizeType |
String |
否 |
- |
按钮自定义类型,当按钮类型为QUICK_REPLY必填,conventional(常规)、unsubscribe(退订) |
text |
String |
是 |
- |
按钮名称 |
phoneNumber |
String |
是 |
- |
电话号码,行动号召按钮上配置的电话,仅type= PHONE_NUMBER时为必须项 |
url |
String |
是 |
- |
链接地址,行动号召按钮上配置的网址,仅type=URL时为必须项。如果是动态url,则需带上后缀变量1,如{{1}} |
flow_id |
String |
否 |
- |
流Id,当按钮类型为FLOW必填 |
buttonEvents |
array[buttonEvent JsonObject] |
否 |
- |
按钮关联事件。 |
example |
array[string] |
否 |
- |
ype=URL,且为动态url时为必须项,例如:https://www.baidu.com/user |
type=COPY_CODE,为必填项 |
|
|
|
|
参数名 |
类型 |
必选 |
示例值 |
说明 |
event |
String |
是 |
- |
事件类型,tag(标签)、text(文本)、template(模板) |
tagName |
String |
否 |
- |
标签名称,当事件类型为tag时必填 |
text |
String |
否 |
- |
文本内容,当事件类型为text时必填 |
templateId |
String |
否 |
- |
模板Id,当事件类型为template时必填 |
templateName |
String |
否 |
- |
模板名称,当事件类型为template时必填 |
参数请求示例
{
"id": 317,
"name": "test_99",
"language": "sq",
"tenant_id": 1,
"category_type": 1,
"content": "template content",
"headerText": "header content",
"footerText": "foot content",
"mediaName": "",
"templateMediaId": "",
"mediaId": "",
"mediaType": "",
"tag_name":"tag1",
"is_close_auto_flow": 0,
"buttonComponents": [{
"type": "flow",
"text": "button",
"flow_id": "803348158336427"
}]
}
获取模板详情
通过API获取模板详情
- URL:
https://api.nxcloud.com/saas/wa/template/{phone}/{id}?tenant_id={tenant_id}
- Method:
GET
- Content-Type:
application/json
- 需要鉴权:
是
请求参数
header参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
accessKey |
String |
是 |
fme2na3kdi3ki |
用户身份标识 |
ts |
String |
是 |
1655710885431 |
当前请求的时间戳(单位是毫秒),牛信服务端允许用户端请求最大时间误差为60秒 |
bizType |
String |
是 |
2 |
WhatsApp业务类型,取固定值“2” |
action |
String |
是 |
mt |
WhatsApp业务操作,取固定值“mt” |
sign |
String |
是 |
6e9506557d1f289501d333ee2c365826 |
API入参参数签名,公共约定 |
parameter 参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
phone |
String |
是 |
86158xxxx1795 |
消息发送方的WhatsApp号码,需要带国码。如86158xxxx1795 |
tenant_id |
Long |
是 |
1 |
租户ID |
id |
Long |
是 |
1 |
模板id |
返回参数说明
参数名 |
类型 |
说明 |
data |
data JsonObject |
请求结果 |
message |
string |
请求结果说明 |
code |
integer |
结果编码 |
data
参数名 |
类型 |
说明 |
id |
Long |
meta模板id |
channel |
integer |
渠道类型 2:WhatsApp |
name |
String |
模板名称 |
status |
String |
模板状态 |
language |
String |
模板语言缩写 |
quality_score |
JsonObject |
模板质量 |
category |
String |
模板类型名称 MARKETING、UTILITY |
category_type |
String |
模板类型 1:MARKETING,2:UTILITY |
is_close_auto_flow |
integer |
是否关闭未分配会话 0:不关闭 1:关闭 |
components |
JsonObject |
array[component JsonObject] |
参数名 |
类型 |
示例值 |
说明 |
type |
String |
- |
模板内容,HEADER(页眉) 、BODY(消息体)、FOOTER(页脚)、BUTTONS(按钮) |
format |
String |
- |
text、IMAGE、DOCUMENT、VIDEO |
text |
String |
- |
页眉文本内容 |
media_id |
String |
- |
媒体id |
h |
String |
- |
模板媒体id |
example |
example JsonObject |
- |
事例 |
filename |
String |
- |
媒体文件名称 |
buttons |
array [button JsonObject] |
- |
当type 为BUTTONS时 |
参数名 |
类型 |
示例值 |
说明 |
header_handle |
String |
- |
消息头部变量 媒体链接 |
file_name |
String |
- |
消息头部变量 媒体文件名称 |
body_text |
array [String] |
- |
消息体变量值 |
参数名 |
类型 |
示例值 |
说明 |
type |
String |
- |
按钮类型,QUICK_REPLY(快速回复按钮)、URL(行动号召url按钮)、PHONE_NUMBER(行动号召phone_number按钮)、FLOW(表单按钮) |
text |
String |
- |
按钮名称 |
buttonReqs |
object |
- |
|
参数名 |
类型 |
示例值 |
说明 |
type |
String |
- |
按钮类型,QUICK_REPLY(快速回复按钮)、URL(行动号召url按钮)、PHONE_NUMBER(行动号召phone_number按钮)、FLOW(表单按钮) |
text |
String |
- |
按钮名称 |
customizeType |
object |
- |
按钮自定义类型,当按钮类型为QUICK_REPLY时有值,conventional(常规)、unsubscribe(退订) |
payload |
String |
- |
按钮id |
flow_id |
String |
- |
流id |
navigate_screen |
String |
- |
流程中的起始屏幕 |
flow_action |
String |
- |
流行为,可选值:navigate,data_exchange; 默认值:navigate |
buttonEvents |
array [buttonEvent object ] |
- |
按钮关联事件 |
参数名 |
类型 |
示例值 |
说明 |
event |
String |
- |
事件类型,tag(标签)、text(文本)、template(模板) |
tagName |
String |
- |
标签名称 |
tagId |
object |
- |
标签Id |
templateId |
String |
- |
模板Id |
templateName |
String |
- |
模板名称 |
buttonEvents |
array [buttonEvent object ] |
- |
按钮关联事件 |
响应示例1
{
"code": 0,
"message": "",
"data": {
"namespace": null,
"name": "test_23",
"category": "MARKETING",
"category_type": 1,
"components": [
{
"type": "HEADER",
"format": "IMAGE",
"text": null,
"buttons": null,
"parameters": null,
"sub_type": null,
"index": null,
"example": {
"header_handle": "https://goss.oss-accelerate.aliyuncs.com/1167113681293447?Expires=1719311172&OSSAccessKeyId=LTAI5tBrjWM5EyDe6MA5uc7z&Signature=BqE8WVjP%2B%2B19G4I4bLuL7ISGyo8%3D",
"file_name": "1705406614735.jpg"
},
"filename": "1705406614735.jpg",
"url": null,
"media_id": "1167113681293447",
"h": "4:YjZjODg1NGEtMDA4ZC00ZjcwLTkzYjAtZTVjZTdiNGZmNmJmMTcwNTQwNjYxNDczNS5qcGc=:aW1hZ2UvcG5n:ARbSZFssPqLjHjFifodFDQL_79OaBg9JDrz67b_wlP2wrobpzHRv6fqHfHg-YlZVOM4X4bGeYnIv7uXpsVcYvQULdQ1cFqPgVFIl0pkID7Ao6Q:e:1719656714:1407008009801826:100084713375965:ARYtgY7tK8u5Jn3qzt0",
"media_type": null
},
{
"type": "BODY",
"format": null,
"text": "send content:WhatsApp:{{WhatsApp}},end message",
"buttons": null,
"parameters": null,
"sub_type": null,
"index": null,
"example": {
"body_text": [
[
"8613800000000"
]
]
},
"filename": null,
"url": null,
"media_id": null,
"h": null,
"media_type": null
},
{
"type": "FOOTER",
"format": null,
"text": "foot content",
"buttons": null,
"parameters": null,
"sub_type": null,
"index": null,
"example": null,
"filename": null,
"url": null,
"media_id": null,
"h": null,
"media_type": null
},
{
"type": "BUTTONS",
"format": null,
"text": null,
"buttons": [
{
"type": "QUICK_REPLY",
"text": "button1",
"payload": null,
"url": null,
"phone_number": null,
"flow_id": null,
"navigate_screen": null,
"flow_action": null,
"buttonReqs": {
"type": "QUICK_REPLY",
"customizeType": "conventional",
"text": "button1",
"phoneNumber": null,
"url": null,
"payload": "305",
"buttonEvents": [
{
"event": "tag",
"tagName": "Viber tag",
"tagId": 33991,
"templateName": null,
"templateId": null,
"text": null
},
{
"event": "template",
"tagName": null,
"tagId": null,
"templateName": "buttontest22",
"templateId": 314,
"text": null
}
],
"flow_id": null,
"navigate_screen": null,
"flow_action": null
}
},
{
"type": "QUICK_REPLY",
"text": "tag2",
"payload": null,
"url": null,
"phone_number": null,
"flow_id": null,
"navigate_screen": null,
"flow_action": null,
"buttonReqs": {
"type": "QUICK_REPLY",
"customizeType": "conventional",
"text": "tag2",
"phoneNumber": null,
"url": null,
"payload": "306",
"buttonEvents": [
{
"event": "tag",
"tagName": "Viber tag",
"tagId": 33991,
"templateName": null,
"templateId": null,
"text": null
},
{
"event": "text",
"tagName": null,
"tagId": null,
"templateName": null,
"templateId": null,
"text": "test text"
}
],
"flow_id": null,
"navigate_screen": null,
"flow_action": null
}
},
{
"type": "QUICK_REPLY",
"text": "button3",
"payload": null,
"url": null,
"phone_number": null,
"flow_id": null,
"navigate_screen": null,
"flow_action": null,
"buttonReqs": {
"type": "QUICK_REPLY",
"customizeType": "conventional",
"text": "button3",
"phoneNumber": null,
"url": null,
"payload": "307",
"buttonEvents": [
{
"event": "template",
"tagName": null,
"tagId": null,
"templateName": "test_8",
"templateId": 313,
"text": null
}
],
"flow_id": null,
"navigate_screen": null,
"flow_action": null
}
}
],
"parameters": null,
"sub_type": null,
"index": null,
"example": null,
"filename": null,
"url": null,
"media_id": null,
"h": null,
"media_type": null
}
],
"language": "af",
"status": "APPROVED",
"id": 1214365320013059,
"quality_score": {
"score": "UNKNOWN"
},
"tag_ids": [
33991
],
"is_close_auto_flow": 0
},
"traceId": "6dcc841ca255443c9ea0434e5ed0b7b2"
}
响应示例2
{
"code": 0,
"message": "",
"data": {
"namespace": null,
"name": "test_45",
"category": "MARKETING",
"category_type": 1,
"components": [
{
"type": "HEADER",
"format": "TEXT",
"text": "test text",
"buttons": null,
"parameters": null,
"sub_type": null,
"index": null,
"example": null,
"filename": null,
"url": null,
"media_id": null,
"h": null,
"media_type": null
},
{
"type": "BODY",
"format": null,
"text": "template https://119.91.210.214:10001/api/shortLink/doAccess/Y3Mjmq content",
"buttons": null,
"parameters": null,
"sub_type": null,
"index": null,
"example": null,
"filename": null,
"url": null,
"media_id": null,
"h": null,
"media_type": null
},
{
"type": "FOOTER",
"format": null,
"text": "foot",
"buttons": null,
"parameters": null,
"sub_type": null,
"index": null,
"example": null,
"filename": null,
"url": null,
"media_id": null,
"h": null,
"media_type": null
},
{
"type": "BUTTONS",
"format": null,
"text": null,
"buttons": [
{
"type": "PHONE_NUMBER",
"text": "phone",
"payload": null,
"url": null,
"phone_number": "+861312895xxx",
"flow_id": null,
"navigate_screen": null,
"flow_action": null,
"buttonReqs": null
},
{
"type": "URL",
"text": "web1",
"payload": null,
"url": "https://testnxlink.nxcloud.com/",
"phone_number": null,
"flow_id": null,
"navigate_screen": null,
"flow_action": null,
"buttonReqs": null
},
{
"type": "URL",
"text": "web2",
"payload": null,
"url": "https://www.baidu.com/",
"phone_number": null,
"flow_id": null,
"navigate_screen": null,
"flow_action": null,
"buttonReqs": null
}
],
"parameters": null,
"sub_type": null,
"index": null,
"example": null,
"filename": null,
"url": null,
"media_id": null,
"h": null,
"media_type": null
}
],
"language": "af",
"status": "APPROVED",
"id": 1500809463846053,
"quality_score": {
"score": "UNKNOWN"
},
"tag_ids": [],
"is_close_auto_flow": 0
},
"traceId": "f42d64bb6b5f4e0fa12baf826b2ff787"
}
响应示例3
{
"code": 0,
"message": "",
"data": {
"namespace": null,
"name": "test_99",
"category": "MARKETING",
"category_type": 1,
"components": [
{
"type": "HEADER",
"format": "TEXT",
"text": "header text",
"buttons": null,
"parameters": null,
"sub_type": null,
"index": null,
"example": null,
"filename": null,
"url": null,
"media_id": null,
"h": null,
"media_type": null
},
{
"type": "BODY",
"format": null,
"text": "template text",
"buttons": null,
"parameters": null,
"sub_type": null,
"index": null,
"example": null,
"filename": null,
"url": null,
"media_id": null,
"h": null,
"media_type": null
},
{
"type": "FOOTER",
"format": null,
"text": "foot",
"buttons": null,
"parameters": null,
"sub_type": null,
"index": null,
"example": null,
"filename": null,
"url": null,
"media_id": null,
"h": null,
"media_type": null
},
{
"type": "BUTTONS",
"format": null,
"text": null,
"buttons": [
{
"type": "FLOW",
"text": "button",
"payload": null,
"url": null,
"phone_number": null,
"flow_id": "803348158336427",
"navigate_screen": "SIGN_IN",
"flow_action": "NAVIGATE",
"buttonReqs": null
}
],
"parameters": null,
"sub_type": null,
"index": null,
"example": null,
"filename": null,
"url": null,
"media_id": null,
"h": null,
"media_type": null
}
],
"language": "sq",
"status": "APPROVED",
"id": 432230866355873,
"quality_score": {
"score": "UNKNOWN"
},
"tag_ids": [
33989
],
"is_close_auto_flow": 0
},
"traceId": "67a05b8528114fa29edeb6616458b12a"
}
删除模板
通过API删除模板
- URL:
https://api.nxcloud.com/saas/wa/template/{phone}/{id}?tenant_id=123
- Method:
DELETE
- Content-Type:
application/json
- 需要鉴权:
是
请求参数
header参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
accessKey |
String |
是 |
fme2na3kdi3ki |
用户身份标识 |
ts |
String |
是 |
1655710885431 |
当前请求的时间戳(单位是毫秒),牛信服务端允许用户端请求最大时间误差为60秒 |
bizType |
String |
是 |
2 |
WhatsApp业务类型,取固定值“2” |
action |
String |
是 |
mt |
WhatsApp业务操作,取固定值“mt” |
sign |
String |
是 |
6e9506557d1f289501d333ee2c365826 |
API入参参数签名,公共约定 |
parameter 参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
phone |
String |
是 |
86158xxxx1795 |
消息发送方的WhatsApp号码,需要带国码。如86158xxxx1795 |
tenant_id |
Long |
是 |
1 |
租户ID |
id |
Long |
是 |
1 |
模板Id |
获取WhatsApp表单接口
通过API获取WhatsApp表单接口
- URL:
https://api.nxcloud.com/saas/wa/flow/{phone}?tenant_id=123
- Method:
GET
- Content-Type:
application/json
- 需要鉴权:
是
请求参数
header参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
accessKey |
String |
是 |
fme2na3kdi3ki |
用户身份标识 |
ts |
String |
是 |
1655710885431 |
当前请求的时间戳(单位是毫秒),牛信服务端允许用户端请求最大时间误差为60秒 |
bizType |
String |
是 |
2 |
WhatsApp业务类型,取固定值“2” |
action |
String |
是 |
mt |
WhatsApp业务操作,取固定值“mt” |
sign |
String |
是 |
6e9506557d1f289501d333ee2c365826 |
API入参参数签名,公共约定 |
parameter 参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
phone |
String |
是 |
86158xxxx1795 |
消息发送方的WhatsApp号码,需要带国码。如86158xxxx1795 |
tenant_id |
Long |
是 |
1 |
租户ID |
返回参数说明
参数名 |
类型 |
说明 |
data |
array[data JsonObject] |
请求结果 |
message |
string |
请求结果说明 |
code |
integer |
结果编码 |
data
参数名 |
类型 |
说明 |
name |
String |
表单名称 |
status |
String |
表单状态 |
id |
String |
表单Id |
categories |
array[String JsonObject] |
|
响应示例3
{
"code": 0,
"message": "",
"data": {
"data": [
{
"name": "hqq_flow_endpoint_001",
"status": "PUBLISHED",
"categories": [
"SIGN_UP"
],
"validation_errors": [],
"id": "803348158336427"
}
]
"traceId": "e0fcc69fde9547dd919d1ecbeb10787c"
}
上传媒体(用于上传模板多媒体示例使用和上传文件至meta)接口
用于在创建或者更新模板时,模板头部类型为富媒体时,上传文件获取媒体链接、id以及模板媒体Id等信息
- URL:
https://api.nxcloud.com/saas/wa//media/{phone}
- Method:
POST
- Content-Type:
multipart/form-data
- 需要鉴权:
是
请求参数
header参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
accessKey |
String |
是 |
fme2na3kdi3ki |
用户身份标识 |
ts |
String |
是 |
1655710885431 |
当前请求的时间戳(单位是毫秒),牛信服务端允许用户端请求最大时间误差为60秒 |
bizType |
String |
是 |
2 |
WhatsApp业务类型,取固定值“2” |
action |
String |
是 |
mt |
WhatsApp业务操作,取固定值“mt” |
sign |
String |
是 |
6e9506557d1f289501d333ee2c365826 |
API入参参数签名,公共约定 |
parameter 参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
phone |
String |
是 |
86158xxxx1795 |
消息发送方的WhatsApp号码,需要带国码。如86158xxxx1795 |
body参数:
参数名 |
类型 |
必选 |
示例值 |
说明 |
tenant_id |
Long |
是 |
1 |
租户ID |
file |
MultipartFile |
是 |
|
文件流 |
返回参数说明
参数名 |
类型 |
说明 |
data |
data JsonObject |
请求结果 |
message |
string |
请求结果说明 |
code |
integer |
结果编码 |
data
参数名 |
类型 |
说明 |
h |
String |
模板媒体ID |
media_id |
String |
媒体ID |
original_filename |
String |
媒体名称 |
mime_type |
String |
媒体类型 |
url |
String |
媒体链接 |
响应示例
成功示例
{
"code": 0,
"message": "",
"data": {
"h": "4:MTcwNTQwNTM3MTU4MS5qcGc=:aW1hZ2UvcG5n:ARZjTwWzWltYZ7anpdBq9AzRGbkrRnsxni3wUee8aRJhAKLjVV-rpxVMRhiKmssfVzzM4JsxjMNXLKKqfIQeWjk00Ve6hSnfkdxCDE4dfDuIVA:e:1719660668:1407008009801826:100084713375965:ARb9JldW1tEddKyFjg8\n4:MTcwNTQwNTM3MTU4MS5qcGc=:aW1hZ2UvcG5n:ARZEMW29V1o0vRUFe3z3IwtjUC9Ezcl_9ZzarcfekJHOhrSXCQQ90pgHd1suyeLdaMfV244p8c4rBZQ4T47RRq-OSManVUY9IJ6ghTstyg5Bhw:e:1719660668:1407008009801826:100084713375965:ARa48raWz1W1us7SJ8w\n4:MTcwNTQwNTM3MTU4MS5qcGc=:aW1hZ2UvcG5n:ARbEitR5qMUNvmTijnx627fPihUeT6i-mj2zrFI6ZYJBB8WnZCWeNQcAhzC-0u8RZISIbAV3yIyViQ67Bv_63OUxwdXz9xljkQaPs0utUQNT9A:e:1719660668:1407008009801826:100084713375965:ARakUEk8Sab0_H82e4E\n4:MTcwNTQwNTM3MTU4MS5qcGc=:aW1hZ2UvcG5n:ARarzhJe1V3XXnJpy2hW305vLuE8pzKNKynNFp16GxymY96ngrpbWKMd2QHIg7Xfjlcv_DzhSKP7d-YKzGqPeTJul3S5efcJYUJgIxm1ELg6Cw:e:1719660669:1407008009801826:100084713375965:ARZOtE2DJ-x_Q321sTk",
"media_id": "1187184585633620",
"original_filename": "1705405371581.jpg",
"mime_type": "image/png",
"url": "https://goss.oss-accelerate.aliyuncs.com/1187184585633620?Expires=1719315130&OSSAccessKeyId=LTAI5tBrjWM5EyDe6MA5uc7z&Signature=8NorCSFNymSYnBq56xKC6L2yaW0%3D"
},
"traceId": "e45e7e38faca4b39a9ec8905cc639116"
}
响应码说明
code |
message |
解决办法 |
0 |
请求成功 |
|
-1 |
请求失败 |
请联系技术人员排除问题 |
1000~100X |
鉴权问题 |
详情查看API鉴权部分 |
21058 |
参数异常 |
tenant_id 必填 |
21060 |
参数异常 |
business_phone 必填 |
22041 |
业务异常 |
云平台发送失败 |
22042 |
业务异常 |
发送WhatsApp信息失败 |
22049 |
业务异常 |
business_phone={0}的商户不存在 |
22070 |
业务异常 |
按钮个数最多只能创建3个 |
22089 |
业务异常 |
号码不可用(No Core App) |
22090 |
业务异常 |
非法的号码 |
22092 |
业务异常 |
不存在语言包: {0} |
22216 |
业务异常 |
按钮名称不能为空 |
模板语言
语言 |
代码 |
|
语言 |
代码 |
|
语言 |
代码 |
Afrikaans |
af |
|
Greek |
el |
|
Portuguese (BR) |
pt_BR |
Albanian |
sq |
|
Gujarati |
gu |
|
Portuguese (POR) |
pt_PT |
Arabic |
ar |
|
Hebrew |
he |
|
Punjabi |
pa |
Azerbaijani |
az |
|
Hindi |
hi |
|
Romanian |
ro |
Bengali |
bn |
|
Hungarian |
hu |
|
Russian |
ru |
Bulgarian |
bg |
|
Indonesian |
id |
|
Serbian |
sr |
Catalan |
ca |
|
Irish |
ga |
|
Slovak |
sk |
Chinese (CHN) |
zh_CN |
|
Italian |
it |
|
Slovenian |
sl |
Chinese (HKG) |
zh_HK |
|
Japanese |
ja |
|
Spanish |
es |
Chinese (TAI) |
zh_TW |
|
Kannada |
kn |
|
Spanish (ARG) |
es_AR |
Croatian |
hr |
|
Kazakh |
kk |
|
Spanish (SPA) |
es_ES |
Czech |
cs |
|
Korean |
ko |
|
Spanish (MEX) |
es_MX |
Danish |
da |
|
Lao |
lo |
|
Swahili |
sw |
Dutch |
nl |
|
Latvian |
lv |
|
Swedish |
sv |
English |
en |
|
Lithuanian |
lt |
|
Tamil |
ta |
English (UK) |
en_GB |
|
Macedonian |
mk |
|
Telugu |
te |
English (US) |
en_US |
|
Malay |
ms |
|
Thai |
th |
Estonian |
et |
|
Marathi |
mr |
|
Turkish |
tr |
Filipino |
fil |
|
Norwegian |
nb |
|
Ukrainian |
uk |
Finnish |
fi |
|
Persian |
fa |
|
Urdu |
ur |
French |
fr |
|
Polish |
pl |
|
Uzbek |
uz |
German |
de |
|
|
|
|
Vietnamese |
vi |