定義自訂 API
出站自訂 API
適用的管道:SMS、自訂
在 Dynamics 365 Customer Insights - Journeys 中建立自訂管道時,您必須定義要在旅程執行階段期間呼叫的輸出自訂 API。 自訂 API 是執行自訂程式碼的進入點。 這會呼叫提供者的 API,並且必須接受 Customer Insights - Journeys 旅程所定義的合約,並傳回回覆。 輸出自訂 API 將會指派給管道定義步驟中的 msdyn_outboundendpointurltemplate 屬性。
輸出自訂 API 應執行的合約必須要有一個輸入參數 (負載) 和一個輸出屬性 (回應)。
負載是使用下列合約的系列化 JSON:
- ChannelDefinitionId:GUID – 頻道定義識別碼。
- RequestId:字串 – 要求識別碼。
- 寄件人:字串 – 寄件者 (管道執行個體)
- 收件者:字串 – 收件者。
-
訊息:字典 <字串、字串> - 包含管道所有訊息組成部分。 索引鍵是訊息組成部分名稱,例如對應
msdyn_name
屬性的值。 -
MarketingAppCoNtext:物件 - 表示提交內容的物件。 只有從 Customer Insights - Journeys 應用程式執行提交時,才能使用此物件。 該物件包含下列欄位:
- CustomerJourneyId:字串 - 發起呼叫之客戶旅程的識別碼。 從測試傳送要求提交時為 Null。
- UserId: GUID - 接收訊息之使用者的識別碼。 從測試傳送要求提交時為 Null。
- UserEntityType:字串 - 表示接收訊息之使用者的實體類型。 從測試傳送要求提交時為 Null。
- IsTestSend:布林值 - 從測試傳送開始進行提交時為 True,否則為 False。
回覆是使用下列合約的系列化 JSON:
- ChannelDefinitionId:GUID – 頻道定義識別碼。
- MessageId:字串 – (選用) 訊息識別碼。 選用;這可能存在於提供者的 API 回應中。
- RequestId:字串 – 要求識別碼。 必須等於要求承載中的要求識別碼值。
-
狀態:字串 – 可能的值為:
- NotSent – 已嘗試執行提交給提供者,但被拒絕,無法再試一次。
- Sent – 提供者成功接受了提交要求。
傳遞報告自訂 API
適用的管道:SMS、自訂
如果您的管道支援訊息傳遞回報或狀態,則必須定義傳遞回報自訂 API。 您的 API 是由提供者所呼叫,此提供者必須呼叫基礎解決方案的 msdyn_D365ChannelsNotification API,這會將資訊傳回至 Dataverse。 此資訊可用於 Customer Insights - Journeys 分析。
傳遞回報自訂 API 以連絡人做為一個輸入參數來呼叫 msdyn_D365ChannelsNotification API:
notificationPayLoad 是使用下列合約的序列化 JSON:
- ChannelDefinitionId:GUID – 頻道定義識別碼。
- RequestId:字串 – 要求識別碼。
- MessageId:字串 – 訊息識別碼。
- 寄件人:字串 – 寄件者 (管道執行個體)
- OrganizationId:字串 – 組織識別碼。
-
狀態:字串 – 傳遞報告狀態。 可能的值是:
- Delivered – 接受的訊息已成功傳送至目標。
- NotDelivered – 接受的訊息未成功傳送至目標。
入站自訂 API
適用的管道:SMS
如果您的管道支援傳入要求,則您必須定義輸入自訂 API。 您的 API 是由提供者所呼叫,此提供者必須呼叫基礎解決方案的 msdyn_D365ChannelsInbound API,這會將資訊傳回至 Dataverse。
輸入自訂 API 以連絡人做為一個輸入參數來呼叫 msdyn_D365ChannelsInbound API:
inboundPayLoad 是具有下列合約的序列化 JSON:
- ChannelDefinitionId:GUID – 頻道定義識別碼。
- 收件者:字串 - C1 電話號碼 (管道執行個體)。
- 寄件者:字串 - C2 使用者接觸點。
- OrganizationId:字串 – 組織識別碼。
- 訊息:字典 <字串、字串> - 包含管道所有訊息組成部分。