Azure Communication Services - Événements de messagerie avancée

Cet article fournit les propriétés et le schéma des événements de messagerie avancée Communication Services. Pour une présentation des schémas d’événements, consultez Schéma d’événements Azure Event Grid.

Types d’événement

Azure Communication Services émet les types d’événements de messagerie avancée suivants :

Type d'événement Description
Microsoft.Communication.AdvancedMessageReceived Publié lorsque Communication Services Advanced Messaging reçoit un message.
Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated Publié lorsque Communication Services Advanced Messaging reçoit une mise à jour d’état pour une notification de message précédemment envoyée.
Microsoft.Communication.AdvancedMessageAnalysisCompleted(Preview) Publié lorsque Communication Service termine une analyse IA avec un message client.

Réponses aux événements

Quand un événement est déclenché, le service Event Grid envoie les données relatives à cet événement aux points de terminaison d’abonnement.

Cette section contient un exemple de ce à quoi ces données ressembleraient pour chaque événement.

Événement Microsoft.Communication.AdvancedMessageReceived

Publié lorsque Communication Services Advanced Messaging reçoit un message.

Exemple de scénario : un utilisateur WhatsApp envoie un message WhatsApp à un numéro d’entreprise WhatsApp connecté à un canal de messagerie avancé actif dans une ressource Communication Services. Par conséquent, un Microsoft.Communication.AdvancedMessageReceived avec le contenu du message WhatsApp de l’utilisateur est publié.

Liste d’attributs

Détails des attributs spécifiques aux événements Microsoft.Communication.AdvancedMessageReceived.

Attribut Type Autorise la valeur Null Description
channelType string ✔️ Type de canal du canal sur lequel le message a été envoyé. Ex. « Whatsapp ».
from string ✔️ ID d’expéditeur qui a envoyé le message.
à string ✔️ ID de canal qui a reçu le message, mis en forme en tant que GUID.
receivedTimestamp DateTimeOffset ✔️ Timestamp du message.
content string ✔️ Contenu texte dans le message.
Médias MediaContent ✔️ Contient des détails sur le média reçu.
contexte MessageContext ✔️ Contient des détails sur le média reçu.
... ButtonContent ✔️ Contient des détails sur le média reçu.
interactive InteractiveContent ✔️ Contient des détails sur le média reçu.
MediaContent
Attribut Type Autorise la valeur Null Description
mimeType string Type MIME du média. Permet de déterminer le type de fichier approprié pour les téléchargements multimédias.
id string ID de média. Utilisé pour récupérer un média pour le téléchargement, mis en forme en tant que GUID.
fileName string ✔️ Nom de fichier du fichier multimédia sous-jacent tel que spécifié lors du chargement.
légende string ✔️ Texte de légende de l’objet multimédia, s’il est pris en charge et fourni.
MessageContext
Attribut Type Autorise la valeur Null Description
from string ✔️ ID WhatsApp pour le client qui a répondu à un message entrant.
id string ✔️ ID de message du message envoyé pour une réponse entrante.
ButtonContent
Attribut Type Autorise la valeur Null Description
texte string ✔️ Texte du bouton.
payload string ✔️ Charge utile, configurée par l’entreprise, du bouton sélectionné par l’utilisateur.
InteractiveContent
Attribut Type Autorise la valeur Null Description
type InteractiveReplyType ✔️ Type du contenu interactif.
buttonReply InteractiveButtonReplyContent ✔️ Envoyé lorsqu’un client sélectionne un bouton.
listReply InteractiveListReplyContent ✔️ Envoyé lorsqu’un client sélectionne un élément dans une liste.
InteractiveReplyType
Valeur Description
buttonReply Le contenu interactif est un bouton.
listReply Le contenu interactif est une liste.
unknown Le contenu interactif est inconnu.
InteractiveButtonReplyContent
Attribut Type Autorise la valeur Null Description
id string ✔️ ID du bouton.
title string ✔️ Titre du bouton.
InteractiveListReplyContent
Attribut Type Autorise la valeur Null Description
id string ✔️ ID de l’élément de liste sélectionné.
title string ✔️ Titre de l’élément de liste sélectionné.
description string ✔️ Description de la ligne sélectionnée.

