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

Chat App Message Service:ChatAppInbound (モバイル発信メッセージ)

最終更新日:Nov 26, 2025

HTTP URL を指定することで、Chat App Message Service からモバイル発信メッセージを受信できます。

プロトコルの説明

パラメーター

説明

Protocol

HTTP + JSON

Encoding

UTF-8

前提条件

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

  • メッセージ受信の概要と構成を読み、メッセージ受信のパターン、タイプ、構成フローを理解していること。

説明

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

リクエストの説明

1 回のプッシュに複数のモバイル発信メッセージが含まれる場合があります。

タイプTEXT に設定されている場合のリクエスト例

[
   {
   "MessageId": "1000000000000001",  // メッセージID
   "From": "861388888****",    // 送信者の電話番号
   "To": "86137888****",    // 受信者の電話番号
   "DisplayName": "Mr Liu", // 送信者の表示名
   "Type": "TEXT", // メッセージタイプ。テキストメッセージ
   "Message": "hello,it's me",    // メッセージコンテンツ
   "Timestamp": 1662104191973, // タイムスタンプ。ミリ秒単位のUnixタイムスタンプ
   "Name": "jack" // エンドユーザーの名前
   },
   {
   "MessageId": "1000000000000002",  // メッセージID
   "From": "861388888****",    // 送信者の電話番号
   "To": "86139123****",    // 受信者の電話番号
   "DisplayName": "Mr Wang", // 送信者の表示名
   "Type": "TEXT", // メッセージタイプ。テキストメッセージ
   "Message": "hello,it's me",    // メッセージコンテンツ
   "Timestamp": 1662104191973, // タイムスタンプ。ミリ秒単位のUnixタイムスタンプ
   "Name": "Jones" // エンドユーザーの名前
   }
]

TypeAUDIO に設定されている場合のリクエスト例

[ 
   {    
   "MessageId": "1000000000000003",    // メッセージID
   "From": "+861388888****",     // 送信者の電話番号
   "DisplayName": "Mr Liu",        // 表示名
   "To": "+861378886****",    // 受信者の電話番号
   "Type": "AUDIO",    // メッセージタイプ
   "Message": 
            "{
             \"name\": \"this is first audio message\", // 音声ファイルの説明
             \"id\": \"6e098464-117c-480b-beaa-3ea0635f****\", // 音声ファイルのID
             \"mimeType\": \"application/pdf\", // MIMEタイプ
             \"fileName\": \"first.pdf\", // ファイル名
             \"url\": \"\" // 音声ファイルのURL
             } ",    
   "Timestamp ": 1662104191973,        // タイムスタンプ
   "Name": "jack" // エンドユーザー名
   },
   {    
   "MessageId": "1000000000000004",    // メッセージID
   "From": "+861388888****",     // 送信者の電話番号
   "DisplayName": "Mr Wang",        // 表示名
   "To": "+861378886****",    // 受信者の電話番号
   "Type": "AUDIO",    // メッセージタイプ
   "Message": 
            "{
             \"name\": \"this is first audio message\", // 音声ファイルの説明
             \"id\": \"6e098464-117c-480b-beaa-3ea0635f****\", // 音声ファイルのID
             \"mimeType\": \"application/pdf\", // MIMEタイプ
             \"fileName\": \"first.pdf\", // ファイル名
             \"url\": \"\" // 音声ファイルのURL
             } ",    
   "Timestamp ": 1662104191973,        // タイムスタンプ
   "Name": "John" // エンドユーザー名
   }
  
]

TypeDOCUMENT に設定されている場合のリクエスト例

[
   {    
   "MessageId": "1000000000000005",    // メッセージID
   "From": "+861388888****",         // 送信者の電話番号
   "DisplayName": "Mr Liu",    // 送信者の表示名
   "To": "+861378889****",    // 受信者の電話番号
   "Type": "DOCUMENT",    // メッセージタイプ、ドキュメントメッセージ
   "Message": 
            "{
             \"name\": \"this is first document message\", // ドキュメントの説明
             \"ID\": \"6e098464-117c-480b-beaa-3ea0635f****\", // ドキュメントID
             \"mimeType\": \"audio/ogg; codecs=opus\", // MIMEタイプ
             \"url\": \"\" // ドキュメントのURL
             }" ,    
   "Timestamp ": 1662104191973,        // タイムスタンプ。ミリ秒単位のUnixタイムスタンプ
   "Name": "jack" // エンドユーザーの名前
   },
   {    
   "MessageId": "1000000000000006",    // メッセージID
   "From": "+861388888****",         // 送信者の電話番号
   "DisplayName": "Mr Liu",    // 送信者の表示名
   "To": "+861378882****",    // 受信者の電話番号
   "Type": "DOCUMENT",    // メッセージタイプ、ドキュメントメッセージ
   "Message": 
            "{
             \"name\": \"this is first document message\", // ドキュメントの説明
             \"ID\": \"6e098464-117c-480b-beaa-3ea0635f****\", // ドキュメントID
             \"mimeType\": \"audio/ogg; codecs=opus\", // MIMEタイプ
             \"url\": \"\" // ドキュメントのURL
             }" ,    
   "Timestamp ": 1662104191973,        // タイムスタンプ。ミリ秒単位のUnixタイムスタンプ
   "Name": "Jone" // エンドユーザーの名前
   } 
]

以下は、TypeREPLY に設定されている場合のリクエスト例です。

