Udostępnij za pośrednictwem


Azure Communication Services — zaawansowane zdarzenia obsługi komunikatów

Ten artykuł zawiera właściwości i schemat zdarzeń zaawansowanej obsługi komunikatów usług komunikacyjnych. Aby zapoznać się ze schematami zdarzeń, zobacz Schemat zdarzeń usługi Azure Event Grid.

Typy zdarzeń

Usługi Azure Communication Services emitują następujące zaawansowane typy zdarzeń obsługi komunikatów:

Typ zdarzenia opis
Microsoft.Communication.AdvancedMessageReceived Opublikowane, gdy usługa Communication Services Advanced Messaging odbiera komunikat.
Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated Opublikowane, gdy zaawansowane komunikaty usług komunikacyjnych odbierają aktualizację stanu dla wcześniej wysłanego powiadomienia o wiadomościach.
Microsoft.Communication.AdvancedMessageAnalysisCompleted(wersja zapoznawcza) Opublikowane po zakończeniu analizy sztucznej inteligencji za pomocą komunikatu klienta.

Odpowiedzi na zdarzenia

Po wyzwoleniu zdarzenia usługa Event Grid wysyła dane dotyczące tego zdarzenia do subskrybowania punktów końcowych.

Ta sekcja zawiera przykład tego, jak te dane będą wyglądać dla każdego zdarzenia.

Zdarzenie Microsoft.Communication.AdvancedMessageReceived

Opublikowane, gdy usługa Communication Services Advanced Messaging odbiera komunikat.

Przykładowy scenariusz: Użytkownik WhatsApp wysyła wiadomość WhatsApp do numeru WhatsApp Business, który jest połączony z aktywnym kanałem Advanced Messaging w zasobie usług komunikacyjnych. W rezultacie Microsoft.Communication.AdvancedMessageReceived opublikowano zawartość wiadomości WhatsApp użytkownika.

Lista atrybutów

Szczegóły atrybutów specyficznych dla Microsoft.Communication.AdvancedMessageReceived zdarzeń.

Atrybut Typ Możliwa wartość Null opis
channelType string ✔️ Typ kanału, na który wysłano wiadomość. Np. "whatsapp".
z string ✔️ Identyfikator nadawcy, który wysłał wiadomość.
na wartość string ✔️ Identyfikator kanału, który odebrał komunikat, sformatowany jako identyfikator GUID.
receivedTimestamp DateTimeOffset ✔️ Sygnatura czasowa wiadomości.
content string ✔️ Zawartość tekstowa w wiadomości.
nośnik MediaContent ✔️ Zawiera szczegółowe informacje o odebranych nośnikach.
kontekst MessageContext ✔️ Zawiera szczegółowe informacje o odebranych nośnikach.
guzik ButtonContent ✔️ Zawiera szczegółowe informacje o odebranych nośnikach.
interactive InteractiveContent ✔️ Zawiera szczegółowe informacje o odebranych nośnikach.
MediaContent
Atrybut Typ Możliwa wartość Null opis
mimeType string Typ MIME nośnika. Służy do określania prawidłowego typu pliku dla pobierania multimediów.
identyfikator string Identyfikator nośnika. Służy do pobierania nośnika do pobrania, sformatowanego jako identyfikator GUID.
fileName string ✔️ Nazwa pliku źródłowego nośnika określona podczas przekazywania.
podpis string ✔️ Tekst podpisu dla obiektu nośnika, jeśli jest obsługiwany i podany.
MessageContext
Atrybut Typ Możliwa wartość Null opis
z string ✔️ Identyfikator WhatsApp dla klienta, który odpowiedział na wiadomość przychodzącą.
identyfikator string ✔️ Identyfikator wiadomości dla wysłanej wiadomości dla odpowiedzi przychodzącej.
ButtonContent
Atrybut Typ Możliwa wartość Null opis
text string ✔️ Tekst przycisku.
payload string ✔️ Ładunek skonfigurowany przez firmę przycisku wybranego przez użytkownika.
InteractiveContent
Atrybut Typ Możliwa wartość Null opis
type InteractiveReplyType ✔️ Typ zawartości interakcyjnej.
buttonReply InteractiveButtonReplyContent ✔️ Wysłane, gdy klient wybierze przycisk.
listReply InteractiveListReplyContent ✔️ Wysłane, gdy klient wybierze element z listy.
InteractiveReplyType
Wartość Opis
buttonReply Zawartość interaktywna to przycisk.
listReply Zawartość interaktywna to lista.
nieznane Zawartość interaktywna jest nieznana.
InteractiveButtonReplyContent
Atrybut Typ Możliwa wartość Null opis
identyfikator string ✔️ Identyfikator przycisku.
title string ✔️ Tytuł przycisku.
InteractiveListReplyContent
Atrybut Typ Możliwa wartość Null opis
identyfikator string ✔️ Identyfikator wybranego elementu listy.
title string ✔️ Tytuł wybranego elementu listy.
opis string ✔️ Opis wybranego wiersza.

