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.