Дефиниране на персонализирани API
Изходящ потребителски API
Приложими канали: SMS, по поръчка
Когато създавате персонализиран канал in Dynamics 365 Customer Insights - Journeys, трябва да дефинирате изходящ потребителски API , който да извиквате по време на изпълнение на пътуването. Персонализираният API е входната точка за изпълнение на потребителски код. Той извиква API на доставчика и трябва да приеме договора, определен от Customer Insights - Journeys и да върне отговора. API за изходящ избор се присвоява на атрибута msdyn_outboundendpointurltemplate на стъпката за дефиниране на канала.
Договорът, който изходящият потребителски API трябва да изпълни, трябва да има един входен параметър (полезен товар) и един изходен атрибут (отговор).
Полезният товар е сериализиран JSON със следния договор:
- ChannelDefinitionId: GUID – ИД на дефиницията на канала.
- RequestId: string – ИД на заявката.
- От: string – Подателят (екземпляр на канал).
- До: string – Получателят.
-
Съобщение: Речников <низ, низ> - Съдържа всички части на съобщението за канал. Ключовете са имената на частите на съобщението, като например стойностите на съответния
msdyn_name
атрибут. -
MarketingAppContext: обект - Обект, представляващ контекста на подаването. Този обект е достъпен само когато подаването се изпълнява от Customer Insights - Journeys приложението. Обектът съдържа следните полета:
- CustomerJourneyId: string - ИД на пътешествие на клиента, иницииращ повикването. Null, когато подаването е поискано от тестово изпращане.
- UserId: GUID - ИД на потребителя, който получава съобщението. Null, когато подаването е поискано от тестово изпращане.
- UserEntityType: string - Тип обект, представляващ потребител, който получава съобщението. Null, когато подаването е поискано от тестово изпращане.
- IsTestSend: boolean - Вярно, когато подаването е инициирано от тестово изпращане, False в противен случай.
Отговорът е сериализиран JSON със следния договор:
- ChannelDefinitionId: GUID – ИД на дефиницията на канала.
- MessageId: string – (По избор) ИД на съобщението. Факултативен; може да съществува в API отговора на доставчика.
- RequestId: string – ИД на заявката. Трябва да бъде равна на стойността на идентификационния номер на заявката в полезния товар на заявката.
-
Статус: string – Възможните стойности са:
- NotSent – Имаше опит за изпълнение на подаването към доставчика, но той беше отхвърлен без възможност за повторен опит.
- Изпратено – Заявката за подаване е приета успешно от доставчика.
Отчет за доставка персонализиран API
Приложими канали: SMS, по поръчка
Ако каналът ви поддържа отчети или състояния за доставяне на съобщения, трябва да дефинирате персонализиран API за отчет за доставяне. Вашият API се извиква от доставчика и трябва да извика msdyn_D365ChannelsNotification API на базовото решение Dataverse, който връща информацията. Тази информация е налична в Customer Insights - Journeys аналитиката.
Персонализираният API на отчета за доставка извиква API на msdyn_D365ChannelsNotification с договора като един входен параметър:
notificationPayLoad е сериализиран JSON със следния договор:
- ChannelDefinitionId: GUID – ИД на дефиницията на канала.
- RequestId: string – ИД на заявката.
- MessageId: string – ИД на съобщението.
- От: string – Подателят (екземпляр на канал).
- OrganizationId: string – ИД на организацията.
-
Статус: string – Състоянието на отчета за доставка. Възможните стойности са:
- Доставено – Приетото съобщение е доставено успешно до целта.
- NotDelivered – Приетото съобщение не е доставено успешно до целта.
Входящ потребителски API
Приложими канали: SMS
Ако каналът ви поддържа входящи заявки, трябва да дефинирате входящ потребителски API. Вашият API се извиква от доставчика и трябва да извика msdyn_D365ChannelsInbound API на базовото решение Dataverse, който връща информацията.
Входящият потребителски API извиква msdyn_D365ChannelsInbound API с договора като един входен параметър:
inboundPayLoad е сериализиран JSON със следния договор:
- ChannelDefinitionId: GUID – ИД на дефиницията на канала.
- До: низ - Телефонният номер C1 (екземпляр на канал).
- От: string - C2 потребителска контактна точка.
- OrganizationId: string – ИД на организацията.
- Съобщение: Речников <низ, низ> - Съдържа всички части на съобщението за канал.