Freigeben über


Azure Communication Services – Advanced Messaging-Ereignisse

In diesem Artikel werden die Eigenschaften und das Schema für Advanced Messaging-Ereignisse von Communication Services beschrieben. Eine Einführung in Ereignisschemas finden Sie unter Azure Event Grid-Ereignisschema.

Ereignistypen

Von Azure Communication Services werden folgende Advanced Messaging-Ereignistypen ausgegeben:

Ereignistyp Beschreibung
Microsoft.Communication.AdvancedMessageReceived Veröffentlicht, wenn Communication Services Advanced Messaging eine Nachricht empfängt.
Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated Veröffentlicht, wenn Communication Services Advanced Messaging ein Statusupdate für eine zuvor gesendete Nachrichtenbenachrichtigung empfängt.

Ereignisantworten

Wenn ein Ereignis ausgelöst wird, sendet der Event Grid-Dienst Daten zum Ereignis an die Endpunkte, die über ein entsprechendes Abonnement verfügen.

In diesem Abschnitt wird anhand eines Beispiels gezeigt, wie diese Daten für jedes Ereignis aussehen.

Microsoft.Communication.AdvancedMessageReceived Ereignis

Veröffentlicht, wenn Communication Services Advanced Messaging eine Nachricht empfängt.

Beispielszenario: Ein WhatsApp-Benutzer sendet eine WhatsApp-Nachricht an eine WhatsApp Business Number, die mit einem aktiven Advanced Messaging-Kanal in einer Communication Services-Ressource verbunden ist. Daher wird eine Microsoft.Communication.AdvancedMessageReceived mit dem Inhalt der WhatsApp-Nachricht des Benutzers veröffentlicht.

Attributliste

Details zu den Attributen, die für Microsoft.Communication.AdvancedMessageReceived-Ereignisse spezifisch sind.

attribute Typ NULL-Werte zulässig Beschreibung
channelType string ✔️ Kanaltyp des Kanals, an den die Nachricht gesendet wurde. Ex. "whatsapp".
Von string ✔️ Absender-ID des Absenders der Nachricht.
Bis string ✔️ Die Kanal-ID, die die Nachricht empfangen hat, formatiert als GUID.
receivedTimestamp DateTimeOffset ✔️ Zeitstempel der Nachricht.
content string ✔️ Der Textinhalt in der Nachricht.
Medien- MediaContent ✔️ Enthält Details zu den empfangenen Medien.
context MessageContext ✔️ Enthält Details zu den empfangenen Medien.
Schaltfläche "+" ein ButtonContent ✔️ Enthält Details zu den empfangenen Medien.
Interaktiv InteractiveContent ✔️ Enthält Details zu den empfangenen Medien.
MediaContent
attribute Typ NULL-Werte zulässig Beschreibung
mimeType string MIME-Typ des Mediums. Wird verwendet, um den richtigen Dateityp für Mediendownloads zu ermitteln.
id string Media ID. Wird verwendet, um Medien zum Herunterladen abzurufen, formatiert als GUID.
fileName string ✔️ Der Dateiname der zugrunde liegenden Mediendatei, wie beim Hochladen angegeben.
Beschriftung string ✔️ Beschriftungstext für das Medienobjekt, sofern unterstützt und bereitgestellt.
MessageContext
attribute Typ NULL-Werte zulässig Beschreibung
from string ✔️ Die WhatsApp-ID für den Kunden, der auf eine eingehende Nachricht geantwortet hat.
id string ✔️ Die Nachrichten-ID für die gesendete Nachricht für eine eingehende Antwort.
ButtonContent
attribute Typ NULL-Werte zulässig Beschreibung
Text string ✔️ Der Text der Schaltfläche.
payload string ✔️ Die Nutzlast, die vom Unternehmen eingerichtet wird, der Schaltfläche, die der Benutzer ausgewählt hat.
InteractiveContent
attribute Typ NULL-Werte zulässig Beschreibung
Typ InteractiveReplyType ✔️ Typ des interaktiven Inhalts.
buttonReply InteractiveButtonReplyContent ✔️ Gesendet, wenn ein Kunde eine Schaltfläche auswählt.
listReply InteractiveListReplyContent ✔️ Gesendet, wenn ein Kunde ein Element aus einer Liste auswählt.
InteractiveReplyType
Wert Beschreibung
buttonReply Der interaktive Inhalt ist eine Schaltfläche.
listReply Der interaktive Inhalt ist eine Liste.
Unbekannt Der interaktive Inhalt ist unbekannt.
InteractiveButtonReplyContent
attribute Typ NULL-Werte zulässig Beschreibung
id string ✔️ ID der Schaltfläche.
title string ✔️ Titel der Schaltfläche
InteractiveListReplyContent
attribute Typ NULL-Werte zulässig Beschreibung
id string ✔️ ID des ausgewählten Listenelements.
title string ✔️ Titel des ausgewählten Listenelements.
Beschreibung string ✔️ Beschreibung der ausgewählten Zeile.

