您可以通过指定HTTP URL来接收Chat App 消息服务的上行消息。
协议说明
参数 | 说明 |
协议 | HTTP + JSON |
编码 | UTF-8 |
请求说明
单次推送可能会包含多条上行消息。
Type为TEXT的请求样例
[
{
"MessageId": "1000000000000001",
"From": "861388888****",
"To": "86137888****",
"DisplayName": "Mr Liu",
"Type": "TEXT",
"Message": "hello,it's me",
"Timestamp": 1662104191973,
"Name": "jack"
},
{
"MessageId": "1000000000000002",
"From": "861388888****",
"To": "86139123****",
"DisplayName": "Mr Wang",
"Type": "TEXT",
"Message": "hello,it's me",
"Timestamp": 1662104191973,
"Name": "Jones"
}
]
Type为AUDIO的请求样例
[
{
"MessageId": "1000000000000003",
"From": "+861388888****",
"DisplayName": "Mr Liu",
"To": "+861378886****",
"Type": "AUDIO",
"Message":
"{
\"name\": \"this is first audio message\",
\"id\": \"6e098464-117c-480b-beaa-3ea0635f****\",
\"mimeType\": \"application/pdf\",
\"fileName\": \"first.pdf\",
\"url\": \"\"
} ",
"Timestamp ": 1662104191973,
"Name": "jack"
},
{
"MessageId": "1000000000000004",
"From": "+861388888****",
"DisplayName": "Mr Wang",
"To": "+861378886****",
"Type": "AUDIO",
"Message":
"{
\"name\": \"this is first audio message\",
\"id\": \"6e098464-117c-480b-beaa-3ea0635f****\",
\"mimeType\": \"application/pdf\",
\"fileName\": \"first.pdf\",
\"url\": \"\"
} ",
"Timestamp ": 1662104191973,
"Name": "John"
}
]
Type为DOCUMENT的请求样例
[
{
"MessageId": "1000000000000005",
"From": "+861388888****",
"DisplayName": "Mr Liu",
"To": "+861378889****",
"Type": "DOCUMENT",
"Message":
"{
\"name\": \"this is first document message\",
\"ID\": \"6e098464-117c-480b-beaa-3ea0635f****\",
\"mimeType\": \"audio/ogg; codecs=opus\",
\"url\": \"\"
}" ,
"Timestamp ": 1662104191973,
"Name": "jack"
},
{
"MessageId": "1000000000000006",
"From": "+861388888****",
"DisplayName": "Mr Liu",
"To": "+861378882****",
"Type": "DOCUMENT",
"Message":
"{
\"name\": \"this is first document message\",
\"ID\": \"6e098464-117c-480b-beaa-3ea0635f****\",
\"mimeType\": \"audio/ogg; codecs=opus\",
\"url\": \"\"
}" ,
"Timestamp ": 1662104191973,
"Name": "Jone"
}
]
Type为REPLY的请求样例
[
{
"MessageId": "1000000000000007",
"From": "861388888****",
"DisplayName": "Mr Liu",
"To": "861378886****",
"Type": "REPLY",
"Message": "{ \"text\": \"click me\",\"payload\": \"1000000\" }" ,
"Timestamp ": 1662104191973
},
{
"MessageId": "1000000000000008",
"From": "861388888****",
"DisplayName": "Mr Wang",
"To": "861378883****",
"Type": "REPLY",
"Message": "{ \"text\": \"click me\",\"payload\": \"1000000\" }" ,
"Timestamp ": 1662104191973
}
]
Type为LOCATION的请求样例
[
{
"MessageId": "1000000000000009",
"From": "861388888****",
"DisplayName":"Mr Liu",
"To": "861378868****",
"Type": "LOCATION",
"Message": "{\"address \": \"changsha yuelu street \", \"latitude \": \"39.999137107913\", \"longitude \": \"116.48074005043\", \"name \": \"this is firest location message\" } ",
"Timestamp ": 1662104191973,
"Name": "jack"
},
{
"MessageId": "1000000000000010",
"From": "861388888****",
"DisplayName":"Mr Wang",
"To": "861378168****",
"Type": "LOCATION",
"Message": "{\"address \": \"changsha yuelu street \", \"latitude \": \"39.999137107913\", \"longitude \": \"116.48074005043\", \"name \": \"this is firest location message\" } ",
"Timestamp ": 1662104191973,
"Name": "Jone"
}
]
字段说明
名称 | 类型 | 是否必选 | 描述 |
MessageId | String | 是 | 消息的ID。 |
From | String | 是 | 消息发送方号码。 |
To | String | 是 | 消息接收方号码。 |
Timestamp | Long | 是 | 时间戳为Unix timestamp 毫秒。 |
DisplayName | String | 是 | 号码显示的名称。 |
Type | String | 是 | 媒体资源类型。取值:
|
Message | String | 是 | 消息的内容。
|
Name | String | 是 | 终端用户名称。 |
LOCATION字段
名称 | 类型 | 是否必选 | 描述 |
address | String | 是 | 地址信息。 |
latitude | String | 是 | 纬度。 |
longitude | String | 是 | 经度。 |
name | String | 是 | LOCATION的描述。 |
VIDEO字段
名称 | 类型 | 是否必选 | 描述 |
name | String | 是 | VIDEO文件的描述。 |
id | String | 是 | VIDEO文件的ID。 |
mimeType | String | 是 | 固定值:ogg。 说明 codecs=opus时,可不关注该参数。 |
url | String | 是 | VIDEO的URL地址。 说明 URL有效期为7天。 |
AUDIO字段
名称 | 类型 | 是否可选 | 描述 |
name | String | 是 | AUDIO文件的描述。 |
id | String | 是 | AUDIO文件的ID。 |
mimeType | String | 是 | 固定值:audio。 说明 codecs=opus时,可不关注该参数。 |
url | String | 是 | AUDIO的URL地址。 说明 URL有效期为7天。 |
IMAGE字段
名称 | 类型 | 是否必选 | 描述 |
caption | String | 否 | 图片的描述。 |
id | String | 是 | 图片的ID。 |
mimeType | String | 是 | 图片类型。 |
url | String | 是 | 图片的URL地址。 说明 URL有效期为7天。 |
DOCUMENT字段
名称 | 类型 | 是否可选 | 描述 |
name | String | 是 | DOCUMENT文件的描述。 |
id | String | 是 | DOCUMENT文件的ID。 |
filename | String | 是 | DOCUMENT的文件名。 |
mimeType | String | 是 | 固定值:application/pdf。 |
url | String | 是 | DOCUMENT的URL地址。 说明 URL有效期为7天。 |
REPLY字段
名称 | 类型 | 是否可选 | 描述 |
text | String | 是 | 客户点击Button的名称。 |
payload | String | 是 | 点击Button,返回在消息发送时下发的payload数值。 |
响应说明
接收到回执后,响应的HTTP状态码必须为200,且响应体格式需如下所示,否则会推送失败,触发重新推送。
响应样例
{
"code" : 0,
"msg" : "成功"
}
字段说明
名称 | 类型 | 是否必选 | 描述 |
code | Number | 是 | 应答编码。 |
msg | String | 否 | 描述信息。 |
重新推送
第一次推送失败后,间隔1分钟、5分钟后会进行重推,直至推送成功为止。如果推送3次后仍失败,不再重试。