
本文详细介绍如何使用 Shopware Admin API 的 /api/search/order 接口,结合 range 类型过滤器精准查询过去 N 小时内创建的订单,并提供可直接运行的请求示例、时间格式规范及关键注意事项。
本文详细介绍如何使用 shopware admin api 的 `/api/search/order` 接口,结合 `range` 类型过滤器精准查询过去 n 小时内创建的订单,并提供可直接运行的请求示例、时间格式规范及关键注意事项。
Shopware Admin API 不支持直接传入“过去 6 小时”这类相对时间表达式,但可通过标准 ISO 8601 时间戳配合 range 过滤器实现精确时间范围查询。核心在于构造符合要求的 JSON 请求体,并向 POST /api/search/order 发送带认证的搜索请求。
✅ 正确的请求结构示例(获取过去 24 小时订单)
curl -X POST 'https://your-shop.com/api/search/order' \
-H 'Authorization: Bearer <your-admin-api-token>' \
-H 'Content-Type: application/json' \
-d '{
"filter": [
{
"type": "range",
"field": "createdAt",
"parameters": {
"gte": "2024-06-10T08:30:00.000+00:00",
"lte": "2024-06-11T08:30:00.000+00:00"
}
}
],
"limit": 100
}'</your-admin-api-token>
⚠️ 注意:gte(greater than or equal)和 lte(less than or equal)需同时设置,才能限定闭区间时间范围;仅设 lte(如原始答案所示)将返回所有早于该时间的订单,而非“最近 X 小时”。
? 时间格式规范
- 必须使用 ISO 8601 格式:YYYY-MM-DDTHH:mm:ss.SSS±HH:mm(推荐 UTC 时区,如 +00:00)
- 毫秒部分(.SSS)可选,但建议保留以确保精度
- 动态生成建议:在代码中使用当前时间减去所需小时数(例如 Python 中 datetime.utcnow() - timedelta(hours=6)),再格式化为字符串
? 认证与权限
- 请求头必须携带有效的 Admin API Bearer Token(通过 OAuth2 获取)
- 对应的 Admin API 用户需具备 order:read 权限,否则返回 403 Forbidden
? 实用技巧
- 若需分页,请在请求中添加 "limit" 和 "page" 字段(默认 limit=100)
- 可叠加其他过滤条件(如 "type": "equals", "field": "stateMachineState.technicalName", "value": "ordered")进一步筛选订单状态
- 建议对 createdAt 字段建立数据库索引(Shopware 默认已优化),保障大数据量下查询性能
掌握此方法后,即可灵活构建定时同步任务、运营报表或实时监控看板,高效对接 Shopware 订单数据生态。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











