Loading
整合程序中的外部物件

整合程序中的外部物件

「整合程序」支援 Salesforce 外部物件。外部資料可以來自任何可使用 REST 端點存取的來源。傳回的資料可呈現為 JSON 或 XML。

運作方式如下:

  • 在 Salesforce 中,您會針對 Vlocity 外部物件執行作業,例如透過 Apex 程式碼、報告或發出 SOQL 查詢。

  • Vlocity 外部物件處理常式會呼叫實作外部物件的「整合程序」,傳遞包含要求詳細資料的 JSON 裝載。

  • 「整合程序」會根據 JSON 裝載的內容,使用例如 REST 端點或 Omnistudio 資料對應器呼叫來存取外部資料,並傳回 JSON 或 XML 結果。

  • 「整合程序」會以中間式格式將其結果傳回至 Vlocity 外部物件處理常式。

  • Vlocity 處理常式會將結果轉換為 JSON 裝載,並將結果傳回給呼叫者。

下圖說明流程。

下文說明此圖。

此存取外部資料方法的優點是完全陳述性,不需要程式碼。請注意,當外部物件作為單一物件運作時,「整合程序」可以從多個來源中招募資料。

整合程序中的查詢處理邏輯

為了指出要針對整合程序要求的作業類型,Vlocity 處理常式會在輸入 JSON 中設定「內容」項目。若要定義處理整合程序中每種類型查詢的動作,請設定動作的「執行條件式公式」欄位 (例如:內容 = "QueryAll")。下列清單描述針對每個要求類型在「內容」節點中傳遞的值,以及傳送至整合程序的 SOQL 範例和對應 JSON 裝載。

QueryAll:SELECT 傳回所有資料列 (無 WHERE 子句)

範例查詢:SELECT ExternalId FROM myExternalObject;

對應的 JSON 輸入:{"Context":"QueryAll"}

查詢:SELECT with WHERE 子句

範例查詢:SELECT ExternalId FROM vlocity_dev__ContactsList__x WHERE ExternalId = '59f0f91a51280e0012c90584';

對應的 JSON 輸入:{"Input":[{"ExternalId":"59f0f91a51280e0012c90584"}],"Context":"Query"}

更新插入:更新列 (如果已指定 ExternalId) 或建立列 (如果已省略 ExternalId)。

範例查詢 (UPDATE):INSERT INTO myExternalObject (Name, Mobile...) VALUES ("Davidov Spruth", "415-607-9865"...)

對應的 JSON 輸入:{"Input":[{"Name":"Davidov Spruth","Mobile":"415-607-9865","CreateDate":"2017-10-25T20:50:34.188Z","Work":"415-232-6365","ExternalId":"59f0f91a51280e0012c90584","Email":"davs@gmail.com"}],"Context":"Upsert"}

刪除:刪除指定的列。

範例查詢:DELETE FROM myExternalObject WHERE ExternalId = '"'59f0f91a51280e0012c90584'"';

對應的 JSON 輸入:{"Input":[{"ExternalId":"59f0f91a51280e0012c90584"}],"Context":"Query"}

若要存取外部資料來處理查詢,請定義 HTTP 動作,以呼叫執行必要作業的 REST 端點。如果從端點傳回的結果需要進一步處理,請建立並呼叫「資料對應器轉換」,以執行必要轉換。

查詢結果格式

若要將「整合程序」中的結果傳回查詢,請依下列方式建構輸出 JSON:

SELECT 查詢:傳回名稱與為外部物件定義表格欄對應的節點陣列。例如:


[{
		"Work": "415-232-6365",
		"Mobile": "415-607-9865",
		"Email": "davs@gmail.com",
		"CreateDate": "2017-10-25T20:50:34.188Z",
		"Name": "Davidov Spruth",
		"ExternalId": "59f0f91a51280e0012c90584",
		"ExternalLookup": "59f0f91a51280e0012c90584",
		"AccountIndirectLookup": "123"
	},
	{
		"Email": "mw@gmail.com",
		"CreateDate": "2017-10-25T21:49:41.633Z",
		"Name": "Mike Wormwood",
		"ExternalId": "59f106f5e928870012f2b0a0",
		"ExternalLookup": "59f0f91a51280e0012c90584",
		"AccountIndirectLookup": "123"
	},
	{
		"Work": "33-555-1212",
		"Mobile": "33-879-0610",
		"CreateDate": "2017-10-25T20:59:18.657Z",
		"Name": "Tom Sor",
		"ExternalId": "59f0fb26e928870012f2b09e",
		"ExternalLookup": "59f0f91a51280e0012c90584",
		"AccountIndirectLookup": "123"
	}
]					
		

「更新」和「刪除」查詢:傳回名為「ExternalID」節點中受影響物件的外部識別碼,例如:


{
	"ExternalId": "59efa135ba8e960012a3e8a5"
}
	

如果查詢失敗,則會傳回名為「errorMessage」的節點,其中包含發生問題的相關詳細資料。

 
正在載入
Salesforce Help | Article