Benutzerdefinierte APIs definieren
Ausgehende benutzerdefinierte API
Anwendbare Kanäle: SMS, benutzerdefiniert
Wenn Sie einen benutzerdefinierten Kanal in in Dynamics 365 Customer Insights - Journeys erstellen, müssen Sie eine ausgehende benutzerdefinierte API festlegen, die während der Kontaktverlaufs-Runtime aufgerufen werden soll. Die benutzerdefinierte API ist der Einstiegspunkt für die Ausführung von benutzerdefiniertem Code. Sie ruft die APIs des Anbieters auf und muss den durch die Customer Insights - Journeys definierten Vertrag akzeptieren und die Antwort zurücksenden. Die ausgehende benutzerdefiniere API wird dem Attribut msdyn_outboundendpointurltemplate im Schritt Kanaldefinition zugewiesen.
Der Vertrag, den die ausgehende benutzerdefinierte API implementieren soll, muss einen Eingabeparameter (Payload) und ein Ausgabeattribut (Antwort) haben.
Die Nutzlast ist ein serialisiertes JSON mit folgendem Vertrag:
- ChannelDefinitionId: GUID – Die Kanaldefinitions-ID.
- RequestId: Zeichenfolge – Die Anforderungs-ID.
- Von: Zeichenfolge – Der Sender (Kanalinstanz).
- An: Zeichenfolge – der Empfänger.
-
Nachricht: Verzeichnis <Zeichenfolge, Zeichnfolge> – Enthält alle Nachrichtenteile für einen Kanal. Schlüssel sind die Nachrichtenteilnamen, d. h. Werte des entsprechenden
msdyn_name
-Attributs. -
MarketingAppContext: Objekt – Ein Objekt, das den Kontext der Übermittlung darstellt. Dieses Objekt ist nur verfügbar, wenn die Übermittlung von der Customer Insights - Journeys-Anwendung ausgeführt wird. Das Objekt enthält die folgenden Felder:
- CustomerJourneyId: Zeichenfolge – Die ID des Kundenkontaktverlaufs, der den Anruf einleitet. Null, wenn die Übermittlung von einem Testversand angefordert wird.
- UserId: GUID – Die ID des Benutzers, der die Nachricht empfängt. Null, wenn die Übermittlung von einem Testversand angefordert wird.
- UserEntityType: Zeichenfolge – Entitätstyp, der einen Benutzer darstellt, der die Nachricht empfängt. Null, wenn die Übermittlung von einem Testversand angefordert wird.
- IsTestSend: Boolesch – „True“, wenn die Übermittlung von einem Testversand initiiert wurde, andernfalls „False“.
Die Antwort ist ein serialisiertes JSON mit folgendem Vertrag:
- ChannelDefinitionId: GUID – Die Kanaldefinitions-ID.
- MessageId: Zeichenfolge – (Optional) Die Nachrichten-ID. Optional, kann es in der API-Antwort eines Anbieters vorhanden sein.
- RequestId: Zeichenfolge – Die Anforderungs-ID. Sollte dem Anforderungs-ID-Wert in der Anforderungs-Payload entsprechen.
-
Status: Zeichenfolge – Die möglichen Werte sind:
- NotSent – Es wurde versucht, die Übermittlung an den Anbieter auszuführen, diese wurde jedoch ohne Wiederholungsmöglichkeit abgelehnt.
- Gesendet – Die Einreichungsanfrage wurde vom Anbieter erfolgreich akzeptiert.
Zustellbericht benutzerdefinierte API
Anwendbare Kanäle: SMS, benutzerdefiniert
Wenn Ihr Kanal Nachrichtenzustellungsberichte oder -status hat, müssen Sie eine benutzerdefinierte Zustellungsberichts-API festlegen. Ihre API wird vom Anbieter aufgerufen und muss die msdyn_D365ChannelsNotification-API der Basislösung aufrufen, woraufhin die Informationen an Dataverse zurückgegeben wird. Diese Informationen sind in Customer Insights - Journeys-Analysen verfügbar.
Die benutzerdefinierten Zustellungsberichts-API ruft die msdyn_D365ChannelsNotification-API mit Vertrag als einen Eingabeparameter auf:
notificationPayLoad ist ein serialisiertes JSON mit folgendem Vertrag:
- ChannelDefinitionId: GUID – Die Kanaldefinitions-ID.
- RequestId: Zeichenfolge – Die Anforderungs-ID.
- MessageId: Zeichenfolge – Die Nachrichten-ID.
- Von: Zeichenfolge – Der Sender (Kanalinstanz).
- OrganizationId: Zeichenfolge – Die Organisations-ID.
-
Status: Zeichenfolge – Der Status des Lieferberichts. Dies sind die möglichen Werte:
- Geliefert – Die akzeptierte Nachricht wurde erfolgreich an das Ziel übermittelt.
- NotDelivered – Die akzeptierte Nachricht wurde nicht an das Ziel übermittelt.
Eingehende benutzerdefinierte API
Anwendbare Kanäle: SMS
Wenn Ihr Kanal eingehende Anfragen unterstützt, müssen Sie eine eingehende benutzerdefinierte API definieren. Ihre API wird vom Anbieter aufgerufen und muss die msdyn_D365ChannelsInbound-API der Basislösung aufrufen, woraufhin die Informationen an Dataverse zurückgegeben wird.
Die eingehende benutzerdefinierte API ruft die msdyn_D365ChannelsInbound-API mit Vertrag als einen Eingabeparameter auf:
inboundPayLoad ist ein serialisiertes JSON mit folgendem Vertrag:
- ChannelDefinitionId: GUID – Die Kanaldefinitions-ID.
- An: Zeichenfolge – die C1-Telefonnummer (Kanalinstanz).
- Von: Zeichenfolge – Der C2-Benutzerkontaktpunkt.
- OrganizationId: Zeichenfolge – Die Organisations-ID.
- Nachricht: Verzeichnis <Zeichenfolge, Zeichnfolge> – Enthält alle Nachrichtenteile für einen Kanal.