Azure Communication Services - Advanced Messaging イベント

この記事では、Communication Services の Advanced Messaging イベントのプロパティとスキーマを取り上げます。 イベント スキーマの概要については、「Azure Event Grid イベント スキーマ」を参照してください。

イベントの種類

Azure Communication Services から出力される Advanced Messaging イベントの種類は次のとおりです。

イベントの種類 説明
Microsoft.Communication.AdvancedMessageReceived Communication Services Advanced Messaging がメッセージを受信したときに発行されます。
Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated Communication Services Advanced Messaging が、以前に送信されたメッセージ通知のステータスの更新を受信したときに発行されます。

イベント応答

イベントがトリガーされると、Event Grid サービスにより、そのイベントに関するデータがサブスクライブしているエンドポイントに送信されます。

このセクションには、各イベントでそのデータがどのように見えるかの例が含まれています。

Microsoft.Communication.AdvancedMessageReceived event

Communication Services Advanced Messaging がメッセージを受信したときに発行されます。

シナリオ例: WhatsApp ユーザーが、Communication Services リソースのアクティブな Advanced Messaging チャネルに接続されている WhatsApp ビジネス番号に WhatsApp メッセージを送信します。 その結果、ユーザーの WhatsApp メッセージの内容を含む Microsoft.Communication.AdvancedMessageReceived が発行されます。

属性の一覧

Microsoft.Communication.AdvancedMessageReceived イベントに固有の属性の詳細。

属性 Type Nullable 説明
channelType string ✔️ メッセージが送信されたチャネルの、チャネルの種類。 例: "whatsapp"。
from string ✔️ メッセージを送信した送信者 ID。
to string ✔️ GUID として書式設定された、メッセージを受信したチャネル ID。
receivedTimestamp DateTimeOffset ✔️ メッセージのタイムスタンプ。
content string ✔️ メッセージのテキスト コンテンツ。
media MediaContent ✔️ 受信したメディアに関する詳細が含まれます。
context MessageContext ✔️ 受信したメディアに関する詳細が含まれます。
ボタン ButtonContent ✔️ 受信したメディアに関する詳細が含まれます。
対話型 InteractiveContent ✔️ 受信したメディアに関する詳細が含まれます。
MediaContent
属性 Type Nullable 説明
mimeType string メディアの MIME の種類。 メディアのダウンロードに適したファイルの種類を決定するために使用されます。
ID string メディア ID。 ダウンロード対象のメディアを取得するために使用され、GUID として書式設定されます。
fileName string ✔️ アップロード時に指定された基になるメディア ファイルのファイル名。
caption string ✔️ メディア オブジェクトのキャプション テキスト (サポートおよび提供されている場合)。
MessageContext
属性 Type Nullable 説明
from string ✔️ 受信メッセージに返信した顧客の WhatsApp ID。
ID string ✔️ 受信応答に対して送信されたメッセージのメッセージ ID。
ButtonContent
属性 Type Nullable 説明
text string ✔️ ボタンのテキスト。
ペイロード string ✔️ ユーザーが選択したボタンのペイロード。企業によって設定されます。
InteractiveContent
属性 Type Nullable 説明
type InteractiveReplyType ✔️ 対話型コンテンツの種類。
buttonReply InteractiveButtonReplyContent ✔️ 顧客がボタンを選択したときに送信されます。
listReply InteractiveListReplyContent ✔️ 顧客がリストからアイテムを選択したときに送信されます。
InteractiveReplyType
Value 説明
buttonReply 対話型コンテンツはボタンです。
listReply 対話型コンテンツはリストです。
unknown 対話型コンテンツが不明です。
InteractiveButtonReplyContent
属性 Type Nullable 説明
id string ✔️ ボタンの ID。
タイトル string ✔️ ボタンのタイトル。
InteractiveListReplyContent
属性 Type Nullable 説明
id string ✔️ 選択したリスト アイテムの ID。
タイトル string ✔️ 選択したリスト アイテムのタイトル。
description string ✔️ 選択した行の説明。