[
   {    
   "MessageId": "1000000000000007",    // メッセージID
   "From": "861388888****",        // 送信者の電話番号
   "DisplayName": "Mr Liu",    // 送信者の表示名
   "To": "861378886****",    // 受信者の電話番号
   "Type": "REPLY",    // メッセージタイプ。返信メッセージ
   "Message": "{ \"text\": \"click me\",\"payload\": \"1000000\" }" ,    // 返信ボタンの名前とペイロード
   "Timestamp ": 1662104191973 // タイムスタンプ。ミリ秒単位のUnixタイムスタンプ
   },
   {    
   "MessageId": "1000000000000008",    // メッセージID
   "From": "861388888****",        // 送信者の電話番号
   "DisplayName": "Mr Wang",    // 送信者の表示名
   "To": "861378883****",    // 受信者の電話番号
   "Type": "REPLY",    // メッセージタイプ。返信メッセージ
   "Message": "{ \"text\": \"click me\",\"payload\": \"1000000\" }" ,    // 返信ボタンの名前とペイロード
   "Timestamp ": 1662104191973 // タイムスタンプ。ミリ秒単位のUnixタイムスタンプ
   } 
]

TypeLOCATION に設定されている場合のリクエスト例

[
   {    
   "MessageId": "1000000000000009",    // メッセージID
   "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,        // タイムスタンプ。ミリ秒単位のUnixタイムスタンプ
   "Name": "jack" // エンドユーザーの名前
   },
   {    
   "MessageId": "1000000000000010",    // メッセージID
   "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,        // タイムスタンプ。ミリ秒単位のUnixタイムスタンプ
   "Name": "Jone" // エンドユーザーの名前
   }
]

フィールドの説明

名前

タイプ

必須

説明

MessageId

String

はい

メッセージの ID。

CustSpaceId

String

はい

チャネル ID。

WabaId

String

はい

WhatsApp Business Account の ID。

From

String

はい

メッセージ送信者の電話番号。

To

String

はい

メッセージ受信者の電話番号。

Timestamp

Long

はい

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

DisplayName

String

はい

番号の表示名。

Type

String

はい

メディアリソースタイプ。 有効な値:

  • TEXT

  • LOCATION

  • DOCUMENT

  • VIDEO

  • AUDIO

  • REPLY

  • IMAGE

  • CONTACTS

Message

String

はい

メッセージのコンテンツ。

  • TypeTEXT の場合、Message はメッセージの内容です。

  • TypeLOCATION の場合、Message については、以下の表の LOCATION フィールドをご参照ください。

  • TypeVIDEO の場合、Message については、以下の表の VIDEO フィールドをご参照ください。

  • TypeAUDIO の場合、Message については、以下の表の AUDIO フィールドをご参照ください。

  • TypeDOCUMENT の場合、Message は以下の表の DOCUMENT フィールドで指定されます。

  • TypeREPLY の場合、Message については、以下の表の REPLY フィールドをご参照ください。

  • TypeIMAGE の場合、Message については、以下の表の IMAGE フィールドをご参照ください。

  • タイプSYSTEM に設定されている場合、メッセージ はシステム情報です。詳細については、SYSTEM フィールドを参照してください。

Name

String

はい

エンドユーザーの名前。

LOCATION フィールド

名前

タイプ

必須

説明

address

String

はい

住所情報。

latitude

String

はい

緯度。

longitude

String

はい

経度。

name

String

はい

位置情報の説明。

VIDEO フィールド

名前

タイプ

必須

説明

name

String

はい

動画ファイルの説明。

id

String

はい

動画ファイルの ID。

mimeType

String

はい

静的フィールド:ogg

説明

codecs が opus に設定されている場合、このパラメーターは無視できます。

url

String

はい

動画ファイルの URL。

説明

URL は 7 日間有効です。

AUDIO フィールド

名前

タイプ

任意

説明

name

String

はい

音声ファイルの説明。

id

String

はい

音声ファイルの ID。

mimeType

String

はい

静的フィールド:audio

説明

codecs が opus に設定されている場合、このパラメーターは無視できます。

url

String

はい

音声ファイルの URL。

説明

URL は 7 日間有効です。

IMAGE フィールド

名前

タイプ

必須

説明

caption

String

いいえ

画像の説明。

id

String

はい

画像の ID。

mimeType

String

はい

画像のタイプ。

url

String

はい

画像の URL。

説明

URL は 7 日間有効です。

DOCUMENT フィールド

名前

タイプ

任意

説明

name

String

はい

ドキュメントファイルの説明。

id

String

はい

ドキュメントファイルの ID。

filename

String

はい

ドキュメントファイルの名前。

mimeType

String

はい

静的フィールド:application/pdf

url

String

はい

ドキュメントの URL。

説明

URL は 7 日間有効です。

REPLY フィールド

名前

タイプ

任意

説明

text

String

はい

顧客がクリックするボタンの名前。

payload

String

はい

ボタンがクリックされると、メッセージ送信時に指定されたペイロード値が返されます。

SYSTEM フィールド

名前

タイプ

任意

説明

body

String

はい

顧客の ID または電話番号の変更について説明します。

wa_id

String

はい

電話番号が更新された後の顧客の新しい WhatsApp ID。

type

String

はい

システム更新のタイプ。 有効な値:

  • customer_changed_number: 顧客が電話番号を変更しました。

  • customer_identity_changed: 顧客がプロファイルを更新しました。

レスポンスの説明

受信後、レスポンスには HTTP ステータスコード 200 と、以下に示すフォーマットのレスポンス本文を含める必要があります。 そうでない場合、プッシュは失敗し、リトライがトリガーされます。

レスポンス例

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

フィールドの説明

名前

タイプ

必須

説明

code

Number

はい

レスポンスコード。

msg

String

いいえ

説明。

再試行

最初のプッシュが失敗した場合、システムは 1 分後にリトライします。 この試行も失敗した場合、さらに 5 分後にもう一度リトライします。 合計 3 回の試行でプッシュが失敗した場合、システムはリトライを停止します。