Azure Communication Services - Advanced Messaging イベント
- [アーティクル]
-
-
この記事では、Communication Services の Advanced Messaging イベントのプロパティとスキーマを取り上げます。 イベント スキーマの概要については、「Azure Event Grid イベント スキーマ」を参照してください。
イベントの種類
Azure 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
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 |
✔️ |
メッセージの状態。 指定できる値は、Sent 、Delivered 、Read 、Failed です。 詳細については、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 イベントを処理する」を参照してください。