You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shopify REST分页API获取订单第二页报400错误求助

解决Shopify REST分页API携带page_info时的400错误

这个问题我之前帮开发者排查过,原因其实很明确——Shopify基于page_info的游标分页机制有个严格规则:一旦用游标(page_info)请求后续页面,就不能再传入任何会改变数据集过滤条件的参数,比如你这里的status=any。

为什么会触发这个错误?

Shopify的page_info参数本身已经包含了当前游标对应的数据集上下文(比如你初始请求的过滤条件、排序规则等),如果后续分页请求额外添加或修改过滤参数,会导致Shopify无法正确定位下一页的数据集范围,所以直接返回400 Bad Request提示参数冲突。

修正后的请求步骤

  1. 第一页请求(保留所有过滤参数)
    发起初始请求时,把所有需要的过滤、限制参数都带上,比如你需要的status=any和limit=200:

    GET https://the-commerce-shop-1.myshopify.com/admin/api/2020-01/orders.json?limit=200&status=any
    

    这时候Shopify会返回包含next_page_info的响应(通常在响应头的Link字段里),你提取这个值作为下一页的page_info参数。

  2. 第二页及后续请求(移除过滤参数)
    请求后续页面时,只保留limit(如果和初始请求一致也可以省略,但建议保持统一)和page_info参数,必须移除status这类过滤参数:

    GET https://the-commerce-shop-1.myshopify.com/admin/api/2020-01/orders.json?limit=200&page_info=eyJzdGF0dXMiOiJhbnkiLCJsYXN0X2lkIjoxODY4Njk3NjY1NTkxLCJsYXN0X3ZhbHVlIjoiMjAxOS0xMS0yNSAwOTozNjo1OSIsImRpcmVjdGlvbiI6Im5leHQifQ
    

额外提醒

Shopify的游标分页设计就是为了保证分页连贯性,所有影响数据集范围的条件(比如status、时间范围、排序规则等)都必须在初始请求时确定,后续分页请求不能修改这些条件,否则都会触发类似的参数冲突错误。

内容的提问来源于stack exchange,提问作者Sriramulu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 08:17:26