Споделяне чрез


Дефиниране на персонализирани 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 – ИД на организацията.
    • Съобщение: Речников <низ, низ> - Съдържа всички части на съобщението за канал.