BigCommerce
Storefront
BigCommerce for WordPress
API & Platform integration
Proxy REST API endpoints

Proxy REST API Endpoints

BigCommerce for WordPress sets up several proxy REST endpoints that map requests to the BigCommerce API. This allows developers to build extensions using client-side requests without having to worry about cross-origin restrictions. This feature is useful for building extensions such as single-page store apps or progressive web apps, and it powers the AMP integration provided when the official AMP plugin for WordPress is active on the same site.

By default, these proxy REST endpoints are available under your-wordpress-site.com/wp-json/bc/v3/, with request routes mapping to those documented in the BigCommerce Dev Center's API Reference. For example, your-wordpress-site.com/wp-json/bc/v3/catalog/products returns data from the corresponding BigCommerce API endpoint and accepts all the same parameters.

Most of the WordPress proxy REST endpoints are publicly queryable, with authentication happening automatically using plugin settings. For security purposes, however, some potentially sensitive data is filtered out of the WordPress response. Those fields are noted in the table below.

Caching and Webhooks

By default, GET requests under /catalog are cached for ten minutes in the object cache -- or via WordPress transients if object caching is not available -- and a BigCommerce webhook is used to bust cached data related to a product when it is updated in BigCommerce or its inventory data changes. This default caching implementation can be overridden using the bigcommerce/proxy/result_pre WordPress filter. See the plugin customization guide for details on overriding core plugin functionality.

Endpoints

URLDescriptionMethodsExcluded Fields
Catalog products endpointsEndpoints for products and product-related data such as reviews, categories, and variantsGETbin_picking_number, cost_price, date_created, date_modified, inventory_tracking, layout_file, product_tax_code, search_keywords, sku_id, tax_class_id, total_sold, view_count; If price_id_hidden is true: map_price, price, retail_price, sale_price; If is_condition_shown is false: condition; If is_preorder_only is true: preorder_message, prorder_release_date
Product variants endpointsFetch variants associated with a productGETcost_price, sku_id; If associated product's is_price_hidden is true: calculated_price, map_price, price, retail_price, sale_price
Product images endpointsFetch images associated with a productGETdate_modified
Product reviews endpointsFetch reviews associated with a productGETdate_created, date_modified, date_reviewed, email, status (note: reviews are filtered out if status is not approved)
Catalog categories endpointsFetch category listings or individual categories by IDGETviews
Additional catalog endpointsSee BigCommerce API docsGET
[Channels endpoints] (/docs/rest-management/channels)BigCommerce channels endpointsGET
[Channel site endpoints] (/docs/rest-management/channels/channel-site)GET
Create a cart endpointsCreates a cartPOST, PUT
Carts endpointsFetch, update, and delete a cart by cart IDGET, POST, PUT, DELETE
Cart items endpointsCreate, update, and delete cart itemsPOST, PUT, DELETE
Create a cart redirect URLsFetch a cart's redirect URLsPOST, PUT
Did you find what you were looking for?