Order Management
4.1 Capability Identifier
The order management namespace isdev.ucp.shopping.order. It covers the complete post-checkout lifecycle — from order confirmation through final delivery (or return and refund).
4.2 Line Item Status
UCP manages orders at the line item level, giving each product its own independent status tracking. This supports complex scenarios such as partial shipments and partial refunds:| Status | Meaning | Description |
|---|---|---|
processing | Processing | Order confirmed; items are being prepared for shipment |
partial | Partially fulfilled | Some quantity of the line item has shipped (e.g., ordered 3, shipped 2) |
fulfilled | Fulfilled | All quantity has been delivered |
removed | Removed | Line item has been removed from the order (canceled or return completed) |
4.3 Fulfillment Events
UCP defines standardized fulfillment event types that cover every logistics milestone from shipment to delivery:| Event Type | Meaning |
|---|---|
processing | Being processed / prepared |
shipped | Shipped; handed off to carrier |
in_transit | In transit |
out_for_delivery | Out for delivery |
attempted_delivery | Delivery attempted but unsuccessful |
delivered | Delivered |
ready_for_pickup | Ready for pickup at designated location |
picked_up | Picked up by customer |
failed | Delivery failed |
returned_to_sender | Returned to sender |
4.4 Adjustments
After an order is placed, various adjustments may be necessary. UCP defines standardized adjustment types:| Adjustment Type | Meaning | Initiated By |
|---|---|---|
refund | Refund | Merchant or consumer |
return | Return | Consumer |
credit | Store credit / loyalty points | Merchant |
exchange | Exchange | Consumer |
price_adjustment | Price adjustment (e.g., price protection) | Merchant |
Return / Refund Request
4.5 Querying Orders
Listing Orders
4.6 Webhook Notifications
When an order status changes, the merchant proactively notifies the AI agent via Webhooks. UCP Webhooks use RFC 9421 HTTP Message Signatures to ensure data integrity and source authenticity.Webhook Request Format
Webhook Signature Verification
When an AI agent receives a Webhook, it must verify the signature:- Parse
Signature-Inputto extract signature parameters (covered components, creation time, key ID) - Retrieve the corresponding public key (JWK) by
kidfrom the merchant’s/.well-known/ucpProfile - Verify the request body’s SHA-256 hash using the
Content-Digestheader - Verify the ES256 signature in the
Signatureheader using the public key - Check the
createdtimestamp and reject expired signatures (recommended window: 5 minutes)
Webhook Event Types
| Event | Trigger |
|---|---|
order.created | Checkout completed; order created |
order.fulfillment.updated | Fulfillment status changed (shipped, delivered, etc.) |
order.adjustment.created | New adjustment request created |
order.adjustment.updated | Adjustment status changed (approved, completed, etc.) |
order.canceled | Order canceled |
4.7 Order Lifecycle Overview
Next chapter: Product Data and Transports — MCP tools, four transport mechanisms, and data formats