受信したテキスト メッセージ
[{
  "id": "00000000-0000-0000-0000-000000000000",
  "topic": "/subscriptions/{subscription-id}/resourcegroups/{resourcegroup-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
  "subject": "advancedMessage/sender/{sender@id}/recipient/11111111-1111-1111-1111-111111111111",
  "data": {
    "content": "Hello",
    "channelType": "whatsapp",
    "from": "{sender@id}",
    "to": "11111111-1111-1111-1111-111111111111",
    "receivedTimestamp": "2023-07-06T18:30:19+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2023-07-06T18:30:22.1921716Z"
}]
受信したメディア メッセージ
[{
  "id": "00000000-0000-0000-0000-000000000000",
  "topic": "/subscriptions/{subscription-id}/resourcegroups/{resourcegroup-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
  "subject": "advancedMessage/sender/{sender@id}/recipient/11111111-1111-1111-1111-111111111111",
  "data": {
    "channelType": "whatsapp",
    "media": {
      "mimeType": "image/jpeg",
      "id": "22222222-2222-2222-2222-222222222222",
      "caption": "This is a media caption"
    },
    "from": "{sender@id}",
    "to": "11111111-1111-1111-1111-111111111111",
    "receivedTimestamp": "2023-07-06T18:30:19+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2023-07-06T18:30:22.1921716Z"
}]

Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated event

Communication Services Advanced Messaging が、以前に送信されたメッセージ通知のステータスの更新を受信したときに発行されます。

シナリオ例: Contoso は、WhatsApp ビジネス アカウントに接続されているアクティブな Advanced Messaging チャネルを使用して、WhatsApp ユーザーに WhatsApp メッセージを送信します。 その後、WhatsApp は、以前に送信されたメッセージのステータスを Contoso の Advanced Messaging チャネルに応答します。 その結果、メッセージのステータスを含む Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated イベントが発行されます。

属性の一覧

Microsoft.Communication.AdvancedMessageReceived イベントに固有の属性の詳細。

属性 Type Nullable 説明
channelType string ✔️ メッセージが送信されたチャネルの、チャネルの種類。
from string ✔️ GUID として書式設定された、メッセージを送信したチャネル ID。
to string ✔️ メッセージの送信先である受信者 ID。
receivedTimestamp DateTimeOffset ✔️ メッセージのタイムスタンプ。
messageId string ✔️ GUID として書式設定された、メッセージの ID。
status string ✔️ メッセージの状態。 指定できる値は、SentDeliveredReadFailed です。 詳細については、Status を参照してください。
エラー ChannelEventError ✔️ エラーの詳細を含みます。
ChannelEventError
属性 Type Nullable 説明
channelCode string ✔️ このチャネルで受信したエラー コード。
channelMessage string ✔️ このチャネルで受信したエラー メッセージ。
状態
Value 説明
送信済 メッセージング サービスから受信者にメッセージが送信されました
配信済み メッセージ受信者がメッセージを受信しました
読み込み メッセージ受信者がメッセージを読みました
Failed メッセージを正常に送信できませんでした

メッセージ配信の更新
[{
  "id": "00000000-0000-0000-0000-000000000000",
  "topic": "/subscriptions/{subscription-id}/resourcegroups/{resourcegroup-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
  "subject": "advancedMessage/22222222-2222-2222-2222-222222222222/status/Sent",
  "data": {
    "messageId": "22222222-2222-2222-2222-222222222222",
    "status": "Sent",
    "channelType": "whatsapp",
    "from": "{sender@id}",
    "to": "{receiver@id}",
    "receivedTimestamp": "2023-07-06T18:42:28+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2023-07-06T18:42:28.8454662Z"
}]
失敗したメッセージ配信の更新
[{
  "id": "00000000-0000-0000-0000-000000000000",
  "topic": "/subscriptions/{subscription-id}/resourcegroups/{resourcegroup-name}/providers/microsoft.communication/communicationservices/acsxplatmsg-test",
  "subject": "advancedMessage/22222222-2222-2222-2222-222222222222/status/Failed",
  "data": {
    "messageId": "22222222-2222-2222-2222-222222222222",
    "status": "Failed",
    "channelType": "whatsapp",
    "from": "{sender@id}",
    "to": "{receiver@id}",
    "receivedTimestamp": "2023-07-06T18:42:28+00:00",
    "error": {
      "channelCode": "131026",
      "channelMessage": "Message Undeliverable."
    }
  },
  "eventType": "Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2023-07-06T18:42:28.8454662Z"
}]

クイックスタート

Web hook を使用して Advanced Messaging イベントをサブスクライブする方法を示すクイック スタートについては、「クイック スタート: Advanced Messaging イベントを処理する」を参照してください。