Службы коммуникации Azure — события расширенного обмена сообщениями
В этой статье приведены свойства и схема событий расширенного обмена сообщениями служб коммуникации. Общие сведения о схемах событий см. в статье Схема событий службы "Сетка событий Azure".
Типы событий
Службы коммуникации Azure выдает следующие типы событий Расширенного обмена сообщениями:
Тип события | Description |
---|---|
Microsoft.Communication.AdvancedMessageReceived | Опубликовано, когда расширенные сообщения служб коммуникации получают сообщение. |
Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated | Опубликовано, когда расширенные сообщения служб коммуникации получают обновление состояния для ранее отправленного уведомления. |
Microsoft.Communication.AdvancedMessageAnalysisCompleted(preview) | Опубликовано, когда служба коммуникации завершает анализ ИИ с сообщением клиента. |
Ответы на события
При активации события служба Сетки событий отправляет данные о нем на подписанные конечные точки.
В этом разделе приведен пример того, как будут выглядеть данные для каждого события.
Событие Microsoft.Communication.AdvancedMessageReceived
Опубликовано, когда расширенные сообщения служб коммуникации получают сообщение.
Пример сценария: пользователь WhatsApp отправляет сообщение WhatsApp в номер WhatsApp бизнес, подключенный к активному каналу расширенного обмена сообщениями в ресурсе Служб коммуникации. В результате Microsoft.Communication.AdvancedMessageReceived
публикуется сообщение WhatsApp пользователя.
Список атрибутов
Сведения об атрибутах, относящихся к событиям Microsoft.Communication.AdvancedMessageReceived
.
Атрибут | Тип | Допускает значение NULL | Description |
---|---|---|---|
channelType | string |
✔️ | Тип канала, на который отправлено сообщение. Например: "Whatsapp". |
от | string |
✔️ | Идентификатор отправителя, отправляющий сообщение. |
до | string |
✔️ | Идентификатор канала, который получил сообщение, отформатированный как GUID. |
receivedTimestamp | DateTimeOffset |
✔️ | Метка времени сообщения. |
content | string |
✔️ | Текстовое содержимое в сообщении. |
media | MediaContent |
✔️ | Содержит сведения о полученном носителе. |
контекстные | MessageContext |
✔️ | Содержит сведения о полученном носителе. |
кнопки "+" | ButtonContent |
✔️ | Содержит сведения о полученном носителе. |
интерактивный | InteractiveContent |
✔️ | Содержит сведения о полученном носителе. |
MediaContent
Атрибут | Тип | Допускает значение NULL | Description |
---|---|---|---|
mimeType | string |
❌ | Тип MIME носителя. Используется для определения правильного типа файлов для скачивания мультимедиа. |
id | string |
❌ | Идентификатор носителя. Используется для получения мультимедиа для скачивания, отформатированного как GUID. |
fileName | string |
✔️ | Имя файла базового файла мультимедиа, указанное при отправке. |
caption | string |
✔️ | Текст заголовка для объекта мультимедиа, если он поддерживается и предоставляется. |
MessageContext
Атрибут | Тип | Допускает значение NULL | Description |
---|---|---|---|
from | string |
✔️ | Идентификатор WhatsApp для клиента, который ответил на входящее сообщение. |
id | string |
✔️ | Идентификатор сообщения для отправленного сообщения для входящего ответа. |
ButtonContent
Атрибут | Тип | Допускает значение NULL | Описание |
---|---|---|---|
text | string |
✔️ | Текст кнопки. |
payload | string |
✔️ | Полезные данные, настроенные бизнесом, кнопки, выбранной пользователем. |
InteractiveContent
Атрибут | Тип | Допускает значение NULL | Описание |
---|---|---|---|
type | InteractiveReplyType |
✔️ | Тип интерактивного содержимого. |
buttonReply | InteractiveButtonReplyContent |
✔️ | Отправляется, когда клиент выбирает кнопку. |
listReply | InteractiveListReplyContent |
✔️ | Отправляется, когда клиент выбирает элемент из списка. |
InteractiveReplyType
значение | Описание |
---|---|
buttonReply | Интерактивное содержимое — это кнопка. |
listReply | Интерактивное содержимое — это список. |
неизвестно | Интерактивное содержимое неизвестно. |
InteractiveButtonReplyContent
Атрибут | Тип | Допускает значение NULL | Description |
---|---|---|---|
id | string |
✔️ | Идентификатор кнопки. |
title | string |
✔️ | Заголовок кнопки. |
InteractiveListReplyContent
Атрибут | Тип | Допускает значение NULL | Description |
---|---|---|---|
id | string |
✔️ | Идентификатор выбранного элемента списка. |
title | string |
✔️ | Заголовок выбранного элемента списка. |
описание | 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
Опубликовано, когда расширенные сообщения служб коммуникации получают обновление состояния для ранее отправленного уведомления.
Пример сценария: Contoso использует активный канал Расширенного обмена сообщениями, подключенный к учетной записи WhatsApp Business, чтобы отправить сообщение WhatsApp пользователю WhatsApp. Затем WhatsApp отвечает на канал Расширенного обмена сообщениями Contoso с состоянием ранее отправленного сообщения. В результате публикуется событие, Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated
содержащее состояние сообщения.
Список атрибутов
Сведения об атрибутах, относящихся к событиям Microsoft.Communication.AdvancedMessageReceived
.
Атрибут | Тип | Допускает значение NULL | Description |
---|---|---|---|
channelType | string |
✔️ | Тип канала, на который отправлено сообщение. |
от | string |
✔️ | Идентификатор канала, отформатированный как GUID. |
до | string |
✔️ | Идентификатор получателя, в который отправлено сообщение. |
receivedTimestamp | DateTimeOffset |
✔️ | Метка времени сообщения. |
messageId | string |
✔️ | Идентификатор сообщения, отформатированный как GUID. |
статус | string |
✔️ | Состояние сообщения. Возможные значения: Sent , Delivered и Read Failed . Дополнительные сведения см. в разделе "Состояние". |
error | ChannelEventError |
✔️ | Содержит сведения об ошибке. |
ChannelEventError
Атрибут | Тип | Допускает значение NULL | Description |
---|---|---|---|
channelCode | string |
✔️ | Код ошибки, полученный на этом канале. |
channelMessage | string |
✔️ | Сообщение об ошибке, полученное на этом канале. |
Состояние
значение | Описание |
---|---|
Отправлено | Служба обмена сообщениями отправила сообщение получателю |
Доставлено | Получатель сообщения получил сообщение |
Читать | Получатель сообщения считывает сообщение |
Неудачно | Сообщение не удалось отправить правильно |
Примеры
Обновление доставки сообщений
[{
"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)
Опубликовано, когда служба коммуникации завершает анализ ИИ с сообщением клиента.
Пример сценария. Пользователь WhatsApp отправляет сообщение WhatsApp в номер WhatsApp business Number, подключенный к активному каналу расширенного обмена сообщениями в ресурсе Служб коммуникации, который выбрал функцию анализа сообщений. В результате microsoft.Communication.AdvancedMessageAnalysisCompleted с анализом сообщения WhatsApp пользователя публикуется.
Список атрибутов
Сведения об атрибутах, относящихся к событиям Microsoft.Communication.AdvancedMessageAnalysisCompleted
.
Атрибут | Тип | Допускает значение NULL | Description |
---|---|---|---|
channelType | string |
✔️ | Тип канала, на который отправлено сообщение. |
от | string |
✔️ | Идентификатор канала, отформатированный как GUID. |
до | string |
✔️ | Идентификатор получателя, в который отправлено сообщение. |
receivedTimestamp | DateTimeOffset |
✔️ | Метка времени сообщения. |
originalMessage | string |
✔️ | Исходное сообщение пользователя. |
intentAnalysis | string |
✔️ | Анализ намерений полученного сообщения пользователя. |
languageDetection | LanguageDetection |
✔️ | Содержит обнаружение языка полученного сообщения пользователя. |
extractedKeyPhrases | List<string> |
✔️ | Содержит ключевые фразы полученного сообщения пользователя. |
LanguageDetection
Атрибут | Тип | Допускает значение NULL | Описание |
---|---|---|---|
язык | string |
✔️ | Обнаружена languege. |
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"
}]
Быстрое начало
Краткое руководство по подписке на события расширенного обмена сообщениями с помощью веб-перехватчиков см . в кратком руководстве по обработке событий расширенного обмена сообщениями.