批量变更任务
你可以调用 创建一个批量变更任务 接口向 SHOPLINE 提交复杂的数据变更请求。一个批量变更任务中只能使用一种 HTTP 方法,如 POST、PUT、PATCH 和 DELETE。由于该变更任务是异步任务,结果不会立刻返回。任务执行时间取决于变更的复杂度。任务执行完毕后,系统会生成一份包含变更结果的 JSONL 格式临时文件,文件有效期为 12 小时。
变更 任务提交后,你可以调用 查询一个有效批量任务 接口获取批量变更任务的执行状态和结果文件 URL。通过该 URL 下载文件即可获取变更结果数据。
使用限制
批量变更操作有如下使用限制:
- 并发限制:批量变更任务按店铺维度串行执行。同一时刻,每个店铺只能拥有一个正在执行的批量变更任务。若当前已有任务执行中,SHOPLINE 将拒收该店铺的其他批量变更任务(无论是否来自同一应用),直至当前任务完成。
- 权限要求:应用必须拥有
write_bulkoperation和read_bulkoperation权限点。关于如何申请权限,参考 应用授权。 - 文件限制:请求参数
file_url中传入的 URL 对应的文件不能超过 10 MB。该文件须为 JSONL 格式且文件内的数据行数不能超过 10,000 行。 - API 版本要求:须使用
v20220901或更高版本的 API 版本。
注意
若你的应用在批量变更任务完成后未及时调用 查询一个有效批量任务 接口获取变更结果,且在此期间该店铺的其他应用提交了新的批量变更任务,后续你的应用调用接口获取结果数据时将得到该新任务的执行结果。因此建议你在批量变更任务结束后及时调用 查询一个有效批量任务 拉取结果数据。
操作流程
按如下步骤进行批量变更操作:
- 文件准备:准备好需要使用的变更文件。
- 提交任务:使用准备好的变更文件调用 创建一个批量变更任务 接口提交任务。
- 轮询状态:调用 查询一个有效批量任务 接口获取变更任务的状态和结果文件 URL。
- 获取结果:当任务执行完毕后,通过结果文件 URL 下载并解析 JSONL 文件,以获取变更结果并进行相应数据处理工作。若任务被中断,则返回的结果文件不完整,你需要解析该结果的最后一行的行号并重新提交 创建一个批量变更任务。