轮询作业状态
创建导入作业后,必须查询其状态。 最佳实践是每5-30秒轮询一次导入作业。 为此,请将batchId
路径参数传递到获取导入程序成员状态终结点。
GET /bulk/v1/program/members/import/{batchId}/status.json
{
"requestId": "e0cb#16f87f8b177",
"result": [
{
"batchId": 1040,
"importId": "1040",
"status": "Complete",
"numOfLeadsProcessed": 8,
"numOfRowsFailed": 0,
"numOfRowsWithWarning": 0,
"message": "Import succeeded, 8 records imported (8 members)"
}
],
"success": true
}
此响应显示已完成的导入。 状态可以是:“完成”、“已排队”、“导入”、“失败”之一。
如果作业已完成,则会列出已处理、失败或出现警告的行数。 如果状态为“失败”,则消息参数可能也会给出失败消息。
故障
获取导入程序成员状态响应中的numOfRowsFailed
属性指示失败。 如果numOfRowsFailed大于零,则该值表示发生的失败次数。
使用获取导入程序成员失败终结点通过传递batchId
路径参数来检索记录以及失败行的原因。
GET /bulk/v1/program/members/import/{batchId}/failures.json
终结点以一个文件作出响应,该文件指示哪些行失败,同时显示一条消息,指示记录失败的原因。 文件格式与作业创建期间在format
参数中指定的格式相同。 附加字段将附加到每个记录中并包含失败描述。
例如,假设您导入的以下文件具有无效商机分数:
firstName,lastName,email,title,company,leadScore
Aerys,Targaryen,Aerys@Targaryen.com,Targaryen,House Targaryen,TEXT_VALUE_IN_INTEGER_FIELD
当您检查作业状态时,您看到numOfRowsFailed
为1,这表示发生了故障:
GET /bulk/v1/program/members/import/{batchId}/status.json
{
"requestId": "4c2d#16f8b32c8ef",
"result": [
{
"batchId": 1046,
"importId": "1046",
"status": "Complete",
"numOfLeadsProcessed": 0,
"numOfRowsFailed": 1,
"numOfRowsWithWarning": 0,
"message": "Import completed with errors, 0 records imported (0 members), 1 failed"
}
],
"success": true
}
然后,检索故障文件以获取有关故障的其他详细信息:
GET /bulk/v1/program/members/import/{batchId}/failures.json
firstName,lastName,email,title,company,leadScore,Import Failure Reason
Aerys,Targaryen,Aerys@Targaryen.com,Targaryen,House Targaryen,TEXT_VALUE_IN_INTEGER_FIELD,Invalid data type in field Lead Score