批量查询任务
你可以调用 创建一个批量查询任务 接口向 SHOPLINE 提交复杂的数据查询请求。由于该查询任务为异步任务,结果不会立即返回。任务执行时间取决于查询的复杂度。任务执行完毕后,系统会生成一份包含查询结果的 JSONL 格式的临时文件,文件有效期为 12 小时。
查询任务提交后,你可以调用 查询一个有效批量 任务 接口获取该任务的执行状态和结果文件 URL。通过该 URL 下载文件即可获取查询结果数据。
使用限制
批量查询操作有如下使用限制:
- 并发限制:批量查询任务按店铺维度串行执行。同一时刻,每个店铺只能拥有一个正在执行的批量查询任务。若当前已有任务执行中,SHOPLINE 将拒收该店铺的其他批量查询任务(无论是否来自同一应用),直至当前任务完成。
- 权限要求:应用必须拥有
write_bulkoperation和read_bulkoperation权限点。关于如何申请权限,参考 应用授权。 - 数据量限制:单次最多可查询 10,000 条数据记录。
- API 版本要求:须使用
v20220901或更高版本的 API 版本。
注意
若你的应用在批量查询任务完成后未及时调用 查询一个有效批量任务 接口获取查询结果,且在此期间该店铺的其他应用提交了新的批量查询任务,后续你的应用调用接口获取结果数据时将得到该新任务的执行结果。因此建议你在批量查询任务结束后及时调用 查询一个有效批量任务 拉取结果数据。
操作流程
按如下步骤进行批量查询操作:
- 提交任务:调用 创建一个批量查询任务 接口提交任务。
- 轮询状态:调用 查询一个有效批量任务 接口获取查询任务的状态和结果文件 URL。
- 获取结果:当任务执行完毕后,通过结果文件 URL 下载并解析 JSONL 文件,以获取查询结果并进行相应数据处理工作。
场景示例:导出全部商品数据
如果需要导出 SHOPLINE 店铺的全部商品数据用于离线分析,可采用如下步骤:
前提条件
确保你的应用已拥有 read_products、read_bulkoperation 和 write_bulkoperation 权限点。