Custom headless storefronts
Creating channels

Creating Channels

Before you can display products on a headless storefront, you need to create and configure a sales channel for that storefront using the REST Management Channels API.

Prepare

You need a primary domain name for your headless storefront and an additional domain for the storefront's checkout page. Subdomains are permitted. Ensure the domain is not currently associated with existing channels/storefronts, especially the default storefront managed in the control panel account area.

The API calls that associate domains with your store do not verify domain name ownership.

Get a storefront seat

Limits: Every store comes with a default limit of one active storefront that comes for free along with a store. To add additional storefront seats, contact your BigCommerce representative.

You can open a headless storefront seat by setting the status of the default BigCommerce storefront to inactive. This will break a store that's already transacting on the default storefront, so contact your BigCommerce representative if you have questions about taking this step.

Create the channel

Send a request to the Create a channel endpoint to create a channel for your headless platform. Note the channel ID returned in the response; you'll use it in successive steps.

Add the headless site URL

To tell BigCommerce the URL of your headless store, use the Create a channel site endpoint, along with your channel ID and primary domain name.

Add a checkout URL

Currently, all checkout pages are hosted. Set the checkout domain for the headless storefront by sending a request to the Upsert a site's checkout URL endpoint. You can configure the headless checkout url with www_redirect settings using the Settings API.

Add 3P SSL to the checkout domain

Optionally, you can add a 3P SSL certificate for the checkout domain by sending a request to the Upsert a site’s SSL/TLS certificate information endpoint.

Create tokens for the GraphQL Storefront API

After setting up the channel, you're almost ready to authenticate cross-origin requests to the GraphQL Storefront API. You can Create customer impersonation tokens for most headless or server-to-server interactions, or Storefront tokens for static frontend site interactions. Use your new channel ID and, where required, supply your channel site as an allowed_cors_origin; otherwise, your requests will be rejected.

After you have a token, you're ready to get started using the GraphQL Storefront API.

Next steps

Resources

Did you find what you were looking for?