Sites
Create and manage sites and routes for headless storefront (opens in a new tab) sales channels.
Sites
Sites link headless storefronts to sales channels. To create a site, send a POST
request to /stores/{{STORE_HASH}}/v3/sites
.
POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/sites
X-Auth-Token: {{ACCESS_TOKEN}}
Content-Type: application/json
Accept: application/json
{
"url": "http://store.example.com/",
"channel_id": 5
}
Response
{
"id": 1,
"url": "http://store.example.com/",
"channel_id": 5,
"created_at": "2022-01-04T04:15:50.000Z",
"updated_at": "2022-01-04T04:15:50.000Z"
}
To get a list of sites, send a GET
request to /stores/{{STORE_HASH}}/v3/sites
.
GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/sites
X-Auth-Token: {{ACCESS_TOKEN}}
Accept: application/json
Site routes
Site routes tell BigCommerce how to link to pages on a headless storefront. To create a route for a site, send a POST
request to /stores/{{STORE_HASH}}/v3/sites/{site_id}/routes
.
POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/sites/{site_id}/routes
X-Auth-Token: {{ACCESS_TOKEN}}
Content-Type: application/json
Accept: application/json
{
"type": "product",
"matching": "12",
"route": "/en/product?id=12"
}
Route types
The following route types are supported.
Type | Description |
---|---|
product | Route for product details pages |
brand | Route to brand pages |
category | Route to category pages |
blog | Route to blog page |
home | Route to storefront homepage |
cart | Route to shopper’s cart |
checkout | Route to checkout page |
search | Route to store search page |
account | Route to account profile page |
login | Route to account login page |
returns | Route for return policy page |
static | Route to a static page |
create_account | Route to create new shopper account page |
forgot_password | Route to shopper forgot password page |
account_order_status | Route for order status page |
account_new_return | Route for product returns page |
recover_abandoned_cart | Route for URL in emails for a shopper to recover their abandoned cart |
Route variables
The following route variables are supported.
Variable | Description |
---|---|
{id} | The ID of the requested item |
{slug} | The slug for the requested item (if available). Note: the slug value may contain / slash |
{lang} | The language string that the client is using |
Example:
POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/sites/{site_id}/routes
X-Auth-Token: {{ACCESS_TOKEN}}
Content-Type: application/json
Accept: application/json
{
"type": "product",
"matching": "*",
"route": "/{lang}/{slug}?id={id}"
}
Additional Information
Related resources
Create a Site
POST /stores/{store_hash}/v3/sites
Request
Create a site that links a headless storefront to a sales channel.
Authentication
- X-Auth-Token in headerrequired
Parameters
- store_hash in path - string
- Content-Type in header with default of application/json - stringrequired
The MIME type of the request body.
Body
urlstring
The Fully Qualified URL (including host and scheme) where this site is hosted. All URLs generated for this site will be appended to this.
Example: http://kittens.mybigcommerce.com/
channel_idinteger
The channel this site is attached to. Each site belongs to a single channel, and each channel can have either zero or one sites.
example
Response
Body
dataobject
metaobject
Meta data relating to pagination.
Example
Get Sites
GET /stores/{store_hash}/v3/sites
Request
Get sites linked to a headless storefront sales channels.
Authentication
- X-Auth-Token in headerrequired
Parameters
- store_hash in path - string
- Accept in header with default of application/json - stringrequired
The MIME type of the response body.
- page in query - integer
Specifies the page number in a limited (paginated) list of items.
- limit in query - integer
Controls the number of items per page in a limited (paginated) list of items.
- channel_id:in in query - array
A comma-separated list that returns sites by channel ID.
- url_type:in in query - array
A comma-separated list that returns sites by their URL type, specified in the
data.urls
array.
example
Response
Body
dataarray[object]
metaobject
Meta data relating to pagination.
Get a Site
GET /stores/{store_hash}/v3/sites/{site_id}
Request
Get a site with site ID {site_id}
.
Authentication
- X-Auth-Token in headerrequired
Parameters
- store_hash in path - string
- Accept in header with default of application/json - stringrequired
The MIME type of the response body.
- site_id in path - stringrequired
example
Response
Body
dataobject
metaobject
Meta data relating to pagination.
Example
Update a Site
PUT /stores/{store_hash}/v3/sites/{site_id}
Request
Update a site with site ID {site_id}
.
Authentication
- X-Auth-Token in headerrequired
Parameters
- store_hash in path - string
- site_id in path - stringrequired
- Content-Type in header with default of application/json - stringrequired
The MIME type of the request body.
Body
urlstring
The Fully Qualified URL (including host and scheme) where this site is hosted. All URLs generated for this site will be appended to this.
Example: http://kittens.mybigcommerce.com/
example
Response
Body
dataobject
metaobject
Meta data relating to pagination.
Example
Delete a Site
DELETE /stores/{store_hash}/v3/sites/{site_id}
Request
Delete a site with site ID {site_id}
.
Authentication
- X-Auth-Token in headerrequired
Parameters
- store_hash in path - string
- Accept in header with default of application/json - stringrequired
The MIME type of the response body.
- site_id in path - stringrequired