Exemples

Sms reçu
[{
  "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"
}]
Message multimédia reçu
[{
  "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"
}]

Événement Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated

Publié lorsque Communication Services Advanced Messaging reçoit une mise à jour d’état pour une notification de message précédemment envoyée.

Exemple de scénario : Contoso utilise un canal de messagerie avancé actif connecté à un compte WhatsApp Business pour envoyer un message WhatsApp à un utilisateur WhatsApp. WhatsApp répond ensuite au canal de messagerie avancée de Contoso avec l’état du message précédemment envoyé. Par conséquent, un événement Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated contenant l’état du message est publié.

Liste d’attributs

Détails des attributs spécifiques aux événements Microsoft.Communication.AdvancedMessageReceived.

Attribut Type Autorise la valeur Null Description
channelType string ✔️ Type de canal du canal sur lequel le message a été envoyé.
from string ✔️ ID de canal qui a envoyé le message, mis en forme en tant que GUID.
à string ✔️ ID de destinataire auquel le message a été envoyé.
receivedTimestamp DateTimeOffset ✔️ Timestamp du message.
messageId string ✔️ ID du message, mis en forme en tant que GUID.
statut string ✔️ État du message. Les valeurs possibles incluent Sent, Delivered, Read etFailed. Pour plus d’informations, veuillez consulter Status.
error ChannelEventError ✔️ Contient les détails d’une erreur.
ChannelEventError
Attribut Type Autorise la valeur Null Description
channelCode string ✔️ Code d’erreur reçu sur ce canal.
channelMessage string ✔️ Message d’erreur reçu sur ce canal.
État
Valeur Description
Envoyé Le service de messagerie a envoyé le message au destinataire
Remis Le destinataire du message a reçu le message
Lire Le destinataire du message lit le message
Échec Le message n’a pas pu être envoyé correctement

Exemples

Mise à jour pour la remise des messages
[{
  "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"
}]
Mise à jour pour la remise des messages avec échec
[{
  "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), événement

Publié lorsque Communication Service termine une analyse IA avec un message client.

Exemple de scénario : un utilisateur WhatsApp envoie un message WhatsApp à un numéro d’entreprise WhatsApp connecté à un canal Messagerie avancé actif dans une ressource Communication Services ayant choisi la fonctionnalité Analyse des messages. Par conséquent, un événement Microsoft.Communication.AdvancedMessageAnalysisCompleted avec l’analyse du message WhatsApp de l’utilisateur est publié.

Liste d’attributs

Détails des attributs spécifiques aux événements Microsoft.Communication.AdvancedMessageAnalysisCompleted.

Attribut Type Autorise la valeur Null Description
channelType string ✔️ Type de canal du canal sur lequel le message a été envoyé.
from string ✔️ ID de canal qui a envoyé le message, mis en forme en tant que GUID.
à string ✔️ ID de destinataire auquel le message a été envoyé.
receivedTimestamp DateTimeOffset ✔️ Timestamp du message.
originalMessage string ✔️ Message utilisateur d’origine.
intentAnalysis string ✔️ Analyse de l’intention du message utilisateur reçu.
languageDetection LanguageDetection ✔️ Contient la détection de langue du message utilisateur reçu.
extractedKeyPhrases List<string> ✔️ Contient les expressions clés du message utilisateur reçu.
LanguageDetection
Attribut Type Autorise la valeur Null Description
langage string ✔️ Langue détectée.
confidenceScore float ✔️ Score de confiance de la langue détectée.
translation string ✔️ Traduction du message.

Exemples

Analyse du message terminée
[{
  "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"
}]

Démarrage rapide

Pour obtenir un guide de démarrage rapide qui montre comment s’abonner aux événements de messagerie avancée à l’aide de webhooks, consultez Démarrage rapide : Gérer les événements de messagerie avancée.