跳到主要内容

发送消息

通过业务电话发送消息。

请求参数

名称类型描述必填
Actionstring动作名称
AccountIdint账户 ID
Tostring目标电话号码
Typestring消息类型
Contentstring消息内容,根据类型不同而变化(以文本中的 JSON 形式)
BusinessPhonestring业务电话号码

请求示例

{
"Action": "SendMessage",
"accountId": 8899,
"companyId": 8899,
"BusinessPhone": "8615000579987",
"To": "447731688264",
"Type": "text",
"Purpose": 1,
"Content": "{\"body\":\"text-message-content\",\"preview_url\":false}"
}

文本消息参数

名称类型描述必填
bodystring文本消息的正文内容,可以包含 URL 或格式化元素。格式化元素描述如下:粗体:粗体文本,例如,您的总额为 $10.50斜体:需要斜体的文本,例如,您的总额是 $10.50。下划线:需要下划线的文本,例如,您的总额是 $10.50
preview_urlBoolean是否启用 URL 预览。如果设置为 true,则启用 URL 预览;如果设置为 false,则禁用 URL 预览。URL 必须以 http:// 或 https:// 开头,后跟域名中表达的链接地址信息(以 IP 地址表达的链接地址不被识别)。URL 预览是 WhatsApp 客户端支持的消息渲染功能。

文本消息类型,示例 JSON

{
"body": "text-message-content",
"preview_url": false
}

图片消息参数

名称类型描述必填
linkstring(id 或链接)图片的 URL 链接。必须是 HTTP/HTTPS 格式的 URL。
idstring(id 或链接)图片存储 ID,在通过媒体接口上传文件后获得。
captionstring图片描述

图片消息类型,示例 JSON

{
"id": "5867096a-a9be-4a56-94d6-89377623b4ac",
"caption": "image test"
}

视频消息参数

名称类型描述必填
linkstring(id 或链接)视频的 URL 链接。必须是 HTTP/HTTPS 格式的 URL。
idstring(id 或链接)视频存储 ID,在通过媒体接口上传文件后获得。
captionstring视频描述

视频消息类型,示例 JSON

{
"id": "5867096a-a9be-4a56-94d6-89377623b4ac",
"caption": "视频测试"
}

音频消息参数

名称类型描述必填
linkstring(id 或链接)音频的 URL 链接。必须是 HTTP/HTTPS 格式的 URL。
idstring(id 或链接)音频存储 ID,在通过媒体接口上传文件后获得。

音频消息类型,示例 JSON

{
"id": "5867096a-a9be-4a56-94d6-89377623b4ac"
}

文档消息参数

名称类型描述必填
linkstring(id 或链接)文档的 URL 链接。必须是 HTTP/HTTPS 格式的 URL。
idstring(id 或链接)文档存储 ID,在通过媒体接口上传文件后获得。
filenamestring文档名称

文档消息类型,示例 JSON

{
"id": "5867096a-a9be-4a56-94d6-89377623b4ac",
"filename": "文档"
}

位置消息参数

名称类型描述必填
latitudefloat64纬度信息
longitudefloat64经度信息
namestring文件名
addressstring文件名

位置消息类型,示例 JSON

{
"latitude": 22.550802897696343,
"longitude": 113.93844723701477,
"name": "洛杉矶, 加州",
"address": "Westwood Blvd"
}

贴纸消息参数

名称类型描述必填
linkstring(id 或链接)贴纸的 URL 链接。必须是 HTTP/HTTPS 格式的 URL。
idstring(id 或链接)贴纸存储 ID,在通过媒体接口上传文件后获得。

贴纸消息类型,示例 JSON

{
"id": "5867096a-a9be-4a56-94d6-89377623b4ac"
}

模板消息参数

名称类型描述必填
namestring模板名称
languageLanguage模板语言设置
components[]Component模板内组件的变量设置序列

语言参数

名称类型描述必填
codestring语言代码
policystring固定值为确定性

组件参数

名称类型描述必填
typestring组件类型。可以是 header、body、button
1)当 type = header 时,在模板头部设置变量信息;
2)当 type = body 时,在模板内容设置变量信息;
3)当 type = button 时,在模板按钮设置变量信息。
sub_typestring创建的按钮类型。仅在 type =  button 时需要,可以是 url、quick_reply。如果类型为其他类型,则此参数不可用。
indexstring按钮的位置索引。仅在 type = button 时需要。按钮的序号为 0 到 2。
parameters[]Parameter组件参数列表
参数
名称类型描述必填
typestring1)当组件对象的类型为 header 时,可以是 text、image、video、document;
2)当组件对象的类型为 body 时,值为 text;
3)当组件对象的类型为 button 且 sub_type = url 时,值为 text;
4)当组件对象的类型为 button 且 sub_type = quick_reply 时,值为 payload。
textstring设置相应参数的文本内容。仅当 type = text 时需要。如果类型为其他类型,则此参数不可用。
payloadstring设置相应参数的 payload 内容。根据视频消息定义 payload 对象。仅当 type = payload 时需要。如果类型为其他类型,则此参数不可用。
imageImage设置相应参数的图像内容。图像对象根据图像消息

定义。仅当 type = image 时需要。如果类型为其他类型,则此参数不可用。 | 否 | | video | Video | 设置相应参数的视频内容。视频对象根据视频消息定义。仅当 type = video 时需要。如果类型为其他类型,则此参数不可用。 | 否 | | document | Document | 设置相应参数的文档内容。文档对象根据文档消息定义。仅当 type = document 时需要。如果类型为其他类型,则此参数不可用。 | 否 |

验证码消息类型示例 JSON

{
"name": "otp_test_02",
"language": {
"policy": "deterministic",
"code": "zh_CN"
},
"components": [
{
"type": "body",
"parameters": [
{
"type": "text",
"text": "123456"
}
]
},
{
"type": "button",
"sub_type": "url",
"index": "0",
"parameters": [
{
"type": "text",
"text": "123456"
}
]
}
]
}

变量模板消息类型示例 JSON

{
"name": "text_template",
"language": {
"code": "en_US",
"policy": "deterministic"
},
"components": [
{
"type": "body",
"parameters": [
{
"type": "text",
"text": "David"
},
{
"type": "text",
"text": "B520"
}
]
}
]
}

快速回复模板消息类型示例 JSON

{
"name": "xy_button_tempalte",
"language": {
"code": "en_US",
"policy": "deterministic"
},
"components": [
{
"type": "header",
"parameters": [
{
"type": "text",
"text": "header"
}
]
},
{
"type": "button",
"sub_type": "quick_reply",
"index": "0",
"parameters": [
{
"type": "payload",
"payload": "text1"
}
]
},
{
"type": "button",
"sub_type": "quick_reply",
"index": "1",
"parameters": [
{
"type": "payload",
"payload": "text2"
}
]
},
{
"type": "button",
"sub_type": "quick_reply",
"index": "2",
"parameters": [
{
"type": "payload",
"payload": "text3"
}
]
}
]
}

响应参数

名称类型描述
ActionstringSendMessageResponse
RetCodeint成功为0 错误代码
Messagestring消息
RequestIdstring请求 ID
Dataobject返回数据

数据参数

名称类型描述
MessageIdstring消息 ID

响应示例

{
"Action": "SendMessageResponse",
"Data": {
"MessageId": "xxx"
},
"Message": "",
"RequestId": "8ea6c8f2-e23f-4816-9a48-243a40d66bfb",
"RetCode": 0
}