Servizi di comunicazione di Azure - Eventi di messaggistica avanzata

Questo articolo fornisce le proprietà e lo schema per gli eventi di messaggistica avanzata di Servizi di comunicazione. Per un'introduzione agli schemi di eventi, vedere Schema di eventi di Griglia di eventi di Azure.

Tipi di evento

Servizi di comunicazione di Azure genera i tipi di evento di messaggistica avanzata seguenti:

Tipo di evento Descrizione
Microsoft.Communication.AdvancedMessageReceived Pubblicato quando la messaggistica avanzata di Servizi di comunicazione riceve un messaggio.
Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated Pubblicato quando la messaggistica avanzata di Servizi di comunicazione riceve un aggiornamento dello stato per una notifica di messaggio inviata in precedenza.
Microsoft.Communication.AdvancedMessageAnalysisCompleted(Preview) Pubblicato quando il servizio di comunicazione completa un'analisi di intelligenza artificiale con un messaggio del cliente.

Risposte di eventi

Quando viene attivato un evento, il servizio Griglia di eventi invia i dati relativi all'evento agli 'endpoint di sottoscrizione.

Questa sezione contiene un esempio che illustra l'aspetto dei dati per ogni evento.

Microsoft.Communication.AdvancedMessageReceived event

Pubblicato quando la messaggistica avanzata di Servizi di comunicazione riceve un messaggio.

Scenario di esempio: un utente WhatsApp invia un messaggio WhatsApp a un numero WhatsApp Business connesso a un canale di messaggistica avanzata attivo in una risorsa di Servizi di comunicazione. Di conseguenza, viene pubblicato un oggetto Microsoft.Communication.AdvancedMessageReceived con il contenuto del messaggio WhatsApp dell'utente.

Elenco attributi

Dettagli per gli attributi specifici degli eventi Microsoft.Communication.AdvancedMessageReceived.

Attributo Type Nullable Descrizione
channelType string ✔️ Tipo di canale del canale su cui è stato inviato il messaggio. Ex. "whatsapp".
da string ✔️ ID del mittente che ha inviato il messaggio.
to string ✔️ ID del canale che ha ricevuto il messaggio, formattato come GUID.
receivedTimestamp DateTimeOffset ✔️ Timestamp del messaggio.
content string ✔️ Contenuto del testo del messaggio.
media MediaContent ✔️ Contiene informazioni dettagliate sui file multimediali ricevuti.
context MessageContext ✔️ Contiene informazioni dettagliate sui file multimediali ricevuti.
pulsante ButtonContent ✔️ Contiene informazioni dettagliate sui file multimediali ricevuti.
interattivo InteractiveContent ✔️ Contiene informazioni dettagliate sui file multimediali ricevuti.
MediaContent
Attributo Type Nullable Descrizione
mimeType string Tipo MIME del file multimediale. Utilizzato per determinare il tipo di file corretto per i download di file multimediali.
id string ID del file multimediale. Usato per recuperare i file multimediali per il download, formattati come GUID.
fileName string ✔️ Nome file del file multimediale sottostante come specificato al momento del caricamento.
caption string ✔️ Testo della didascalia per l'oggetto multimediale, se supportato e fornito.
MessageContext
Attributo Type Nullable Descrizione
da string ✔️ ID WhatsApp per il cliente che ha risposto a un messaggio in ingresso.
id string ✔️ ID del messaggio inviato per una risposta in ingresso.
ButtonContent
Attributo Type Nullable Descrizione
Testo string ✔️ Testo del pulsante.
payload string ✔️ Payload, configurato dall'azienda, del pulsante selezionato dall'utente.
InteractiveContent
Attributo Type Nullable Descrizione
type InteractiveReplyType ✔️ Tipo di contenuto interattivo.
buttonReply InteractiveButtonReplyContent ✔️ Inviato quando un cliente seleziona un pulsante.
listReply InteractiveListReplyContent ✔️ Inviato quando un cliente seleziona un elemento da un elenco.
InteractiveReplyType
valore Descrizione
buttonReply Il contenuto interattivo è un pulsante.
listReply Il contenuto interattivo è un elenco.
Sconosciuto Il contenuto interattivo è sconosciuto.
InteractiveButtonReplyContent
Attributo Type Nullable Descrizione
id string ✔️ ID del pulsante.
title string ✔️ Titolo del pulsante.
InteractiveListReplyContent
Attributo Type Nullable Descrizione
id string ✔️ ID della voce di elenco selezionata.
title string ✔️ Titolo della voce di elenco selezionata.
description string ✔️ Descrizione della riga selezionata.

