轮询作业状态

创建导入作业后,必须查询其状态。 最佳实践是每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