Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.