您可以通過指定HTTP URL來接收Chat App Message Service的訊息回執狀態報表。
協議說明
參數 | 說明 |
協議 | HTTP + JSON |
編碼 | UTF-8 |
前提條件
您已經註冊阿里雲帳號並產生存取金鑰(AccessKey),詳情請參見建立AccessKey。
您已仔細閱讀回執訊息簡介與配置流程,瞭解回執訊息模式、類型和配置流程。
配置下行訊息狀態報表操作步驟參見:組態狀態報告/訊息上行。
請求說明
單次推送可能會包含多條訊息狀態報表結果。
MsgFrameType是template的請求範例
[
{
"Status":"Failed",
"ErrorDescription":"131026:Receiver is incapable of receiving this message(Message Undeliverable.)",
"MsgFrameType":"template",
"TaskId":"202307030171*******9",
"From":"86131*******8",
"Timestamp":1691043638000,
"OriginPhoneNumber":"86130*******8",
"TemplateCode":"820561547132813184",
"Type":"TEMPLATE",
"Language":"id",
"TemplateName":"wa_otp_v_0_0_3",
"To":"86138*******8",
"ErrorCode":"131026",
"MessageId":"2023078469463703*******3"
},
{
"Status":"Failed",
"ErrorDescription":"131026:Receiver is incapable of receiving this message(Message Undeliverable.)",
"MsgFrameType":"template",
"TaskId":"202307030171*******9",
"From":"86131*******8",
"Timestamp":1691043638000,
"OriginPhoneNumber":"86130*******8",
"TemplateCode":"820561547132813184",
"Type":"TEMPLATE",
"Language":"id",
"TemplateName":"wa_otp_v_0_0_3",
"To":"86137*******8",
"ErrorCode":"131026",
"MessageId":"2023078469463703*******3"
}
]MsgFrameType是message的請求範例
[
{
"Status":"Read",
"MsgFrameType":"message",
"Type":"INTERACTIVE",
"TaskId":"2023068473353098*******8",
"From":"86131*******8",
"To":"86138*******8",
"Timestamp":1691132091000,
"OriginPhoneNumber":"86131*******8",
"MessageId":"2023038470553398*******8",
"ConversationId":"72222201111****",
"ConversationType": "service"
},
{
"Status":"Read",
"MsgFrameType":"message",
"Type":"INTERACTIVE",
"TaskId":"2023068473353098*******8",
"From":"86131*******8",
"To":"86138*******1",
"Timestamp":1691132091000,
"OriginPhoneNumber":"86131*******8",
"MessageId":"2023038470553398*******8",
"ConversationId":"72222201111****",
"ConversationType": "service"
}
]欄位說明
名稱 | 類型 | 是否必填 | 描述 |
MessageId | String | 是 | 訊息的ID。 |
From | String | 是 | 訊息發送方號碼。 |
To | String | 是 | 訊息接收方號碼。 |
Timestamp | Long | 是 | 時間戳記為Unix timestamp 毫秒。 |
Status | String | 是 | 訊息發送狀態。取值:
|
StatusDescription | String | 是 | 狀態代碼的描述。 |
ErrorCode | String | 否 | 錯誤碼。 |
ErrorDescription | String | 否 | 錯誤碼描述。詳情請參見API錯誤碼。 |
ConversationType | String | 否 | 會話類型。取值:
|
ConversationId | String | 否 | 會話ID。 |
ConversionExpirationTime(過時) | Long | 否 | 會話到期時間。 說明 針對新的按條計費規則時已無效。 |
MsgFrameType | String | 是 | 訊息類型。取值:
|
Type | String | 否 | 訊息內容中多媒體資源類型。取值:
|
TaskId | String | 否 | 客戶任務ID。預設取值MessageId。 說明 如果TaskId未傳值,則TaskId=MessageId。 |
OriginPhoneNumber | String | 否 | 訊息發送方的真實號碼。 |
TemplateCode | String | 否 | 訊息模板編碼。 說明 當MsgFrameType=template時有值。 |
響應說明
接收到回執後,需要在3s內響應,響應的HTTP狀態代碼必須為200,且響應體格式需如下所示,否則會推送失敗,觸發重新推送。
響應範例
{
"code" : 0,
"msg" : "成功"
}欄位說明
名稱 | 類型 | 是否必選 | 描述 |
code | Number | 是 | 應答編碼。 |
msg | String | 否 | 描述資訊。 |
重新推送
第一次推送失敗後,間隔1分鐘、5分鐘後會進行重推,直至推送成功為止。如果推送3次後仍失敗,不再重試。