Orders
An order is a collection of items, along with customer and shipping information, that has been finalized with a payment or attempted payment. The Order object contains a record of the purchase agreement between a shopper and a merchant.
Orders can contain both digital or physical products. Digital items are delivered via email and do not require a shipping address, whereas physical items require a shipping address and a delivery method.
Workflows
BigCommerce offers two possible workflows for creating orders via the API: the Server-to-Server Checkout API or the Orders API.
- The Management Checkout API represents an extension of the Management Cart API and can be used to complete a purchase from product selection to conversion
- The Orders API is used to retrieve or update existing orders or to push orders from a third party, like a POS, to BigCommerce
Create an order
An order can be created by sending a POST request to:
https://api.bigcommerce.com/stores/{{store_hash}}/v2/orders
- At minimum, an order needs products and a billing address. If either of these fields are omitted the order will be rejected
- An order can be created with either an existing Product or a Custom Product
- You can specify a specific customer by adding
customer_idin the create order request - Other recommended fields include: Shipping Address, Status and Discounts (if applicable)
Order Response
The response will have abbreviated order contents with sub-resources available to get the full order information.
The order is automatically set to a status of 1 or Pending.
The response also returns an id which is the order id.
See Orders Overview for more information on Order Statuses
GET An Order
To retrieve details of a specific order, send a GET request to /orders/{order_id}.
Update an Order
Update an order with a PUT request to /orders/{order_id}
See Resources or the Update an Order section in the Developer Documentation for further reference on what can be updated on an order.
Archive an Order
To archive (delete) a specific order, send a DELETE request to /orders/{order_id}.
ALL orders can be deleted with a DELETE request to /orders