Skip to main content

REST API集成

SFTP负责每日全量快照,REST API则用于白天的实时增量更新。本章覆盖Product Feed REST API的完整参考。

4.1 认证

所有API请求必须在 Authorization header中携带Bearer token:
API密钥在商家获得合作伙伴审批后由OpenAI分配。

4.2 必需的HTTP Header

每个API请求必须包含以下header: API版本: 当前使用 2025-09-12。版本号确保API行为的向前兼容性。 Timestamp格式: 必须使用RFC 3339格式,如 2026-04-11T08:30:00Z 或带时区偏移的格式。

4.3 Feeds端点

创建Feed

响应:

查询Feed

响应: 返回Feed对象,包含 idtarget_countryupdated_at

4.4 Products端点

列出商品

返回该Feed下的所有商品列表。

Upsert商品

PATCH语义: 使用upsert逻辑。商品按 id 匹配:
  • 如果ID已存在 — 更新该商品
  • 如果ID不存在 — 创建新商品
  • 未包含在请求中的商品 — 保持不变(不会被删除)
这与SFTP全量快照不同。API的PATCH不会删除未提及的商品,只影响请求中包含的商品。

4.5 Promotions端点

列出促销

Upsert促销

促销数据只能通过REST API提交,不支持SFTP文件上传。

4.6 错误处理

400错误示例:
404错误示例:

4.7 幂等性

通过 Idempotency-Key header实现请求幂等性。同一个key的重复请求不会产生副作用。
使用建议:
  • 为每个逻辑批次生成唯一的key
  • 网络超时后可安全重试同一个key
  • key通常由业务标识 + 时间戳组合而成
  • 不同批次必须使用不同的key

4.8 最佳实践

小批量验证优先

在全量自动化之前,先用约100条商品进行小批量测试:

API与SFTP的配合

Header检查清单

每次API调用前确认以下header完整:

下一章: 第5章:促销数据管理 — Promotion对象规范、折扣类型、生效周期