Azure Communication Services: eventos de mensajería avanzada
En este artículo se proporcionan las propiedades y el esquema de los eventos de mensajería avanzada de Communication Services. Para una introducción a los esquemas de eventos, consulte Esquema de eventos de Azure Event Grid.
Tipos de eventos
Azure Communication Services emite los siguientes tipos de evento de mensajería avanzada:
Tipo de evento | Descripción |
---|---|
Microsoft.Communication.AdvancedMessageReceived | Publicado cuando la mensajería avanzada de Communication Services recibe un mensaje. |
Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated | Publicado cuando la mensajería avanzada de Communication Services recibe una actualización de estado para una notificación de mensaje enviada anteriormente. |
Microsoft.Communication.AdvancedMessageAnalysisCompleted(Preview) | Publicado cuando el servicio de comunicación completa un análisis de IA con un mensaje de cliente. |
Respuestas de eventos
Cuando se desencadena un evento, el servicio Event Grid envía datos sobre ese evento a los puntos de conexión correspondientes.
Esta sección contiene un ejemplo del aspecto que deben tener los datos para cada evento.
Evento Microsoft.Communication.AdvancedMessageReceived
Publicado cuando la mensajería avanzada de Communication Services recibe un mensaje.
Escenario de ejemplo: un usuario de WhatsApp envía un mensaje de WhatsApp a un número de negocio de WhatsApp que está conectado a un canal de mensajería avanzada activo en un recurso de Communication Services. Como resultado, se publica un evento Microsoft.Communication.AdvancedMessageReceived
con el contenido del mensaje de WhatsApp del usuario.
Lista de atributos
Detalles de los atributos específicos de los eventos Microsoft.Communication.AdvancedMessageReceived
.
Attribute | Tipo | Aceptación de valores NULL | Descripción |
---|---|---|---|
channelType | string |
✔️ | Tipo de canal del canal en el que se envió el mensaje. Ejemplo: "whatsapp". |
from | string |
✔️ | Id. de remitente que envió el mensaje. |
to | string |
✔️ | Identificador de canal que recibió el mensaje, con formato de GUID. |
receivedTimestamp | DateTimeOffset |
✔️ | Marca de tiempo del mensaje. |
content | string |
✔️ | Contenido de texto del mensaje. |
media | MediaContent |
✔️ | Contiene detalles sobre los elementos multimedia recibidos. |
context | MessageContext |
✔️ | Contiene detalles sobre los elementos multimedia recibidos. |
botón | ButtonContent |
✔️ | Contiene detalles sobre los elementos multimedia recibidos. |
interactiva | InteractiveContent |
✔️ | Contiene detalles sobre los elementos multimedia recibidos. |
MediaContent
Attribute | Tipo | Aceptación de valores NULL | Descripción |
---|---|---|---|
mimeType | string |
❌ | Tipo MIME de los elementos multimedia. Se usa para determinar el tipo de archivo correcto para realizar descargas multimedia. |
id | string |
❌ | Id. de elemento multimedia. Se usa para recuperar elementos multimedia para su descarga, con formato de GUID. |
fileName | string |
✔️ | Nombre de archivo del archivo multimedia subyacente tal como se especificó al cargarse. |
caption | string |
✔️ | Texto de la descripción para el objeto multimedia, si se admite y proporciona. |
MessageContext
Attribute | Tipo | Aceptación de valores NULL | Descripción |
---|---|---|---|
desde | string |
✔️ | Identificador de WhatsApp para el cliente que respondió a un mensaje entrante. |
id | string |
✔️ | Identificador de mensaje del mensaje enviado para una respuesta entrante. |
ButtonContent
Attribute | Tipo | Aceptación de valores NULL | Descripción |
---|---|---|---|
text | string |
✔️ | Texto del botón. |
payload | string |
✔️ | La carga, configurada por la empresa, del botón seleccionado por el usuario. |
InteractiveContent
Attribute | Tipo | Aceptación de valores NULL | Descripción |
---|---|---|---|
type | InteractiveReplyType |
✔️ | Tipo del contenido interactivo. |
buttonReply | InteractiveButtonReplyContent |
✔️ | Se envía cuando un cliente selecciona un botón. |
listReply | InteractiveListReplyContent |
✔️ | Se envía cuando un cliente selecciona un elemento de una lista. |
InteractiveReplyType
Valor | Descripción |
---|---|
buttonReply | El contenido interactivo es un botón. |
listReply | El contenido interactivo es una lista. |
unknown | El contenido interactivo es desconocido. |
InteractiveButtonReplyContent
Attribute | Tipo | Aceptación de valores NULL | Descripción |
---|---|---|---|
id | string |
✔️ | Id. del botón. |
title | string |
✔️ | Título del botón. |
InteractiveListReplyContent
Attribute | Tipo | Aceptación de valores NULL | Descripción |
---|---|---|---|
id | string |
✔️ | Identificador del elemento de lista seleccionado. |
title | string |
✔️ | Título del elemento de lista seleccionado. |
descripción | string |
✔️ | Descripción de la fila seleccionada. |
Ejemplos
Mensaje de texto recibido
[{
"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"
}]
Mensaje multimedia recibido
[{
"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 cuando la mensajería avanzada de Communication Services recibe una actualización de estado para una notificación de mensaje enviada anteriormente.
Escenario de ejemplo: Contoso usa un canal de mensajería avanzada activo conectado a una cuenta de WhatsApp Business para enviar un mensaje de WhatsApp a un usuario de WhatsApp. A continuación, WhatsApp responde al canal de mensajería avanzada de Contoso con el estado del mensaje enviado anteriormente. Como resultado, se publica un evento Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated
que contiene el estado del mensaje.
Lista de atributos
Detalles de los atributos específicos de los eventos Microsoft.Communication.AdvancedMessageReceived
.
Attribute | Tipo | Aceptación de valores NULL | Descripción |
---|---|---|---|
channelType | string |
✔️ | Tipo de canal del canal en el que se envió el mensaje. |
from | string |
✔️ | Identificador de canal que envió el mensaje, con formato de GUID. |
to | string |
✔️ | Id. de destinatario al que se envió el mensaje. |
receivedTimestamp | DateTimeOffset |
✔️ | Marca de tiempo del mensaje. |
messageId | string |
✔️ | Identificador del mensaje, con formato de GUID. |
status | string |
✔️ | Estado del mensaje. Los valores posibles incluyen Sent , Delivered , Read y Failed . Para obtener más información, consulte Status. |
error | ChannelEventError |
✔️ | Contiene los detalles de un error. |
ChannelEventError
Attribute | Tipo | Aceptación de valores NULL | Descripción |
---|---|---|---|
channelCode | string |
✔️ | El código de error recibido en este canal. |
channelMessage | string |
✔️ | El mensaje de error recibido en este canal. |
Estado
Valor | Descripción |
---|---|
Enviada | El servicio de mensajería envió el mensaje al destinatario |
Delivered (Entregado) | El destinatario del mensaje recibió el mensaje |
Leer | El destinatario del mensaje leyó el mensaje |
Con error | El mensaje no se pudo enviar correctamente |
Ejemplos
Actualización de la entrega de mensajes
[{
"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"
}]
Actualización de la entrega de mensajes con errores
[{
"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"
}]
Evento Microsoft.Communication.AdvancedMessageAnalysisCompleted(Preview)
Publicado cuando el servicio de comunicación completa un análisis de IA con un mensaje de cliente.
Escenario de ejemplo: un usuario de WhatsApp envía un mensaje de WhatsApp a un número de negocio de WhatsApp que está conectado a un canal de mensajería avanzada activo en un recurso de Communication Services que ha optado por la característica análisis de mensajes. Como resultado, se publica un elemento Microsoft.Communication.AdvancedMessageAnalysisCompleted con el análisis del mensaje WhatsApp del usuario.
Lista de atributos
Detalles de los atributos específicos de los eventos Microsoft.Communication.AdvancedMessageAnalysisCompleted
.
Attribute | Tipo | Aceptación de valores NULL | Descripción |
---|---|---|---|
channelType | string |
✔️ | Tipo de canal del canal en el que se envió el mensaje. |
from | string |
✔️ | Identificador de canal que envió el mensaje, con formato de GUID. |
to | string |
✔️ | Id. de destinatario al que se envió el mensaje. |
receivedTimestamp | DateTimeOffset |
✔️ | Marca de tiempo del mensaje. |
originalMessage | string |
✔️ | Mensaje de usuario original. |
intentAnalysis | string |
✔️ | El análisis de intención del mensaje de usuario recibido. |
languageDetection | LanguageDetection |
✔️ | Contiene la detección de idioma del mensaje de usuario recibido. |
extractedKeyPhrases | List<string> |
✔️ | Contiene las frases clave del mensaje de usuario recibido. |
LanguageDetection
Attribute | Tipo | Aceptación de valores NULL | Descripción |
---|---|---|---|
language | string |
✔️ | Idioma detectado. |
confidenceScore | float |
✔️ | Puntuación de confianza del idioma detectado. |
traducción | string |
✔️ | Traducción del mensaje. |
Ejemplos
Análisis del mensaje completado
[{
"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"
}]
Inicio rápido
Para ver un inicio rápido que muestra cómo suscribirse a eventos de mensajería avanzada mediante webhooks, consulte Inicio rápido: Control de eventos de mensajería avanzada.