Beispiele

Empfangene Nachricht
[{
  "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"
}]
Empfangene Fehlermeldung
[{
  "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 Ereignis

Veröffentlicht, wenn Communication Services Advanced Messaging ein Statusupdate für eine zuvor gesendete Nachrichtenbenachrichtigung empfängt.

Beispielszenario: Contoso verwendet einen aktiven Advanced Messaging-Kanal, der mit einem WhatsApp Business-Konto verbunden ist, um eine WhatsApp-Nachricht an einen WhatsApp-Benutzer zu senden. WhatsApp antwortet dann auf den Advanced Messaging-Kanal von Contoso mit dem Status der zuvor gesendeten Nachricht. Als Ergebnis wird ein Microsoft.Communication.AdvancedMessageDeliveryStatusUpdated-Ereignis, das den Nachrichtenstatus enthält, veröffentlicht.

Attributliste

Details zu den Attributen, die für Microsoft.Communication.AdvancedMessageReceived-Ereignisse spezifisch sind.

attribute Typ NULL-Werte zulässig Beschreibung
channelType string ✔️ Kanaltyp des Kanals, an den die Nachricht gesendet wurde.
Von string ✔️ Die Kanal-ID, die die Nachricht gesendet hat, formatiert als GUID.
Bis string ✔️ Empfänger-ID, an die die Nachricht gesendet wurde.
receivedTimestamp DateTimeOffset ✔️ Zeitstempel der Nachricht.
messageId string ✔️ Die ID der Nachricht, formatiert als GUID.
status string ✔️ Status der Nachricht. Mögliche Werte: Sent, Delivered, Read und Failed. Weitere Informationen finden Sie unter Status.
error ChannelEventError ✔️ Enthält die Details eines Fehlers.
ChannelEventError
attribute Typ NULL-Werte zulässig Beschreibung
channelCode string ✔️ Der in diesem Kanal empfangene Fehlercode.
channelMessage string ✔️ Die Fehlermeldung, die in diesem Kanal empfangen wurde.
Status
Wert Beschreibung
Gesendet Der Nachrichtendienst hat die Nachricht an den Empfänger gesendet.
Übermittelt Der Nachrichtenempfänger hat die Nachricht empfangen.
Lesen Sie Der Nachrichtenempfänger liest die Nachricht
Fehler Fehler beim Senden der Nachricht.

Beispiele

Update für die Nachrichtenübermittlung
[{
  "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"
}]
Update für die Nachrichtenübermittlung mit Fehler
[{
  "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"
}]

Schnellstart

Ein Schnellstart, der zeigt, wie Sie Advanced Messaging-Ereignisse mithilfe von Webhooks abonnieren, finden Sie unter Schnellstart: Behandeln von Ereignissen für erweitertes Messaging.