Przykłady

Odebrano wiadomość SMS
[{
  "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"
}]
Odebrano wiadomość medialną
[{
  "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"
}]

Zdarzenie Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated

Opublikowane, gdy zaawansowane komunikaty usług komunikacyjnych odbierają aktualizację stanu dla wcześniej wysłanego powiadomienia o wiadomościach.

Przykładowy scenariusz: Firma Contoso używa aktywnego kanału Advanced Messaging połączonego z kontem WhatsApp Business, aby wysłać wiadomość WhatsApp do użytkownika WhatsApp. Następnie WhatsApp odpowiada na kanał Advanced Messaging firmy Contoso ze stanem wcześniej wysłanej wiadomości. W związku z tym Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated zdarzenie zawierające stan komunikatu jest publikowane.

Lista atrybutów

Szczegóły atrybutów specyficznych dla Microsoft.Communication.AdvancedMessageReceived zdarzeń.

Atrybut Typ Możliwa wartość Null opis
channelType string ✔️ Typ kanału, na który wysłano wiadomość.
z string ✔️ Identyfikator kanału, który wysłał komunikat, sformatowany jako identyfikator GUID.
na wartość string ✔️ Identyfikator adresata, do którego wysłano wiadomość.
receivedTimestamp DateTimeOffset ✔️ Sygnatura czasowa wiadomości.
messageId string ✔️ Identyfikator komunikatu sformatowany jako identyfikator GUID.
status string ✔️ Stan wiadomości. Możliwe wartości to Sent, , ReadDeliveredi Failed. Aby uzyskać więcej informacji, zobacz Stan.
error ChannelEventError ✔️ Zawiera szczegóły błędu.
ChannelEventError
Atrybut Typ Możliwa wartość Null opis
channelCode string ✔️ Kod błędu odebrany w tym kanale.
channelMessage string ✔️ Komunikat o błędzie odebrany w tym kanale.
Stan
Wartość Opis
Wysłany Usługa obsługi komunikatów wysłała wiadomość do adresata
Dostarczenia Odbiorca wiadomości odebrał wiadomość
Przeczytaj Odbiorca wiadomości odczytał wiadomość
Niepowodzenie Komunikat nie może wysłać poprawnie

Przykłady

Aktualizacja dostarczania komunikatów
[{
  "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"
}]
Aktualizacja dostarczania komunikatów z powodu błędu
[{
  "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"
}]

Zdarzenie Microsoft.Communication.AdvancedMessageAnalysisCompleted(wersja zapoznawcza)

Opublikowane po zakończeniu analizy sztucznej inteligencji za pomocą komunikatu klienta.

Przykładowy scenariusz: Użytkownik WhatsApp wysyła wiadomość WhatsApp do numeru WhatsApp Business, który jest połączony z aktywnym kanałem Advanced Messaging w zasobie usług komunikacyjnych, który zdecydował się na funkcję Analizy wiadomości. W rezultacie opublikowano komunikat Microsoft.Communication.AdvancedMessageAnalysisCompleted z analizą wiadomości WhatsApp użytkownika.

Lista atrybutów

Szczegóły atrybutów specyficznych dla Microsoft.Communication.AdvancedMessageAnalysisCompleted zdarzeń.

Atrybut Typ Możliwa wartość Null opis
channelType string ✔️ Typ kanału, na który wysłano wiadomość.
z string ✔️ Identyfikator kanału, który wysłał komunikat, sformatowany jako identyfikator GUID.
na wartość string ✔️ Identyfikator adresata, do którego wysłano wiadomość.
receivedTimestamp DateTimeOffset ✔️ Sygnatura czasowa wiadomości.
originalMessage string ✔️ Oryginalna wiadomość użytkownika.
intentAnalysis string ✔️ Analiza intencji odebranego komunikatu użytkownika.
languageDetection LanguageDetection ✔️ Zawiera wykrywanie języka odebranego komunikatu użytkownika.
extractedKeyPhrases List<string> ✔️ Zawiera kluczowe frazy odebranego komunikatu użytkownika.
LanguageDetection
Atrybut Typ Możliwa wartość Null opis
język string ✔️ Wykryto languege.
confidenceScore float ✔️ Wykryto współczynnik ufności języka.
tłumaczenie string ✔️ Tłumaczenie wiadomości.

Przykłady

Analiza komunikatów została ukończona
[{
  "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"
}]

Szybki start

Aby zapoznać się z przewodnikiem Szybki start pokazującym, jak subskrybować zdarzenia zaawansowane obsługi komunikatów przy użyciu elementów webhook, zobacz Szybki start: obsługa zaawansowanych zdarzeń obsługi komunikatów.