# BigCommerce — Ecommerce API: gotchas

> Canonical URL: https://developers.apideck.com/apis/ecommerce/bigcommerce/gotchas

## GET /ecommerce/orders

The `line_items[].discounts[]` array includes every `applied_discounts[]` entry BigCommerce
returns for the line — both `target: "order"` (cart-level) and `target: "product"`
(product-specific) allocations are returned together, with no field that reliably
distinguishes the original discount source. This is the same class of behavior as the
documented Shopify `discountAllocations` limitation.

BigCommerce has no order-deletion webhook event. The unified `ecommerce.order.deleted`
webhook is emitted when an order is archived in BigCommerce (`store/order/archived`),
which is BigCommerce's soft-delete — the order may still exist downstream and a
subsequent get-one may still return it.

## GET /ecommerce/orders/{id}

The `line_items[].discounts[]` array includes every `applied_discounts[]` entry BigCommerce
returns for the line — both `target: "order"` (cart-level) and `target: "product"`
(product-specific) allocations are returned together, with no field that reliably
distinguishes the original discount source. This is the same class of behavior as the
documented Shopify `discountAllocations` limitation.

## GET /ecommerce/products

On the list endpoint, the product-level `options` array is not returned. BigCommerce caps results to 10 per
page whenever product `options` are requested, which would force slow multi-page fetches. To keep full-page
pagination (up to 200 per page), `options` are omitted from the list response. Each variant still includes its
concrete selections under `variants[].options`. To retrieve the full product-level `options` array, fetch the
product individually via the get-by-id endpoint.

## GET /ecommerce/store

`addresses` contains only the store's default shipping origin (BigCommerce's default inventory location); other inventory locations are not returned. The Store API account token needs the Store Inventory read scope (`store_inventory_read_only`) — without it, `addresses` is empty and the response carries a warning.


[API reference](https://developers.apideck.com/apis/ecommerce/reference.md) · [Coverage matrix](https://developers.apideck.com/apis/ecommerce/coverage)
