大量潛在客戶擷取
REST API的「大量銷售機會擷取」集提供程式設計介面,可從Marketo擷取大量銷售機會/人員記錄。 此外,它可用於根據記錄的建立日期、最近更新、靜態清單成員資格或智慧清單成員資格,以增量方式擷取潛在客戶。 使用案例的建議介面,此介面需要在Marketo和一個或多個外部系統之間持續交換資料,用於ETL、資料倉儲和封存目的。
權限
「大量銷售機會擷取API」要求擁有的API使用者必須具備一個或兩個唯讀銷售機會或讀寫銷售機會許可權的角色。
篩選器
潛在客戶支援各種篩選器選項。 某些篩選器(包括updatedAt、smartListName和smartListId)需要額外的基礎結構元件,這些元件尚未推出至所有訂閱。 每個匯出作業只能指定一個篩選器型別。
startAt和endAt的JSON物件。 startAt接受代表低浮水印的日期時間,而endAt接受代表高浮水印的日期時間。 範圍必須為31天或更少。 日期時間應採用ISO-8601格式,不含毫秒。 具有此篩選型別的工作會傳回在日期範圍內建立的所有可存取記錄。startAt和endAt的JSON物件。 startAt接受代表低浮水印的日期時間,而endAt接受代表高浮水印的日期時間。 範圍必須為31天或更少。 日期時間應採用ISO-8601格式,不含毫秒。 注意:此篩選器不會篩選可見的「updatedAt」欄位,這僅反映標準欄位的更新。 它會根據上次對潛在客戶記錄進行欄位更新的時間進行篩選。具有此篩選型別的工作會傳回日期範圍內最近更新的所有可存取記錄。部分訂閱無法使用篩選器型別。 如果您的訂閱無法使用,您在呼叫「建立匯出潛在客戶工作」端點時會收到錯誤(「1035,目標訂閱不受支援的篩選器型別」)。 客戶可以聯絡Marketo支援,以便在他們的訂閱中啟用此功能。
選項
「建立匯出潛在客戶工作」端點提供數個格式選項,讓使用者能在匯出的檔案中包含特定欄位、重新命名這些欄位的欄標題,以及匯出的檔案格式。
建立工作
使用建立匯出潛在客戶工作端點開始匯出之前,會定義工作的引數。 我們必須定義匯出所需的fields、filter的引數型別、檔案的format以及欄標題名稱(若有的話)。
POST /bulk/v1/leads/export/create.json
{
"fields": [
"firstName",
"lastName",
"id",
"email"
],
"format": "CSV",
"columnHeaderNames": {
"firstName": "First Name",
"lastName": "Last Name",
"id": "Marketo Id",
"email": "Email Address"
},
"filter": {
"createdAt": {
"startAt": "2017-01-01T00:00:00Z",
"`endAt`": "2017-01-31T00:00:00Z"
}
}
}
此請求將開始匯出在2017年1月1日至2017年1月31日期間建立的一組銷售機會,包括來自對應firstName、lastName、id和email欄位的值。
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"exportId": "ce45a7a1-f19d-4ce2-882c-a3c795940a7d",
"status": "Created",
"createdAt": "2017-01-21T11:47:30-08:00",
"queuedAt": "2017-01-21T11:48:30-08:00",
"format": "CSV"
}
]
}
這會傳回狀態回應,指出工作已建立。 工作已定義並建立,但尚未開始。 若要這麼做,必須使用建立狀態回應中的exportId來呼叫Enqueue Export Lead Job端點:
POST /bulk/v1/leads/export/{exportId}/enqueue.json
{
"requestId": "147e4#16b24d9b913",
"result": [
{
"exportId": "fad2cd1b-e822-4025-be1e-9caa9cf1d4b8",
"format": "CSV",
"status": "Queued",
"createdAt": "2019-06-04T23:35:43Z",
"queuedAt": "2019-06-04T23:36:17Z"
}
],
"success": true
}
此回應會顯示status個「已排入佇列」,之後在有可用的匯出位置時,會將其設為「正在處理」。
輪詢工作狀態
只能為同一API使用者建立的作業擷取Note:狀態。
由於這是非同步端點,在建立作業後,我們必須輪詢其狀態以判斷其進度。 使用取得匯出潛在客戶工作狀態端點進行輪詢。 狀態只會每60秒更新一次,因此不建議使用低於此值的輪詢頻率,並且在幾乎所有情況下仍然會太高。 讓我們來快速瞭解輪詢。
GET /bulk/v1/leads/export/{exportId}/status.json
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"exportId": "ce45a7a1-f19d-4ce2-882c-a3c795940a7d",
"status": "Processing",
"createdAt": "2017-01-21T11:47:30-08:00",
"queuedAt": "2017-01-21T11:48:30-08:00",
"format": "CSV"
}
]
}
狀態端點回應指出工作仍在處理中,因此檔案尚不可擷取。 工作狀態變更為「已完成」後,即可開始下載。
狀態列位可能會以下列任一專案回應:
- 建立日期
- 已排入佇列
- 處理中
- 已取消
- 已完成
- 失敗
正在擷取您的資料
若要擷取已完成潛在客戶匯出的檔案,只要使用您的呼叫取得匯出潛在客戶檔案exportId端點即可。
GET /bulk/v1/leads/export/{exportId}/file.json
回應包含以設定作業方式格式化的檔案。 端點會以檔案內容回應。
如果請求的潛在客戶欄位為空(不包含任何資料),則null會放置在匯出檔案中的對應欄位中。 在以下範例中,傳回潛在客戶的電子郵件欄位為空白。
firstName,lastName,email,cookies
Russell,Wilson,null,_mch-localhost-1536605780000-12105
為了支援擷取資料的部份擷取和便於恢復擷取,檔案端點可選擇性地支援型別位元組的HTTP標頭範圍。 如果未設定標頭,則會傳回整個內容。 深入瞭解如何搭配Marketo 大量擷取使用Range標頭。
取消工作
如果工作設定錯誤或變得不必要,可以使用取消匯出潛在客戶工作端點輕鬆取消工作:
POST /bulk/v1/leads/export/{exportId}/cancel.json
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"exportId": "ce45a7a1-f19d-4ce2-882c-a3c795940a7d",
"status": "Cancelled",
"createdAt": "2017-01-21T11:47:30-08:00",
"format": "CSV"
}
]
}
此回應會以指出工作已取消的狀態回應。