Поделиться через


Службы коммуникации 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и ReadFailed. Дополнительные сведения см. в разделе "Состояние".
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"
}]

Быстрое начало

Краткое руководство по подписке на события расширенного обмена сообщениями с помощью веб-перехватчиков см . в кратком руководстве по обработке событий расширенного обмена сообщениями.