Fulfillment
Shipping options, shipping profiles, and fulfilling orders.
Shipping is set up per stock location. The chain is: stock location → fulfillment set (shipping or pickup) → service zone (the countries, provinces, or postal codes it serves) → shipping options.
Shipping options
A shipping option is what the buyer picks at checkout, such as "Standard freight".
| Field | Meaning |
|---|---|
price_type | flat: a stored price per currency or region. calculated: the fulfillment provider prices it for the cart. |
provider_id | The fulfillment provider that handles it. The manual provider needs no integration. |
shipping_profile_id | Which products it can ship. See below. |
rules | Conditions. enabled_in_store hides an option from the storefront (admin only). is_return marks a return option. |
The storefront lists options for a cart. Only options whose service zone covers the shipping address, whose location serves the cart's sales channel, and whose rules pass are returned. Set the shipping address first.
For a calculated option, get the price before showing it.
Shipping profiles
Every product has one shipping profile, and every shipping option belongs to one. Use profiles to separate goods that ship differently, for example pallets and parcels.
- A cart needs a shipping method for each profile among its items.
- Most catalogs need only the default profile.
Fulfilling an order
| Step | Admin call |
|---|---|
| Create a fulfillment for some or all items | POST /admin/orders/{id}/fulfillments |
| Add tracking and mark shipped | Create shipment |
| Mark delivered | Mark as delivered |
| Undo, before it ships | Cancel fulfillment |
An order can have many fulfillments, from different locations, so partial shipments are normal. Creating a fulfillment consumes the reservations for those items.