Compartilhar via


Serviços de Comunicação do Azure – Eventos de Mensagens Avançadas

Este artigo apresenta as propriedades e o esquema dos eventos de Mensagem avançada dos Serviços de Comunicação. Para obter uma introdução a esquemas de evento, consulte esquema de grade de eventos do Azure.

Tipos de evento

Os Serviços de Comunicação do Azure emitem os seguintes tipos de eventos de Mensagens Avançadas:

Tipo de evento Descrição
Microsoft.Communication.AdvancedMessageReceived Publicado quando a Mensagem avançada dos Serviços de Comunicação recebe uma mensagem.
Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated Publicado quando a Mensagem avançada dos Serviços de Comunicação recebe uma atualização de status para uma notificação de mensagem enviada anteriormente.
Microsoft.Communication.AdvancedMessageAnalysisCompleted(Preview) Publicado quando o Serviço de Comunicação conclui uma Análise de IA com uma mensagem do cliente.

Respostas do evento

Quando um evento é disparado, o serviço de Grade de Eventos envia dados sobre esse evento para o ponto de extremidade de assinatura.

Esta seção mostra um exemplo de como os dados seriam para cada evento.

Evento Microsoft.Communication.AdvancedMessageReceived

Publicado quando a Mensagem avançada dos Serviços de Comunicação recebe uma mensagem.

Exemplo de cenário: um usuário do WhatsApp envia uma mensagem do WhatsApp para um número empresarial do WhatsApp que está conectado a um canal da Mensagem avançada em um recurso dos Serviços de Comunicação. Como resultado, um Microsoft.Communication.AdvancedMessageReceived com o conteúdo da mensagem do WhatsApp do usuário é publicado.

Lista de atributos

Detalhes dos atributos específicos aos eventos Microsoft.Communication.AdvancedMessageReceived.

Atributo Tipo Anulável Descrição
channelType string ✔️ Tipo de canal do canal no qual a mensagem foi enviada. Ex.: “whatsapp”.
de string ✔️ ID do remetente que enviou a mensagem.
até string ✔️ A ID do canal que recebeu a mensagem, formatada como um GUID.
receivedTimestamp DateTimeOffset ✔️ Carimbo de data/hora da mensagem.
content string ✔️ O conteúdo do texto na mensagem.
mídia MediaContent ✔️ Contém detalhes sobre a mídia recebida.
contexto MessageContext ✔️ Contém detalhes sobre a mídia recebida.
botão ButtonContent ✔️ Contém detalhes sobre a mídia recebida.
Interativo InteractiveContent ✔️ Contém detalhes sobre a mídia recebida.
MediaContent
Atributo Tipo Anulável Descrição
Tipo MIME string Tipo MIME da mídia. Usado para determinar o tipo de arquivo correto para downloads de mídia.
ID string ID da mídia. Usada para recuperar a mídia para download, formatada como um GUID.
fileName string ✔️ O nome do arquivo de mídia subjacente, conforme especificado quando carregado.
caption string ✔️ Texto de legenda para o objeto de mídia, se compatível e fornecido.
MessageContext
Atributo Tipo Anulável Descrição
de string ✔️ A ID do WhatsApp para o cliente que respondeu a uma mensagem de entrada.
ID string ✔️ A ID da mensagem enviada para uma resposta de entrada.
ButtonContent
Atributo Tipo Anulável Descrição
text string ✔️ O texto do botão.
payload string ✔️ O conteúdo, configurado pela empresa, do botão selecionado pelo usuário.
InteractiveContent
Atributo Tipo Anulável Descrição
tipo InteractiveReplyType ✔️ Tipo de conteúdo interativo.
buttonReply InteractiveButtonReplyContent ✔️ Enviado quando um cliente seleciona um botão.
listReply InteractiveListReplyContent ✔️ Enviado quando um cliente seleciona um item de uma lista.
InteractiveReplyType
Valor Descrição
buttonReply O conteúdo interativo é um botão.
listReply O conteúdo interativo é uma lista.
unknown O conteúdo interativo é desconhecido.
InteractiveButtonReplyContent
Atributo Tipo Anulável Descrição
ID string ✔️ ID do botão.
title string ✔️ Título do botão.
InteractiveListReplyContent
Atributo Tipo Anulável Descrição
ID string ✔️ ID do item de lista selecionado.
title string ✔️ Título do item de lista selecionado.
descrição string ✔️ Descrição da linha selecionada.

