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.