定义自定义 API

出站自定义 API

适用的渠道:短信、自定义

当您在 Dynamics 365 Customer Insights - Journeys 中创建自定义渠道时,您需要定义一个出站自定义 API,以便在旅程运行时调用。 自定义 API 是执行自定义代码的入口点。 它调用提供者的 API,并且必须接受由 Customer Insights - Journeys 定义的契约并返回响应。 出站自定义 API 将在渠道定义步骤中分配给 msdyn_outboundendpointurltemplate 属性。

出站自定义 API 应该执行的约定必须有一个输入参数 (payload) 和一个输出属性 (response)。

  • payload 是具有以下约定的序列化 JSON:

    • ChannelDefinitionId:GUID – 渠道定义 ID。
    • RequestId:字符串 – 请求 ID。
    • From:字符串 – 发件人(渠道实例)。
    • To:字符串 – 收件人。
    • Message:字典 <字符串,字符串> - 包含一个渠道的所有消息部分。 键是消息部分名称,如相应的 msdyn_name 属性的值。
    • MarketingAppContext:对象 - 表示提交上下文的对象。 仅当从 Customer Insights - Journeys 应用程序执行提交时,此对象才可用。 此对象包含以下字段:
      • CustomerJourneyId:字符串 - 发起呼叫的客户旅程的 ID。 当从测试发送请求提交时为 Null。
      • UserId:GUID - 接收消息的用户的 ID。 当从测试发送请求提交时为 Null。
      • UserEntityType:字符串 - 表示接收消息的用户的实体类型。 当从测试发送请求提交时为 Null。
      • IsTestSend:布尔值 - 从测试发送发起提交时为 True,否则为 False。
  • response 是具有以下约定的序列化 JSON:

    • ChannelDefinitionId:GUID – 渠道定义 ID。
    • MessageId:字符串 –(可选)消息 ID。 或者,它可能存在于提供商的 API 响应中。
    • RequestId:字符串 – 请求 ID。 应等于请求有效负载内的请求 ID 值。
    • Status:字符串 – 可能的值是:
      • NotSent – 尝试执行向提供程序的提交,但被拒绝,无法重试。
      • Sent – 提交请求已被提供程序成功接受。

发送报告自定义 API

适用的渠道:短信、自定义

如果您的渠道支持消息发送报告或状态,您需要定义发送报告自定义 API。 提供程序将调用您的 API,它必须调用基本解决方案的 msdyn_D365ChannelsNotification API,这会将信息返回到 Dataverse。 这些信息可以在 Customer Insights - Journeys 分析中找到。

发送报告自定义 API 将调用 msdyn_D365ChannelsNotification API,并将约定作为一个输入参数:

  • notificationPayLoad 是具有以下约定的序列化 JSON:

    • ChannelDefinitionId:GUID – 渠道定义 ID。
    • RequestId:字符串 – 请求 ID。
    • MessageId:字符串 – 消息 ID。
    • From:字符串 – 发件人(渠道实例)。
    • OrganizationId:字符串 – 组织 ID。
    • Status:字符串 – 传送报表状态。 值可以为:
      • Delivered – 已成功将接受的消息发送到目标。
      • NotDelivered – 接受的消息未成功发送到目标。

入站自定义 API

适用的渠道:短信

如果您的渠道支持入站请求,您需要定义入站自定义 API。 提供程序将调用您的 API,它必须调用基本解决方案的 msdyn_D365ChannelsInbound API,这会将信息返回到 Dataverse。

入站自定义 API 将调用 msdyn_D365ChannelsInbound API,并将约定作为一个输入参数:

  • inboundPayLoad 是具有以下约定的序列化 JSON:

    • ChannelDefinitionId:GUID – 渠道定义 ID。
    • To:字符串 - C1 电话号码(渠道实例)。
    • From:字符串 - C2 用户联系点。
    • OrganizationId:字符串 – 组织 ID。
    • Message:字典 <字符串,字符串> - 包含一个渠道的所有消息部分。