Commerce Shipments
Track shipment creation, carrier assignments, and delivery events.
How It Works
- Validate the order is ready to ship (status
processing, items fulfilled).
- Create a shipment with carrier, service level, and tracking number.
- Update order status to
shipped and notify the customer.
- Track delivery milestones (in transit, out for delivery, delivered).
- Record delivery confirmation or exceptions (damaged, refused, lost).
Usage
- CLI:
stateset-shipments ... and stateset-orders ... for status updates.
- Writes require
--apply.
- MCP tools:
list_shipments, create_shipment, deliver_shipment, ship_order, update_tracking.
Permissions
- Read:
list_shipments — no --apply needed.
- Write:
create_shipment, deliver_shipment, ship_order, update_tracking — requires --apply.
Examples
stateset shipments list --order-id ord_456
stateset shipments create --order-id ord_456 --carrier UPS --tracking 1Z999AA10123456784 --apply
stateset shipments deliver ship_123 --apply
stateset shipments update-tracking ship_123 --tracking 1Z999AA10123456799 --apply
Status Flows
Shipment: Created -> Shipped -> In Transit -> Delivered (or Exception/Returned)
Output
{"status":"shipped","shipment_id":"ship_123","order_id":"ord_456","carrier":"UPS","tracking":"1Z999AA10123456784","ship_date":"2025-01-15"}
Present Results to User
- Shipment IDs, carrier, service level, and tracking numbers.
- Order status transition and estimated delivery date.
- Delivery timestamps or exception details.
- Customer notification status.
Troubleshooting
- Invalid tracking format: verify carrier-specific tracking number format.
- Order already shipped: check existing shipment records before creating duplicates.
- Delivery exception: contact carrier with tracking number for resolution.
- Missing carrier: ensure carrier name matches supported list (UPS, FedEx, USPS, DHL).
Error Codes
INVALID_TRACKING: Tracking number format does not match the carrier.
DUPLICATE_SHIPMENT: A shipment already exists for this order.
DELIVERY_EXCEPTION: Carrier reported a delivery failure (damaged, refused, lost).
Related Skills
- commerce-orders — order status transitions triggered by shipment
- commerce-fulfillment — pack/ship tasks that feed into shipment creation
- commerce-returns — return shipments for approved returns
References
- references/shipments-flow.md
- /home/dom/stateset-icommerce/cli/.claude/agents/shipments.md
1---2name: commerce-shipments3description: Manage shipments, tracking, and delivery updates. Use when running `stateset-shipments`, creating shipments, updating tracking, or recording delivery events.4---56# Commerce Shipments78Track shipment creation, carrier assignments, and delivery events.910## How It Works11121. Validate the order is ready to ship (status `processing`, items fulfilled).132. Create a shipment with carrier, service level, and tracking number.143. Update order status to `shipped` and notify the customer.154. Track delivery milestones (in transit, out for delivery, delivered).165. Record delivery confirmation or exceptions (damaged, refused, lost).1718## Usage1920- CLI: `stateset-shipments ...` and `stateset-orders ...` for status updates.21- Writes require `--apply`.22- MCP tools: `list_shipments`, `create_shipment`, `deliver_shipment`, `ship_order`, `update_tracking`.2324## Permissions2526- **Read:** `list_shipments` — no `--apply` needed.27- **Write:** `create_shipment`, `deliver_shipment`, `ship_order`, `update_tracking` — requires `--apply`.2829## Examples3031```bash32stateset shipments list --order-id ord_45633stateset shipments create --order-id ord_456 --carrier UPS --tracking 1Z999AA10123456784 --apply34stateset shipments deliver ship_123 --apply35stateset shipments update-tracking ship_123 --tracking 1Z999AA10123456799 --apply36```3738## Status Flows3940**Shipment:** Created -> Shipped -> In Transit -> Delivered (or Exception/Returned)4142## Output4344```json45{"status":"shipped","shipment_id":"ship_123","order_id":"ord_456","carrier":"UPS","tracking":"1Z999AA10123456784","ship_date":"2025-01-15"}46```4748## Present Results to User4950- Shipment IDs, carrier, service level, and tracking numbers.51- Order status transition and estimated delivery date.52- Delivery timestamps or exception details.53- Customer notification status.5455## Troubleshooting5657- Invalid tracking format: verify carrier-specific tracking number format.58- Order already shipped: check existing shipment records before creating duplicates.59- Delivery exception: contact carrier with tracking number for resolution.60- Missing carrier: ensure carrier name matches supported list (UPS, FedEx, USPS, DHL).6162## Error Codes6364- `INVALID_TRACKING`: Tracking number format does not match the carrier.65- `DUPLICATE_SHIPMENT`: A shipment already exists for this order.66- `DELIVERY_EXCEPTION`: Carrier reported a delivery failure (damaged, refused, lost).6768## Related Skills6970- commerce-orders — order status transitions triggered by shipment71- commerce-fulfillment — pack/ship tasks that feed into shipment creation72- commerce-returns — return shipments for approved returns7374## References75- references/shipments-flow.md76- /home/dom/stateset-icommerce/cli/.claude/agents/shipments.md