Esempi

Messaggio di testo ricevuto
[{
  "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"
}]
Messaggio multimediale ricevuto
[{
  "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"
}]

Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated event

Pubblicato quando la messaggistica avanzata di Servizi di comunicazione riceve un aggiornamento dello stato per una notifica di messaggio inviata in precedenza.

Scenario di esempio: Contoso usa un canale di messaggistica avanzata attivo connesso a un account WhatsApp Business per inviare un messaggio WhatsApp a un utente WhatsApp. WhatsApp risponde quindi al canale di messaggistica avanzata di Contoso con lo stato del messaggio inviato in precedenza. Di conseguenza, viene pubblicato un evento Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated contenente lo stato del messaggio.

Elenco attributi

Dettagli per gli attributi specifici degli eventi Microsoft.Communication.AdvancedMessageReceived.

Attributo Type Nullable Descrizione
channelType string ✔️ Tipo di canale del canale su cui è stato inviato il messaggio.
da string ✔️ ID del canale che ha inviato il messaggio, formattato come GUID.
to string ✔️ ID del destinatario a cui è stato inviato il messaggio.
receivedTimestamp DateTimeOffset ✔️ Timestamp del messaggio.
messageId string ✔️ ID del messaggio, formattato come GUID.
stato string ✔️ Stato del messaggio. I valori possibili comprendono Sent, Delivered, Read, e Failed. Per altre informazioni, vedere Stato.
Errore ChannelEventError ✔️ Contiene i dettagli di un errore.
ChannelEventError
Attributo Type Nullable Descrizione
channelCode string ✔️ Codice di errore ricevuto su questo canale.
channelMessage string ✔️ Messaggio di errore ricevuto su questo canale.
Status
valore Descrizione
Inviato Il servizio di messaggistica ha inviato il messaggio al destinatario
Consegnati Il destinatario del messaggio ha ricevuto il messaggio
Lettura Il destinatario del messaggio legge il messaggio
Non riuscito L'invio del messaggio non è riuscito

Esempi

Aggiornamento per il recapito del messaggio
[{
  "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"
}]
Aggiornamento per il recapito del messaggio con errore
[{
  "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)

Pubblicato quando il servizio di comunicazione completa un'analisi di intelligenza artificiale con un messaggio del cliente.

Scenario di esempio: un utente di WhatsApp invia un messaggio WhatsApp a un numero whatsApp Business connesso a un canale di messaggistica avanzata attivo in una risorsa di Servizi di comunicazione che ha optato per la funzionalità di analisi dei messaggi. Di conseguenza, viene pubblicato un Microsoft.Communication.AdvancedMessageAnalysisCompleted con l'analisi del messaggio WhatsApp dell'utente.

Elenco attributi

Dettagli per gli attributi specifici degli eventi Microsoft.Communication.AdvancedMessageAnalysisCompleted.

Attributo Type Nullable Descrizione
channelType string ✔️ Tipo di canale del canale su cui è stato inviato il messaggio.
da string ✔️ ID del canale che ha inviato il messaggio, formattato come GUID.
to string ✔️ ID del destinatario a cui è stato inviato il messaggio.
receivedTimestamp DateTimeOffset ✔️ Timestamp del messaggio.
originalMessage string ✔️ Messaggio utente originale.
intentAnalysis string ✔️ Analisi delle finalità del messaggio utente ricevuto.
languageDetection LanguageDetection ✔️ Contiene il rilevamento della lingua del messaggio utente ricevuto.
extractedKeyPhrases List<string> ✔️ Contiene le frasi chiave del messaggio utente ricevuto.
LanguageDetection
Attributo Type Nullable Descrizione
lingua string ✔️ Il languege rilevato.
confidenceScore float ✔️ Punteggio di attendibilità della lingua rilevata.
Traduzione string ✔️ Traduzione del messaggio.

Esempi

Analisi dei messaggi completata
[{
  "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"
}]

Guida introduttiva

Per una guida introduttiva che illustra come abbonarsi a eventi di messaggistica avanzata tramite web hook, vedere Avvio rapido: Gestire eventi di messaggistica avanzata.