Skip to main content
This guide walks you through creating a complete order in Nymble Commerce, from building the request to receiving the confirmed order number and confirmation ID.

Two approaches to placing an order

Nymble Commerce gives you two ways to place a B2B order: Both approaches produce the same result: a confirmed order with an assigned order number.

Approach 1: Cart-based checkout

Use the cart flow when you need a stateful, multi-step ordering experience — for example, a storefront where a customer adds items over time before submitting.
1

Create a cart

Send a POST request to /api/carts/{customerNumber} to initialize a new cart for a customer. The customerNumber goes in the URL path; the OrganizationId is read automatically from your JWT claims.
Response
2

Add items

Add additional products to the cart using POST /api/carts/{customerNumber}/{shoppingCartId}/items.
Adding an item whose SKU already exists in the cart increases that line item’s quantity rather than creating a duplicate line.
3

Set shipping details

Attach a shipping address and method to the cart with PUT /api/carts/{customerNumber}/{shoppingCartId}/shipping.
4

Set a PO number

Attach your customer’s purchase order number with PUT /api/carts/{customerNumber}/{shoppingCartId}/po-number.
5

Complete checkout

Submit the cart for processing. Nymble Commerce converts the cart into an order in a single atomic operation.
Response
After checkout, use the orderNumber to retrieve the full order via GET /api/orders/{orderNumber}.

Approach 2: Direct order creation

Use direct order creation when you already have all the order details in hand — for example, when importing from an ERP system or when a sales rep is placing an order on a customer’s behalf.
1

Submit the order

Send a single POST request to /api/orders with the complete order payload.
2

Confirm the order

A successful response returns the assigned order number and a confirmation ID.

Order line items

Each entry in the items array represents one line on the order:
The price field on each line item is the unit price at the time of the order. Nymble Commerce does not automatically look up prices — always supply price explicitly on each line. Set priceTier on the order to record which pricing tier applied.

Bulk order import

To import historical orders in volume, use the bulk endpoint:
Always include externalId — set it to your ERP order number or any unique identifier from your source system. Nymble Commerce uses this field for idempotency: if you re-import an order with the same externalId, Nymble Commerce updates the existing order rather than creating a duplicate. This makes bulk imports safe to re-run after failures.