为什么按日期和限制从 Shopify 商店获取订单总是返回最新日期的订单?比如:如果我使用此查询查询从 2012 年 8 月 1 日起获得 5 个订单:
/admin/orders.json?status=open&created_at_min=2012-08-01 12:00&limit=5
因为我在 2012 年 8 月 20 日有 5 个订单,在 2012 年 8 月 31 日有 5 个订单,但这将返回 5 个最新日期(2012 年 8 月 31 日)的订单。
Shopify API 从最近到最旧的顺序返回订单。
当您提交查询时,Shopify 将首先创建一个包含十个订单的数组;前五个是从 8 月 31 日开始,后五个是从 8 月 20 日开始。
然后,通过将其限制为五个订单,Shopify 为您提供前五个订单。
据我所知,无法在 Shopify API 中指定您自己的排序顺序。您需要获取所有订单,created_at_min= 2012-08-01
然后使用您编写的任何语言,获取数组中的最后 5 个项目。
它没有记录,但您可以通过添加:order=processed_at+asc
到您的查询来做到这一点。
Shopify API 专门针对 EST/EDT 时间工作。所以首先将您的时区时间转换为 EDT,这样您就可以根据 EDT 时区标记确切的时间。
让我们理解这个例子:目前,我在 JST(东京/亚洲)时区,现在我想根据日本时间从订单 API 中获取 2021-10-20 的记录。所以我需要做这种请求参数:
接口:
orders.json?status=any&limit=250
根据日期 2021-10-20 (JST) 的有效参数
如果要求是 updated_at 日期
&updated_at_min=2021-10-19T11:00:00-04:00&updated_at_max=2021-10-20T11:00:00-04:00
对于 created_at 日期
&created_at_min=2021-10-19T11:00:00-04:00&created_at_max=2021-10-20T11:00:00-04:00
在这里,我们实际上已将 JST (+09:00) 格式的日期转换为 EST(-04:00) 以确保我从 API 获取的数据应该仅适用于 2021-10-20 日期(从 2021 年 10 月 20 日 00:00:00 到 2021 年 10 月 21 日 00:00:00 [JST])。
同样,您可以根据您的时区创建日期 (EDT) 格式。
两个日期之间
/admin/orders.json?created_at_min=2012-08-01 12:00&limit=2012-08-01 12:00