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

Chat App Message Service:ChatAppStatus

最終更新日:Sep 17, 2026

Chat App Message Service は、お客様が指定した HTTP URL にメッセージ受信ステータスレポートをプッシュします。この URL にエンドポイントを実装してレポートを受信し、3 秒以内にレスポンスを返す必要があります。

プロトコル

項目

説明

プロトコル

HTTP + JSON

エンコーディング

UTF-8

前提条件

説明

モバイル着信メッセージのステータスレポートを構成する方法については、「ステータスレポートとモバイル発信メッセージの構成」をご参照ください。

リクエストフォーマット

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

はい

受信者番号。

UserId

String

いいえ

BSUID

ParentUserId

String

いいえ

親 BSUID (存在する場合)。

UserName

String

いいえ

ユーザーアカウント (存在する場合)。

Timestamp

Long

はい

UNIX タイムスタンプ (ミリ秒単位)。

Status

String

はい

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

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

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

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

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

  • Deleted:メッセージはユーザーによって削除されました。

    説明

    Deleted ステータスは利用できません。 WhatsApp はこのステータスを ChatApp メッセージサービスにプッシュしません。

  • unsubscribe:ユーザーがビジネスアカウントをブロックします。

  • subscribe:ユーザーがビジネスアカウントのブロックを解除します。

    説明

    unsubscribe および subscribe ステータスは、Viber チャンネルにのみ適用されます。

StatusDescription

String

はい

状態コードの説明。

ErrorCode

String

いいえ

エラーコード。

ErrorDescription

String

いいえ

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

ConversationType

String

いいえ

会話タイプ。 有効値:

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

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

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

  • authentication:認証メッセージ。

ConversationId

String

いいえ

会話の ID。

ConversionExpirationTime (Deprecated)

Long

いいえ

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

説明

このパラメーターは、新しいメッセージごとの課金ルールでは無効です。

MsgFrameType

String

はい

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

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

  • template:コンソールで承認されたメッセージテンプレート。 このタイプのメッセージはいつでも送信できます。

Type

String

いいえ

メッセージ本文のメディアリソースタイプ。 有効値:

  • image:イメージ

  • video:ビデオ

  • document:ドキュメント

  • audio:オーディオ

  • none:プレーンテキスト

TaskId

String

いいえ

顧客タスクの ID。 デフォルト値は MessageId です。

説明

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

OriginPhoneNumber

String

いいえ

送信者の実際の電話番号。

TemplateCode

String

いいえ

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

説明

このパラメーターは、MsgFrameType が template に設定されている場合にのみ使用できます。

レスポンスフォーマット

ステータスレポートを受信した後、エンドポイントは次の要件を満たす必要があります:

  • 3 秒 以内に応答すること。

  • HTTP ステータスコード 200 を返すこと。

  • 次のフォーマットでレスポンスボディを返すこと。

レスポンスがこれらの要件を満たさない場合、プッシュは失敗し、サービスは再試行します。詳細については、「再試行ポリシー」をご参照ください。

レスポンス例

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

フィールドの説明

名前

タイプ

必須

説明

code

Number

はい

レスポンスコード。

msg

String

いいえ

説明。

再試行ポリシー

エンドポイントが 3 秒以内に応答しない場合、HTTP ステータスコード 200 を返さない場合、または必要なフォーマットでレスポンスボディを返さない場合、プッシュは失敗します。サービスは 1 分後、さらに 5 分後にステータスレポートを再度プッシュします。合計で、サービスは最大 3 回のプッシュ試行 (最初のプッシュと 2 回の再試行) を行います。3 回すべての試行が失敗した場合、サービスは再試行を停止します。