您可以通過指定HTTP URL來接收Chat App Message Service的上行訊息。
協議說明
參數 | 說明 |
協議 | HTTP + JSON |
編碼 | UTF-8 |
前提條件
您已經註冊阿里雲帳號並產生存取金鑰(AccessKey),詳情請參見建立AccessKey。
您已仔細閱讀回執訊息簡介與配置流程,瞭解回執訊息模式、類型和配置流程。
配置訊息上行操作步驟參見:組態狀態報告/訊息上行。
請求說明
單次推送可能會包含多條上行訊息。
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",
"CustSpaceId": "cams-83m8j9xxxxadc",
"From": "+861388888****",
"DisplayName": "Mr Liu",
"NoticeType": "inbound",
"To": "+861378886****",
"Type": "AUDIO",
"Message":
"{
\"filename\":\"File.ogg\",
\"animated\":false,
\"id\":\"3214520xxxx75431\",
\"mimeType\":\"audio/ogg\",
\"url\":\"https://whatsapp-prod-oss-bucket.oss-ap-southeast-1.aliyuncs.com/1161931534xxxx19904.ogg\"
}",
"Timestamp ": 1662104191973,
"Name": "jack",
"WabaId": "95271863xxxx233",
},
{
"MessageId": "1000000000000004",
"CustSpaceId": "cams-83m8j9xxxxadc",
"From": "+861388888****",
"DisplayName": "Mr Wang",
"NoticeType": "inbound",
"To": "+861378886****",
"Type": "AUDIO",
"Message":
"{
\"filename\":\"File.ogg\",
\"animated\":false,
\"id\":\"3214520xxxx75431\",
\"mimeType\":\"audio/ogg\",
\"url\":\"https://whatsapp-prod-oss-bucket.oss-ap-southeast-1.aliyuncs.com/1161931534xxxx19904.ogg\"
}",
"Timestamp ": 1662104191973,
"Name": "John",
"WabaId": "95271863xxxx233",
}
]Type為DOCUMENT的請求範例
[
{
"MessageId": "1000000000000005",
"From": "+861388888****",
"DisplayName": "Mr Liu",
"NoticeType": "inbound",
"To": "+861378889****",
"Type": "DOCUMENT",
"Message":
"{
\"filename\":\"eventlog_20251211_155722_GMT.jsonl\",
\"animated\":false,
\"id\":\"275171383xxxx878\",
\"mimeType\":\"application/octet-stream\",
\"url\":\"https://bucket-chatapp-file-internal.oss-ap-southeast-1.aliyuncs.com/1161931xxxxx8375296.jsonl\"
}",
"Timestamp ": 1662104191973,
"Name": "jack",
"WabaId": "212506738xxxx650",
"CustSpaceId": "cams-85sglhxxxxkw"
},
{
"MessageId": "1000000000000006",
"From": "+861388888****",
"DisplayName": "Mr Liu",
"NoticeType": "inbound",
"To": "+861378882****",
"Type": "DOCUMENT",
"Message":
"{
\"filename\":\"eventlog_20251211_155722_GMT.jsonl\",
\"animated\":false,
\"id\":\"275171383xxxx878\",
\"mimeType\":\"application/octet-stream\",
\"url\":\"https://bucket-chatapp-file-internal.oss-ap-southeast-1.aliyuncs.com/1161931xxxxx8375296.jsonl\"
}",
"Timestamp ": 1662104191973,
"Name": "Jone",
"WabaId": "212506738xxxx650",
"CustSpaceId": "cams-85sglhxxxxkw"
}
]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。 |
CustSpaceId | String | 是 | 通道ID。 |
WabaId | String | 是 | WhatsApp商業賬戶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數值。 |
SYSTEM 欄位
名稱 | 類型 | 是否可選 | 描述 |
body | String | 是 | 描述客戶身份或電話號碼變更。 |
wa_id | String | 是 | 客戶電話號碼更新後新的 WhatsApp ID。 |
type | String | 是 | 系統更新類型,可能是以下之一:
|
響應說明
接收到回執後,需要在3s內響應,響應的HTTP狀態代碼必須為200,且響應體格式需如下所示,否則會推送失敗,觸發重新推送。
響應範例
{
"code" : 0,
"msg" : "成功"
}欄位說明
名稱 | 類型 | 是否必選 | 描述 |
code | Number | 是 | 應答編碼。 |
msg | String | 否 | 描述資訊。 |
重新推送
第一次推送失敗後,間隔1分鐘、5分鐘後會進行重推,直至推送成功為止。如果推送3次後仍失敗,不再重試。