BigCommerce
Storefront API
Checkout Consignments

Storefront Checkouts

Create a Consignment

POST /checkouts/{checkoutId}/consignments

Request

Adds a new Consignment to Checkout.

Perform the following two steps to define the fulfillment of the items in the cart.

For shipping consignments:

1. Add a new Consignment to Checkout.
    * Send a `POST` request to `/consignments` with each shipping address, line item IDs, and quantities. Each address can have its own line item IDs.
    * Provide a full valid customer address before placing the order. If provided, the order placement will succeed. 
    * As part of the request URL make sure to add `include=consignments.availableShippingOptions` to return the available shipping options based on the items, the address, and the shipping location. This will return `availableShippingOptions` in the response.

  * Required Fields:
    * `shipping_address` (deprecated) or `address`
    * `lineItems`
2. Update the Consignment with Shipping Options using the [REST Storefront API](/checkouts/checkout-consignments#update-a-consignment), the [REST Management API](/docs/rest-management/checkouts/checkout-consignments#update-checkout-consignment) or the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront).
      

For pickup consignments:

1. Create a new consignment object. 
  - Send a `POST` request to `/consignments` with line item IDs and quantities.
  - Provide a `pickupMethodId`. This is the `id` of the Pickup Method provided in the response body of the Storefront Pickup Options API.
  - Required Fields:
      * `pickupOption`
      * `lineItems`

To learn more about creating a Checkout Consignment, see the Carts and Checkouts Tutorial.

Notes

  • Substitute your storefront domain for yourstore.example.com.
  • The Send a Test Request feature is not currently supported for this endpoint.
  • Please note that this API endpoint is not concurrent safe, meaning multiple simultaneous requests could result in unexpected and inconsistent results.

Parameters

  • store_domain in path - string
  • checkoutId in path - string - required
  • include in query with default of consignments.availableShippingOptions - string

Body

array | application/json
  • shippingAddress
    object

  • address
    object

  • lineItems
    array[object]

  • shippingOptionId
    string

  • pickupOption
    object

example

Response

Body

object | application/json
  • id
    string

  • cart
    object

    A cart contains a collection of items, prices, discounts, etc. It does not contain customer-related data.

  • billingAddress
    object

  • consignments
    array[object]

  • coupons
    array[object]

    Coupons applied at the checkout level.

  • orderId
    string

  • shippingCostTotal
    number

    Shipping cost before any discounts are applied.

  • giftWrappingCostTotal
    number

    Gift wrapping cost for all items, including or excluding tax.

  • handlingCostTotal
    number

    Handling cost for all consignments including or excluding tax.

  • taxTotal
    number

  • taxes
    array[object]

  • subtotal
    number

    Subtotal of the checkout before applying item-level discounts. Tax inclusive based on the store settings.

  • grandTotal
    number

    The total payable amount, before applying any store credit or gift certificate.

  • giftCertificates
    array[array]

    Applied gift certificate (as a payment method).

  • createdTime
    string

    Time when the cart was created.

  • updatedTime
    string

    Time when the cart was last updated.

  • customerMessage
    string

    Shopperʼs message provided as details for the order to be created from this cart

  • outstandingBalance
    number

    grandTotal subtract the store-credit amount

  • isStoreCreditApplied
    boolean

    true value indicates StoreCredit has been applied.

example

Update a Consignment

PUT /checkouts/{checkoutId}/consignments/{consignmentId}

Request

Updates an existing consignment. An update is either one of the following:

  1. Updates the consignment address and/or line items.
  2. Selects a specific fulfillment option.

Update the consignment address and line items

For this type of update, the payload is the same as when creating a new consignment. Update each Consignment shippingOptionId (shipping address and line items) with the availableShippingOption > id from the POST /consignment response.

Note: Updating a consignment could invalidate the value for selectedShippingOption and selectedPickupOption.

Select a specific fulfillment option

Before placing an order, each consignment must have a selectedShippingOption or a selectedPickupOption.

If the consignment already has a pick-up option selected and a shipping option is provided, the pick-up option will be deselected and the shipping option will be selected instead (and vice versa). The PUT request will fail if it contains a shipping option ID and a pickup option ID.

Required Fields:

  • shippingOptionId or pickupOptionId
  • lineItems

To learn more about creating a Checkout Consignment see Checkout Consignment API.

Notes

  • You cannot pass both an address and a shippingOptionId because the shipping option may not be available for the new address
  • Substitute your storefront domain for yourstore.example.com.
  • The Send a Test Request feature is not currently supported for this endpoint.
  • Please note that this API endpoint is not concurrent safe, meaning multiple simultaneous requests could result in unexpected and inconsistent results.

Parameters

  • store_domain in path - string
  • checkoutId in path - string - required
  • consignmentId in path - string - required
  • include in query with default of consignments.availableShippingOptions, consignments.availablePickupOptions - string

Body

object | application/json

One or more of these three fields is mandatory. You can update address and line items in one request. You have to update shipping option ID or pickup option ID in a separate request since changing the address or line items can invalidate the previously available shipping options.

  • shippingAddress
    object

  • address
    object

  • lineItems
    array[object]

  • shippingOptionId
    string

  • pickupOption
    object

example

Response

Body

object | application/json
  • id
    string

  • cart
    object

    A cart contains a collection of items, prices, discounts, etc. It does not contain customer-related data.

  • billingAddress
    object

  • consignments
    array[object]

  • coupons
    array[object]

    Coupons applied at the checkout level.

  • orderId
    string

  • shippingCostTotal
    number

    Shipping cost before any discounts are applied.

  • giftWrappingCostTotal
    number

    Gift wrapping cost for all items, including or excluding tax.

  • handlingCostTotal
    number

    Handling cost for all consignments including or excluding tax.

  • taxTotal
    number

  • taxes
    array[object]

  • subtotal
    number

    Subtotal of the checkout before applying item-level discounts. Tax inclusive based on the store settings.

  • grandTotal
    number

    The total payable amount, before applying any store credit or gift certificate.

  • giftCertificates
    array[array]

    Applied gift certificate (as a payment method).

  • createdTime
    string

    Time when the cart was created.

  • updatedTime
    string

    Time when the cart was last updated.

  • customerMessage
    string

    Shopperʼs message provided as details for the order to be created from this cart

  • outstandingBalance
    number

    grandTotal subtract the store-credit amount

  • isStoreCreditApplied
    boolean

    true value indicates StoreCredit has been applied.

example

Delete a Consignment

DELETE /checkouts/{checkoutId}/consignments/{consignmentId}

Request

Removes an existing Consignment from Checkout.

Note

  • Substitute your storefront domain for yourstore.example.com.
  • The Send a Test Request feature is not currently supported for this endpoint.

Parameters

  • store_domain in path - string
  • checkoutId in path - string - required
  • consignmentId in path - string - required

example

Response

Body

object | application/json
  • id
    string

  • cart
    object

    A cart contains a collection of items, prices, discounts, etc. It does not contain customer-related data.

  • billingAddress
    object

  • consignments
    array[object]

  • coupons
    array[object]

    Coupons applied at the checkout level.

  • orderId
    string

  • shippingCostTotal
    number

    Shipping cost before any discounts are applied.

  • giftWrappingCostTotal
    number

    Gift wrapping cost for all items, including or excluding tax.

  • handlingCostTotal
    number

    Handling cost for all consignments including or excluding tax.

  • taxTotal
    number

  • taxes
    array[object]

  • subtotal
    number

    Subtotal of the checkout before applying item-level discounts. Tax inclusive based on the store settings.

  • grandTotal
    number

    The total payable amount, before applying any store credit or gift certificate.

  • giftCertificates
    array[array]

    Applied gift certificate (as a payment method).

  • createdTime
    string

    Time when the cart was created.

  • updatedTime
    string

    Time when the cart was last updated.

  • customerMessage
    string

    Shopperʼs message provided as details for the order to be created from this cart

  • outstandingBalance
    number

    grandTotal subtract the store-credit amount

  • isStoreCreditApplied
    boolean

    true value indicates StoreCredit has been applied.

example

Did you find what you were looking for?