当前位置: 首页 > 知识库问答 >
问题:

Shopify Graphql获取订单列表

田易安
2023-03-14

如何从shopify Graphql api获取订单列表?我甚至不知道如何得到一个订单。我能说的最近的一点是,我的查询应该是这样的:

query{
    node(id:$id){
    __typename
    ... on Order{
      id
        email
    }
  }
}

根据文档,其中,$id是“具有支持全局标识的id的对象”,但不清楚这意味着什么。对于产品,您可以像这样检索id:

shop {
    productByHandle(handle: "red-bicycle") {
      id
    }
  }

然后返回一个散列,如下所示:

Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzk4OTUyODE0NzU=

然后,您可以使用如下节点界面查询产品:

node(id: "Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0Lzk4OTUyODE0NzU=") {
    id
    ... on Product {
      title
    }
  } 

但是订单是如何完成的呢?查看最近5个订单的列表?为什么必须使用节点接口?为什么不只是通过句柄、ID或其他方式进行查询,而不是使用哈希?


共有1个答案

宰父飞白
2023-03-14

您可以使用此查询获取用户订单列表

let query = Storefront.buildQuery { $0
            .customer(customerAccessToken: token) { $0
                .orders(first: 20) { $0
                    .edges { $0
                        .node { $0
                            .id()
                            .orderNumber()
                            .totalPrice()
                            .currencyCode()
                            .customerLocale()
                            .customerUrl()
                            .email()
                            .phone()
                            .processedAt()
                            .subtotalPrice()
                            .totalRefunded()
                            .totalShippingPrice()
                            .totalTax()
                            .shippingAddress( { $0
                                .address1()
                                .address2()
                                .city()
                                .company()
                                .country()
                                .countryCode()
                                .firstName()
                                .formatted()
                                .formattedArea()
                                .lastName()
                                .latitude()
                                .longitude()
                                .name()
                                .phone()
                                .province()
                                .provinceCode()
                                .zip()
                            })
                            .lineItems(first: 50) { $0
                                .edges { $0
                                    .cursor()
                                    .node { $0
                                        .quantity()
                                        .title()
                                        .variant{ $0
                                            .id()
                                            .image({ $0
                                                .altText()
                                                .id()
                                                .src()
                                            })
                                            .price()
                                            .sku()
                                        }
                                        .customAttributes{ $0
                                            .key()
                                            .value()
                                        }

                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

这个查询在iOS中返回用户的订单列表,希望它对您有用。

 类似资料:
  • 说明 用于获取平台商城订单 请求地址 http://api.dc78.cn/Api/mall_list_order 请求方式 GET 请求参数 GET参数 描述 new=1 ,设置为1获取新订单(状态为0,1),如不设置则返回全部订单 size=30,一次分页的数量,默认30 page=1,获取分页的页码 POST数据 描述 无 返回 { "data": { "count": "35", "siz

  • 说明 此协议采用定时轮询的方式获取最新订单,请将定时设定在5~10秒,请不要设定太短的轮询间隔。 注意:已确认的订单超过一定的时间未被接口处理,会自动取消确认,状态回到0,列表中将不会返回(未支付订单超过20分钟,已支付订单超过120分钟) 本协议已合并到协议6.1,建议不再使用 请求地址 http://api.dc78.cn/Api/do_get_list 请求方式 GET 请求参数 invoi

  • 说明 此消息用于返回预订订单列表 请求地址 http://api.dc78.cn/Api/bk_list 请求方式 GET 请求参数 date=20150817,查询日期,使用yyyyMMdd格式,日期月份保持两位 如果不传或为空,则返回所有当天及以后的预订 返回 { "status": 1, "list": [ { "id": "4610", "time": "2015-08-18 09:51:

  • 用于批量获取指定日期预订单列表 请求参数说明 参数 描述 必填 示例值 类型 最大长度 action 接口参数组 是 object └action 需要调用的接口名称 是 bk_list string get GET参数组,本组参数需要参与签名 是 object └date 日期 是 20190821 number 请求示例 { "action": { "action": "bk_list"

  • 一切工作正常(动作得到调用,UI渲染正确,等等...)。除了当我试图获取所选对象时,我一直得到NullPointerExcema(即使我用setProperty tyActionListener设置它)...我如何实际得到我在orderList上点击的行。我做了一个转换器,但仍然没有带我去哪里。 我使用webflow来处理动作(xml)。

  • 说明 本协议已合并到协议6.1,建议不再使用 此消息用于返回新预订订单列表 请求地址 http://api.dc78.cn/Api/bk_newlist 请求方式 GET 请求参数 返回 { "status": 1, "list": [ { "id": "4610", "time": "2015-08-18 09:51:08", "date": "2015-08-18", "shift": "12