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 da aparência dos dados 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. Por exemplo: "whatsapp".
messageId string ID da mensagem do evento de recebimento da mensagem como GUID.
messageType string Tipo de mensagem do evento de recebimento da mensagem. Como: "interactive", "sticker", "reaction".
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 de quando a mensagem é recebida.
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 o contexto da mensagem de resposta caso o usuário responda à mensagem comercial.
botão ButtonContent ✔️ Contém detalhes do conteúdo do botão de resposta selecionado pelo usuário para a mensagem de modelo.
Interativo InteractiveContent ✔️ Contém detalhes sobre a resposta da mensagem interativa, como buttonReply ou listReply
reação ReactionContent ✔️ Contém detalhes sobre a reação recebida sobre a mensagem de envio de negócios.
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.
animado string ✔️ Definido como true se o adesivo for animado; caso contrário, false.
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.
ReactionContent
Atributo Tipo Anulável Descrição
messageId string ID da mensagem respondida pelo usuário.
emoji string ✔️ Cadeia de caracteres representando a sequência de escape unicode do emoji.

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",
    "messageType": "text",
    "from": "{sender@id}",
    "to": "{channel-id}",
    "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 de imagem 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",
    "messageType": "image",
    "media": {
 "mimeType": "image/jpeg",
 "id": "00000000-0000-0000-0000-000000000000",
 "caption": "This is a media caption"
    },
    "from": "{sender@id}",
    "to": "{channel-id}",
    "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 de documento recebida
{
  "id": "00000000-0000-0000-0000-000000000000",
  "topic": "/subscriptions/{subscription-id}/resourcegroups/acs-cpm-ppe-resources/providers/microsoft.communication/communicationservices/acscpm-whatsup-pperesource",
  "subject": "advancedMessage/sender/14254360097/recipient/75476a19-a68d-4e10-806c-3680f099e069",
  "data": {
    "channelType": "whatsapp",
    "messageType": "document",
    "media": {
 "mimeType": "application/pdf",
 "id": "00000000-0000-0000-0000-000000000000",
 "fileName": "UTSAV Mela 2024  India's Independence Day  Kids Out and About Seattle.pdf"
    },
    "from": "14254360097",
    "to": "{channel-id}",
    "receivedTimestamp": "2024-12-24T06:41:56+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2024-12-24T06:41:59.1218953Z"
}
Mensagem de resposta de lista recebida com InteractiveListReplyContent
[{
  "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/00000000-0000-0000-0000-000000000000",
  "data": {
    "channelType": "whatsapp",
    "messageType": "interactive",
    "context": {
 "from": "{receiverphonenumber@id}",
 "id": "{reply-message-id}"
    },
    "interactive": {
 "type": "listReply",
 "listReply": {
   "id": "priority_mail",
   "title": "Priority Mail",
   "description": "1–3 Days"
 }
    },
    "from": "{sender@id}",
    "to": "{channel-id}",
    "receivedTimestamp": "2024-12-04T23:53:28+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2024-12-04T23:53:29.3079089Z"
}]
Mensagem do botão de resposta recebida com InteractiveButtonReplyContent
[{
  "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/00000000-0000-0000-0000-000000000000",
  "data": {
    "channelType": "whatsapp",
    "messageType": "interactive",
    "context": {
 "from": "{receiverphonenumber@id}",
 "id": "{reply-message-id}"
    },
    "interactive": {
 "type": "buttonReply",
 "buttonReply": {
   "id": "agree",
   "title": "Agree"
 }
    },
    "from": "{sender@id}",
    "to": "{channel-id}",
    "receivedTimestamp": "2024-12-04T23:57:04+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2024-12-04T23:57:04.9459858Z"
}]
Mensagem de adesivo de resposta 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/00000000-0000-0000-0000-000000000000",
  "data": {
    "channelType": "whatsapp",
    "messageType": "sticker",
    "media": {
 "mimeType": "image/webp",
 "id": "00000000-0000-0000-0000-000000000000",
 "animated": false
    },
    "from": "{sender@id}",
    "to": "{channel-id}",
    "receivedTimestamp": "2024-12-04T23:57:04+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2024-12-04T23:57:04.9459858Z"
}]
Mensagem de reação de resposta 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/00000000-0000-0000-0000-000000000000",
  "data": {
    "channelType": "whatsapp",
    "messageType": "reaction",
    "reaction": {
 "messageId": "{reply-message-id}",
 "emoji": "👍"
    },
    "from": "{sender@id}",
    "to": "{channel-id}",
    "receivedTimestamp": "2024-12-04T23:57:04+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2024-12-04T23:57:04.9459858Z"
}]
Mensagem ButtonContent 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/00000000-0000-0000-0000-000000000000",
  "data": {
    "channelType": "whatsapp",
    "messageType": "button",
    "context": {
 "from": "{receiverphonenumber@id}",
 "id": "{reply-message-id}"
    },
    "button": {
 "text": "Yes",
 "payload": "Kat said yes"
    },
    "from": "{sender@id}",
    "to": "{channel-id}",
    "receivedTimestamp": "2024-12-20T04:03:22+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2024-12-20T04:03:22.7978135Z"
}]

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 de Análise de mensagens. Como resultado, o sistema publica Microsoft.Communication.AdvancedMessageAnalysisCompleted com a análise da mensagem do WhatsApp do usuário.

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.