Udostępnij przez


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.

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 wyglądają te dane 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ść. Na przykład: "whatsapp".
messageId string Identyfikator komunikatu odbiera zdarzenie jako identyfikator GUID.
messageType string Typ komunikatu zdarzenia odbierania komunikatu. Na przykład: "interactive", , "sticker""reaction".
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 odebrania komunikatu.
zawartość string ✔️ Zawartość tekstowa w wiadomości.
multimedia MediaContent ✔️ Zawiera szczegółowe informacje o odebranych nośnikach.
kontekst MessageContext ✔️ Zawiera szczegółowe informacje o kontekście wiadomości odpowiedzi w przypadku, gdy użytkownik odpowiada z powrotem do wiadomości biznesowej.
guzik ButtonContent ✔️ Zawiera szczegóły użytkownika zawartości przycisku odpowiedzi wybranego dla wiadomości szablonu.
interactive InteractiveContent ✔️ Zawiera szczegółowe informacje na temat interakcyjnej odpowiedzi komunikatów, takich jak buttonReply lub listReply
reakcja ReactionContent ✔️ Zawiera szczegółowe informacje o otrzymanej reakcji w przypadku wiadomości wysyłanych przez firmę.
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.
napis string ✔️ Tekst podpisu dla obiektu nośnika, jeśli jest obsługiwany i podany.
ożywiony string ✔️ Ustaw wartość true, jeśli naklejka jest animowana; w przeciwnym razie wartość false.
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
SMS string ✔️ Tekst przycisku.
ładunek string ✔️ Ładunek skonfigurowany przez firmę przycisku wybranego przez użytkownika.
InteractiveContent
Atrybut Typ Możliwa wartość Null opis
typ 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.
nieznany 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.
ReactionContent
Atrybut Typ Możliwa wartość Null opis
messageId string Identyfikator komunikatu, do którego odpowiada użytkownik.
emoji string ✔️ Ciąg reprezentujący sekwencję ucieczki unicode emoji.

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",
    "messageType": "text",
    "from": "{sender@id}",
    "to": "{channel-id}",
    "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 komunikat nośnika obrazu
[{
  "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",
    "messageType": "image",
    "media": {
 "mimeType": "image/jpeg",
 "id": "00000000-0000-0000-0000-000000000000",
 "caption": "This is a media caption"
    },
    "from": "{sender@id}",
    "to": "{channel-id}",
    "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 komunikat nośnika dokumentu
{
  "id": "00000000-0000-0000-0000-000000000000",
  "topic": "/subscriptions/{subscription-id}/resourcegroups/acs-cpm-ppe-resources/providers/microsoft.communication/communicationservices/acscpm-whatsup-pperesource",
  "subject": "advancedMessage/sender/14254360097/recipient/75476a19-a68d-4e10-806c-3680f099e069",
  "data": {
    "channelType": "whatsapp",
    "messageType": "document",
    "media": {
 "mimeType": "application/pdf",
 "id": "00000000-0000-0000-0000-000000000000",
 "fileName": "UTSAV Mela 2024  India's Independence Day  Kids Out and About Seattle.pdf"
    },
    "from": "14254360097",
    "to": "{channel-id}",
    "receivedTimestamp": "2024-12-24T06:41:56+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2024-12-24T06:41:59.1218953Z"
}
Wyświetl wiadomość odpowiedzi odebraną za pomocą elementu InteractiveListReplyContent
[{
  "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/00000000-0000-0000-0000-000000000000",
  "data": {
    "channelType": "whatsapp",
    "messageType": "interactive",
    "context": {
 "from": "{receiverphonenumber@id}",
 "id": "{reply-message-id}"
    },
    "interactive": {
 "type": "listReply",
 "listReply": {
   "id": "priority_mail",
   "title": "Priority Mail",
   "description": "1–3 Days"
 }
    },
    "from": "{sender@id}",
    "to": "{channel-id}",
    "receivedTimestamp": "2024-12-04T23:53:28+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2024-12-04T23:53:29.3079089Z"
}]
Odebrano komunikat przycisku Odpowiedzi z elementem InteractiveButtonReplyContent
[{
  "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/00000000-0000-0000-0000-000000000000",
  "data": {
    "channelType": "whatsapp",
    "messageType": "interactive",
    "context": {
 "from": "{receiverphonenumber@id}",
 "id": "{reply-message-id}"
    },
    "interactive": {
 "type": "buttonReply",
 "buttonReply": {
   "id": "agree",
   "title": "Agree"
 }
    },
    "from": "{sender@id}",
    "to": "{channel-id}",
    "receivedTimestamp": "2024-12-04T23:57:04+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2024-12-04T23:57:04.9459858Z"
}]
Odebrano wiadomość z naklejką na odpowiedź
[{
  "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/00000000-0000-0000-0000-000000000000",
  "data": {
    "channelType": "whatsapp",
    "messageType": "sticker",
    "media": {
 "mimeType": "image/webp",
 "id": "00000000-0000-0000-0000-000000000000",
 "animated": false
    },
    "from": "{sender@id}",
    "to": "{channel-id}",
    "receivedTimestamp": "2024-12-04T23:57:04+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2024-12-04T23:57:04.9459858Z"
}]
Odebrano komunikat reakcji na odpowiedź
[{
  "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/00000000-0000-0000-0000-000000000000",
  "data": {
    "channelType": "whatsapp",
    "messageType": "reaction",
    "reaction": {
 "messageId": "{reply-message-id}",
 "emoji": "👍"
    },
    "from": "{sender@id}",
    "to": "{channel-id}",
    "receivedTimestamp": "2024-12-04T23:57:04+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2024-12-04T23:57:04.9459858Z"
}]
Odebrano komunikat ButtonContent
[{
  "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/00000000-0000-0000-0000-000000000000",
  "data": {
    "channelType": "whatsapp",
    "messageType": "button",
    "context": {
 "from": "{receiverphonenumber@id}",
 "id": "{reply-message-id}"
    },
    "button": {
 "text": "Yes",
 "payload": "Kat said yes"
    },
    "from": "{sender@id}",
    "to": "{channel-id}",
    "receivedTimestamp": "2024-12-20T04:03:22+00:00"
  },
  "eventType": "Microsoft.Communication.AdvancedMessageReceived",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2024-12-20T04:03:22.7978135Z"
}]

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.
stan string ✔️ Stan wiadomości. Możliwe wartości to Sent, , DeliveredReadi Failed. Aby uzyskać więcej informacji, zobacz Stan.
błąd 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"
}]

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.