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

如何通过Magento 2 REST API正确获取指定日期范围的已完成订单

完善Magento 2 REST API订单筛选请求(含日期范围)

没问题,我来帮你搞定这个日期范围筛选的问题!你之前的请求已经正确筛选了已完成状态的订单,现在只需要在同一个filterGroup里添加两个日期相关的筛选条件就行——因为Magento的searchCriteria规则是:

  • 同一个filterGroup下的多个筛选条件是AND关系(必须同时满足)
  • 不同filterGroup之间是OR关系(满足任一即可)

完整的请求URL示例

/rest/V1/orders?searchCriteria[filterGroups][0][filters][0][field]=status&searchCriteria[filterGroups][0][filters][0][value]=Complete&searchCriteria[filterGroups][0][filters][0][conditionType]=eq&searchCriteria[filterGroups][0][filters][1][field]=created_at&searchCriteria[filterGroups][0][filters][1][value]=2024-01-01 00:00:00&searchCriteria[filterGroups][0][filters][1][conditionType]=gteq&searchCriteria[filterGroups][0][filters][2][field]=created_at&searchCriteria[filterGroups][0][filters][2][value]=2024-01-31 23:59:59&searchCriteria[filterGroups][0][filters][2][conditionType]=lteq

关键部分解释

我把新增的日期筛选逻辑拆解开给你看,这样你就不会再困惑索引问题了:

  • 第一个筛选条件(原有的):
    searchCriteria[filterGroups][0][filters][0]:指定订单状态为Complete,匹配方式是精确等于(eq)
  • 第二个筛选条件(日期起始):
    searchCriteria[filterGroups][0][filters][1]:用created_at字段(你也可以换成updated_at),匹配大于等于指定起始日期(gteq),日期格式要符合Magento要求:YYYY-MM-DD HH:MM:SS或YYYY-MM-DD
  • 第三个筛选条件(日期结束):
    searchCriteria[filterGroups][0][filters][2]:同样用created_at字段,匹配小于等于指定结束日期(lteq)

额外提示

  • 如果订单数量较多,建议加上分页参数避免返回数据过大:&searchCriteria[pageSize]=20&searchCriteria[currentPage]=1(每页20条,取第一页)
  • 日期值如果包含空格,记得在URL中编码成%20,比如2024-01-01%2000:00:00,有些HTTP客户端会自动帮你处理这个

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 10:01:00