すべてのプロダクト
Search
ドキュメントセンター

Chat App Message Service:ChatAppStatus

最終更新日:Dec 25, 2025

HTTP URL を指定して、モバイルターミネーテッド (MT) メッセージの配信レシート (ChatAppStatus) を受信します。

プロトコル仕様

パラメーター

説明

プロトコル

HTTP + JSON

エンコーディング

UTF-8

前提条件

  • Alibaba Cloud アカウントを登録し、AccessKey ペアを作成済みであること。 詳細については、「AccessKey ペアの作成」をご参照ください。

  • メッセージレシートの概要と構成を確認し、そのモード、タイプ、構成プロセスを理解していること。 その後、メッセージレシートを適宜構成します。

リクエストフォーマット

サービスは、HTTP POST リクエストを介して、ご利用のコールバック URL にステータスの更新を送信します。 1 つのリクエストには、1 つ以上のステータスレポートオブジェクトを含む JSON 配列を含めることができます。

MsgFrameTypetemplate の場合のリクエスト例

[
    {    
    "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"
    }
]

MsgFrameTypemessage の場合のリクエスト例

[
    {    
    "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

はい

メッセージの配信ステータス。 有効な値:

  • Sent:メッセージは送信されました。

  • Delivered:メッセージは受信者のデバイスに配信されました。

  • Read:メッセージは受信者によって読み取られました。

  • Failed:メッセージの配信に失敗しました。

  • Deleted:メッセージは削除されました。

    説明

    Deleted ステータスは利用できません。 WhatsApp はこのステータスを Chat App Message Service にプッシュしません。

StatusDescription

String

はい

ステータスの説明。

ErrorCode

String

いいえ

配信失敗のエラーコード。

ErrorDescription

String

いいえ

エラーコードの説明。 詳細については、「エラーコード」をご参照ください。

ConversationType

String

いいえ

会話のタイプ。 有効な値:

  • service:ユーザー起点の会話。

  • utilityトランザクションメッセージ。

  • marketingマーケティングメッセージ。

  • authentication認証メッセージ。

ConversationId

String

いいえ

会話の一意の ID。

ConversationExpirationTime (非推奨)

Long

いいえ

会話の有効期限が切れる時間。

説明

このフィールドは非推奨であり、新しいメッセージごとの課金モデルでは効果がありません。

MsgFrameType

String

はい

メッセージタイプ。 有効な値:

  • message:フリーフォームメッセージ。 このタイプのメッセージは、ユーザーからの最後のメッセージから 24 時間以内にのみ送信できます。

  • template:コンソールからの事前承認済みのメッセージテンプレート。 このタイプのメッセージはいつでも送信できます。

Type

String

いいえ

メッセージコンテンツのメディアタイプ。 有効な値:

  • image

  • video

  • document

  • audio

  • none:プレーンテキスト

TaskId

String

いいえ

カスタムタスク ID。

説明

TaskId が指定されていない場合、デフォルトで MessageId の値になります。

OriginPhoneNumber

String

いいえ

送信者の元の電話番号。

TemplateCode

String

いいえ

メッセージテンプレートのコード。

説明

このフィールドは、MsgFrameTypetemplate の場合にのみ使用できます。

レスポンスフォーマット

コールバックの受信を確認するには、エンドポイントが 3 秒以内に HTTP 200 ステータスコードを返す必要があります。 レスポンス本文は、次のフォーマットの JSON オブジェクトである必要があります。 そうでない場合、システムは通知を失敗とみなし、プッシュをリトライします。

レスポンス例

{
  "code" : 0,
  "msg" : "Success"
}

フィールドの説明

フィールド

タイプ

必須

説明

code

Number

はい

レスポンスコード。

msg

String

いいえ

説明メッセージ。

リトライポリシー

最初のプッシュ試行が失敗した場合、サービスは 1 分後、さらに 5 分後にリクエストをリトライします。 エンドポイントが 200 以外の HTTP ステータスコードを返すか、リクエストがタイムアウトした場合、試行は失敗します。 3 回の試行が失敗した後、サービスはリトライを停止します。