Freigeben über


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.