大量潛在客戶匯入

大量潛在客戶匯入端點參考

使用大量API以非同步方式匯入大量潛在客戶記錄。 以逗號、定位字元或分號分隔的平面檔案提供小於10 MB的記錄。

大量潛在客戶匯入僅支援「插入或更新」記錄作業。

處理限制

每個大量匯入請求都會新增為先進先出(FIFO)佇列的工作。 下列限制適用:

  • 最多可同時處理兩個工作。
  • 佇列中最多可有10個工作,包括正在處理的兩個工作。

如果您超過10個作業的上限,API會傳回1016, Too many imports錯誤。

匯入檔案

檔案的第一列必須是標頭,該標頭會列出每列對應值的REST API欄位。 典型的檔案會遵循以下模式:

email,firstName,lastName
test@example.com,John,Doe

使用externalCompanyId將潛在客戶記錄連結至公司記錄。 使用externalSalesPersonId將潛在客戶記錄連結至銷售人員記錄。

使用multipart/form-data內容型別傳送要求。 使用現有的程式庫實作來建構多部分要求。

建立工作

若要建立大量匯入工作,請將內容型別設定為multipart/form-data並包含這些引數:

  • file:匯入檔案內容。
  • format:檔案格式。 有效值為csvtsvssv
POST /bulk/v1/leads.json?format=csv
Content-Type: multipart/form-data; boundary=------WebKitFormBoundaryBQACkJZyaiIAXogC
Content-Length: 311
Host: <munchkinId>.mktorest.com
------WebKitFormBoundaryBQACkJZyaiIAXogC
Content-Disposition: form-data; name="file"; filename="leads.csv"
Content-Type: text/csv

firstName,lastName,email,company
Able,Baker,ablebaker@marketo.com,Marketo
Charlie,Dog,charliedog@marketo.com,Marketo
Easy,Fox,easyfox@marketo.com,Marketo
------WebKitFormBoundaryBQACkJZyaiIAXogC--
{
    "requestId": "d01f#15d672f8560",
    "result": [
        {
            "batchId": 3404,
            "importId": "3404",
            "status": "Queued"
        }
    ],
    "success": true
}

此端點使用multipart/form-data做為content-type。 使用您偏好語言的HTTP支援程式庫來正確建構要求。 以下範例使用命令列中的cURL:

curl -i -F format=csv -F file=@lead_data.csv -F access_token=<Access Token> <REST API Endpoint Base URL>/bulk/v1/leads.json

在此範例中,lead_data.csv匯入檔案包含下列資料:

firstName,lastName,email,company
Able,Baker,ablebaker@marketo.com,Marketo
Charlie,Dog,charliedog@marketo.com,Marketo
Easy,Fox,easyfox@marketo.com,Marketo

您也可以包含下列選用引數:

  • lookupField:選取用於重複資料刪除的欄位,並預設為email。 指定id以執行「僅更新」作業。
  • listId:選取靜態清單。 除了匯入所建立或更新的任何記錄外,匯入的潛在客戶也會成為此清單的成員。
  • partitionName:選取要匯入的分割區。 如需詳細資訊,請參閱工作區和分割區區段。

由於API為非同步,因此回應包含batchIdstatus欄位,而非個別的成功和失敗。 狀態可以是QueuedImportingFailed

保留batchId以檢查工作狀態,並在完成後擷取失敗或警告。 batchId的有效期限為七天。

輪詢工作狀態

根據延遲需求和API呼叫限制,使用「取得匯入銷售機會狀態API」每5-30秒輪詢一次作業。

GET /bulk/v1/leads/batch/{id}.json
{
   "requestId":"8136#146daebc2ed",
   "success":true,
   "result":[
      {
         "batchId":1022,
         "status":"Complete",
         "numOfLeadsProcessed":2,
         "numOfRowsFailed":1,
         "numOfRowsWithWarning":0,
         "message":"Import completed with errors, 2 records imported (2 members), 1 failed"
      }
   ]
}

此回應會顯示已完成的匯入。 狀態可以是下列其中一個值:

  • 完成
  • 已排入佇列
  • 正在匯入
  • 失敗

當工作完成時,回應會列出已處理、失敗和已處理但出現警告的列數。 當狀態為Failed時,message引數也可以提供失敗訊息。

失敗

Get Import Lead Status回應中的numOfRowsFailed屬性表示失敗的資料列數目。 值大於零表示發生失敗。

若要擷取失敗的記錄及其原因,請要求失敗檔案:

GET /bulk/v1/leads/batch/{id}/failures.json

此API會傳回一個檔案,用於識別每個失敗的列,並說明記錄失敗的原因。 檔案在建立工作期間使用format引數指定的格式。 每個記錄上的額外欄位說明了失敗。

警告

Get Import Lead Status回應中的numOfRowsWithWarning屬性指出有警告的列數。 大於零的值表示發生警告。

若要擷取受影響的記錄及其原因,請要求警告檔案:

GET /bulk/v1/leads/batch/{id}/warnings.json

此API會傳回一個檔案,用於識別含有警告的每一列,並解釋警告發生的原因。 檔案在建立工作期間使用format引數指定的格式。 每個記錄上的額外欄位會說明警告。

recommendation-more-help
marketo-developer-help