Sdílet prostřednictvím


Definování vlastních rozhraní API

Odchozí vlastní rozhraní API

Použitelné kanály: SMS, vlastní

Když vytvoříte vlastní kanál v Dynamics 365 Customer Insights - Journeys, musíte definovat odchozí vlastní rozhraní API, která se volají během běhu cesty. Vlastní rozhraní API je vstupním bodem pro spuštění vlastního kódu. Volá rozhraní API poskytovatele a musí přijmout smlouvu definovanou cestou aplikace Customer Insights - Journeys a vrátit odezvu. Odchozí vlastní rozhraní API je přiřazeno k atributu msdyn_outboundendpointurltemplate v kroku definice kanálu.

Smlouva, kterou musí odchozí vlastní rozhraní API implementovat, musí mít jeden vstupní parametr (datová část) a jeden výstupní atribut (odpověď).

  • Datová část je serializovaný kód JSON s následující smlouvou:

    • ChannelDefinitionId: GUID – ID definice kanálu.
    • RequestId: řetězec – ID požadavku.
    • From: řetězec – Odesílatel (kanál instance).
    • To: řetězec – příjemce.
    • Message: Dictionary <řetězec, řetězec> – Obsahuje všechny části zprávy pro kanál. Klíče jsou názvy částí zprávy, například hodnoty odpovídajícího atributu msdyn_name.
    • MarketingAppContext: objekt – Objekt představující kontext odeslání. Tento objekt je dostupný pouze v případě, že je odeslání provedeno z aplikace Customer Insights - Journeys. Objekt obsahuje následující pole:
      • CustomerJourneyId: řetězec – ID cesta zákazníka iniciujícího volání. Null, když je odeslání požadováno z testovacího odeslání.
      • UserId: GUID – ID uživatele, který zprávu přijímá. Null, když je odeslání požadováno z testovacího odeslání.
      • UserEntityType: řetězec – Typ entity představující uživatele, který zprávu přijímá. Null, když je odeslání požadováno z testovacího odeslání.
      • IsTestSend: logická hodnota – True, když bylo odeslání zahájeno z testovacího odeslání, jinak False.
  • Odezva je serializovaný kód JSON s následující smlouvou:

    • ChannelDefinitionId: GUID – ID definice kanálu.
    • MessageId: řetězec – (volitelně) ID zprávy. Volitelné, může existovat v odpovědi API poskytovatele.
    • RequestId: řetězec – ID požadavku. Musí se rovnat hodnotě ID požadavku uvnitř datové části požadavku.
    • Status: řetězec – Možné hodnoty jsou:
      • NotSent – Došlo k pokusu o odeslání poskytovateli, ale bylo odmítnuto bez možnosti opakování.
      • Sent – Požadavek na odeslání byl poskytovatelem úspěšně přijat.

Vlastní rozhraní API pro potvrzení o doručení

Použitelné kanály: SMS, vlastní

Pokud váš kanál podporuje potvrzení o doručení nebo stavy zpráv, musíte definovat vlastní rozhraní API sestavy o doručení. Vaše rozhraní API bude zavoláno zprostředkovatelem a musí volat rozhraní API msdyn_D365ChannelsNotification základního řešení, které vrátí informace do Dataverse. Tyto informace jsou dostupné v analýze aplikace Customer Insights - Journeys.

Vlastní rozhraní API sestavy o doručení zavolá rozhraní API msdyn_D365ChannelsNotification se smlouvou jako jedním vstupním parametrem:

  • notificationPayLoad je serializovaný kód JSON s následující smlouvou:

    • ChannelDefinitionId: GUID – ID definice kanálu.
    • RequestId: řetězec – ID požadavku.
    • MessageId: řetězec – ID zprávy.
    • From: řetězec – Odesílatel (kanál instance).
    • OrganizationId: řetězec – ID organizace.
    • Status: řetězec – Stav potvrzení o doručení. Možné hodnoty jsou:
      • Delivered – Přijatá zpráva byla úspěšně doručena do cíle.
      • NotDelivered – Přijatá zpráva nebyla úspěšně doručena do cíle.

Příchozí vlastní rozhraní API

Použitelné kanály: SMS

Pokud váš kanál podporuje příchozí požadavky, je třeba definovat příchozí vlastní rozhraní API. Vaše rozhraní API bude zavoláno zprostředkovatelem a musí volat rozhraní API msdyn_D365ChannelsInbound základního řešení, které vrátí informace do Dataverse.

Odchozí vlastní rozhraní API zavolá rozhraní API msdyn_D365ChannelsInbound se smlouvou jako jedním vstupním parametrem:

  • inboundPayLoad je serializovaný kód JSON s následující smlouvou:

    • ChannelDefinitionId: GUID – ID definice kanálu.
    • To: řetězec – Telefonní číslo C1 (instance kanálu).
    • From: řetězec – Kontaktní bod uživatele C2.
    • OrganizationId: řetězec – ID organizace.
    • Message: Dictionary <řetězec, řetězec> – Obsahuje všechny části zprávy pro kanál.