HTTP URL を指定して、Chat App Message Service からメッセージレシートのステータスレポートを受信できます。
プロトコルの説明
パラメーター | 説明 |
プロトコル | HTTP + JSON |
エンコーディング | UTF-8 |
前提条件
Alibaba Cloud アカウントを登録し、AccessKey ペアを作成済みであること。 詳細については、「AccessKey ペアの作成」をご参照ください。
メッセージレシートの概要と設定 を読み、メッセージレシートのパターン、タイプ、設定フローを理解していること。
モバイル着信メッセージのステータスレポートを設定する方法については、「ステータスレポートとモバイル発信メッセージの設定」をご参照ください。
リクエストの説明
1 回のプッシュに複数のメッセージステータスレポートが含まれる場合があります。
次のリクエスト例は、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 タイムスタンプ (ミリ秒単位)。 |
Status | String | はい | メッセージのステータス。 有効な値:
|
StatusDescription | String | はい | 状態コードの説明。 |
ErrorCode | String | いいえ | エラーコード。 |
ErrorDescription | String | いいえ | エラーコードの説明。 詳細については、「API エラーコード」をご参照ください。 |
ConversationType | String | いいえ | 会話タイプ。 有効な値:
|
ConversationId | String | いいえ | 会話の ID。 |
ConversationExpirationTime (廃止) | Long | いいえ | 会話の有効期限。 説明 このパラメーターは、新しいメッセージごとの課金ルールでは無効です。 |
MsgFrameType | String | はい | メッセージタイプ。 有効な値:
|
Type | String | いいえ | メッセージ内のメディアリソースのタイプ。 有効な値:
|
TaskId | String | いいえ | 顧客タスク ID。 デフォルト値は MessageId の値です。 説明 TaskId を指定しない場合、MessageId の値が使用されます。 |
OriginPhoneNumber | String | いいえ | 送信者の実際の電話番号。 |
TemplateCode | String | いいえ | メッセージテンプレートコード。 説明 このパラメーターは、MsgFrameType が template に設定されている場合にのみ返されます。 |
レスポンスの説明
受信確認を受け取った後、レスポンスの HTTP ステータスコードは 200 である必要があります。レスポンスボディは次のフォーマットである必要があります。 そうでない場合、プッシュは失敗し、リトライされます。
レスポンスの例
{
"code" : 0,
"msg" : "Success"
}パラメーター
名前 | タイプ | 必須 | 説明 |
code | Number | はい | 確認コード。 |
msg | String | いいえ | 説明。 |
リトライ
プッシュが失敗した場合、システムは 1 分後にリトライします。 そのリトライも失敗した場合、システムは 5 分後に最後の試行を行います。 3 回の試行が失敗した後、システムはリトライを停止します。