WinShopAPI docs
ReferenceDocumentsOrders

Customers

Create a customer order

Creates a customer order from the header and any items in the body, and returns the stored document (201, `Location` header set). Reserves the next internal document number. Requires `Permissions.OrderCustomer.Create`.

Search customer orders

Returns one page of customer orders matching the filter. Body is a `PaginationRequest` — see the *Filtering & pagination* concept in the developer docs. Sortable and limitable fields depend on the instance's data-grid view. Requires `Permissions.OrderCustomer.View`.

Get a customer order

Returns one customer order by `documentId`, with its header, items and item variants. Requires `Permissions.OrderCustomer.View`.

Delete a customer order

Deletes the customer order together with its items and item variants. Cannot be undone. Call `GET {documentId}/check-delete` first to find out whether the delete is allowed. Requires `Permissions.OrderCustomer.Delete`.

Update a customer order

Updates the customer order header and the items sent in the body. Pass `removeItemsNotInRequest=true` to also delete the items the body leaves out. Requires `Permissions.OrderCustomer.Update`.

Check whether a customer order can be deleted

Advisory pre-flight for `DELETE {documentId}`. `canBeDeleted` is false when `blockingReasons` holds `HEADER_BLOCKED` or `ITEMS_BLOCKED`. The delete re-checks inside its own transaction, so a positive answer here is an indication rather than a guarantee. Requires `Permissions.OrderCustomer.Delete`.

Add items to a customer order

Appends the items in the body to an existing customer order and recalculates the document totals. Requires `Permissions.OrderCustomer.Create`.

Delete customer order items

Deletes the items listed in `itemIds` and recalculates the document totals. Call `GET {documentId}/items/check-delete` first to find out whether the delete is allowed. Requires `Permissions.OrderCustomer.Delete`.

Check whether customer order items can be deleted

Advisory pre-flight for `DELETE {documentId}/items`. `blockingReasons` holds `ITEMS_BLOCKED` when at least one id in `itemIds` is still referenced elsewhere. At most 1000 ids per call. Requires `Permissions.OrderCustomer.Delete`.

Update a customer order item

Replaces one item of the customer order, identified by `itemId`, and recalculates the document totals. Requires `Permissions.OrderCustomer.Update`.

Delete a customer order item variant

Deletes one variant row (a size/colour breakdown) of an item and recalculates the document totals. Call the matching `check-delete` endpoint first to find out whether the delete is allowed. Requires `Permissions.OrderCustomer.Delete`.

Check whether an item variant can be deleted

Advisory pre-flight for `DELETE {documentId}/items/{itemId}/variants/{variantId}`. `blockingReasons` holds `ITEM_VARIANT_BLOCKED` when the variant is still referenced elsewhere. Requires `Permissions.OrderCustomer.Delete`.

Get the lock state of a customer order

Returns whether the customer order is locked against concurrent edits and, when it is, the name of the user holding the lock. Requires `Permissions.OrderCustomer.View`.

Lock a customer order

Locks the customer order for the calling user so other users cannot edit or process it. Returns 400 when it is already locked. Release it with `DELETE {documentId}/lock`. Requires `Permissions.OrderCustomer.Update`.

Unlock a customer order

Releases the lock on the customer order. Returns 400 when the lock belongs to another user. Requires `Permissions.OrderCustomer.Update`.

Get a customer order as PDF

Renders the customer order with its configured print template and returns `application/pdf` inline. 404 when the document has no printable output. Requires `Permissions.OrderCustomer.View`.