订单管理
4.1 能力标识
订单管理的命名空间为dev.ucp.shopping.order。它覆盖了从结账完成到最终交付(或退货退款)的完整售后生命周期。
4.2 行项目状态 (Line Item Status)
UCP的订单管理是行项目级别的,每个商品有独立的状态追踪。这支持部分发货、部分退款等复杂场景:| 状态 | 含义 | 说明 |
|---|---|---|
processing | 处理中 | 订单已确认,正在备货/等待发货 |
partial | 部分履约 | 行项目中的部分数量已发货(如订购3件,已发2件) |
fulfilled | 已履约 | 全部数量已交付 |
removed | 已移除 | 该行项目已从订单中移除(取消或退货完成) |
4.3 履约事件 (Fulfillment Events)
UCP定义了标准化的履约事件类型,覆盖从发货到交付的全部物流节点:| 事件类型 | 含义 |
|---|---|
processing | 正在处理/备货 |
shipped | 已发货,已交给承运商 |
in_transit | 运输中 |
out_for_delivery | 正在派送 |
attempted_delivery | 尝试投递未成功 |
delivered | 已送达 |
ready_for_pickup | 已到达自提点 |
picked_up | 用户已自提 |
failed | 配送失败 |
returned_to_sender | 已退回发件人 |
4.4 调整操作 (Adjustments)
订单完成后可能需要各种调整。UCP定义了标准化的调整类型:| 调整类型 | 含义 | 触发方 |
|---|---|---|
refund | 退款 | 商家或消费者发起 |
return | 退货 | 消费者发起 |
credit | 信用额度/商店积分 | 商家发起 |
exchange | 换货 | 消费者发起 |
price_adjustment | 价格调整(如价格保护) | 商家发起 |
退货/退款请求
4.5 查询订单
查询订单列表
4.6 Webhook通知
当订单状态发生变化时,商家通过Webhook主动通知AI代理。UCP的Webhook使用 RFC 9421 HTTP Message Signatures 确保数据完整性和来源真实性。Webhook请求格式
Webhook签名验证
AI代理收到Webhook后必须验证签名:- 从
Signature-Input头解析签名参数(签名组件、创建时间、密钥ID) - 从商家的
/.well-known/ucpProfile获取对应kid的签名公钥(JWK) - 使用
Content-Digest头验证请求体的SHA-256哈希 - 使用公钥验证
Signature头中的ES256签名 - 检查
created时间戳,拒绝过期的签名(建议窗口: 5分钟以内)
Webhook事件类型
| 事件 | 触发条件 |
|---|---|
order.created | 结账完成,订单已创建 |
order.fulfillment.updated | 履约状态变化(发货、送达等) |
order.adjustment.created | 新的调整请求已创建 |
order.adjustment.updated | 调整状态变化(审批、完成等) |
order.canceled | 订单已取消 |
4.7 订单生命周期总览
下一章: 商品数据与传输 — MCP工具、四种传输机制和数据格式