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 が、以前に送信されたメッセージ通知のステータスの更新を受信したときに発行されます。 |
Microsoft.Communication.AdvancedMessageAnalysisCompleted(Preview) | Communication Service が顧客メッセージで AI 分析を完了したときに発行されます。 |
イベント応答
イベントがトリガーされると、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 |
✔️ | メッセージの状態。 指定できる値は、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"
}]
Microsoft.Communication.AdvancedMessageAnalysisCompleted(Preview) イベント
Communication Service が顧客メッセージで AI 分析を完了したときに発行されます。
シナリオ例: WhatsApp ユーザーが、メッセージ分析機能にオプトインした Communication Services リソース内のアクティブな高度なメッセージング チャネルに接続されている WhatsApp ビジネス番号に WhatsApp メッセージを送信します。 その結果、Microsoft.Communication.AdvancedMessageAnalysisCompleted がユーザーの WhatsApp メッセージの分析と共に発行されます。
属性の一覧
Microsoft.Communication.AdvancedMessageAnalysisCompleted
イベントに固有の属性の詳細。
属性 | Type | Nullable | 説明 |
---|---|---|---|
channelType | string |
✔️ | メッセージが送信されたチャネルの、チャネルの種類。 |
from | string |
✔️ | GUID として書式設定された、メッセージを送信したチャネル ID。 |
to | string |
✔️ | メッセージの送信先である受信者 ID。 |
receivedTimestamp | DateTimeOffset |
✔️ | メッセージのタイムスタンプ。 |
originalMessage | string |
✔️ | 元のユーザー メッセージ。 |
intentAnalysis | string |
✔️ | 受信したユーザー メッセージの意図分析。 |
languageDetection | LanguageDetection |
✔️ | 受信したユーザー メッセージの言語検出を含みます。 |
extractedKeyPhrases | List<string> |
✔️ | 受信したユーザー メッセージのキー フレーズを含みます。 |
LanguageDetection
属性 | Type | Nullable | 説明 |
---|---|---|---|
言語 | string |
✔️ | 言語が検出されました。 |
confidenceScore | float |
✔️ | 検出された言語の信頼度スコア。 |
翻訳 | string |
✔️ | メッセージの翻訳。 |
例
メッセージ分析の完了
[{
"id": "df1c2d92-6155-4ad7-a865-cb8497106c52",
"topic": "/subscriptions/{subscription-id}/resourcegroups/{resourcegroup-name}/providers/microsoft.communication/communicationservices/acsxplatmsg-test",
"subject": "advancedMessage/sender/{sender@id}/recipient/00000000-0000-0000-0000-000000000000",
"data": {
"originalMessage": "Hello, could u help me order some flowers for Mother’s Day?",
"channelType": "whatsapp",
"languageDetection": {
"language": "English",
"confidenceScore": 0.99
},
"intentAnalysis": "Order request: The customer is contacting customer service to request assistance with ordering flowers for Mother's Day.",
"extractedKeyPhrases": [
"order",
"flowers",
"Mother's Day"
],
"from": "{sender@id}",
"to": "00000000-0000-0000-0000-000000000000",
"receivedTimestamp": "2024-07-05T19:10:35.28+00:00"
},
"eventType": "Microsoft.Communication.AdvancedMessageAnalysisCompleted",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2024-07-05T19:10:35.2806524Z"
}]
クイックスタート
Web hook を使用して Advanced Messaging イベントをサブスクライブする方法を示すクイック スタートについては、「クイック スタート: Advanced Messaging イベントを処理する」を参照してください。