Overview
Recalculates the lines of a commercial order against the current catalog, and writes the result.
This is not a dry run: the order is modified in place. The response carries warnings only, never the resulting lines: read them back with ORDER-561.
The sections below describe the standard mode. Tenants running Real-Time Pricing differ on several points, listed in the last section.
What is rewritten on each synchronised line
Every value comes from the offer price the line already points to, and from its offer, product variant and product:
- price block: unit price of the price tier matching the line quantity (the discounted price when one is set), from the offer price, which also gives the item per pack. Currency, packing type, quantity per item and minimum and maximum order quantities come from the offer. Product and shipping tax rates and codes come from the offer custom fields carrying the tax roles. Amounts excluding and including taxes, tax amounts and totals are recomputed with the tax calculation mode and rounding of the logistic order;
- product snapshot, from the product: SKU, external ID, names, descriptions, brand, unit, tags, attributes, classification category and the finest navigation category;
- variant snapshot, from the product variant: SKU, external ID, names, descriptions, EAN, MPN and attributes;
- offer custom field snapshot: the values of the active custom fields of the offer.
What is rewritten on the order
On the commercial order: the synchronisation timestamp.
On each logistic order: the totals, the line count and the product count, recomputed from its lines. Shipping fees are recomputed only when the shipping matrix is active.
What is never changed
- the set of lines: no line is added or removed, and each line keeps its offer price, even when another price now applies to the account;
- the line quantity;
- the line custom fields, kept as they are, including the value of a custom field deactivated since;
- the order status, the customer user and customer account snapshots, the supplier and the addresses.
What the warnings cover
The warnings report a subset of what changes, not all of it:
- a value diff for the unit price (
F_W_026), the currency (F_W_027) and the tax fields (F_W_028); - a change of the shipping fees of a logistic order (
F_W_026, with the logistic order asid); - an active mandatory line custom field without any value (
F_W_025, not blocking). The line is synchronised anyway and its custom fields are left unchanged.
Every other price field (amounts excluding taxes, tax amounts, totals, packing information and order quantity bounds) and every snapshot is recalculated without any warning. An empty response therefore does not mean that nothing changed.
Lines that are not synchronised
A line carrying a blocking warning is left untouched: not corrected, not deleted, not partially written. The other lines of the same order are synchronised normally.
The request fails with 400 only when no line survives: OR0038 when every blocking warning is F_W_022 (stock), OR0039 when every blocking warning is F_W_020 (item per pack), OR0034 otherwise.
The commercial order must be editable and not validated, and must come from an order-based checkout.
User scoping
Only dj-client: ACCOUNT is allowed (customer users).
Store scoping
The store context is resolved from dj-store (when provided) or from the tenant default store.
dj-store-view may further refine the store view context when applicable.
Visibility
Access and visibility rules apply to the order and its content, including ownership/permissions and catalog visibility (eligible catalog views).
Real-Time Pricing tenants
When the tenant runs with Real-Time Pricing, the lines are sent to an external pricing system, whose response replaces the catalog data on these points:
- the set of lines comes from the pricing system: a line may be added (
F_W_031) or removed (F_W_032). Logistic orders left without any line are deleted; - the quantity of each line comes from the pricing system, and a change is reported with
F_W_029; - prices and stock come from the pricing system instead of the offer price;
- the line custom fields returned by the pricing system overwrite the stored values, without any warning. The custom fields it does not return are kept. An invalid value is reported with
F_W_025; - minimum, maximum and pack constraints are not enforced;
- offer, offer stock, product and supplier status, and account eligibility are not checked. Catalog view visibility still applies.
Errors
This endpoint may return authentication, authorisation (permissions), validation, not found or conflict errors.
Standard Djust error codes apply.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
401Unauthorized (invalid or missing API key).
403Forbidden. The caller is not allowed to synchronise this order.
404Not found. The commercial order id does not exist.
409Conflict. The order cannot be synchronised in its current state (e.g., already validated).

