> This page is for Developer.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.bigcommerce.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.bigcommerce.com/_mcp/server.

# Extending Sales Channel Apps with Channels Toolkit

This article provides a guide to partners who would like to update or replace their existing sales channel apps to leverage new functionality available via Channels Toolkit.

## Step 1: Update API credentials

Existing sales channel apps need app credentials with updated OAuth scopes to authenticate and authorize requests to Channels Toolkit APIs. Log in to the [Developer Portal](https://build.bigcommerce.com) to update your app's credentials. Channel APIs require the following scopes:

| UI Name                  | Parameter                | Enables                                             |
| ------------------------ | ------------------------ | --------------------------------------------------- |
| Channels Settings Modify | `store_channel_settings` | Creating channels that reference external platforms |
| Channels Listings Modify | `store_channel_listings` | Creating and reading product listing information    |

See our [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts) for more information on app credentials.

## Step 2: Integrate channel API

To be visible in Channel Manager once installed, apps must meet certain requirements. All channel apps are required to use BigCommerce’s Channel API. Select partner apps have additional [Channel API](/developer/api-reference/rest/admin/management/channels) implementation requirements to facilitate being marketed in Channel Manager.

### All partners

* [Create a Channel](/developer/api-reference/rest/admin/management/channels) (for each platform the app enables a merchant to sell on) - this enables the channel to be displayed within the “Manage” screen in the new Channel Manager for merchants, once the app has been installed.

* [Create a Channel](/developer/api-reference/rest/admin/management/channels) request must include `app_id` at a minimum in the [app config object](#sample-configuration).

### Channel manager example

![Extending Existing Apps 01](/_fern-img/128409c88b6453e9572de372f4a17e465e18bf186da4e018e2e8feb8992dab83.webp)

### Select partners

* Update UI to use [BigDesign](https://developer.bigcommerce.com/bigdesign) and the general design patterns and user flows demonstrated in the sample app (shown in the screenshots below) with channel name, icon, and menu nav sections.

* Include sections in the [Channel API](/developer/api-reference/rest/admin/management/channels) request in the [app config object](#sample-configuration).

### Channel app import section

![Extending Existing Apps 03](/_fern-img/4453585ae75ec49e2cc1c3fefa11ea49168ef94fc0e19c3e13b12d8c96017bec.webp)

### Channel app settings section

![Extending Existing Apps 04](/_fern-img/602295a23ae5e53e0cfd09bd2d441ca2da0c1557730d3c33ecf5ac51c9603102.webp)

## Step 3: Migrate existing data

* **Channels** - Register a channel for all existing merchants using the app.
* **Orders** - Add `channel_id` with the corresponding channel ID for the merchant and which channel the order was placed on, if orders are synced to BigCommerce.
* **Listings (optional)** - Create channel specific [product listings](/developer/api-reference/rest/admin/management/channels). This is primarily necessary for storefronts, marketplaces, and marketing type of channels.

## App requirements

Although the sample app shown in the screenshots above is for a point of sale integration, we've designed [Channels Toolkit](/developer/docs/integrations/channels/channels-toolkit-reference) to be flexible enough to build any type of sales channel app, and each type of channel app has its own specific requirements centered around ensuring performance and user experience best practices.

The above "updating existing app" data applies; however, non-POS channel apps are not necessarily required to use the same sections and user flows shown in the example app screenshots.

### Storefronts

**All Partners**:

* Add usage of [Sites and Routes API](/developer/api-reference/rest/admin/management/sites) so that links generated within BigCommerce, such as "view storefront" and links sent in transactional emails to shoppers, will use the headless storefront's correct URL.

### Marketplaces and marketing

**All Partners**:

* Must use [Listings API](/developer/api-reference/rest/admin/management/channels) if supporting per product listings.

## Sample configuration

To create or modify a channel app's configuration, send a `POST` or `PUT` request to `/stores/{{STORE_HASH}}/v3/channels`:

**`Example request: Create a channel`**

```http title="Example request: Create a channel" showLineNumbers={false}
POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/channels
X-Auth-Token: {{ACCESS_TOKEN}}
Content-Type: application/json
Accept: application/json

{
    "type": "pos",  // type of channel
    "platform": "custom",  //sales channel platform
    "name": "name of the sales channel",  // Name displayed to merchant
    "external_id": "",
    "status": "connected"
}
```

**Properties**

| Property          | Type        | Description                                                                                                             |
| ----------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------- |
| `type`            | str         | Allowed Values: pos, marketplace, storefront, marketing                                                                 |
| `platform`        | str         | Allowed Values: see below or in [API Reference](/developer/api-reference/rest/admin/management/channels/create-channel) |
| `name`            | str         | The name the merchant will see                                                                                          |
| `external_id`     | str         | Associated ID within a system / platform outside of BC.                                                                 |
| `status`          | str         | Allowed Values: active, inactive, connected, disconnected, archived                                                     |
| `app`             | obj         | App configuration                                                                                                       |
| ↳ `id`            | int         | ID of the app                                                                                                           |
| ↳ `sections`      | array\[obj] | User interface section options                                                                                          |
|    ↳ `title`      | str         | Label displayed to merchants in navigation bar                                                                          |
|    ↳ `query_path` | str         | Passed to app's iframe. Ex: `https://<store_url>/manage/channel/2/app?id=5&section=overview`                            |

**Accepted Platforms and Types**
See the list of [Channels Platform types](/developer/api-reference/rest/admin/management/channels/create-channel) in the Channels API reference.

> **Note**
>
> We discourage using `google_shopping` as BigCommerce has deprecated this platform. Instead, we have added support for `marketing` and `marketplace` types on the `google` platform.

For a complete Channel API reference (including request schemas and property descriptions), see: [API Reference Channels and Listings](/developer/api-reference/rest/admin/management/channels).

## Terminology

| Term                 | Definition                                                                                                                                                                                                                                                                                                                                                               |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Channels Toolkit** | Channels Toolkit is a set of tools, UI patterns, guidelines, and APIs provided by BigCommerce to enable partners and developers to extend the BigCommerce ecosystem by building sales channel integrations (whether they are point of sale, marketing, marketplace, social, or headless storefronts) that are more deeply embedded within the BigCommerce control panel. |
| **Select Partners**  | Partners approved by BigCommerce to be marketed and discoverable as sales channel providers within the new Channel Manager. These are partners who offer what we know to be best in breed integrations to key sales channels that help merchants grow their business.                                                                                                    |

> **Note**
>
> Select partners have slightly more stringent requirements for their sales channel apps due to the high visibility and marketability of their apps directly within the BigCommerce control panel.

For a high-level overview and more information on Channels Toolkit, see [Channels Overview](/developer/docs/integrations/channels).

## Related resources

### Articles

* [Channels Overview](/developer/docs/integrations/channels)
* [Building Channel Apps](/developer/docs/integrations/channels/guide)
* [Becoming a Partner](/developer/docs/overview/quick-start)
* [Types of Apps](/developer/docs/integrations/apps/guide/types-of-apps)
* [Guide to API Accounts](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts)
* [Building an App](/developer/docs/integrations/getting-started)
* [App Store Approval Requirements](/developer/docs/integrations/apps/guide/approval-requirements)

### Endpoints

* [Channels API Reference](/developer/api-reference/rest/admin/management/channels)
* [Sites and Rites API Reference](/developer/api-reference/rest/admin/management/sites)