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.