如何用GraphQL拉取特定订单ID之后的所有订单数据?
Shopify GraphQL 获取特定订单ID之后的订单数据
在Shopify GraphQL中,你可以使用orders查询的**idGreaterThan**过滤器来实现REST API里since_id的功能,直接指定你最后加载的订单ID,就能拉取所有ID比它大的订单。
基础查询代码片段
query GetOrdersAfterSpecificId($lastLoadedOrderId: ID!) { orders( first: 50, # 可调整每页获取的订单数量,最大支持100 filter: { idGreaterThan: $lastLoadedOrderId }, sortKey: ID, # 按ID升序排序,保证返回顺序符合预期 reverse: false ) { edges { node { id name createdAt totalPrice # 按需添加你需要的其他订单字段,比如客户信息、商品列表等 } } pageInfo { hasNextPage endCursor } } }
参数说明
$lastLoadedOrderId:传入你从数据库中获取的最后加载订单ID(注意Shopify的订单ID是Base64编码格式,示例:gid://shopify/Order/123456789)first:控制单次查询返回的订单数量,上限为100sortKey: ID:配合idGreaterThan使用,确保返回的订单是按ID递增的顺序pageInfo:用于分页判断,如果hasNextPage为true,可以使用endCursor作为after参数继续查询下一页
分页查询示例(批量获取更多订单)
如果需要分页拉取后续数据,可结合上一次查询返回的endCursor使用after参数:
query GetOrdersAfterCursor($lastLoadedOrderId: ID!, $endCursor: String!) { orders( first: 50, after: $endCursor, filter: { idGreaterThan: $lastLoadedOrderId }, sortKey: ID, reverse: false ) { edges { node { id name createdAt totalPrice } } pageInfo { hasNextPage endCursor } } }
内容的提问来源于stack exchange,提问作者epipko
相关产品推荐
相关产品推荐

