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

如何用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:控制单次查询返回的订单数量,上限为100
  • sortKey: 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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 16:53:14