Exemplos

Mensagem de texto recebida
[{
  "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"
}]
Mensagem de mídia recebida
[{
  "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"
}]

Evento Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated

Publicado quando a Mensagem avançada dos Serviços de Comunicação recebe uma atualização de status para uma notificação de mensagem enviada anteriormente.

Exemplo de cenário: a Contoso usa um canal da Mensagem avançada ativo conectado a uma conta empresarial do WhatsApp para enviar uma mensagem do WhatsApp a um usuário do WhatsApp. Em seguida, o WhatsApp responde ao canal da Mensagem avançada da Contoso com o status da mensagem enviada anteriormente. Como resultado, um evento Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated que contém o status da mensagem é publicado.

Lista de atributos

Detalhes dos atributos específicos aos eventos Microsoft.Communication.AdvancedMessageReceived.

Atributo Tipo Anulável Descrição
channelType string ✔️ Tipo de canal do canal no qual a mensagem foi enviada.
de string ✔️ A ID do canal que enviou a mensagem, formatada como um GUID.
até string ✔️ ID do destinatário para a qual a mensagem foi enviada.
receivedTimestamp DateTimeOffset ✔️ Carimbo de data/hora da mensagem.
messageId string ✔️ A ID da mensagem, formatada como um GUID.
status string ✔️ Status da mensagem. Os valores possíveis incluem Sent, Delivered, Read e Failed. Para obter mais informações, consulte Status.
error ChannelEventError ✔️ Contém os detalhes de um erro.
ChannelEventError
Atributo Tipo Anulável Descrição
channelCode string ✔️ O código de erro recebido neste canal.
channelMessage string ✔️ A mensagem de erro recebida neste canal.
Status
Valor Descrição
Enviada O serviço de mensagens enviou a mensagem para o destinatário
Entregue O destinatário da mensagem recebeu a mensagem
Ler O destinatário da mensagem leu a mensagem
Com falha Falha no envio correto da mensagem

Exemplos

Atualização para a entrega de mensagens
[{
  "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"
}]
Atualização para a entrega de mensagens com falha
[{
  "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) event

Publicado quando o Serviço de Comunicação conclui uma Análise de IA com uma mensagem do cliente.

Exemplo de cenário: um usuário do WhatsApp envia uma mensagem do WhatsApp para um número empresarial do WhatsApp que está conectado a um canal da Mensagem avançada em um recurso dos Serviços de Comunicação que optou pela funcionalidade análise de mensagens. Como resultado, um Microsoft.Communication.AdvancedMessageAnalysisCompleted com a análise da mensagem do WhatsApp do usuário é publicado.

Lista de atributos

Detalhes dos atributos específicos aos eventos Microsoft.Communication.AdvancedMessageAnalysisCompleted.

Atributo Tipo Anulável Descrição
channelType string ✔️ Tipo de canal do canal no qual a mensagem foi enviada.
de string ✔️ A ID do canal que enviou a mensagem, formatada como um GUID.
até string ✔️ ID do destinatário para a qual a mensagem foi enviada.
receivedTimestamp DateTimeOffset ✔️ Carimbo de data/hora da mensagem.
originalMessage string ✔️ A mensagem de usuário original.
intentAnalysis string ✔️ A análise de intenção da mensagem de usuário recebida.
languageDetection LanguageDetection ✔️ Contém a detecção de idioma da mensagem de usuário recebida.
extractedKeyPhrases List<string> ✔️ Contém as frases-chave da mensagem de usuário recebida.
LanguageDetection
Atributo Tipo Anulável Descrição
Linguagem string ✔️ O idioma detectado.
confidenceScore float ✔️ A pontuação de confiança do idioma detectado.
tradução string ✔️ A tradução da mensagem.

Exemplos

Análise de Mensagens Concluída
[{
  "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"
}]

Início rápido

Para ver um início rápido que mostra como assinar eventos de Mensagens Avançadas usando webhooks, confira Início Rápido: Processar eventos de Mensagens Avançadas.