Compartir vía


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.

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"
}]

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.