diff --git a/docs/api-docs/analytics/bodl-for-storefronts.mdx b/docs/api-docs/analytics/bodl-for-storefronts.mdx index f0df4e8e0e..5bb225f679 100644 --- a/docs/api-docs/analytics/bodl-for-storefronts.mdx +++ b/docs/api-docs/analytics/bodl-for-storefronts.mdx @@ -18,7 +18,7 @@ This guide illustrates the basics of using BODL data in your integration. This a For scripts to successfully use BODL to access storefront data, the following must be true: -- Enable BODL on the subject storefront using the control panel or the [GraphQL Admin API's Enable data layer mutation](/api-docs/store-management/graphql/data-layer#enable-data-layer) +- Enable BODL on the subject storefront using the control panel or the [GraphQL Admin API's Enable data layer mutation](/docs/store-operations/settings/data#enable-data-layer) - The storefront must use a stencil theme - If a merchant enables cookie tracking consent on the subject storefront, the shopper must consent to the [appropriate category](#category-of-consent) @@ -65,8 +65,8 @@ When the shopper clicks a button to view the category page for a product, the fo | Event field | Type | Description | BigCommerce data map | |:---|:---|:---|:---| -| `category_id` | integer | ID of the category. | [Get all categories](/docs/rest-management/catalog/category#get-all-categories)
`data.id` | -| `category_name` | string | Name of the category. | [Get all categories](/docs/rest-management/catalog/category#get-all-categories)
`data.name` | +| `category_id` | integer | ID of the category. | [Get all categories](/docs/rest-catalog/categories#get-all-categories)
`data.id` | +| `category_name` | string | Name of the category. | [Get all categories](/docs/rest-catalog/categories#get-all-categories)
`data.name` | | `channel_id` | integer | The BigCommerce channel ID. Channel ID of the channel where checkout is taking place. | [Get all channels](/docs/rest-management/channels#get-all-channels)
`data.id` | | `event_id` | string | Unique ID for each event instance. | Unique event ID generated by BigCommerce. | | `line_items[]` | array of `line_item` objects | Items in the category. | See [line_item](#line_item-object-schema) object for event fields | @@ -385,7 +385,7 @@ If a merchant enables cookie tracking consent, the shopper must provide consent ### Scripts API example -The following is an example request that uses the Scripts API to associate the example script with pages on a storefront. Send a request to the [Create a script](/docs/rest-management/scripts#create-a-script) endpoint. For more, see the [Scripts API article](/api-docs/store-management/scripts). +The following is an example request that uses the Scripts API to associate the example script with pages on a storefront. Send a request to the [Create a script](/docs/rest-management/scripts#create-a-script) endpoint. For more, see the [Scripts API article](/docs/integrations/scripts). ```http filename="Example request: Create a Script" showLineNumbers copy POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/content/scripts @@ -409,6 +409,6 @@ Accept: application/json ## Resources -- [Scripts API article](/api-docs/store-management/scripts) +- [Scripts API article](/docs/integrations/scripts) - [Scripts API reference](/docs/rest-management/scripts#create-a-script) - [Scripts Manager support article](https://support.bigcommerce.com/s/article/Using-Script-Manager) diff --git a/docs/api-docs/analytics/data-layer-api.mdx b/docs/api-docs/analytics/data-layer-api.mdx index 5ced3d90e1..6505fac549 100644 --- a/docs/api-docs/analytics/data-layer-api.mdx +++ b/docs/api-docs/analytics/data-layer-api.mdx @@ -5,19 +5,19 @@ keywords: GA4, ga4, data, graphql, admin, google analytics 4, # Data Layer Settings in the GraphQL Admin API -The GraphQL Admin API's data layer setting allows BigCommerce to send data from BigCommerce-hosted storefronts to third-party analytics providers through [Big Open Data Layer](/api-docs/partner/analytics-solutions/bodl). Bigcommerce can build native integrations to analytics providers, such as Google Analytics 4, using the data layer. Partners may also build their own integrations using the data layer. In each case, you must first enable the data layer using the GraphQL Admin API. The data layer is enabled at the global level. +The GraphQL Admin API's data layer setting allows BigCommerce to send data from BigCommerce-hosted storefronts to third-party analytics providers through [Big Open Data Layer](/docs/integrations/hosted-analytics). Bigcommerce can build native integrations to analytics providers, such as Google Analytics 4, using the data layer. Partners may also build their own integrations using the data layer. In each case, you must first enable the data layer using the GraphQL Admin API. The data layer is enabled at the global level. -This guide shows you how to use the GraphQL Admin API's data layer queries and mutations. For full schema, see the [GraphQL Admin API reference](/graphql-admin-reference). +This guide shows you how to use the GraphQL Admin API's data layer queries and mutations. For full schema, see the [GraphQL Admin API reference](/graphql-admin/reference). ## Prerequisites -You need a [store-level API account](/api-docs/getting-started/api-accounts#store-level-api-accounts) that contains the following [OAuth scopes](/api-docs/getting-started/api-accounts#oauth-scopes): +You need a [store-level API account](/docs/start/authentication/api-accounts#store-level-api-accounts) that contains the following [OAuth scopes](/docs/start/authentication/api-accounts#oauth-scopes): | UI Name | Permission | Parameter | Description | |:--------|:-----------|:----------|:------------| | Information & Settings | modify | `store_v2_information` | View and modify store information and settings | -For more about API accounts that generate `access_token`s, see [API Accounts and OAuth Scopes](/api-docs/getting-started/authentication/rest-api-authentication). +For more about API accounts that generate `access_token`s, see [API Accounts and OAuth Scopes](/docs/start/authentication). ## Get data layer @@ -157,5 +157,5 @@ Send the following mutation to disable the data layer in the store: ## Resources -- [GraphQL Admin API reference](/graphql-admin-reference) -- [Big Open Data Layer](/api-docs/partner/analytics-solutions/bodl) +- [GraphQL Admin API reference](/graphql-admin/reference) +- [Big Open Data Layer](/docs/integrations/hosted-analytics) diff --git a/docs/api-docs/apps/apps-id.mdx b/docs/api-docs/apps/apps-id.mdx index 0ee5e857f8..023f27bd30 100644 --- a/docs/api-docs/apps/apps-id.mdx +++ b/docs/api-docs/apps/apps-id.mdx @@ -2,7 +2,7 @@ -Select partners [building channel apps](/api-docs/channels/guide/building-channel-apps) need to know their app's ID in order to create and modify the channel's configuration. This tutorial demonstrates how to find an app's ID in the [Developer Portal](#find-in-developer-portal) and the [control panel](#find-in-control-panel). +Select partners [building channel apps](/docs/integrations/channels/guide) need to know their app's ID in order to create and modify the channel's configuration. This tutorial demonstrates how to find an app's ID in the [Developer Portal](#find-in-developer-portal) and the [control panel](#find-in-control-panel). @@ -63,6 +63,6 @@ Accept: application/json ``` ## Resources -* [Building Apps Guide](/api-docs/getting-started/building-apps-bigcommerce/building-apps) -* [Building Channel Apps](/api-docs/channels/guide/building-channel-apps) -* [Extending Existing Apps with Channels Toolkit](/api-docs/channels/extending-existing-apps) +* [Building Apps Guide](/docs/integrations/apps) +* [Building Channel Apps](/docs/integrations/channels/guide) +* [Extending Existing Apps with Channels Toolkit](/docs/integrations/channels/guide/extending-existing-apps) diff --git a/docs/api-docs/apps/apps-quick-start.mdx b/docs/api-docs/apps/apps-quick-start.mdx index 60f1530034..7b952734d1 100644 --- a/docs/api-docs/apps/apps-quick-start.mdx +++ b/docs/api-docs/apps/apps-quick-start.mdx @@ -5,13 +5,13 @@ keywords: apps, app extensions, configuration, environment variables, env vars, # BigCommerce Apps Quick Start -In this quick start tutorial, you will create a [single-click app](/api-docs/getting-started/building-apps-bigcommerce/types-of-apps) using [Node.js](https://nodejs.org/en/), [React](https://www.reactjs.org/), [Next.js](https://nextjs.org/), and [BigDesign](https://developer.bigcommerce.com/big-design). +In this quick start tutorial, you will create a [single-click app](/docs/integrations/apps/guide/types) using [Node.js](https://nodejs.org/en/), [React](https://www.reactjs.org/), [Next.js](https://nextjs.org/), and [BigDesign](https://developer.bigcommerce.com/big-design). ## Prerequisites To successfully complete this tutorial, you will need the following: -* [BigCommerce sandbox store](/api-docs/partner/getting-started/create-a-sandbox-store) (required to develop and test apps) +* [BigCommerce sandbox store](/docs/start/about/sandboxes) (required to develop and test apps) * [Developer Portal Account](https://devtools.bigcommerce.com/) (required to register apps) * Experience using [npm](https://www.npmjs.com/) * The most recent LTS version of Node.js and its highest corresponding npm version @@ -53,7 +53,7 @@ Next, create a draft app profile in the [Developer Portal](https://devtools.bigc 6. Enter the **Load Callback URL** as `https://{ngrok_url}/api/load{:http}`. 7. Enter the **Uninstall Callback URL** as `https://{ngrok_url}/api/uninstall{:http}`. 8. If your app supports multiple users, locate the **App Features** section. Select **Multiple Users**, then enter the **Remove User Callback URL** as `https://{ngrok_url}/api/remove_user{:http}`. -9. Because you will be using the API to modify the store's products, set the Products OAuth scope to `modify`. To learn more about the available OAuth scopes, see [OAuth scopes](/api-docs/getting-started/api-accounts#oauth-scopes). +9. Because you will be using the API to modify the store's products, set the Products OAuth scope to `modify`. To learn more about the available OAuth scopes, see [OAuth scopes](/docs/start/authentication/api-accounts#oauth-scopes). 10. Click **Update & Close**. 11. Click **View Client ID** to view this app's client ID and client secret, or _app-level API account_. @@ -156,18 +156,18 @@ Congrats! You've created and installed a BigCommerce draft app. #### Becoming a partner - Interested in sharing or selling your app? Learn more about [becoming a BigCommerce partner](https://www.bigcommerce.com/partners/become-a-partner) and [getting your app approved](/api-docs/partner/app-store-approval-requirements). + Interested in sharing or selling your app? Learn more about [becoming a BigCommerce partner](https://www.bigcommerce.com/partners/become-a-partner) and [getting your app approved](/docs/integrations/apps/guide/requirements). ## Next steps -* [Learn more about building apps](/api-docs/getting-started/building-apps-bigcommerce/building-apps) +* [Learn more about building apps](/docs/integrations/apps) * [Apply to become a BigCommerce partner](https://www.bigcommerce.com/partners/become-a-partner) -* [Check out the BC App Marketplace approval requirements](/api-docs/partner/app-store-approval-requirements) +* [Check out the BC App Marketplace approval requirements](/docs/integrations/apps/guide/requirements) ## Resources * [BC App Marketplace](https://www.bigcommerce.com/apps/) -* [Guide to API Accounts](/api-docs/getting-started/api-accounts) -* [Testing locally with ngrok](/api-docs/apps/guide/development#testing-locally-with-ngrok) -* [Types of apps](/api-docs/getting-started/building-apps-bigcommerce/types-of-apps) -* [Becoming a partner](/api-docs/partner/becoming-a-partner) +* [Guide to API Accounts](/docs/start/authentication/api-accounts) +* [Testing locally with ngrok](/docs/integrations/apps/guide#testing-locally-with-ngrok) +* [Types of apps](/docs/integrations/apps/guide/types) +* [Becoming a partner](/docs/start/partner) diff --git a/docs/api-docs/apps/guide/apps-01-introduction.mdx b/docs/api-docs/apps/guide/apps-01-introduction.mdx index ab6c78e102..c5e2f31fe0 100644 --- a/docs/api-docs/apps/guide/apps-01-introduction.mdx +++ b/docs/api-docs/apps/guide/apps-01-introduction.mdx @@ -5,7 +5,7 @@ keywords: apps, app extensions # Introduction to Building Apps -Using BigCommerce's powerful APIs, SDKs, and toolkits, developers can build apps that are installable on BigCommerce stores. Once approved, apps can be sold (or made available free of charge) to all BigCommerce merchants on the [App Marketplace](https://www.bigcommerce.com/apps). This is the first article in a comprehensive developer's guide to building BigCommerce apps. It provides a brief, high-level introduction for developers new to the platform. If you already have experience developing for BigCommerce, feel free to [skip ahead](#next-steps) or check out the [quick start tutorial](/api-docs/apps/quick-start). +Using BigCommerce's powerful APIs, SDKs, and toolkits, developers can build apps that are installable on BigCommerce stores. Once approved, apps can be sold (or made available free of charge) to all BigCommerce merchants on the [App Marketplace](https://www.bigcommerce.com/apps). This is the first article in a comprehensive developer's guide to building BigCommerce apps. It provides a brief, high-level introduction for developers new to the platform. If you already have experience developing for BigCommerce, feel free to [skip ahead](#next-steps) or check out the [quick start tutorial](/docs/integrations/apps/quick-start). ## About BigCommerce apps @@ -41,23 +41,23 @@ Use [BigCommerce APIs](/docs/api) to integrate stores with business systems such ### Connect to sales channels -List products on external [sales channels](https://www.bigcommerce.com/apps/categories/sales-channels/) with [Channels Toolkit](/api-docs/channels/guide/channels-toolkit-reference). +List products on external [sales channels](https://www.bigcommerce.com/apps/categories/sales-channels/) with [Channels Toolkit](/docs/integrations/channels/toolkit-reference). -[Learn more about connecting apps to sales channels.](/api-docs/channels/overview). +[Learn more about connecting apps to sales channels.](/docs/integrations/channels). ### Add and manage scripts Create and manage scripts with [Scripts API](/docs/rest-management/scripts) and [Script Manager](https://support.bigcommerce.com/s/article/Using-Script-Manager). -[Learn more about creating scripts](/api-docs/store-management/scripts-overview). +[Learn more about creating scripts](/docs/integrations/scripts). ### Create custom widgets Create [widgets](https://support.bigcommerce.com/s/article/Page-Builder#builder) for merchants to install and configure. -[Learn more about creating widgets](/api-docs/storefront/widgets/widgets-overview). +[Learn more about creating widgets](/docs/storefront/widgets). ## Getting started Here's how to get started with BigCommerce development: -1. [Create a BigCommerce sandbox store](/api-docs/partner/getting-started/create-a-sandbox-store). +1. [Create a BigCommerce sandbox store](/docs/start/about/sandboxes). 2. [Apply to be a Partner](https://www.bigcommerce.com/partners) to get paid for your apps. @@ -68,9 +68,9 @@ Here's how to get started with BigCommerce development: ## Next steps -* [Decide which type of app to build](/api-docs/apps/guide/types) +* [Decide which type of app to build](/docs/integrations/apps/guide/types) -* [Start building apps with Node, React, Next.js, and BigDesign](/api-docs/apps/quick-start) +* [Start building apps with Node, React, Next.js, and BigDesign](/docs/integrations/apps/quick-start) ## Resources diff --git a/docs/api-docs/apps/guide/apps-02-types.mdx b/docs/api-docs/apps/guide/apps-02-types.mdx index 20393eb825..185b727216 100644 --- a/docs/api-docs/apps/guide/apps-02-types.mdx +++ b/docs/api-docs/apps/guide/apps-02-types.mdx @@ -19,10 +19,10 @@ The app requests the user to grant permissions associated to scopes configured f Once granted, the app can request a permanent `access_token` for making REST API requests on the user's behalf. -Single-click apps can use [App Extensions](/app-extensions/overview). +Single-click apps can use [App Extensions](/docs/integrations/apps/app-extensions). ## Connector -Connector apps use manual OAuth token creation instead of the single-click app flow. Store owners manually generate [store-level API credentials](/api-docs/getting-started/api-accounts#revoking-store-level-api-credentials) and enter them into the app's configuration. While single-click apps are recommended, the following use cases might not be compatible: +Connector apps use manual OAuth token creation instead of the single-click app flow. Store owners manually generate [store-level API credentials](/docs/start/authentication/api-accounts#revoking-store-level-api-credentials) and enter them into the app's configuration. While single-click apps are recommended, the following use cases might not be compatible: - Customized integrations that vary per store. - Integrations that do not provide any content for an iFrame. @@ -44,12 +44,12 @@ There are three visibility options for apps: **Draft**, **Unlisted**, and **Publ ## Next steps -[Begin app development](/api-docs/apps/guide/development). +[Begin app development](/docs/integrations/apps/guide). ## Resources ### Related articles -* [Building Apps Quick Start](/api-docs/apps/quick-start) +* [Building Apps Quick Start](/docs/integrations/apps/quick-start) ### Sample apps * [Node / React / Next.js](https://github.com/bigcommerce/sample-app-nodejs) diff --git a/docs/api-docs/apps/guide/apps-03-developing.mdx b/docs/api-docs/apps/guide/apps-03-developing.mdx index a6e83272db..f10ceacd7e 100644 --- a/docs/api-docs/apps/guide/apps-03-developing.mdx +++ b/docs/api-docs/apps/guide/apps-03-developing.mdx @@ -6,12 +6,12 @@ The BigCommerce team has developed an array of sample apps and tools to assist d ## Getting started Here's a few things you'll need before beginning app development: -1. [BigCommerce sandbox store](/api-docs/partner/getting-started/create-a-sandbox-store) (required to test app installation) +1. [BigCommerce sandbox store](/docs/start/about/sandboxes) (required to test app installation) 2. [Developer Portal Account](https://devtools.bigcommerce.com/) (required to register apps) 3. [BigCommerce partnership](https://www.bigcommerce.com/partners/) (required to publish apps to marketplace) ## Beginning quickly -The fastest way to begin app development is by starting with one of our sample apps. You can follow our [Building Apps Quick Start Tutorial](/api-docs/apps/quick-start), either alone or in conjunction with [spinning up a Heroku instance](https://heroku.com/deploy?template=https://github.com/bigcommerce/sample-app-nodejs) that runs our [Node / React / Next.js sample app](https://github.com/bigcommerce/sample-app-nodejs/). +The fastest way to begin app development is by starting with one of our sample apps. You can follow our [Building Apps Quick Start Tutorial](/docs/integrations/apps/quick-start), either alone or in conjunction with [spinning up a Heroku instance](https://heroku.com/deploy?template=https://github.com/bigcommerce/sample-app-nodejs) that runs our [Node / React / Next.js sample app](https://github.com/bigcommerce/sample-app-nodejs/). Alternatively, you can clone the GitHub repo for your preferred stack: @@ -71,7 +71,7 @@ Any store registered to the same email as your [Developer Portal](https://devtoo ## Resources ### Related articles -* [Building Apps Quick Start](/api-docs/apps/quick-start) +* [Building Apps Quick Start](/docs/integrations/apps/quick-start) ### Sample apps * [Node / React / Next.js](https://github.com/bigcommerce/sample-app-nodejs) diff --git a/docs/api-docs/apps/guide/apps-04-devloper-portal.mdx b/docs/api-docs/apps/guide/apps-04-devloper-portal.mdx index 2bfa107e87..5180ee1f5b 100644 --- a/docs/api-docs/apps/guide/apps-04-devloper-portal.mdx +++ b/docs/api-docs/apps/guide/apps-04-devloper-portal.mdx @@ -1,6 +1,6 @@ # Managing Apps in the Developer Portal -Create, edit, and submit apps for approval using the [Developer Portal](https://devtools.bigcommerce.com/). In [Beginning App Development](/api-docs/apps/guide/development), we briefly touched on how to create a draft app. In this article, we'll go over how to perform other common app management tasks. To get started, sign in or create an account in the [Developer Portal](https://devtools.bigcommerce.com/). +Create, edit, and submit apps for approval using the [Developer Portal](https://devtools.bigcommerce.com/). In [Beginning App Development](/docs/integrations/apps/guide), we briefly touched on how to create a draft app. In this article, we'll go over how to perform other common app management tasks. To get started, sign in or create an account in the [Developer Portal](https://devtools.bigcommerce.com/). #### Store email address constraint @@ -9,11 +9,11 @@ Create, edit, and submit apps for approval using the [Developer Portal](https:// ## Create an app profile -Creating an app also creates an app API account. To learn more about app API accounts, see the [Guide to API Accounts](/api-docs/getting-started/api-accounts#app-level-api-accounts). To create an app, do the following: +Creating an app also creates an app API account. To learn more about app API accounts, see the [Guide to API Accounts](/docs/start/authentication/api-accounts#app-level-api-accounts). To create an app, do the following: #### Information optional - No app profile fields are mandatory unless you're preparing the app for BigCommerce [App Marketplace](https://bigcommerce.com/apps) approval. To learn more about preparing an app for approval, see our [App Publishing Guide](/api-docs/apps/guide/publishing). + No app profile fields are mandatory unless you're preparing the app for BigCommerce [App Marketplace](https://bigcommerce.com/apps) approval. To learn more about preparing an app for approval, see our [App Publishing Guide](/docs/integrations/apps/guide/publishing). 1. Sign in or create an account with the [Developer Portal](https://devtools.bigcommerce.com). @@ -50,7 +50,7 @@ You can view the client ID and client secret any time; see the following section 2. A dialog box opens to reveal your API account credentials. -To learn more about using an app API account to generate store-specific access tokens, see [Implementing the OAuth Flow](/api-docs/apps/guide/auth). +To learn more about using an app API account to generate store-specific access tokens, see [Implementing the OAuth Flow](/docs/integrations/apps/guide/auth). ## Edit an app profile @@ -96,7 +96,7 @@ If your app supports stores that sell through multiple storefronts or sales chan 3. To save your change, click the **Update & Close** button on the edit dialog's lower right corner. -To read about designing or modifying your app to support multi-storefront, see [Multi-Storefront App Compatibility and Optimization](/api-docs/apps/multi-storefront) +To read about designing or modifying your app to support multi-storefront, see [Multi-Storefront App Compatibility and Optimization](/docs/integrations/apps/multi-storefront) ## Submit an app for approval @@ -106,13 +106,13 @@ To read about designing or modifying your app to support multi-storefront, see [ 2. The registration dialog opens; complete the app's profile. -To learn more about completing app registration fields and submitting apps for approval, consult our [App Publishing Guide](/api-docs/apps/guide/publishing). +To learn more about completing app registration fields and submitting apps for approval, consult our [App Publishing Guide](/docs/integrations/apps/guide/publishing). ## Deleting apps Deleting an app also deletes its API account. This is a destructive action; you can't recover the app or its API account. Do not delete an app without serious consideration, particularly if it is in production. It is likely to have far-reaching negative impacts on your users' stores. -To learn about mitigating the risks of deleting an app and its API account, see the [Guide to API Accounts](/api-docs/getting-started/api-accounts#delete-apps-carefully). +To learn about mitigating the risks of deleting an app and its API account, see the [Guide to API Accounts](/docs/start/authentication/api-accounts#delete-apps-carefully). 1. To delete an app, navigate to the Dev Portal's [My Apps dashboard](https://devtools.bigcommerce.com/my/apps) and click the **Delete App** trash can icon to the right of the app you want to edit. @@ -123,19 +123,19 @@ To learn about mitigating the risks of deleting an app and its API account, see ![Delete App Dialog](https://storage.googleapis.com/bigcommerce-production-dev-center/images/app-api-account/devtool-delete-app-confirm.png "Delete App Dialog") ## Next steps -* [Implement the OAuth flow](/api-docs/apps/guide/auth) -* [Handle app callbacks](/api-docs/apps/guide/callbacks) +* [Implement the OAuth flow](/docs/integrations/apps/guide/auth) +* [Handle app callbacks](/docs/integrations/apps/guide/callbacks) ## Resources ### Related articles -* [Introduction to Building Apps](/api-docs/apps/guide/intro) -* [Beginning App Development](/api-docs/apps/guide/development) -* [Implementing App OAuth](/api-docs/apps/guide/auth) -* [App Approval Requirements](/api-docs/apps/guide/requirements) -* [Publishing an App](/api-docs/apps/guide/publishing) -* [Guide to API Accounts](/api-docs/getting-started/api-accounts) +* [Introduction to Building Apps](/docs/integrations/apps) +* [Beginning App Development](/docs/integrations/apps/guide) +* [Implementing App OAuth](/docs/integrations/apps/guide/auth) +* [App Approval Requirements](/docs/integrations/apps/guide/requirements) +* [Publishing an App](/docs/integrations/apps/guide/publishing) +* [Guide to API Accounts](/docs/start/authentication/api-accounts) ### Other resources diff --git a/docs/api-docs/apps/guide/apps-05-oauth.mdx b/docs/api-docs/apps/guide/apps-05-oauth.mdx index bf80542f6c..e7e660bed4 100644 --- a/docs/api-docs/apps/guide/apps-05-oauth.mdx +++ b/docs/api-docs/apps/guide/apps-05-oauth.mdx @@ -1,7 +1,7 @@ # Single-Click App OAuth Flow -After you [install your draft app](/api-docs/apps/guide/development) and [create an app profile](/api-docs/apps/guide/developer-portal), you're ready to write the code grant authorization flow that generates a unique `access_token` for each store that installs your app. This article covers the sequence and contents of API requests and responses in the code grant authorization flow for a BigCommerce app. +After you [install your draft app](/docs/integrations/apps/guide) and [create an app profile](/docs/integrations/apps/guide/developer-portal), you're ready to write the code grant authorization flow that generates a unique `access_token` for each store that installs your app. This article covers the sequence and contents of API requests and responses in the code grant authorization flow for a BigCommerce app. It may be more appropriate for your application to use an API client to handle this logic; see [the list of BigCommerce API clients](#helpful-tools) that expose OAuth-related helper methods. @@ -12,7 +12,7 @@ It may be more appropriate for your application to use an API client to handle t ## Overview -Your app must expose a callback endpoint, `GET /auth{:http}`, that the merchant's store control panel can hit to initiate the code grant authorization flow. For a list of all the callback endpoints your app can expose, both required and optional, see [Single-Click App Callback Handlers](/api-docs/apps/guide/callbacks). +Your app must expose a callback endpoint, `GET /auth{:http}`, that the merchant's store control panel can hit to initiate the code grant authorization flow. For a list of all the callback endpoints your app can expose, both required and optional, see [Single-Click App Callback Handlers](/docs/integrations/apps/guide/callbacks). BigCommerce uses a modified version of the [OAuth2 authorization code grant (tools.ietf.org)](https://tools.ietf.org/html/rfc6749#section-4.1). The sequence is as follows: @@ -68,7 +68,7 @@ Referer: https://login.bigcommerce.com/ | Parameter | Description | |:----------|:------------| | `code` | The proverbial code in the code grant authorization flow; exchange for a semi-permanent `access_token`. | -| `scope` | A space-separated list of the OAuth scopes associated with this app's [API account](/api-docs/getting-started/api-accounts#app-level-api-accounts). | +| `scope` | A space-separated list of the OAuth scopes associated with this app's [API account](/docs/start/authentication/api-accounts#app-level-api-accounts). | | `context` | The path that identifies the store in API requests to `https://api.bigcommerce.com{:http}`; a string of the form `stores/{STORE_HASH}`. | | `account_uuid` | The ID of the Developer Portal account that registered the app profile. | @@ -112,7 +112,7 @@ Content-Type: application/json ## Receiving the access_token response -BigCommerce responds to the access_token request with JSON that contains a permanent `access_token`, among other information. Use this `access_token` to authenticate API requests the app makes on behalf of the store; see [Authentication and Example Requests](/api-docs/getting-started/authentication). To provide the most responsive app architecture and re-authentication checks, save all the response values. +BigCommerce responds to the access_token request with JSON that contains a permanent `access_token`, among other information. Use this `access_token` to authenticate API requests the app makes on behalf of the store; see [Authentication and Example Requests](/docs/start/authentication). To provide the most responsive app architecture and re-authentication checks, save all the response values. ```json filename="Example response: Create an access_token" showLineNumbers copy { @@ -173,16 +173,16 @@ The following BigCommerce API clients expose helper methods for BigCommerce's co * Fetches `access_token` ## Next step -* [Handle load, uninstall, and remove_user callbacks](/api-docs/apps/guide/callbacks) +* [Handle load, uninstall, and remove_user callbacks](/docs/integrations/apps/guide/callbacks) ## Resources ### Related articles -* [About Our APIs](/api-docs/getting-started/about-our-api) -* [Authentication](/api-docs/getting-started/authentication) +* [About Our APIs](/docs/start/about) +* [Authentication](/docs/start/authentication) ### Sample apps -* [Node / React / Next.js](https://github.com/bigcommerce/sample-app-nodejs) with [quick start tutorial](/api-docs/apps/quick-start) +* [Node / React / Next.js](https://github.com/bigcommerce/sample-app-nodejs) with [quick start tutorial](/docs/integrations/apps/quick-start) * [Python / Flask](https://github.com/bigcommerce/hello-world-app-python-flask) * [PHP / Silex](https://github.com/bigcommerce/hello-world-app-php-silex) * [Ruby / Sinatra](https://github.com/bigcommerce/hello-world-app-ruby-sinatra) diff --git a/docs/api-docs/apps/guide/apps-06-callbacks.mdx b/docs/api-docs/apps/guide/apps-06-callbacks.mdx index 41d278b3d2..57f3b8fc87 100644 --- a/docs/api-docs/apps/guide/apps-06-callbacks.mdx +++ b/docs/api-docs/apps/guide/apps-06-callbacks.mdx @@ -15,11 +15,11 @@ Your app's front-end views render inside an iFrame in the store control panel, s Your app is only required to handle the `GET /auth{:http}` and `GET /load{:http}` endpoints, but we recommend writing handlers for the others, as well. Please see the corresponding detail sections that follow for more about the consequences of not handling optional callback endpoints. -The following table lists the app management callbacks that BigCommerce stores send: the three listed in the preceding paragraph, plus the auth callback described in [Single-Click App OAuth Flow](/api-docs/apps/guide/auth). +The following table lists the app management callbacks that BigCommerce stores send: the three listed in the preceding paragraph, plus the auth callback described in [Single-Click App OAuth Flow](/docs/integrations/apps/guide/auth). | Endpoint | Required | Request Origin | Payload | Expected Response | Event Description | |:---------|:--------:|:---------------|:--------|:-----------------|:------------------| -| `GET /auth{:http}` | yes | browser | URL-encoded | markup | See [Implement the OAuth flow](/api-docs/apps/guide/auth). | +| `GET /auth{:http}` | yes | browser | URL-encoded | markup | See [Implement the OAuth flow](/docs/integrations/apps/guide/auth). | | `GET /load{:http}` | yes | browser | JWT | markup | The store owner or authorized user clicks to load the app. | | `GET /uninstall{:http}` | no | server | JWT | JSON | The store owner clicks to uninstall the app. | | `GET /remove_user{:http}` | no | server | JWT | JSON | The store owner revokes a user's access to the app. | @@ -69,7 +69,7 @@ Use a [compatible BigCommerce API client](#helpful-tools) or a [standard library ## Work with payload claims -Use the payload claim data to identify the store and user. What your app should do with this information typically depends on whether it supports [multiple users](/api-docs/apps/guide/users). Refer to the following table for instructions: +Use the payload claim data to identify the store and user. What your app should do with this information typically depends on whether it supports [multiple users](/docs/integrations/apps/guide/users). Refer to the following table for instructions: | Endpoint | Multiple Users Enabled | Multiple Users Not Enabled | |:---------|:-----------------------|:---------------------------| @@ -133,12 +133,12 @@ The following BigCommerce API clients expose helper methods for verifying the `s * Verifies `signed_payload_jwt` ## Next step -* [Support multiple users](/api-docs/apps/guide/users) +* [Support multiple users](/docs/integrations/apps/guide/users) ## Resources ### Sample apps -* [Node / React / Next.js](https://github.com/bigcommerce/sample-app-nodejs) with [quick start tutorial](/api-docs/apps/quick-start) +* [Node / React / Next.js](https://github.com/bigcommerce/sample-app-nodejs) with [quick start tutorial](/docs/integrations/apps/quick-start) * [Python / Flask](https://github.com/bigcommerce/hello-world-app-python-flask) * [PHP / Silex](https://github.com/bigcommerce/hello-world-app-php-silex) * [Ruby / Sinatra](https://github.com/bigcommerce/hello-world-app-ruby-sinatra) diff --git a/docs/api-docs/apps/guide/apps-07-users.mdx b/docs/api-docs/apps/guide/apps-07-users.mdx index 0d210ffd63..701259a757 100644 --- a/docs/api-docs/apps/guide/apps-07-users.mdx +++ b/docs/api-docs/apps/guide/apps-07-users.mdx @@ -29,16 +29,16 @@ Because you know the store owner's `email` and `ID` from the app installation se ## The remove user request Store owners can also remove users. This action generates a `GET` request to the remove user callback URL that you provided in the [Developer Portal](https://devtools.bigcommerce.com/my/apps). When this occurs, your app should remove the user identified in the request from it's records. -For details about remove user and load requests, see [Single-click App Callbacks](/api-docs/apps/guide/callbacks). +For details about remove user and load requests, see [Single-click App Callbacks](/docs/integrations/apps/guide/callbacks). ## Next steps -* [Learn how to handle store events](/api-docs/apps/guide/users). +* [Learn how to handle store events](/docs/integrations/apps/guide/users). ## Resources ## Related articles -* [Single-click App Callbacks](/api-docs/apps/guide/callbacks) +* [Single-click App Callbacks](/docs/integrations/apps/guide/callbacks) ### Sample apps * [Node / React / Next.js](https://github.com/bigcommerce/sample-app-nodejs) diff --git a/docs/api-docs/apps/guide/apps-08-events.mdx b/docs/api-docs/apps/guide/apps-08-events.mdx index 3be20f7786..87161bff05 100644 --- a/docs/api-docs/apps/guide/apps-08-events.mdx +++ b/docs/api-docs/apps/guide/apps-08-events.mdx @@ -2,29 +2,29 @@ -Your app may need to be notified when specific events occur on a BigCommerce store (for example, when an order is created). Your app can programmatically subscribe to such events using [webhooks](/docs/webhooks/overview). We'll briefly introduce webhooks in this article (for visibility); to take a deeper dive, see [Webhooks Overview](/api-docs/getting-started/webhooks/about-webhooks). +Your app may need to be notified when specific events occur on a BigCommerce store (for example, when an order is created). Your app can programmatically subscribe to such events using [webhooks](/docs/webhooks). We'll briefly introduce webhooks in this article (for visibility); to take a deeper dive, see [Webhooks Overview](/docs/integrations/webhooks). ## Available webhooks The following resources have webhooks events available to apps: -* [Carts](/api-docs/store-management/webhooks/webhook-events#carts) +* [Carts](/docs/integrations/webhooks/events#carts) -* [Cart Line Items](/api-docs/store-management/webhooks/webhook-events#cart-line-items) +* [Cart Line Items](/docs/integrations/webhooks/events#cart-line-items) -* [Categories](/api-docs/store-management/webhooks/webhook-events#categories) +* [Categories](/docs/integrations/webhooks/events#categories) -* [Customers](/api-docs/store-management/webhooks/webhook-events#customers) +* [Customers](/docs/integrations/webhooks/events#customers) -* [Orders](/api-docs/store-management/webhooks/webhook-events#orders) +* [Orders](/docs/integrations/webhooks/events#orders) -* [Products](/api-docs/getting-started/webhooks/webhook-events#products) -* [Shipments](/api-docs/getting-started/webhooks/webhook-events#shipments) -* [SKUs](/api-docs/getting-started/webhooks/webhook-events#skus) -* [Stores](/api-docs/getting-started/webhooks/webhook-events#stores) -* [Subscribers](/api-docs/getting-started/webhooks/webhook-events#subscribers) +* [Products](/docs/integrations/webhooks/events#products) +* [Shipments](/docs/integrations/webhooks/events#shipments) +* [SKUs](/docs/integrations/webhooks/events#skus) +* [Stores](/docs/integrations/webhooks/events#stores) +* [Subscribers](/docs/integrations/webhooks/events#subscribers) -[Learn more about webhook events](/api-docs/getting-started/webhooks/webhook-events#orders). +[Learn more about webhook events](/docs/integrations/webhooks/events#orders). ## Creating webhooks @@ -44,17 +44,17 @@ Accept: application/json } ``` -[Learn more about creating webhooks](/api-docs/getting-started/webhooks/setting-up-webhooks). +[Learn more about creating webhooks](/docs/integrations/webhooks). ## Next steps -* [Design your app's user interface](/api-docs/apps/guide/ui). +* [Design your app's user interface](/docs/integrations/apps/guide/ui). ## Resources ### Related articles -* [Webhooks Overview](/api-docs/getting-started/webhooks/setting-up-webhooks) -* [Webhooks Tutorial](/api-docs/getting-started/webhooks/setting-up-webhooks) -* [Webhooks Events](/api-docs/getting-started/webhooks/webhook-events) +* [Webhooks Overview](/docs/integrations/webhooks) +* [Webhooks Tutorial](/docs/integrations/webhooks) +* [Webhooks Events](/docs/integrations/webhooks/events) ### Sample apps * [Node / React / Next.js](https://github.com/bigcommerce/sample-app-nodejs) diff --git a/docs/api-docs/apps/guide/apps-09-ui.mdx b/docs/api-docs/apps/guide/apps-09-ui.mdx index 5deb6c0167..bb66ec9fcc 100644 --- a/docs/api-docs/apps/guide/apps-09-ui.mdx +++ b/docs/api-docs/apps/guide/apps-09-ui.mdx @@ -2,7 +2,7 @@ -Your app's user interface is loaded inside an iFrame in a store's control panel after a user clicks the app's icon in the left nav and triggers the [load callback](/api-docs/apps/guide/callbacks). To ensure a seamless user experience, you should design your app's UI to match the design of BigCommerce's control panel. We've built a collection of reusable React components, design guidelines, and UI patterns (known collectively as *BigDesign*) that you can use to rapidly develop an app front-end that's consistent with BigCommerce's UI. +Your app's user interface is loaded inside an iFrame in a store's control panel after a user clicks the app's icon in the left nav and triggers the [load callback](/docs/integrations/apps/guide/callbacks). To ensure a seamless user experience, you should design your app's UI to match the design of BigCommerce's control panel. We've built a collection of reusable React components, design guidelines, and UI patterns (known collectively as *BigDesign*) that you can use to rapidly develop an app front-end that's consistent with BigCommerce's UI. ## Installing BigDesign React components @@ -68,10 +68,10 @@ To load inside the control panel iFrame, your app must do the following: ## Next steps -* [Create external installation buttons](/api-docs/apps/guide/buttons). -* [Follow best practices](/api-docs/apps/guid/best-practices). -* [Check requirements](/api-docs/apps/guide/requirements). -* [Publish your app](/api-docs/apps/guide/publish). +* [Create external installation buttons](/docs/integrations/apps/guide/buttons). +* [Follow best practices](/docs/integrations/apps/guide/best-practices). +* [Check requirements](/docs/integrations/apps/guide/requirements). +* [Publish your app](/docs/integrations/apps/guide/publishing). ## Resources diff --git a/docs/api-docs/apps/guide/apps-10-buttons.mdx b/docs/api-docs/apps/guide/apps-10-buttons.mdx index 4f47841070..232286811c 100644 --- a/docs/api-docs/apps/guide/apps-10-buttons.mdx +++ b/docs/api-docs/apps/guide/apps-10-buttons.mdx @@ -67,9 +67,9 @@ end ``` ## Next steps -* [Follow best practices](/api-docs/apps/guid/best-practices). -* [Check requirements](/api-docs/apps/guide/requirements). -* [Publish your app](/api-docs/apps/guide/publish). +* [Follow best practices](/docs/integrations/apps/guide/best-practices). +* [Check requirements](/docs/integrations/apps/guide/requirements). +* [Publish your app](/docs/integrations/apps/guide/publishing). ## Resources diff --git a/docs/api-docs/apps/guide/apps-11-best-practices.mdx b/docs/api-docs/apps/guide/apps-11-best-practices.mdx index 40b34449e2..5076931e16 100644 --- a/docs/api-docs/apps/guide/apps-11-best-practices.mdx +++ b/docs/api-docs/apps/guide/apps-11-best-practices.mdx @@ -25,13 +25,13 @@ For details, see [Security Considerations in RC6749](https://tools.ietf.org/html ## API requests -For recommendations on API request-related best practices, including rate limits, threading, parallel requests, and the finer points of request headers, see our article on [Best Practices](/api-docs/getting-started/best-practices). +For recommendations on API request-related best practices, including rate limits, threading, parallel requests, and the finer points of request headers, see our article on [Best Practices](/docs/start/best-practices). ## Webhook events ### Use webhooks to keep app data up-to-date -Rather than polling endpoints, get notified when updates occur by subscribing to [webhooks](/api-docs/getting-started/webhooks/about-webhooks). +Rather than polling endpoints, get notified when updates occur by subscribing to [webhooks](/docs/integrations/webhooks). ## User interface @@ -64,13 +64,13 @@ Bigcommerce.init({ Merchants often have more than one person who can access a store's control panel. BigCommerce allows additional users to access an app when the store owner has granted them appropriate permissions. The requirements for supporting multi-user app access are: * The app must save the API account access token for each store with its `store_hash`, rather than a user's info. -* In the app's [Developer Portal profile](https://devtools.bigcommerce.com), you must [enable multiple users](/api-docs/apps/guide/developer-portal#edit-technical-details). +* In the app's [Developer Portal profile](https://devtools.bigcommerce.com), you must [enable multiple users](/docs/integrations/apps/guide/developer-portal#edit-technical-details). In the payload returned when a user launches an app, users are distinguished by `owner_email` versus `user_email`. If these two emails match, the user is the store owner. -Enabling user removal is optional. If you want merchants to be able to remove users, you can do so by writing a `remove_user` callback and [adding its URL](/api-docs/apps/guide/developer-portal#edit-technical-details) to your app's [Developer Portal profile](https://devtools.bigcommerce.com). For more advanced implementations, you can enable the store owner to grant specific permissions to different non-admin users. For example, `person1@example.com` could be permitted to edit product inventory but not view orders. If you decide to implement user permissions in your app, it’s a great feature to advertise. +Enabling user removal is optional. If you want merchants to be able to remove users, you can do so by writing a `remove_user` callback and [adding its URL](/docs/integrations/apps/guide/developer-portal#edit-technical-details) to your app's [Developer Portal profile](https://devtools.bigcommerce.com). For more advanced implementations, you can enable the store owner to grant specific permissions to different non-admin users. For example, `person1@example.com` could be permitted to edit product inventory but not view orders. If you decide to implement user permissions in your app, it’s a great feature to advertise. -For more information, see [Multi-User Support](/api-docs/apps/guide/intro#multi-user-support). +For more information, see [Multi-User Support](/docs/integrations/apps#multi-user-support). ## Deployment @@ -80,8 +80,8 @@ For more information, see [Multi-User Support](/api-docs/apps/guide/intro#multi- BigCommerce hosts [Google Cloud Platform](https://cloud.google.com/) in the [us-central1](https://cloud.google.com/compute/docs/regions-zones/) region; maximize performance by hosting in the same region. ## Next steps -* [Check requirements](/api-docs/apps/guide/requirements). -* [Publish your app](/api-docs/apps/guide/publish). +* [Check requirements](/docs/integrations/apps/guide/requirements). +* [Publish your app](/docs/integrations/apps/guide/publishing). ## Resources diff --git a/docs/api-docs/apps/guide/apps-12-requirements.mdx b/docs/api-docs/apps/guide/apps-12-requirements.mdx index 18b38698c2..481dd92685 100644 --- a/docs/api-docs/apps/guide/apps-12-requirements.mdx +++ b/docs/api-docs/apps/guide/apps-12-requirements.mdx @@ -29,17 +29,17 @@ Don't reference competitor platforms in the app's listing information or dashboa * Apps must work as intended and cannot conflict with BigCommerce functionality. * Apps must use V3 endpoints in favor of V2 endpoints when feature parity exists. * Apps must serve all callback URLs over HTTPS. -* Apps in the App Marketplace must be [multi-user enabled](/api-docs/apps/guide/users). +* Apps in the App Marketplace must be [multi-user enabled](/docs/integrations/apps/guide/users). * Apps that process transactions or handle credit card data must pass a PCI Compliance review by BigCommerce's security team. New payment gateway app submissions may not be accepted for App Marketplace review. * Apps that access the Checkout Content scope will also be subject to a security assessment by BigCommerce's security team. -* Apps that modify the checkout experience must use the BigCommerce [Checkout SDK](/stencil-docs/customizing-checkout/checkout-sdk). -* Apps that add another marketplace or sales channel to a store should make use of the [Channels Toolkit](/api-docs/channels/guide/building-channel-apps) and follow [Channel App Requirements](/api-docs/channels/guide/channel-app-requirements). +* Apps that modify the checkout experience must use the BigCommerce [Checkout SDK](/docs/storefront/cart-checkout/checkout-sdk). +* Apps that add another marketplace or sales channel to a store should make use of the [Channels Toolkit](/docs/integrations/channels/guide) and follow [Channel App Requirements](/docs/integrations/channels/guide/requirements). * Apps that create orders in the BigCommerce store need to properly mark accurate order source, payment method, and other order details. ## Installation -* Apps should be [single-click](/api-docs/apps/guide/types#single-click) and use [OAuth flow](/api-docs/apps/guide/auth) to authenticate. -* Apps must respond to install [callback](/api-docs/apps/guide/callbacks) with styled and branded HTML for the control panel iframe; this content cannot be blank and must follow our user-interface constraints. Apps using [BigDesign](https://developer.bigcommerce.com/big-design/) are preferred. +* Apps should be [single-click](/docs/integrations/apps/guide/types#single-click) and use [OAuth flow](/docs/integrations/apps/guide/auth) to authenticate. +* Apps must respond to install [callback](/docs/integrations/apps/guide/callbacks) with styled and branded HTML for the control panel iframe; this content cannot be blank and must follow our user-interface constraints. Apps using [BigDesign](https://developer.bigcommerce.com/big-design/) are preferred. * Apps must store user tokens against the store hash, not the user's email address, to avoid problems with ownership changes and multiple user support. * Apps need to include options for new user registration as well as existing users. * Apps should autofill registration fields such as email address and store URL based on the store's information. @@ -56,7 +56,7 @@ Don't reference competitor platforms in the app's listing information or dashboa For App Marketplace approval, you'll need to fill out all fields on your listing with applicable content and links. These will be reviewed as part of the Marketplace approval process. **Case Studies** and **Videos** are optional. ## Next steps -* [Publish your app](/api-docs/apps/guide/publishing). +* [Publish your app](/docs/integrations/apps/guide/publishing). ## Resources diff --git a/docs/api-docs/apps/guide/apps-13-publishing.mdx b/docs/api-docs/apps/guide/apps-13-publishing.mdx index 990eeda2ad..4b41fd6279 100644 --- a/docs/api-docs/apps/guide/apps-13-publishing.mdx +++ b/docs/api-docs/apps/guide/apps-13-publishing.mdx @@ -32,7 +32,7 @@ To begin the app certification process, we'll need some basic information about | Partner Website | URL to your homepage | | Support Email | Business mail where users can get help with the app | | Support Website | Used for **Get Support** button in Marketplace | -| Partner ID | Required for submission; assigned to [partners](/api-docs/partner/becoming-a-partner#applying-to-the-technology-partner-program) after approval | +| Partner ID | Required for submission; assigned to [partners](/docs/start/partner#applying-to-the-technology-partner-program) after approval | | App Name | Brand name given to app for titles and app content; should not include taglines or descriptors | | App Logo | Primary app logo; should be 350 x 130px with a white background and dark branding with no taglines | | App Icon | Shown on main app detail page and left nav in control panel once installed; should be 200 x 200px | diff --git a/docs/api-docs/apps/tutorials/sample-app-next/introduction.mdx b/docs/api-docs/apps/tutorials/sample-app-next/introduction.mdx index 3cdfa63cc5..286a534d61 100644 --- a/docs/api-docs/apps/tutorials/sample-app-next/introduction.mdx +++ b/docs/api-docs/apps/tutorials/sample-app-next/introduction.mdx @@ -10,7 +10,7 @@ At the end of this tutorial, you will have a functional single-click app that ca #### Heroku option - To get the app up and running quickly, follow the steps described in [Quick Start: Deploy to Heroku Install Flow](/api-docs/apps/tutorials/sample-app-nextjs/deploy-to-heroku). + To get the app up and running quickly, follow the steps described in [Quick Start: Deploy to Heroku Install Flow](/docs/integrations/apps/tutorial/nextjs-quick-start). @@ -21,7 +21,7 @@ To successfully complete this tutorial, you need the following: * Experience using a text editor and a terminal app * Experience with [Node.js](https://nodejs.org/en/), [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript), and [React.js](https://www.reactjs.org/) * Experience using [npm](https://www.npmjs.com/) -* [BigCommerce sandbox store](/api-docs/partner/getting-started/create-a-sandbox-store) (required to develop and test apps) +* [BigCommerce sandbox store](/docs/start/about/sandboxes) (required to develop and test apps) * [Developer Portal Account](https://devtools.bigcommerce.com/) (required to register apps) You will be using [Next.js](https://nextjs.org/), [BigDesign](https://developer.bigcommerce.com/big-design), and [styled-components](https://styled-components.com/docs) to build this sample app. @@ -32,4 +32,4 @@ With the exception of automated routing, our sample app is very React-ive. Even [BigDesign](https://developer.bigcommerce.com/big-design) is a BigCommerce library of React components. Using BigDesign when developing your BigCommerce apps will ensure that your app has a similar interface and adheres to the same user experience standards as the rest of the BigCommerce platform. We encourage you to familiarize yourself with BigDesign to simplify future integrations with BigCommerce. -[Next: Set up Your Local Environment](/api-docs/apps/tutorials/build-a-nextjs-sample-app/step-1-setup) +[Next: Set up Your Local Environment](/docs/integrations/apps/tutorial/nextjs-setup) diff --git a/docs/api-docs/apps/tutorials/sample-app-next/step-1-setup.mdx b/docs/api-docs/apps/tutorials/sample-app-next/step-1-setup.mdx index 8512e80652..023bd9c201 100644 --- a/docs/api-docs/apps/tutorials/sample-app-next/step-1-setup.mdx +++ b/docs/api-docs/apps/tutorials/sample-app-next/step-1-setup.mdx @@ -228,4 +228,4 @@ npm run dev ![Hello world](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Sample_app/nextjs-app-01.png "Hello world") -[Next: Connect Your App to BigCommerce](/api-docs/apps/tutorials/build-a-nextjs-sample-app/step-2-connect) +[Next: Connect Your App to BigCommerce](/docs/integrations/apps/tutorial/nextjs-connect) diff --git a/docs/api-docs/apps/tutorials/sample-app-next/step-2-connect-to-bc.mdx b/docs/api-docs/apps/tutorials/sample-app-next/step-2-connect-to-bc.mdx index 4b13c06c3b..c10716207f 100644 --- a/docs/api-docs/apps/tutorials/sample-app-next/step-2-connect-to-bc.mdx +++ b/docs/api-docs/apps/tutorials/sample-app-next/step-2-connect-to-bc.mdx @@ -77,7 +77,7 @@ export function getBCVerify({ signed_payload_jwt }: QueryParams) { } ``` -The `verifyJWT` method employs the `signed_payload_jwt` query parameter to authenticate requests. You use the `verifyJWT` method for both `/load` and `/uninstall` API endpoints. To learn more about the OAuth flow, see [Single-Click App OAuth Flow](/api-docs/apps/guide/auth). +The `verifyJWT` method employs the `signed_payload_jwt` query parameter to authenticate requests. You use the `verifyJWT` method for both `/load` and `/uninstall` API endpoints. To learn more about the OAuth flow, see [Single-Click App OAuth Flow](/docs/integrations/apps/guide/auth). You can [view auth.ts (GitHub)](https://github.com/bigcommerce/sample-app-nodejs/blob/step-2-connect-app-to-bc/lib/auth.ts). @@ -180,7 +180,7 @@ To register an app, you need a BigCommerce store. If you do not have a BigCommer ![Create an app](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Sample_app/nextjs-app-03.png "Create an app") -2. Enter app details at the prompts. Because you are building a sample app, you can name it anything you want. Production-level apps should meet the general requirements outlined in [Approval Requirements](/api-docs/apps/guide/requirements). +2. Enter app details at the prompts. Because you are building a sample app, you can name it anything you want. Production-level apps should meet the general requirements outlined in [Approval Requirements](/docs/integrations/apps/guide/requirements). 3. Click **Technical**. @@ -206,7 +206,7 @@ To register an app, you need a BigCommerce store. If you do not have a BigCommer Next.js maps all APIs that are part of the Next.js application to the `/api/*` route. To learn more about Next.js API routes, see [API Routes](https://nextjs.org/docs/api-routes/introduction). -6. Because you will be modifying the Products API resource, set the Products OAuth scope to **MODIFY**. To learn more about the available OAuth scopes, see [OAuth scopes](/api-docs/getting-started/api-accounts#oauth-scopes). +6. Because you will be modifying the Products API resource, set the Products OAuth scope to **MODIFY**. To learn more about the available OAuth scopes, see [OAuth scopes](/docs/start/authentication/api-accounts#oauth-scopes). ![OAuth scopes](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Sample_app/nextjs-app-07.png "OAuth Scopes") @@ -272,4 +272,4 @@ You should see your app embedded in the BigCommerce platform. ![Embedded app](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Sample_app/nextjs-app-09.png "Embedded app") -[Next: Integrate the BigCommerce API and Add a Database](/api-docs/apps/tutorials/build-a-nextjs-sample-app/step-3-integrate) +[Next: Integrate the BigCommerce API and Add a Database](/docs/integrations/apps/tutorial/nextjs-integrate) diff --git a/docs/api-docs/apps/tutorials/sample-app-next/step-3-integrate-api.mdx b/docs/api-docs/apps/tutorials/sample-app-next/step-3-integrate-api.mdx index 9f70d464b0..12c5b440ef 100644 --- a/docs/api-docs/apps/tutorials/sample-app-next/step-3-integrate-api.mdx +++ b/docs/api-docs/apps/tutorials/sample-app-next/step-3-integrate-api.mdx @@ -861,4 +861,4 @@ Now that you have synced up the database, your app should display information un ![Sample app](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Sample_app/nextjs-app-13.png "Sample app") -[Next: Enhance the User Experience with BigDesign](/api-docs/apps/tutorials/build-a-nextjs-sample-app/step-4-enhance) +[Next: Enhance the User Experience with BigDesign](/docs/integrations/apps/tutorial/nextjs-enhance) diff --git a/docs/api-docs/apps/tutorials/sample-app-next/step-4-enhance-ux.mdx b/docs/api-docs/apps/tutorials/sample-app-next/step-4-enhance-ux.mdx index 6268a65982..f145fc29b6 100644 --- a/docs/api-docs/apps/tutorials/sample-app-next/step-4-enhance-ux.mdx +++ b/docs/api-docs/apps/tutorials/sample-app-next/step-4-enhance-ux.mdx @@ -758,4 +758,4 @@ You should now have a fully functional app that pulls data from BigCommerce's Ca This concludes our Next.js Sample App tutorial. To continue developing with BigCommerce, consider working through these supplemental materials: -* [Managing Apps in the Developer Portal](/api-docs/apps/guide/developer-portal) +* [Managing Apps in the Developer Portal](/docs/integrations/apps/guide/developer-portal) diff --git a/docs/api-docs/building-checkouts/checkout-consignment.mdx b/docs/api-docs/building-checkouts/checkout-consignment.mdx index 5f3a0dff92..dfa4e3db6a 100644 --- a/docs/api-docs/building-checkouts/checkout-consignment.mdx +++ b/docs/api-docs/building-checkouts/checkout-consignment.mdx @@ -11,13 +11,13 @@ This article discusses how to create and update a consignment. A _consignment_ is a list of physical products that will travel together to the purchaser, and it specifies how those items can and will ship. It is an object that includes at least one product line item and one address. A checkout containing one or more physical products will always have at least one consignment associated with it. An order that ships to multiple addresses will have at least one consignment per address. It is also possible to create multiple consignments for the same address. -The REST Storefront, REST Management, and GraphQL Storefront APIs provide methods for creating checkout consignments, which are shipments waiting to happen. A newly created consignment returns a list of fulfillment options available based on the destination address. These APIs also provide methods for updating this consignment to change the destination, add or remove items, and select a fulfillment option. This article focuses on the REST Storefront API. For more about managing consignments with GraphQL, see [GraphQL Storefront API: Carts and Checkout](/api-docs/storefront/graphql/carts-and-checkout). +The REST Storefront, REST Management, and GraphQL Storefront APIs provide methods for creating checkout consignments, which are shipments waiting to happen. A newly created consignment returns a list of fulfillment options available based on the destination address. These APIs also provide methods for updating this consignment to change the destination, add or remove items, and select a fulfillment option. This article focuses on the REST Storefront API. For more about managing consignments with GraphQL, see [GraphQL Storefront API: Carts and Checkout](/docs/storefront/cart-checkout/guide/graphql-storefront). A checkout containing physical products is not eligible to become an order until each of its consignments contains a `selected_shipping_option`. ## Authentication -To learn more about authentication, see [Authentication and Example Requests](/api-docs/getting-started/authentication). +To learn more about authentication, see [Authentication and Example Requests](/docs/start/authentication). ### REST Management @@ -34,7 +34,7 @@ The REST Storefront API allows developers to manage a shopper’s cart, checkout ### GraphQL Storefront -See [GraphQL Storefront API: Carts and Checkout](/api-docs/storefront/graphql/carts-and-checkout). +See [GraphQL Storefront API: Carts and Checkout](/docs/storefront/cart-checkout/guide/graphql-storefront). For limits on the number of line items in a consignment, see the [Create a consignment endpoint](/docs/rest-storefront/checkouts/checkout-consignments#create-a-consignment) documentation. @@ -156,4 +156,4 @@ Copy and paste your `store_hash`,`access_token`, `checkoutId`, `consignmentId` a * [REST Management API Reference: Checkouts](/docs/rest-management/checkouts) * [REST Storefront API Reference: Checkouts](/docs/rest-storefront/checkouts) -* [GraphQL Storefront API Carts and Checkout](/api-docs/storefront/graphql/carts-and-checkout) +* [GraphQL Storefront API Carts and Checkout](/docs/storefront/cart-checkout/guide/graphql-storefront) diff --git a/docs/api-docs/building-checkouts/checkout-customizability.mdx b/docs/api-docs/building-checkouts/checkout-customizability.mdx index c9790a82f6..0bf0d70fc4 100644 --- a/docs/api-docs/building-checkouts/checkout-customizability.mdx +++ b/docs/api-docs/building-checkouts/checkout-customizability.mdx @@ -5,7 +5,7 @@ keywords: checkout, checkouts, stencil, headless, storefronts, draft order, # Checkout Customizability -BigCommerce provides significant levels of checkout customizability. If you just want to modify the theme by overriding the style of BigCommerce’s Optimized One-Page Checkout, please see [Restyle Optimized One-Page Checkout](/stencil-docs/customizing-checkout/optimized-one-page-checkout). However, if you want to build a custom checkout, there are two paths that a developer can choose to use. +BigCommerce provides significant levels of checkout customizability. If you just want to modify the theme by overriding the style of BigCommerce’s Optimized One-Page Checkout, please see [Restyle Optimized One-Page Checkout](/docs/storefront/cart-checkout/optimized-one-page-checkout). However, if you want to build a custom checkout, there are two paths that a developer can choose to use. The first path is to render the checkout on the BigCommerce storefront. With the storefront suite of APIs and SDKs, BigCommerce as a platform maintains responsibility for managing shopper sessions using cookies and all our standard mechanisms. @@ -17,15 +17,15 @@ Once a developer has chosen a path, they can choose the options they want to use | | What is it? | When should I use it? | Where do I find it? | |-|-|-|-| -|**Open Checkout**| Open checkout is the open-source option of BigCommerce's Optimized One-Page Checkout.

A browser-based application that converts a cart to an order, allowing shoppers to complete checkout.

Our reference implementation of checkout built on top of the Checkout JS SDK. | This option allows developers to create a custom checkout from a fully functional foundation (as a starting point for their efforts or even contribute to it).

Add features or make moderate-sized changes to BigCommerce’s checkout (hosted on the BigCommerce storefront). | [Open Checkout Quick Start](/stencil-docs/customizing-checkout/open-checkout-quick-start) | -|**Checkout JS SDK**| A client-side vanilla JavaScript library that is a wrapper for the Storefront Checkout API.

The SDK handles all the API calls necessary to move shoppers through the checkout experience. From customer login, fetching shipping quotes, and payment methods through to paying an order.| This option allows developers to build a custom checkout from scratch by creating a presentation layer for checkout. Completely replacing the UI/UX without having to do the heavy lifting of dealing with Storefront API endpoints.

Significant front-end customizations and/or feature additions to checkout (hosted on the BigCommerce storefront).

**Limitations:** | [Checkout SDK](/stencil-docs/customizing-checkout/checkout-sdk) | -| **Storefront Checkout API** | GraphQL and REST APIs create and update a checkout and convert it to an order.

| This option allows developers to build a custom checkout experience (within the context of a BigCommerce storefront session) by accessing raw API request/response data.

These are the APIs you would typically access from your browser using JavaScript to retrieve checkout data not available through the SDK. | [GraphQL Storefront API: Carts and Checkout](/api-docs/storefront/graphql/carts-and-checkout)

[Storefront GraphQL API Reference](/graphql-storefront/reference#definition-Checkout)

[Storefront Checkout API](/docs/rest-storefront/checkouts)

[Storefront Cart and Checkout](/api-docs/storefront/overview)| +|**Open Checkout**| Open checkout is the open-source option of BigCommerce's Optimized One-Page Checkout.

A browser-based application that converts a cart to an order, allowing shoppers to complete checkout.

Our reference implementation of checkout built on top of the Checkout JS SDK. | This option allows developers to create a custom checkout from a fully functional foundation (as a starting point for their efforts or even contribute to it).

Add features or make moderate-sized changes to BigCommerce’s checkout (hosted on the BigCommerce storefront). | [Open Checkout Quick Start](/docs/storefront/cart-checkout/open-checkouts) | +|**Checkout JS SDK**| A client-side vanilla JavaScript library that is a wrapper for the Storefront Checkout API.

The SDK handles all the API calls necessary to move shoppers through the checkout experience. From customer login, fetching shipping quotes, and payment methods through to paying an order.| This option allows developers to build a custom checkout from scratch by creating a presentation layer for checkout. Completely replacing the UI/UX without having to do the heavy lifting of dealing with Storefront API endpoints.

Significant front-end customizations and/or feature additions to checkout (hosted on the BigCommerce storefront).

**Limitations:** | [Checkout SDK](/docs/storefront/cart-checkout/checkout-sdk) | +| **Storefront Checkout API** | GraphQL and REST APIs create and update a checkout and convert it to an order.

| This option allows developers to build a custom checkout experience (within the context of a BigCommerce storefront session) by accessing raw API request/response data.

These are the APIs you would typically access from your browser using JavaScript to retrieve checkout data not available through the SDK. | [GraphQL Storefront API: Carts and Checkout](/docs/storefront/cart-checkout/guide/graphql-storefront)

[Storefront GraphQL API Reference](/graphql-storefront/reference#definition-Checkout)

[Storefront Checkout API](/docs/rest-storefront/checkouts)

[Storefront Cart and Checkout](/docs/storefront/cart-checkout/guide/rest-management)| | **Management Checkout API** | REST APIs create and update a checkout and convert it to an order. | This option allows developers to build a custom checkout (outside of a BigCommerce storefront session) and use the [Payments API](/docs/rest-payments/processing) to pay for an order.

When used with the [Management Cart API](/docs/rest-management/carts) it allows you to make modifications similar to those performed using the control panel option **Orders > Add**. These modifications include the ability to create custom products, modify prices, add custom discounts, set custom prices for shipping, etc.

These are the APIs that will power your headless checkout solutions on channels such as:
**Note:** Currently, this API currently does not support using store credit or gift certificates as payment methods. | [Management Checkout API](/docs/rest-storefront/checkouts) | ## Resources ### Related articles -- [Open Checkout Quick Start](/stencil-docs/customizing-checkout/open-checkout-quick-start) -- [Installing a Custom Checkout](/stencil-docs/customizing-checkout/installing-custom-checkouts) +- [Open Checkout Quick Start](/docs/storefront/cart-checkout/open-checkouts) +- [Installing a Custom Checkout](/docs/storefront/cart-checkout/open-checkouts/guide) - [Installing Custom Checkouts in the Control Panel](https://support.bigcommerce.com/s/blog-article/aAn4O000000CdFGSA0/installing-custom-checkouts-in-the-control-panel) - [BigCommerce Checkout is Now Open Source (Developer Blog)](https://medium.com/bigcommerce-developer-blog/bigcommerce-checkout-is-now-open-source-39e823bc5b3b) diff --git a/docs/api-docs/building-storefronts/abandoned-carts.mdx b/docs/api-docs/building-storefronts/abandoned-carts.mdx index 7a73fa1a7f..2cb76e62f1 100644 --- a/docs/api-docs/building-storefronts/abandoned-carts.mdx +++ b/docs/api-docs/building-storefronts/abandoned-carts.mdx @@ -329,7 +329,7 @@ This request creates a cart associated with the headless storefront without usin ## Resources -- [Building Storefront Channels](/api-docs/channels/tutorials/storefront) -- [Open Checkout Quick Start](/stencil-docs/customizing-checkout/open-checkout-quick-start) +- [Building Storefront Channels](/docs/integrations/channels/guide/storefronts) +- [Open Checkout Quick Start](/docs/storefront/cart-checkout/open-checkouts) - [Selling Everywhere with Channel Manager](https://support.bigcommerce.com/s/article/Selling-Everywhere-with-Channel-Manager?language=en_US) - [Using the Abandoned Cart Saver](https://support.bigcommerce.com/s/article/Using-the-Abandoned-Cart-Saver?language=en_US) diff --git a/docs/api-docs/building-storefronts/nextjs-bigcommerce.mdx b/docs/api-docs/building-storefronts/nextjs-bigcommerce.mdx index b3c5fd1ee1..dea015d330 100644 --- a/docs/api-docs/building-storefronts/nextjs-bigcommerce.mdx +++ b/docs/api-docs/building-storefronts/nextjs-bigcommerce.mdx @@ -7,7 +7,7 @@ keywords: headless, storefronts, next.js, vercel, commerce, shopify, This article is about the Next.js + BigCommerce starter app, a BigCommerce-optimized version of Vercel's Next.js Commerce v2. -If you're looking for Next.js Commerce v1, you can learn more in our [legacy storefront documentation](/legacy/storefronts/nextjs-commerce). +If you're looking for Next.js Commerce v1, you can learn more in our [legacy storefront documentation](/archive/storefront/nextjs-commerce). ## Features @@ -25,7 +25,7 @@ Next.js + BigCommerce is a Next.js 13 and App Router-ready headless storefront t ## Prerequisites -Next.js + BigCommerce requires a [BigCommerce sandbox](/api-docs/partner/create-a-sandbox) or a [production store provisioned to run a headless storefront](https://www.bigcommerce.com/solutions/multi-store/). +Next.js + BigCommerce requires a [BigCommerce sandbox](/docs/start/about/sandboxes) or a [production store provisioned to run a headless storefront](https://www.bigcommerce.com/solutions/multi-store/). ## Getting started @@ -35,13 +35,13 @@ To get started, visit the [Next.js + BigCommerce repository (GitHub)](https://gi ### BigCommerce -- [Get a BigCommerce sandbox](/api-docs/partner/create-a-sandbox) +- [Get a BigCommerce sandbox](/docs/start/about/sandboxes) - [Headless Multi-Storefront solutions](https://www.bigcommerce.com/solutions/multi-store/) - [Next.js + BigCommerce repository (GitHub)](https://github.com/bigcommerce/nextjs-commerce) - [README](https://github.com/bigcommerce/nextjs-commerce/blob/main/README.md) - [Example environment variables file](https://github.com/bigcommerce/nextjs-commerce/blob/main/.env.example) - [Button to deploy Next.js + BigCommerce with Vercel (GitHub)](https://github.com/bigcommerce/nextjs-commerce) -- [Legacy storefront documentation](/legacy/storefronts/nextjs-commerce) +- [Legacy storefront documentation](/archive/storefront/nextjs-commerce) ### External diff --git a/docs/api-docs/cart-and-checkout/add-to-cart-url.mdx b/docs/api-docs/cart-and-checkout/add-to-cart-url.mdx index 654d05a798..cc0b1b4618 100644 --- a/docs/api-docs/cart-and-checkout/add-to-cart-url.mdx +++ b/docs/api-docs/cart-and-checkout/add-to-cart-url.mdx @@ -85,5 +85,5 @@ $("button#addToCart").click(function() { Due to CORS (Cross Origin Resource Sharing), using JavaScript to make multiple carting requests only works in the BigCommerce storefront and only on the storefront with the domain the request is being made to.
-Alternatively, the [Storefront Cart APIs](/api-docs/cart-and-checkout/working-sf-apis#working-sf-apis_storefront-cart) `/api/storefront/cart` endpoint accepts an array of `lineItems` -- depending on the complexities and specifics of the use case, using Storefront Cart APIs may be a better solution than adding to cart URLs. +Alternatively, the [Storefront Cart APIs](/docs/storefront/cart-checkout/guide/rest-storefront#working-sf-apis_storefront-cart) `/api/storefront/cart` endpoint accepts an array of `lineItems` -- depending on the complexities and specifics of the use case, using Storefront Cart APIs may be a better solution than adding to cart URLs. diff --git a/docs/api-docs/cart-and-checkout/cart-and-checkout-overview.mdx b/docs/api-docs/cart-and-checkout/cart-and-checkout-overview.mdx index 751d3b20c9..f6ff1655c1 100644 --- a/docs/api-docs/cart-and-checkout/cart-and-checkout-overview.mdx +++ b/docs/api-docs/cart-and-checkout/cart-and-checkout-overview.mdx @@ -5,13 +5,13 @@ keywords: rest, carts, checkouts, draft order, cartId, incomplete, get products, # REST APIs: Cart and Checkout Overview -BigCommerce offers Storefront, REST Management, and GraphQL APIs for cart and checkout. This article discusses and gives examples of Storefront and REST Management APIs. For information on GraphQL Cart and Checkout APIs, see [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout). +BigCommerce offers Storefront, REST Management, and GraphQL APIs for cart and checkout. This article discusses and gives examples of Storefront and REST Management APIs. For information on GraphQL Cart and Checkout APIs, see [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront). ## Storefront Cart and Checkout The Storefront APIs manage the contents of a shopper's cart and checkout using JavaScript in the context of a storefront session. -The REST Storefront API can only be used on BigCommerce-hosted storefronts. For headless applications, use the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout). +The REST Storefront API can only be used on BigCommerce-hosted storefronts. For headless applications, use the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront). ### When to use the Storefront APIs * Analytics and Tracking @@ -25,10 +25,10 @@ The [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) is a Most modern browsers, except Internet Explorer, support Fetch API. We recommend using a [Polyfill](https://github.com/github/fetch) for Internet Explorer 10+ and XMLHttpRequest for earlier versions. -To learn more about using the Fetch API with the Storefront see our [Working with the Storefront Cart and Checkout APIs](/api-docs/cart-and-checkout/working-sf-apis) tutorial. +To learn more about using the Fetch API with the Storefront see our [Working with the Storefront Cart and Checkout APIs](/docs/storefront/cart-checkout/guide/rest-storefront) tutorial. -You can run fetch requests from the browser console to test or use the [Scripts API](/api-docs/scripts/scripts-overview) to inject JavaScript into your theme's footer. +You can run fetch requests from the browser console to test or use the [Scripts API](/docs/integrations/scripts) to inject JavaScript into your theme's footer. ```js filename="Log cart details to the console" showLineNumbers copy console.log('Log Cart'); @@ -68,7 +68,7 @@ fetch('/api/storefront/carts', { ``` #### Log order details - To log order details to the console, use the [Scripts API](/api-docs/scripts/scripts-overview) to inject the script into your theme's footer or use the [Script Manager](https://support.bigcommerce.com/s/article/Using-Script-Manager?language=en_US) to add the script directly to `order-confirmation.html`. + To log order details to the console, use the [Scripts API](/docs/integrations/scripts) to inject the script into your theme's footer or use the [Script Manager](https://support.bigcommerce.com/s/article/Using-Script-Manager?language=en_US) to add the script directly to `order-confirmation.html`. ```js filename="Log order details to the console" showLineNumbers copy @@ -141,7 +141,7 @@ We will go over common Storefront Cart and Checkout as well as REST Management C ***Issue:*** When a cart contains a product with an incorrect or missing text modifier. ***Resolution:*** -Options and modifiers refer to a list of choices on a product. Options used to build out variants and modifiers are not tied to variants. To learn more about options and modifiers, see [Products Overview](/api-docs/catalog/products-overview#products-overview_modifier-options). +Options and modifiers refer to a list of choices on a product. Options used to build out variants and modifiers are not tied to variants. To learn more about options and modifiers, see [Products Overview](/docs/store-operations/catalog#products-overview_modifier-options). To update a cart line item to fix an incorrect or missing text modifier, use the [Update cart line item](https://developer.bigcommerce.com/docs/rest-management/carts/items#update-cart-line-item) endpoint. @@ -431,7 +431,7 @@ Check the product for `order_quantity_minimum` and `order_quantity_maximum` for ## Related resources ### Articles -* [Working with the Storefront Cart and Checkout](/api-docs/cart-and-checkout/working-sf-apis) +* [Working with the Storefront Cart and Checkout](/docs/storefront/cart-checkout/guide/rest-storefront) ### Endpoints * [Storefront Cart](/docs/rest-storefront/carts) @@ -440,6 +440,6 @@ Check the product for `order_quantity_minimum` and `order_quantity_maximum` for * [Rest Management Checkout](/docs/rest-storefront/checkouts) ### Webhooks -* [Orders](/api-docs/getting-started/webhooks/webhook-events#webhook-events_orders) -* [SKU](/api-docs/getting-started/webhooks/webhook-events#webhook-events_sku) -* [Cart](/api-docs/getting-started/webhooks/webhook-events#webhook-events_cart) +* [Orders](/docs/integrations/webhooks/events#webhook-events_orders) +* [SKU](/docs/integrations/webhooks/events#webhook-events_sku) +* [Cart](/docs/integrations/webhooks/events#webhook-events_cart) diff --git a/docs/api-docs/cart-and-checkout/channels-sites-routes.mdx b/docs/api-docs/cart-and-checkout/channels-sites-routes.mdx index 138745b06a..6552bd141d 100644 --- a/docs/api-docs/cart-and-checkout/channels-sites-routes.mdx +++ b/docs/api-docs/cart-and-checkout/channels-sites-routes.mdx @@ -49,9 +49,9 @@ BigCommerce provides webhooks for 3rd-party developers, enabling them to respond **Required APIs** These APIs are required to build a functioning BigCommerce channel app: -* Catalog: Products ([API docs](/api-docs/store-management/catalog/catalog-overview), [API reference](/docs/rest-catalog), [webhooks](/api-docs/store-management/webhooks/webhook-events#products)) +* Catalog: Products ([API docs](/docs/store-operations/catalog), [API reference](/docs/rest-catalog), [webhooks](/docs/integrations/webhooks/events#products)) * [Catalog: Channel & Listings](# add here) -* Orders: Orders API ([API docs](/api-docs/orders/orders-api-overview), [API reference](/docs/rest-management/orders), [webhooks](/api-docs/store-management/webhooks/webhook-events#orders)) +* Orders: Orders API ([API docs](/docs/store-operations/orders), [API reference](/docs/rest-management/orders), [webhooks](/api-docs/store-management/webhooks/webhook-events#orders)) **Recommended APIs** diff --git a/docs/api-docs/cart-and-checkout/embedded-checkout-overview.mdx b/docs/api-docs/cart-and-checkout/embedded-checkout-overview.mdx index 8fce5c3424..6b7b13b256 100644 --- a/docs/api-docs/cart-and-checkout/embedded-checkout-overview.mdx +++ b/docs/api-docs/cart-and-checkout/embedded-checkout-overview.mdx @@ -5,7 +5,7 @@ keywords: checkouts, embedded, draft order, invoices, headless, # Embedded Checkout Overview -The [Checkout SDK's embedded-checkout sub-module](https://github.com/bigcommerce/checkout-sdk-js/blob/master/docs/README.md#embedcheckout) can be used to embed [BigCommerce's Optimized One-Page Checkout](https://support.bigcommerce.com/s/article/Optimized-Single-Page-Checkout) into non-native storefronts like WordPress. You can see this in action within the BigCommerce for WordPress plugin, which uses the same process described here as a checkout option for merchants. For more information about the plugin, see [BigCommerce for WordPress](/bigcommerce-for-wordpress/getting-started/introduction). +The [Checkout SDK's embedded-checkout sub-module](https://github.com/bigcommerce/checkout-sdk-js/blob/master/docs/README.md#embedcheckout) can be used to embed [BigCommerce's Optimized One-Page Checkout](https://support.bigcommerce.com/s/article/Optimized-Single-Page-Checkout) into non-native storefronts like WordPress. You can see this in action within the BigCommerce for WordPress plugin, which uses the same process described here as a checkout option for merchants. For more information about the plugin, see [BigCommerce for WordPress](/docs/storefront/wordpress). ## How it works @@ -19,17 +19,17 @@ You will need to use the [Channels, Sites, and Routes](/docs/rest-management/cha ## BigCommerce Checkout SDK -Embedded Checkout requires the BigCommerce Checkout SDK to invoke a method to render the checkout in your site. Learn more about the [Checkout SDK](/api-docs/cart-and-checkout/checkout-sdk). +Embedded Checkout requires the BigCommerce Checkout SDK to invoke a method to render the checkout in your site. Learn more about the [Checkout SDK](/docs/storefront/cart-checkout/checkout-sdk). - Stencil translation files are not supported by Embedded Checkout. To display translated strings at checkout, we suggest [Installing a Custom Checkout](/stencil-docs/customizing-checkout/installing-custom-checkouts). + Stencil translation files are not supported by Embedded Checkout. To display translated strings at checkout, we suggest [Installing a Custom Checkout](/docs/storefront/cart-checkout/open-checkouts/guide). ## Logged-In customers -The [Customer Login API](/api-docs/storefront/customer-login-api) allows you to manage customers in two steps. First, you need to pass the `customer_id` when creating the cart. Second, you need to log in the customer, so the session is active when the checkout loads. +The [Customer Login API](/docs/start/authentication/customer-login) allows you to manage customers in two steps. First, you need to pass the `customer_id` when creating the cart. Second, you need to log in the customer, so the session is active when the checkout loads. -You are required to include the `channel_id` in the login JWTs to embed checkout for headless storefronts. The default `channel_id` value is `1`. For more information, see the [Embedded Checkout Overview](/api-docs/storefronts/embedded-checkout/embedded-checkout-overview). +You are required to include the `channel_id` in the login JWTs to embed checkout for headless storefronts. The default `channel_id` value is `1`. For more information, see the [Embedded Checkout Overview](/docs/storefront/cart-checkout/embedded-checkout). ## FAQ diff --git a/docs/api-docs/cart-and-checkout/embedded-checkout-tutorial.mdx b/docs/api-docs/cart-and-checkout/embedded-checkout-tutorial.mdx index 8757a8a8b1..724f529826 100644 --- a/docs/api-docs/cart-and-checkout/embedded-checkout-tutorial.mdx +++ b/docs/api-docs/cart-and-checkout/embedded-checkout-tutorial.mdx @@ -21,7 +21,7 @@ This article assumes you have familiarity with the following concepts: - **Sites & Routes:** `Modify` - **Products:** `Read Only` -For more information, see [OAuth Scopes](/api-docs/getting-started/api-accounts#oauth-scopes). +For more information, see [OAuth Scopes](/docs/start/authentication/api-accounts#oauth-scopes). * The [BigCommerce JS Checkout SDK](https://github.com/bigcommerce/checkout-sdk-js) must be accessible in the browser. @@ -168,9 +168,9 @@ Content-Type: application/json For some use cases, you may want your customer to sign in before they can begin the checkout process. -Customers can sign in using the [Customer Login API](/api-docs/storefront/customer-login-api). +Customers can sign in using the [Customer Login API](/docs/start/authentication/customer-login). -You will first need to use JSON Web Token Standard to create a new token. Use a [JWT library](https://jwt.io/#libraries-io) to accomplish this. For more information, see [Create JWT Using the Debugger Tool](/api-docs/storefront/customer-login-api#create-jwt-using-the-debugger-tool). +You will first need to use JSON Web Token Standard to create a new token. Use a [JWT library](https://jwt.io/#libraries-io) to accomplish this. For more information, see [Create JWT Using the Debugger Tool](/docs/start/authentication/customer-login#create-jwt-using-the-debugger-tool). Next, include the `embedded_checkout_url` as part of the request payload you send to BigCommerce. diff --git a/docs/api-docs/cart-and-checkout/working-sf-apis.mdx b/docs/api-docs/cart-and-checkout/working-sf-apis.mdx index 3e661392f1..d2e6f7b620 100644 --- a/docs/api-docs/cart-and-checkout/working-sf-apis.mdx +++ b/docs/api-docs/cart-and-checkout/working-sf-apis.mdx @@ -5,7 +5,7 @@ keywords: address, cors, currency, currencies, draft order, rest, # Working with the REST Storefront Cart and Checkout APIs -BigCommerce's [REST Storefront API](/docs/rest-storefront) exposes storefront data to Stencil themes, which lets you to manage a shopper's cart, checkout, and order data using frontend JavaScript. We also offer cart and checkout functionality in the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout). +BigCommerce's [REST Storefront API](/docs/rest-storefront) exposes storefront data to Stencil themes, which lets you to manage a shopper's cart, checkout, and order data using frontend JavaScript. We also offer cart and checkout functionality in the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront). This tutorial exhibits common use cases to help you get started with the REST Storefront API. Each use case contains JavaScript code snippets you can paste into your browser's console, allowing you to test in the context of your storefront session. diff --git a/docs/api-docs/catalog/currencies/currencies-overview.mdx b/docs/api-docs/catalog/currencies/currencies-overview.mdx index 2b5a8da9a2..f7f5509505 100644 --- a/docs/api-docs/catalog/currencies/currencies-overview.mdx +++ b/docs/api-docs/catalog/currencies/currencies-overview.mdx @@ -7,7 +7,7 @@ keywords: currency, currencies, draft order, BigCommerce’s flexible Currency settings assist developers in building Multi-Currency storefronts that empower shoppers and merchants to do business in their currency of choice. Allowing customers to shop and check out in their native currency provides a more consistent and positive shopping experience, and maintaining price expectations throughout the shopping process encourages conversions for merchants. -This article provides a high-level guide to multi-currency concepts in BigCommerce as well as specific instructions on [adding currencies](#adding-a-currency) via the control panel. For additional details on how currencies are surfaced throughout BigCommerce APIs, user interfaces, and storefront components, see [How Currencies Work](/api-docs/multi-currency/guide/how-currencies-work). +This article provides a high-level guide to multi-currency concepts in BigCommerce as well as specific instructions on [adding currencies](#adding-a-currency) via the control panel. For additional details on how currencies are surfaced throughout BigCommerce APIs, user interfaces, and storefront components, see [How Currencies Work](/docs/store-operations/currencies/guide). ## Display vs. Transactional @@ -31,7 +31,7 @@ In BigCommerce, there are two types of currency that can be set up: a **display Before setting up multiple currencies on a store, ensure your store is using the following: -* A [Stencil theme](/stencil-docs/getting-started/about-stencil). +* A [Stencil theme](/docs/storefront/stencil/start). * The [Optimized One-Page Checkout](https://support.bigcommerce.com/s/article/Optimized-Single-Page-Checkout) type. * A [multi-currency compatible payment gateway](https://support.bigcommerce.com/s/article/Managing-Currencies) set up and enabled. (Your store's default currency can use any gateway). @@ -64,7 +64,7 @@ For more in-depth instructions and helpful screenshots, see [Adding a Currency]( -For details on how currencies are surfaced throughout BigCommerce APIs, user interfaces, and storefront components, see [How Currencies Work](/api-docs/multi-currency/guide/how-currencies-work) +For details on how currencies are surfaced throughout BigCommerce APIs, user interfaces, and storefront components, see [How Currencies Work](/docs/store-operations/currencies/guide) ## Supported and unsupported features @@ -127,7 +127,7 @@ Please reach out to Stripe for more information on setting up the account. ## Related resources ### Articles -- [How Currencies Work](/api-docs/multi-currency/guide/how-currencies-work) +- [How Currencies Work](/docs/store-operations/currencies/guide) - [Using Price Lists](https://support.bigcommerce.com/s/article/Price-Lists) - [Managing Currencies](https://support.bigcommerce.com/s/article/Managing-Currencies-Beta) - [Tax](https://support.bigcommerce.com/s/article/Manual-Tax-Setup#intro1) diff --git a/docs/api-docs/catalog/currencies/how-currencies-work.mdx b/docs/api-docs/catalog/currencies/how-currencies-work.mdx index 6f6e17ff69..4d00b824ec 100644 --- a/docs/api-docs/catalog/currencies/how-currencies-work.mdx +++ b/docs/api-docs/catalog/currencies/how-currencies-work.mdx @@ -5,7 +5,7 @@ keywords: currency, currencies, invoices, # How Currencies Work -This article details how you can surface currencies throughout BigCommerce APIs, user interfaces, and storefront components. It assumes you're already familiar with the core concepts behind BigCommerce's multi-currency settings. For a high-level overview and instructions on how to add currencies to a BigCommerce store, see [Currencies Overview](/api-docs/multi-currency/guide/introduction). +This article details how you can surface currencies throughout BigCommerce APIs, user interfaces, and storefront components. It assumes you're already familiar with the core concepts behind BigCommerce's multi-currency settings. For a high-level overview and instructions on how to add currencies to a BigCommerce store, see [Currencies Overview](/docs/store-operations/currencies). ## Catalog pricing diff --git a/docs/api-docs/catalog/price-list-overview.mdx b/docs/api-docs/catalog/price-list-overview.mdx index 4d97722e39..ded4eecef7 100644 --- a/docs/api-docs/catalog/price-list-overview.mdx +++ b/docs/api-docs/catalog/price-list-overview.mdx @@ -4,11 +4,11 @@ Price lists allow you to populate different versions of catalog pricing and assi You can assign a price list to a specific sales channel, customer group, or customer group on a specific sales channel, using price list assignments in the [Price List Assignment API](/docs/rest-management/price-lists/price-lists-assignments#create-price-list-assignments). You can also associate a price list to a customer group in the Control Panel or the [Customer Groups API](/docs/rest-management/customers-v2/customer-groups). Price list assignments combined with a customer group assignment allows you to better target the signed-in customers shopping on that channel. -Price lists will provide overridden price values to the Stencil storefront. You can further customize the final price displayed within the Stencil template. For more information, see [Theme Objects](/stencil-docs/reference-docs/global-objects-and-properties). +Price lists will provide overridden price values to the Stencil storefront. You can further customize the final price displayed within the Stencil template. For more information, see [Theme Objects](/docs/storefront/stencil/themes/context/object-reference/config). ### OAuth scopes The following OAuth Scopes are required: -* [Products](/api-docs/getting-started/api-accounts#oauth-scopes) +* [Products](/docs/start/authentication/api-accounts#oauth-scopes) ## Price list definitions * A **price list** is a collection of price records. Price records make up a price list. @@ -27,7 +27,7 @@ The following OAuth Scopes are required: - `PriceRecordBatch`: a way to update several price records in a price list at once. Using this bulk upsert endpoint, you can upsert up to 1000 price records in a single API call. -- **Currency:** a price list can contain records for multiple currencies. If you use a [transactional currency](/api-docs/multi-currency/guide/introduction#display-vs-transactional), the customer group or channel will use price records in that currency. If a multi-currency price list is unavailable, BigCommerce auto converts the catalog price. The customer group or channel uses price records in the default currency and performs a currency conversion for [display-only currencies](/api-docs/multi-currency/guide/introduction#display-vs-transactional). +- **Currency:** a price list can contain records for multiple currencies. If you use a [transactional currency](/docs/store-operations/currencies#display-vs-transactional), the customer group or channel will use price records in that currency. If a multi-currency price list is unavailable, BigCommerce auto converts the catalog price. The customer group or channel uses price records in the default currency and performs a currency conversion for [display-only currencies](/docs/store-operations/currencies#display-vs-transactional). ```http filename="Example request: Get all price lists" showLineNumbers copy GET https://api.bigcommerce.com/stores/{{store_hash}}/v3/pricelists @@ -140,6 +140,6 @@ Under `discount_rules` the `type` is set to `price_list`. The `price_list_id` is ### Webhooks There are webhooks available for Price Lists assignments. The price list assignment webhook fires when a price list assignment is assigned, reassigned, or unassigned. Note that since Price Lists directly relate to products, neither product nor SKU webhooks will fire for corresponding changes, such as pricing. -* [Price list assignments](/api-docs/channels/guide/webhooks#price-list-assignments) -* [Products](/api-docs/getting-started/webhooks/webhook-events#webhook-events_products) -* [SKU](/api-docs/getting-started/webhooks/webhook-events#webhook-events_sku) +* [Price list assignments](/docs/integrations/webhooks/events/channels#price-list-assignments) +* [Products](/docs/integrations/webhooks/events#webhook-events_products) +* [SKU](/docs/integrations/webhooks/events#webhook-events_sku) diff --git a/docs/api-docs/catalog/pricing-order-operation.mdx b/docs/api-docs/catalog/pricing-order-operation.mdx index 097ee3cb7b..a492528b84 100644 --- a/docs/api-docs/catalog/pricing-order-operation.mdx +++ b/docs/api-docs/catalog/pricing-order-operation.mdx @@ -24,8 +24,8 @@ Discounts | When a shopper meets certain criteria or takes certain actions to au ## Resources ### Webhooks -* [Products](/api-docs/store-management/webhooks/events#products) -* [Cart](/api-docs/store-management/webhooks/webhook-events#carts) +* [Products](/docs/integrations/webhooks/events#products) +* [Cart](/docs/integrations/webhooks/events#carts) ### Related endpoints * [Storefront Cart API](/docs/rest-storefront/carts) @@ -34,5 +34,5 @@ Discounts | When a shopper meets certain criteria or takes certain actions to au * [Catalog API](/docs/rest-catalog) ### Related resources -* [Price Lists](/api-docs/catalog/price-list-overview) -* [Products Overview](/api-docs/catalog/products-overview#products-overview) +* [Price Lists](/docs/store-operations/pricing/price-lists) +* [Products Overview](/docs/store-operations/catalog#products-overview) diff --git a/docs/api-docs/catalog/products-overview.mdx b/docs/api-docs/catalog/products-overview.mdx index b9a0d2c1dc..abfbb74bbb 100644 --- a/docs/api-docs/catalog/products-overview.mdx +++ b/docs/api-docs/catalog/products-overview.mdx @@ -16,7 +16,7 @@ The Catalog refers to a store's collection of physical and digital products. The | Products | modify | `store_v2_products` | | Products | read-only | `store_v2_products_read_only` | -For more information on OAuth Scopes and authentication, see our [Guide to API Accounts](/api-docs/getting-started/api-accounts#oauth-scopes). +For more information on OAuth Scopes and authentication, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). ## Products overview @@ -699,7 +699,7 @@ X-Auth-Token: {{ACCESS_TOKEN}} { "status": 422, "title": "The product is currently associated with an option set, please remove it before editing an option or modifier.", - "type": "https://developer.bigcommerce.com/api#api-status-codes", + "type": "https://developer.bigcommerce.com/docs/start/about/status-codes", "errors": { "product_id": "The product is currently associated with an option set, please remove it before editing an option or modifier." } @@ -774,7 +774,7 @@ Complex rules must consist of multiple conditions that trigger the rule adjustme { "status": 422, "title": "The rule must contain multiple modifier conditions with unique modifier ids or a variant condition and modifier condition", - "type": "https://developer.bigcommerce.com/api#api-status-codes" + "type": "https://developer.bigcommerce.com/docs/start/about/status-codes" } ``` @@ -907,6 +907,6 @@ Product sorting methods: * [Catalog API](/docs/rest-catalog) ### Webhooks -* [Products](/api-docs/store-management/webhooks/webhook-events#products) -* [Categories](/api-docs/store-management/webhooks/webhook-events#category) -* [SKU](/api-docs/store-management/webhooks/webhook-events#sku) +* [Products](/docs/integrations/webhooks/events#products) +* [Categories](/docs/integrations/webhooks/events#category) +* [SKU](/docs/integrations/webhooks/events#sku) diff --git a/docs/api-docs/catalog/v2-v3-examples.mdx b/docs/api-docs/catalog/v2-v3-examples.mdx index 8d7124ba60..e44b4248f3 100644 --- a/docs/api-docs/catalog/v2-v3-examples.mdx +++ b/docs/api-docs/catalog/v2-v3-examples.mdx @@ -636,7 +636,7 @@ Modifiers are considered an option on V2. They follow the same workflow as descr ### Create a product with complex rules -In V3, it is best practice to either assign values directly to a variant or use adjusters on the modifier option itself. Complex rules should be reserved for rare cases where a rule condition is too complex to express. To learn more, see [Complex rules](/api-docs/store-management/catalog/catalog-overview#complex-rules). +In V3, it is best practice to either assign values directly to a variant or use adjusters on the modifier option itself. Complex rules should be reserved for rare cases where a rule condition is too complex to express. To learn more, see [Complex rules](/docs/store-operations/catalog#complex-rules). **V3 example** @@ -1015,5 +1015,5 @@ Even though we edited only one option value, option value IDs for all other opti ### Articles -* [Catalog Overview](/api-docs/store-management/catalog/products-overview) -* [Deprecations and sunsets](/api-docs/getting-started/deprecations-and-sunsets) +* [Catalog Overview](/docs/store-operations/catalog) +* [Deprecations and sunsets](/docs/start/best-practices/sunsets) diff --git a/docs/api-docs/catalog/v2-vs-v3.mdx b/docs/api-docs/catalog/v2-vs-v3.mdx index 3619ca5767..fde927446b 100644 --- a/docs/api-docs/catalog/v2-vs-v3.mdx +++ b/docs/api-docs/catalog/v2-vs-v3.mdx @@ -15,7 +15,7 @@ While every effort has been made to provide reasonable forwards and backwards co For differences in resources, see the [Difference between V2 and V3 Catalog APIs](#difference-between-v2-and-v3-catalog-apis) section of this article. - * All V2 Catalog REST APIs are deprecated. For information on deprecated endpoints, see [Deprecations and sunsets](/api-docs/getting-started/deprecations-and-sunsets). + * All V2 Catalog REST APIs are deprecated. For information on deprecated endpoints, see [Deprecations and sunsets](/docs/start/best-practices/sunsets). * BigCommerce will not introduce new resources in V2 APIs. * BigCommerce will eventually migrate all existing V2 resources to V3. * Not all V2 resources have V3 counterparts. @@ -34,25 +34,25 @@ For differences in resources, see the [Difference between V2 and V3 Catalog APIs ### Product variants and modifiers instead of option sets -V3 Catalog introduced a new option model that included two types of options: [variant options](/api-docs/store-management/catalog/catalog-overview#variant-options) and [modifiers](/api-docs/store-management/catalog/catalog-overview#modifier-options). +V3 Catalog introduced a new option model that included two types of options: [variant options](/docs/store-operations/catalog#variant-options) and [modifiers](/docs/store-operations/catalog#modifier-options). You can now create variants and modifiers in one call without having to create option sets beforehand. The new option model simplified the creation and management of variant prices and modifier adjusters. In all but some cases, it removed the need to use complex rules. **Variant options** -[Variant options](/api-docs/store-management/catalog/catalog-overview#variant-options) represent options used for variant generation. A shopper has to choose from available variant options before adding a product to the cart. Variant options include multiple-choice types such as swatch, rectangle, radio button, and dropdown. +[Variant options](/docs/store-operations/catalog#variant-options) represent options used for variant generation. A shopper has to choose from available variant options before adding a product to the cart. Variant options include multiple-choice types such as swatch, rectangle, radio button, and dropdown. *Variant options example:* size or color. **Variants** -[Variants](/api-docs/store-management/catalog/catalog-overview#variants) are created based on the combination of variant options and have their own attributes such as image, prices, weight, and stock level. +[Variants](/docs/store-operations/catalog#variants) are created based on the combination of variant options and have their own attributes such as image, prices, weight, and stock level. *Variant example:* large blue t-shirt. **Modifiers** -[Modifiers](/api-docs/store-management/catalog/catalog-overview#modifier-options) represent options used for additional product customization such as gift wrapping, engraving, text to be printed on a t-shirt, or a warranty. Unlike variant options, modifiers do not generate variants, and you can display them as *required* or *optional* on the storefront. You can use modifiers along with [rules](/api-docs/store-management/catalog/catalog-overview#complex-rules) to change a product's price or weight. +[Modifiers](/docs/store-operations/catalog#modifier-options) represent options used for additional product customization such as gift wrapping, engraving, text to be printed on a t-shirt, or a warranty. Unlike variant options, modifiers do not generate variants, and you can display them as *required* or *optional* on the storefront. You can use modifiers along with [rules](/docs/store-operations/catalog#complex-rules) to change a product's price or weight. Modifiers include multiple-choice types such as swatch, rectangle, radio button, and dropdown, and non-multiple-choice types such as text, multi-line text, date picker, file upload, and pick list. @@ -89,7 +89,7 @@ To reduce the number of API calls made, you can include variants with a `GET` re ### Product option sets -The V3 Catalog API does not include an endpoint to manage option sets, but it will respect option sets created using the [V2 Option Sets API](/legacy/v2-catalog-products/v2-option-set-options) or the control panel. +The V3 Catalog API does not include an endpoint to manage option sets, but it will respect option sets created using the [V2 Option Sets API](/archive/store-operations/v2-catalog-products/v2-option-set-options) or the control panel. On all new stores, the [V3 Add/Edit Product](https://support.bigcommerce.com/s/article/Adding-Products-v3) experience uses the V3 Catalog API. On some older stores, the control panel's [Add/Edit Product](https://support.bigcommerce.com/s/article/Adding-Products) section consumes the V2 API, and any products created and managed through the control panel will be converted to the V2 model using option sets. If you apply an option set to a V3 product, you will remove the product's variants. @@ -101,8 +101,8 @@ In V3, any variants or modifier adjusters created with non-null core properties ## Related resources ### Articles -* [Catalog Overview](/api-docs/store-management/catalog/catalog-overview/) -* [Deprecations and sunsets](/api-docs/getting-started/deprecations-and-sunsets) +* [Catalog Overview](/docs/store-operations/catalog) +* [Deprecations and sunsets](/docs/start/best-practices/sunsets) ### Endpoints * [V3 Catalog: Get Product Complex Rules](/docs/rest-catalog/products/complex-rules#get-complex-rules) diff --git a/docs/api-docs/channels/building-channel-apps.mdx b/docs/api-docs/channels/building-channel-apps.mdx index 264a31b07a..6f012e618f 100644 --- a/docs/api-docs/channels/building-channel-apps.mdx +++ b/docs/api-docs/channels/building-channel-apps.mdx @@ -5,9 +5,9 @@ keywords: get all products, get products, channels, apps, toolkit, headless, sto # Building Channel Apps -Using BigCommerce's [Channels Toolkit](/api-docs/channels/guide/channels-toolkit-reference), developers can create channel apps that integrate with point-of-sale devices, [headless storefronts](/api-docs/storefronts/developers-guide-headless), online marketplaces, marketing platforms, and social networking sites. BigCommerce lists all approved channel apps on the [App Marketplace](https://www.bigcommerce.com/apps/) and markets channel apps developed by [select partners](https://www.bigcommerce.com/partners/) in [Channel Manager](https://support.bigcommerce.com/s/article/Selling-Everywhere-with-Channel-Manager). +Using BigCommerce's [Channels Toolkit](/docs/integrations/channels/toolkit-reference), developers can create channel apps that integrate with point-of-sale devices, [headless storefronts](/docs/storefront/headless), online marketplaces, marketing platforms, and social networking sites. BigCommerce lists all approved channel apps on the [App Marketplace](https://www.bigcommerce.com/apps/) and markets channel apps developed by [select partners](https://www.bigcommerce.com/partners/) in [Channel Manager](https://support.bigcommerce.com/s/article/Selling-Everywhere-with-Channel-Manager). -This article is a comprehensive guide on the foundations of integrating [Channels Toolkit](/api-docs/channels/guide/channels-toolkit-reference) into [single-click apps](/api-docs/apps/guide/types). For a high-level overview of channels on BigCommerce, see [Channels Overview](/api-docs/channels/guide/overview). +This article is a comprehensive guide on the foundations of integrating [Channels Toolkit](/docs/integrations/channels/toolkit-reference) into [single-click apps](/docs/integrations/apps/guide/types). For a high-level overview of channels on BigCommerce, see [Channels Overview](/docs/integrations/channels). ## Getting started @@ -16,22 +16,22 @@ Here are a few things you will need to create channel apps. 1. [Store / Dev Sandbox](https://www.bigcommerce.com/essentials/free-trial/) (required to test app installation) 2. [Developer Portal Account](https://devtools.bigcommerce.com/) (required to register apps) 3. [BigCommerce partnership](https://partners.bigcommerce.com/English/) (required to publish apps) -4. [Familiarity with building apps](/api-docs/apps/guide/intro) -5. [High-level understanding of channels](/api-docs/channels/guide/overview) +4. [Familiarity with building apps](/docs/integrations/apps) +5. [High-level understanding of channels](/docs/integrations/channels) ## Beginning development ### Extend an existing app -If you would like to integrate [Channels Toolkit](/api-docs/channels/guide/channels-toolkit-reference) into an existing app, see [Extending Existing Apps](/api-docs/channels/guide/extending-existing-apps) or [Building Storefront Channels](/api-docs/channels/tutorials/storefront) for detailed instructions. +If you would like to integrate [Channels Toolkit](/docs/integrations/channels/toolkit-reference) into an existing app, see [Extending Existing Apps](/docs/integrations/channels/guide/extending-existing-apps) or [Building Storefront Channels](/docs/integrations/channels/guide/storefronts) for detailed instructions. ### Developing a new app -If you would like to start development on a new app that integrates Channels Toolkit, and this is your first time developing a BigCommerce app, see [Building Apps](/api-docs/apps/guide/intro) for an in-depth BigCommerce app development guide. +If you would like to start development on a new app that integrates Channels Toolkit, and this is your first time developing a BigCommerce app, see [Building Apps](/docs/integrations/apps) for an in-depth BigCommerce app development guide. ## Gathering materials -The BigCommerce APIs, webhooks, and UI components needed to build a channel app vary depending on the [type of channel](/api-docs/channels/guide/overview#types-of-channels), functionality, and where the app is marketed (Channel Manager vs. App Marketplace). +The BigCommerce APIs, webhooks, and UI components needed to build a channel app vary depending on the [type of channel](/docs/integrations/channels#types-of-channels), functionality, and where the app is marketed (Channel Manager vs. App Marketplace). ### APIs and webhooks @@ -39,7 +39,7 @@ The APIs that you integrate with and how you use them (read-only vs. modify) wil BigCommerce provides webhooks for third-party developers, enabling them to respond, in near real-time, to events that occur within the BigCommerce system. Depending on the frequency of updates that your channel app needs to manage, you can choose to either poll the API endpoints or integrate with webhooks. We recommended the latter choice if changes happen frequently or have downstream impacts, such as inventory changes that could impact a merchant's SLA with a marketplace. -[See a list of required and recommended endpoints and their OAuth scopes](/api-docs/channels/guide/channels-toolkit-reference#endpoints). +[See a list of required and recommended endpoints and their OAuth scopes](/docs/integrations/channels/toolkit-reference#endpoints). ### UI components @@ -47,11 +47,11 @@ BigCommerce provides publicly available UI components and design guidelines to t These components can dramatically accelerate the development process by providing dynamic, responsive, and accessible UI components that are fully functional. The UI components you need to build your channel app will vary depending on the app's type and functionality. -[See a list of required and recommended UI components](/api-docs/channels/guide/channels-toolkit-reference#ui-components). +[See a list of required and recommended UI components](/docs/integrations/channels/toolkit-reference#ui-components). ## Creating a channel -After receiving the [POST response](/api-docs/apps/guide/auth#receiving-the-access_token-response) at the end of the [single-click app OAuth flow](/api-docs/apps/guide/auth), create a channel on the merchant's store. This allows merchants to assign product listings to the storefront and configure storefront specific settings. To create a channel, send a `POST` request to the [Create a channel](/docs/rest-management/channels#create-a-channel) endpoint. +After receiving the [POST response](/docs/integrations/apps/guide/auth#receiving-the-access_token-response) at the end of the [single-click app OAuth flow](/docs/integrations/apps/guide/auth), create a channel on the merchant's store. This allows merchants to assign product listings to the storefront and configure storefront specific settings. To create a channel, send a `POST` request to the [Create a channel](/docs/rest-management/channels#create-a-channel) endpoint. ```http filename="Example request: Create a channel" showLineNumbers copy POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/channels @@ -86,7 +86,7 @@ Once created, channels show up in the product list within the control panel so t [View reference documentation for the Create a Channel request](/docs/rest-management/channels#create-a-channel). - - You can find the app ID in the URL when editing the app in [DevTools](https://devtools.bigcommerce.com/). For more information, see [Finding an App's ID](/api-docs/apps/tutorials/id). + - You can find the app ID in the URL when editing the app in [DevTools](https://devtools.bigcommerce.com/). For more information, see [Finding an App's ID](/docs/integrations/apps/guide/id). - `config_meta.app.id` is optional; however, if you're building an app that creates or manages a channel, we recommend including the app ID to ensure the user interface in the BigCommerce control panel works properly. - Select partners who are promoted in the Channel Manager must build an app, and include the app ID in the create channel request. @@ -143,7 +143,7 @@ Content-Type: application/json Accept: application/json ``` -[Filters](/api-docs/getting-started/filtering) can be used in this call to retrieve subsets of the merchant's catalog. Also, keep in mind that you will more than likely need to handle pagination to retrieve all products in a merchant's catalog. +[Filters](/docs/start/about/common-query-params) can be used in this call to retrieve subsets of the merchant's catalog. Also, keep in mind that you will more than likely need to handle pagination to retrieve all products in a merchant's catalog. To support these workflows from a UI perspective, you may need to include the following components (please see the [sample channel app](https://github.com/bigcommerce/channels-app) for a visual on how this functions): @@ -154,7 +154,7 @@ To support these workflows from a UI perspective, you may need to include the fo - Button - Spinner -For an in-depth guide to using V3 Catalog endpoints, see [Catalog Overview](/api-docs/store-management/catalog/products-overview). For a complete API reference including request schemas and property descriptions, see [Catalog](/docs/rest-catalog). +For an in-depth guide to using V3 Catalog endpoints, see [Catalog Overview](/docs/store-operations/catalog). For a complete API reference including request schemas and property descriptions, see [Catalog](/docs/rest-catalog). ## Creating listings @@ -299,17 +299,17 @@ Channel apps are embedded in the BigCommerce control panel. As such, they need t ## Next steps -- [Learn about channel app best practices](/api-docs/channels/guide/channel-app-best-practices). +- [Learn about channel app best practices](/docs/integrations/channels/guide/best-practices). ## Related resources ### Articles -- [Becoming a Partner](/api-docs/partner/becoming-a-partner) -- [Introduction to Building Apps](/api-docs/apps/guide/intro) -- [Developer's Guide to Building Headless Storefronts](/api-docs/storefronts/guide/overview) -- [App Store Approval Requirements](/api-docs/partner/app-store-approval-requirements) -- [Channel app approval requirements](/api-docs/channels/guide/channel-app-requirements) +- [Becoming a Partner](/docs/start/partner) +- [Introduction to Building Apps](/docs/integrations/apps) +- [Developer's Guide to Building Headless Storefronts](/docs/storefront/headless) +- [App Store Approval Requirements](/docs/integrations/apps/guide/requirements) +- [Channel app approval requirements](/docs/integrations/channels/guide/requirements) - [BigDesign Component Library](https://developer.bigcommerce.com/big-design/?path=/story/badge--overview) -- [Extending Existing Apps with Channels Toolkit](/api-docs/channels/guide/extending-existing-apps) -- [Building Storefront Channels](/api-docs/channels/tutorials/storefront) +- [Extending Existing Apps with Channels Toolkit](/docs/integrations/channels/guide/extending-existing-apps) +- [Building Storefront Channels](/docs/integrations/channels/guide/storefronts) diff --git a/docs/api-docs/channels/channel-app-best-practices.mdx b/docs/api-docs/channels/channel-app-best-practices.mdx index a566dad78c..f00d183c3b 100644 --- a/docs/api-docs/channels/channel-app-best-practices.mdx +++ b/docs/api-docs/channels/channel-app-best-practices.mdx @@ -68,15 +68,15 @@ These logs would provide more granular details on the event that took place and ### Articles -- [Channels Overview](/api-docs/channels/guide/overview) -- [Channels Toolkit Reference](/api-docs/channels/guide/channels-toolkit-reference) - -- [Channel App Best Practices](/api-docs/getting-started/best-practices) -- [Becoming a Partner](/api-docs/partner/becoming-a-partner) -- [Guide to API Accounts](/api-docs/getting-started/api-accounts) -- [Types of Apps](/api-docs/getting-started/building-apps-bigcommerce/types-of-apps) -- [Building an App](/api-docs/getting-started/building-apps-bigcommerce/building-apps) -- [App Store Approval Requirements](/api-docs/partner/app-store-approval-requirements) +- [Channels Overview](/docs/integrations/channels) +- [Channels Toolkit Reference](/docs/integrations/channels/toolkit-reference) + +- [Channel App Best Practices](/docs/start/best-practices) +- [Becoming a Partner](/docs/start/partner) +- [Guide to API Accounts](/docs/start/authentication/api-accounts) +- [Types of Apps](/docs/integrations/apps/guide/types) +- [Building an App](/docs/integrations/apps) +- [App Store Approval Requirements](/docs/integrations/apps/guide/requirements) - [BigDesign Component Library](https://developer.bigcommerce.com/big-design/?path=/story/badge--overview) - [Sell Everywhere with Channel Manager](https://support.bigcommerce.com/s/article/Selling-Everywhere-with-Channel-Manager) diff --git a/docs/api-docs/channels/channel-app-requirements.mdx b/docs/api-docs/channels/channel-app-requirements.mdx index dc293390aa..22a26ff5ca 100644 --- a/docs/api-docs/channels/channel-app-requirements.mdx +++ b/docs/api-docs/channels/channel-app-requirements.mdx @@ -27,7 +27,7 @@ Select Partners: - Includes `config_meta.app.id` in the [create channel](/docs/rest-management/channels#create-a-channel) request. - - You can find the app ID in the URL when editing the app in the [Developer Portal](https://devtools.bigcommerce.com/). For more information, see [Finding an App's ID](/api-docs/apps/tutorials/id). + - You can find the app ID in the URL when editing the app in the [Developer Portal](https://devtools.bigcommerce.com/). For more information, see [Finding an App's ID](/docs/integrations/apps/guide/id). - `config_meta.app.id` is optional; however, if you're building an app that creates or manages a channel, we recommend including the app ID to ensure the user interface in the BigCommerce control panel works properly. - Select partners who are promoted in the Channel Manager must build an app, and include the app ID in the create channel request. @@ -52,14 +52,14 @@ All Partners: ### Articles -- [Channels Overview](/api-docs/channels/overview) -- [Building Channel Apps](/api-docs/channels/guide/building-channel-apps) +- [Channels Overview](/docs/integrations/channels) +- [Building Channel Apps](/docs/integrations/channels/guide) -- [Becoming a Partner](/api-docs/partner/becoming-a-partner) -- [Types of Apps](/api-docs/getting-started/building-apps-bigcommerce/types-of-apps) -- [Guide to API Accounts](/api-docs/getting-started/api-accounts) -- [Building an App](/api-docs/getting-started/building-apps-bigcommerce/building-apps) -- [App Store Approval Requirements](/api-docs/partner/app-store-approval-requirements) +- [Becoming a Partner](/docs/start/partner) +- [Types of Apps](/docs/integrations/apps/guide/types) +- [Guide to API Accounts](/docs/start/authentication/api-accounts) +- [Building an App](/docs/integrations/apps) +- [App Store Approval Requirements](/docs/integrations/apps/guide/requirements) ### Endpoints diff --git a/docs/api-docs/channels/channel-webhooks.mdx b/docs/api-docs/channels/channel-webhooks.mdx index ddd04814a9..750c9c77da 100644 --- a/docs/api-docs/channels/channel-webhooks.mdx +++ b/docs/api-docs/channels/channel-webhooks.mdx @@ -5,13 +5,13 @@ keywords: webhooks, channels, currency, currencies, # Channel Webhooks -Developers building third-party sales channels or multi-storefront capabilities might need notification when a channel in BigCommerce changes so that they can perform downstream actions required to set up or deactivate the channel. To facilitate this, we've added `store/channel` webhook events that fire when you create or update a channel. This article assumes that you're familiar with webhooks. It introduces channel-related events and is a reference for all BigCommerce channel webhook events and their callback payloads. For an introduction to webhooks on BigCommerce, see [Webhooks Overview](/api-docs/store-management/webhooks/overview#callback-payload). For a more general introduction to webhooks, see [Webhooks Overview](/api-docs/getting-started/webhooks/about-webhooks). +Developers building third-party sales channels or multi-storefront capabilities might need notification when a channel in BigCommerce changes so that they can perform downstream actions required to set up or deactivate the channel. To facilitate this, we've added `store/channel` webhook events that fire when you create or update a channel. This article assumes that you're familiar with webhooks. It introduces channel-related events and is a reference for all BigCommerce channel webhook events and their callback payloads. For an introduction to webhooks on BigCommerce, see [Webhooks Overview](/docs/integrations/webhooks#callback-payload). For a more general introduction to webhooks, see [Webhooks Overview](/docs/integrations/webhooks). -To learn more about sales channels, see the [Channels Overview](/api-docs/channels/guide/overview). To learn more about how sales channels function in the context of multi-storefront or multi-channel sales, see the [channels section of the Multi-Storefront Overview](/api-docs/multi-storefront/overview#channels). +To learn more about sales channels, see the [Channels Overview](/docs/integrations/channels). To learn more about how sales channels function in the context of multi-storefront or multi-channel sales, see the [channels section of the Multi-Storefront Overview](/docs/storefront/multi-storefront#channels). ## Creating a webhook -To create a webhook, send a request to the [Create a webhook](/docs/webhooks/webhooks/manage-webhooks-bulk#create-a-webhook) endpoint. Follow the process described in the [Webhooks Overview](/api-docs/getting-started/webhooks/about-webhooks#creating-a-webhook), and include a `channel_id` where indicated to subscribe to that channel's events. +To create a webhook, send a request to the [Create a webhook](/docs/webhooks/webhooks/manage-webhooks-bulk#create-a-webhook) endpoint. Follow the process described in the [Webhooks Overview](/docs/integrations/webhooks#creating-a-webhook), and include a `channel_id` where indicated to subscribe to that channel's events. ```http filename="Example request: Create a webhook" showLineNumbers copy POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/hooks @@ -31,11 +31,11 @@ Accept: application/json * It can take up to one minute for a newly created webhook to work. -For information on creating a webhook, consult the [creating a webhook section of the Webhooks Overview](/api-docs/getting-started/webhooks/about-webhooks#creating-a-webhook). +For information on creating a webhook, consult the [creating a webhook section of the Webhooks Overview](/docs/integrations/webhooks#creating-a-webhook). ## Callback structure -For webhook callback structure reference, see [Webhook Events](/api-docs/store-management/webhooks/webhook-events#callback-structure) +For webhook callback structure reference, see [Webhook Events](/docs/integrations/webhooks/events#callback-structure) ## Channel events @@ -341,7 +341,7 @@ Web pages payload objects take the form that follows: } ``` -For a complete reference of all BigCommerce webhook events and their callback payloads, see [Webhook Events](/api-docs/store-management/webhooks/webhook-events). +For a complete reference of all BigCommerce webhook events and their callback payloads, see [Webhook Events](/docs/integrations/webhooks/events). ## Price list assignments @@ -567,8 +567,8 @@ Theme payload objects take the form that follows: ### Related articles -* [Webhooks Overview](/api-docs/store-management/webhooks/overview) -* [Webhooks Tutorial](/api-docs/store-management/webhooks/tutorial) -* [Webhooks Events](/api-docs/store-management/webhooks/webhook-events) -* [Channels Overview](/api-docs/channels/guide/overview) -* [Multi-Storefront Overview](/api-docs/multi-storefront/overview) +* [Webhooks Overview](/docs/integrations/webhooks) +* [Webhooks Tutorial](/docs/integrations/webhooks/tutorial) +* [Webhooks Events](/docs/integrations/webhooks/events) +* [Channels Overview](/docs/integrations/channels) +* [Multi-Storefront Overview](/docs/storefront/multi-storefront) diff --git a/docs/api-docs/channels/channels-extending-existing.mdx b/docs/api-docs/channels/channels-extending-existing.mdx index b37671f299..4034cba9a2 100644 --- a/docs/api-docs/channels/channels-extending-existing.mdx +++ b/docs/api-docs/channels/channels-extending-existing.mdx @@ -17,7 +17,7 @@ Existing sales channel apps need app credentials with updated OAuth scopes to au |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](/api-docs/getting-started/api-accounts) for more information on app credentials. +See our [Guide to API Accounts](/docs/start/authentication/api-accounts) for more information on app credentials. ## Step 2: Integrate channel API @@ -57,7 +57,7 @@ To be visible in Channel Manager once installed, apps must meet certain requirem ## App requirements -Although the sample app shown in the screenshots above is for a point of sale integration, we've designed [Channels Toolkit](/api-docs/channels/guide/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. +Although the sample app shown in the screenshots above is for a point of sale integration, we've designed [Channels Toolkit](/docs/integrations/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. @@ -108,7 +108,7 @@ Accept: application/json - - You can find the app ID in the URL when editing the app in the [Developer Portal](https://devtools.bigcommerce.com/). For more information, see [Finding an App's ID](/api-docs/apps/tutorials/id). + - You can find the app ID in the URL when editing the app in the [Developer Portal](https://devtools.bigcommerce.com/). For more information, see [Finding an App's ID](/docs/integrations/apps/guide/id). - `config_meta.app.id` is optional; however, if you're building an app that creates or manages a channel, we recommend including the app ID to ensure the user interface in the BigCommerce control panel works properly. - Select partners who are promoted in the Channel Manager must build an app, and include the app ID in the create channel request. @@ -148,19 +148,19 @@ For a complete Channel API reference (including request schemas and property des 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](/api-docs/channels/overview). +For a high-level overview and more information on Channels Toolkit, see [Channels Overview](/docs/integrations/channels). ## Related resources ### Articles -- [Channels Overview](/api-docs/channels/overview) -- [Building Channel Apps](/api-docs/channels/guide/building-channel-apps) -- [Becoming a Partner](/api-docs/partner/becoming-a-partner) -- [Types of Apps](/api-docs/getting-started/building-apps-bigcommerce/types-of-apps) -- [Guide to API Accounts](/api-docs/getting-started/api-accounts) -- [Building an App](/api-docs/getting-started/building-apps-bigcommerce/building-apps) -- [App Store Approval Requirements](/api-docs/partner/app-store-approval-requirements) +- [Channels Overview](/docs/integrations/channels) +- [Building Channel Apps](/docs/integrations/channels/guide) +- [Becoming a Partner](/docs/start/partner) +- [Types of Apps](/docs/integrations/apps/guide/types) +- [Guide to API Accounts](/docs/start/authentication/api-accounts) +- [Building an App](/docs/integrations/apps) +- [App Store Approval Requirements](/docs/integrations/apps/guide/requirements) ### Endpoints diff --git a/docs/api-docs/channels/channels-overview.mdx b/docs/api-docs/channels/channels-overview.mdx index 0ede10bf17..1711b90b51 100644 --- a/docs/api-docs/channels/channels-overview.mdx +++ b/docs/api-docs/channels/channels-overview.mdx @@ -2,9 +2,9 @@ BigCommerce's Channel Manager is the central place for merchants to discover, connect to, and manage their sales channels, including external channels like eBay, Amazon, Facebook by Meta, and Instagram by Meta. These external sales channels can extend the merchant's control panel experience in a number of ways, such as pushing orders from these external channels into the control panel alongside their BigCommerce storefront orders, allowing them to be fulfilled in the same way, and managing products on these channel from within the control panel in many of the same ways as they do for their BigCommerce storefronts. -Using BigCommerce's [Channels Toolkit](/api-docs/channels/guide/channels-toolkit-reference), any BigCommerce [partner](https://www.bigcommerce.com/partners/) can create and list a sales channel app on BigCommerce's [App Marketplace](https://www.bigcommerce.com/apps/) for any merchant to install. Additionally, approved apps developed by [select partners](https://www.bigcommerce.com/partners/) are marketed and discoverable from within the Channel Manager in every BigCommerce store's control panel. +Using BigCommerce's [Channels Toolkit](/docs/integrations/channels/toolkit-reference), any BigCommerce [partner](https://www.bigcommerce.com/partners/) can create and list a sales channel app on BigCommerce's [App Marketplace](https://www.bigcommerce.com/apps/) for any merchant to install. Additionally, approved apps developed by [select partners](https://www.bigcommerce.com/partners/) are marketed and discoverable from within the Channel Manager in every BigCommerce store's control panel. -This article provides a high-level overview of channels and channel apps on BigCommerce and introduces BigCommerce's Channels Toolkit. For an in-depth technical guide to developing BigCommerce sales channel apps, see [Building Channel Apps](/api-docs/channels/guide/building-channel-apps). +This article provides a high-level overview of channels and channel apps on BigCommerce and introduces BigCommerce's Channels Toolkit. For an in-depth technical guide to developing BigCommerce sales channel apps, see [Building Channel Apps](/docs/integrations/channels/guide). ## Channels Toolkit @@ -25,11 +25,11 @@ While external channel integrations were possible to build by third parties prev - **Channel specific catalog management in the control panel** - Via new API endpoints, BigCommerce now supports the ability for merchants to list and manage products from within the BigCommerce control panel. Not only does this provide workflow improvements for merchants, but it enables partners to build more robust and complex integrations for external channels, as they are able to retrieve any channel and listing data that is relevant to a store. -For a comprehensive list of channel app development tools, see the [Channels Toolkit Reference](/api-docs/channels/guide/channels-toolkit-reference). +For a comprehensive list of channel app development tools, see the [Channels Toolkit Reference](/docs/integrations/channels/toolkit-reference). ## Channel apps -BigCommerce channel apps allow merchants to list products on external sales channels like point-of-sale devices, online marketplaces, marketing platforms, and social networking sites. Using BigCommerce's [Channels Toolkit](/api-docs/channels/guide/channels-toolkit-reference), developers can create channel apps that integrate with virtually any platform. Once published and approved, these apps are discoverable on [BigCommerce's App Marketplace](https://www.bigcommerce.com/apps/) for merchants to install. Additionally, approved apps developed by [select partners](https://www.bigcommerce.com/partners/) are marketed within the Channel Manager in every BigCommerce store's control panel. +BigCommerce channel apps allow merchants to list products on external sales channels like point-of-sale devices, online marketplaces, marketing platforms, and social networking sites. Using BigCommerce's [Channels Toolkit](/docs/integrations/channels/toolkit-reference), developers can create channel apps that integrate with virtually any platform. Once published and approved, these apps are discoverable on [BigCommerce's App Marketplace](https://www.bigcommerce.com/apps/) for merchants to install. Additionally, approved apps developed by [select partners](https://www.bigcommerce.com/partners/) are marketed within the Channel Manager in every BigCommerce store's control panel. ### Discovery @@ -54,7 +54,7 @@ We enable this through our Channels API endpoints: - BigCommerce has control of which platforms and types are available to create. It is currently a manual process to add new platforms. A channel instance can be only 1 type; however, a channel app can register multiple different channels. - - For channel apps that are strategically approved ([select partners](/api-docs/partner/becoming-a-partner)), the app appears as an option when adding a new channel. This starts the app install process. + - For channel apps that are strategically approved ([select partners](/docs/start/partner)), the app appears as an option when adding a new channel. This starts the app install process. @@ -150,18 +150,18 @@ Select partners If you're not already a partner and familiar with the BigCommerce APIs and tools you need to get started, you'll need to: -1. [Become a partner](/api-docs/partner/becoming-a-partner) -2. [Get acquainted with our APIs](/api-docs/getting-started/about-our-api) +1. [Become a partner](/docs/start/partner) +2. [Get acquainted with our APIs](/docs/start/about) 3. Sign up for developer account 4. Start a free trial ### Building the app -Once you're ready to get started developing the channel app, see [Building Channel Apps](/api-docs/channels/guide/building-channel-apps) for a comprehensive guide. +Once you're ready to get started developing the channel app, see [Building Channel Apps](/docs/integrations/channels/guide) for a comprehensive guide. ## Related resources ### Articles -- [Building Channels Quick Start](/api-docs/channels/quick-start) +- [Building Channels Quick Start](/docs/integrations/channels/quick-start) diff --git a/docs/api-docs/channels/channels-quick-start.mdx b/docs/api-docs/channels/channels-quick-start.mdx index 9d36880636..c7b2b231af 100644 --- a/docs/api-docs/channels/channels-quick-start.mdx +++ b/docs/api-docs/channels/channels-quick-start.mdx @@ -1,17 +1,17 @@ # Building Channels Quick Start -This advanced, quick-start tutorial is for [BigCommerce partners](https://www.bigcommerce.com/partners/) wishing to market their solution within [Channel Manager's](/api-docs/channels/overview#resources) **Create Channel** flow. For an introduction to channels on BigCommerce, see [Channels Overview](/api-docs/channels/overview). +This advanced, quick-start tutorial is for [BigCommerce partners](https://www.bigcommerce.com/partners/) wishing to market their solution within [Channel Manager's](/docs/integrations/channels#resources) **Create Channel** flow. For an introduction to channels on BigCommerce, see [Channels Overview](/docs/integrations/channels). ### Prerequisites -- Experience [building apps](/api-docs/apps/guide/intro) -- Familiarity with [Channels Toolkit](/api-docs/channels/overview) +- Experience [building apps](/docs/integrations/apps) +- Familiarity with [Channels Toolkit](/docs/integrations/channels) ## Create a channel -Apps curated as solutions within the **Create Channel** flow must create a basic channel with a reference to their BigCommerce [App ID](/api-docs/apps/tutorials/id). This enables them to be shown in the [Channel Manager](/api-docs/channels/overview) as managing a specific channel; it also improves the native look and feel for the merchant using the app. +Apps curated as solutions within the **Create Channel** flow must create a basic channel with a reference to their BigCommerce [App ID](/docs/integrations/apps/guide/id). This enables them to be shown in the [Channel Manager](/docs/integrations/channels) as managing a specific channel; it also improves the native look and feel for the merchant using the app. ![Channel Manager](https://storage.googleapis.com/bigcommerce-production-dev-center/images/channels-channel-manager.png "Channel Manager") @@ -42,7 +42,7 @@ Accept: application/json - For a list of accepted `type` and `platform` values, see [Channels API Reference](/docs/rest-management/channels#platform). - - For instructions on finding your app's ID, see [Find and App's ID](/api-docs/apps/tutorials/id). + - For instructions on finding your app's ID, see [Find and App's ID](/docs/integrations/apps/guide/id). ## Create a channel with navigation @@ -78,9 +78,9 @@ Accept: application/json ### Articles -- [Channels Overview](/api-docs/channels/overview) -- [Find an App's ID](/api-docs/apps/tutorials/id) -- [Build a Storefront Channel](/api-docs/channels/tutorials/storefront) +- [Channels Overview](/docs/integrations/channels) +- [Find an App's ID](/docs/integrations/apps/guide/id) +- [Build a Storefront Channel](/docs/integrations/channels/guide/storefronts) ### Endpoints diff --git a/docs/api-docs/channels/channels-storefront-tutorial.mdx b/docs/api-docs/channels/channels-storefront-tutorial.mdx index f9354c6259..4a4427ee48 100644 --- a/docs/api-docs/channels/channels-storefront-tutorial.mdx +++ b/docs/api-docs/channels/channels-storefront-tutorial.mdx @@ -5,18 +5,18 @@ keywords: storefront, channels, currency, currencies, headless, # Building Storefront Channels -This article documents how to use [Channels Toolkit](/api-docs/channels/guide/channels-toolkit-reference) to install a storefront channel in a store's [Channel Manager (Help Center)](https://support.bigcommerce.com/s/article/Selling-Everywhere-with-Channel-Manager) during a [single-click app](/api-docs/apps/guide/types) installation. This article assumes you're an experienced app and headless storefront developer familiar with channels on BigCommerce. +This article documents how to use [Channels Toolkit](/docs/integrations/channels/toolkit-reference) to install a storefront channel in a store's [Channel Manager (Help Center)](https://support.bigcommerce.com/s/article/Selling-Everywhere-with-Channel-Manager) during a [single-click app](/docs/integrations/apps/guide/types) installation. This article assumes you're an experienced app and headless storefront developer familiar with channels on BigCommerce. ### Prerequisites -- [Familiarity with channels on BigCommerce](/api-docs/channels/guide/overview) -- [Experience building apps](/api-docs/apps/guide/intro) -- [Experience building headless storefronts](/api-docs/storefronts/developers-guide-headless) +- [Familiarity with channels on BigCommerce](/docs/integrations/channels) +- [Experience building apps](/docs/integrations/apps) +- [Experience building headless storefronts](/docs/storefront/headless) ## Creating a channel -After receiving the final response of the [single-click app OAuth flow](/api-docs/apps/guide/auth#receiving-the-post-response) `auth` callback, create a channel on the merchant's store. Creating a dedicated channel for a storefront allows merchants to assign the storefront selected product listings and configure storefront-specific settings. To create a storefront channel, set `type` to `storefront` in a request to the [Create a channel](/docs/rest-management/channels#create-a-channel) endpoint. +After receiving the final response of the [single-click app OAuth flow](/docs/integrations/apps/guide/auth#receiving-the-post-response) `auth` callback, create a channel on the merchant's store. Creating a dedicated channel for a storefront allows merchants to assign the storefront selected product listings and configure storefront-specific settings. To create a storefront channel, set `type` to `storefront` in a request to the [Create a channel](/docs/rest-management/channels#create-a-channel) endpoint. ```http filename="Example request: Create a channel" showLineNumbers copy POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/channels @@ -202,9 +202,9 @@ Include the `notifications` [protected section](#protected-ui-sections) in a Cha ### Articles -- [Building Apps](/api-docs/apps/guide/intro) -- [Building Channels](/api-docs/channels/guide/overview) -- [Find an App's ID](/api-docs/apps/tutorials/id) +- [Building Apps](/docs/integrations/apps) +- [Building Channels](/docs/integrations/channels) +- [Find an App's ID](/docs/integrations/apps/guide/id) ### Endpoints diff --git a/docs/api-docs/channels/channels-toolkit-reference.mdx b/docs/api-docs/channels/channels-toolkit-reference.mdx index e73353948d..5f2d1a3c9c 100644 --- a/docs/api-docs/channels/channels-toolkit-reference.mdx +++ b/docs/api-docs/channels/channels-toolkit-reference.mdx @@ -5,7 +5,7 @@ keywords: channels, currency, currencies, headless, apps, storefronts, # Channels Toolkit Reference -This article serves as a comprehensive list of all the tools in Channels Toolkit for quick reference. For a general overview of channels and developing channel apps on BigCommerce, see [Channels Introduction](/api-docs/channels/overview). +This article serves as a comprehensive list of all the tools in Channels Toolkit for quick reference. For a general overview of channels and developing channel apps on BigCommerce, see [Channels Introduction](/docs/integrations/channels). ## Required endpoints @@ -28,7 +28,7 @@ The following endpoints are recommended for most channels. | [Price Lists](/docs/rest-management/price-lists) | Control variant-level pricing by channel, customer group, etc | | [Store Information](/docs/rest-management/store-information) | Get store metadata | | [Shipping](/docs/rest-management/shipping-v2) | Manage how products are shipped | -| [Webhooks](/docs/webhooks/overview) | Get notified when specific events occur in a BigCommerce store | +| [Webhooks](/docs/webhooks) | Get notified when specific events occur in a BigCommerce store | | [Routes](/docs/rest-management/sites) | Create and manage page routes for headless storefronts | | [Sites](/docs/rest-management/sites) | Create and manage sites associated with a channel | | [Settings](/docs/rest-management/settings) | Read global and channel specific settings | @@ -45,8 +45,8 @@ The following endpoints provide extended functionality to channels. |[Currencies](/docs/rest-management/currencies)|Manage accepted currencies and their display| |[Coupons](/docs/rest-content/marketing)|Manage coupons| |[Gift Certificates](/docs/rest-content/marketing/gift-certificates)|Manage gift certificates| -|[Customer Login](/api-docs/storefront/customer-login-api)|Use SSO to login customers| -|[Current Customer](/api-docs/customers/current-customer-api)|Securely identify current customer| +|[Customer Login](/docs/start/authentication/customer-login)|Use SSO to login customers| +|[Current Customer](/docs/start/authentication/current-customer)|Securely identify current customer| |[Order Payment Actions](/docs/rest-management/transactions)|Authorize, capture, and void order payments| |[Order Transactions](/docs/rest-management/transactions)|Get order payment transaction data| @@ -90,8 +90,8 @@ The following UI components are highly recommended for channels. | Link | Description | |-|-| -|[Channels Overview](/api-docs/channels/guide/overview)|High-level overview of channels and developing channels apps on BigCommerce| -|[Building Channel Apps](/api-docs/channels/guide/building-channel-apps)|In-depth technical guide to building a channel app| -|[Extending Sales Channel Apps with Channels Toolkit](/api-docs/channels/guide/extending-existing-apps)|Tutorial on intregrating Channels Toolkit into existing apps| -|[Channel App Best Practices](/api-docs/channels/guide/channel-app-best-practices)|List of best practices for channel apps| -|[Building a Storefront Channel](/api-docs/channels/tutorials/storefront)|Tutorial on creating a channel app for a headless storefront| +|[Channels Overview](/docs/integrations/channels)|High-level overview of channels and developing channels apps on BigCommerce| +|[Building Channel Apps](/docs/integrations/channels/guide)|In-depth technical guide to building a channel app| +|[Extending Sales Channel Apps with Channels Toolkit](/docs/integrations/channels/guide/extending-existing-apps)|Tutorial on intregrating Channels Toolkit into existing apps| +|[Channel App Best Practices](/docs/integrations/channels/guide/best-practices)|List of best practices for channel apps| +|[Building a Storefront Channel](/docs/integrations/channels/guide/storefronts)|Tutorial on creating a channel app for a headless storefront| diff --git a/docs/api-docs/customers/current-customer-api.mdx b/docs/api-docs/customers/current-customer-api.mdx index 6f81f186cb..15f96b4a57 100644 --- a/docs/api-docs/customers/current-customer-api.mdx +++ b/docs/api-docs/customers/current-customer-api.mdx @@ -5,26 +5,26 @@ Suppose your application interacts dynamically with a storefront and conveys specific information to a particular signed-in customer. You must confirm that customer's identity within the insecure environment of the user's browser before revealing any sensitive information. -To address this need, BigCommerce provides a Current Customer endpoint that your app can access on the storefront using JavaScript. This endpoint allows a remote application, such as a third-party subscription billing app, to request a JSON web token, or _JWT_, with identifying customer details. The response is encrypted with your [app-level API account's client secret](/api-docs/getting-started/api-accounts#app-level-api-accounts). +To address this need, BigCommerce provides a Current Customer endpoint that your app can access on the storefront using JavaScript. This endpoint allows a remote application, such as a third-party subscription billing app, to request a JSON web token, or _JWT_, with identifying customer details. The response is encrypted with your [app-level API account's client secret](/docs/start/authentication/api-accounts#app-level-api-accounts). #### API account notes -- This endpoint requires **app API account** credentials. For more information about generating accounts, consult the [Guide to API Accounts](/api-docs/getting-started/api-accounts#app-level-api-accounts). -- The app you create doesn't need to be installed or published on a store, and you don't need to generate access tokens. All you need are the client ID and client secret. See the section on [client ID-based authentication](/api-docs/getting-started/authentication#client-id) in the Authentication tutorial. +- This endpoint requires **app API account** credentials. For more information about generating accounts, consult the [Guide to API Accounts](/docs/start/authentication/api-accounts#app-level-api-accounts). +- The app you create doesn't need to be installed or published on a store, and you don't need to generate access tokens. All you need are the client ID and client secret. See the section on [client ID-based authentication](/docs/start/authentication#client-id) in the Authentication tutorial. ## Request -To test this endpoint, save this [Current Customer API example request](/api-docs/getting-started/authentication#current-customer-api-example-request) JavaScript snippet in the storefront's **Script Manager**, located in the store control panel. Include your app API account's client ID as the value of the `app_client_id` query parameter. +To test this endpoint, save this [Current Customer API example request](/docs/start/authentication#current-customer-api-example-request) JavaScript snippet in the storefront's **Script Manager**, located in the store control panel. Include your app API account's client ID as the value of the `app_client_id` query parameter. For more about adding scripts with the UI, see our support article on [Using Script Manager](https://support.bigcommerce.com/s/article/Using-Script-Manager). ## Response -This API call returns a JWT, sent as a plain-text string. See the [example response](/api-docs/getting-started/authentication#current-customer-api-example-request) on the tab next to the preceding example request. +This API call returns a JWT, sent as a plain-text string. See the [example response](/docs/start/authentication#current-customer-api-example-request) on the tab next to the preceding example request. Decode the JWT using the client secret from the same app API account as the client ID you sent with the request. We recommend that your browser script send this JWT in a POST request to your server or a Function-as-a-Service (FaaS) that can work securely with your client secret. After your implementation decodes and validates the JWT, you can trust the payload as a source of truth about the signed-in customer's identity. You can now use the payload's customer information to make other API calls and display confidential data to the shopper. @@ -58,16 +58,16 @@ To view the data during development, you can use the JWT decoding tool at [jwt.i When a shopper is browsing as a guest, the endpoint returns a `404 Not Found` HTTP status code and an error message. -On Stencil storefronts, you can check whether any customer is signed in before running the request by wrapping your request in an `{{#if customer}}` [Handlebars Helper](/stencil-docs/reference-docs/handlebars-helpers-reference#if). +On Stencil storefronts, you can check whether any customer is signed in before running the request by wrapping your request in an `{{#if customer}}` [Handlebars Helper](/docs/storefront/stencil/themes/context/handlebars-reference#if). ## Resources ### Reference -* [Get current customer](/docs/storefront-auth/current-customer#get-current-customer) endpoint -* [API Accounts and OAuth Scopes](/api-docs/getting-started/api-accounts) -* [Authentication and Example Requests](/api-docs/getting-started/authentication) -* [#if Handlebars Helpers](/stencil-docs/reference-docs/handlebars-helpers-reference#if) +* [Get current customer](/docs/rest-authentication/current-customer#get-current-customer) endpoint +* [API Accounts and OAuth Scopes](/docs/start/authentication/api-accounts) +* [Authentication and Example Requests](/docs/start/authentication) +* [#if Handlebars Helpers](/docs/storefront/stencil/themes/context/handlebars-reference#if) * [JWT sandbox (jwt.io)](https://jwt.io/) ### Sample apps diff --git a/docs/api-docs/customers/customer-login-api.mdx b/docs/api-docs/customers/customer-login-api.mdx index f787e126e1..1b08926d5a 100644 --- a/docs/api-docs/customers/customer-login-api.mdx +++ b/docs/api-docs/customers/customer-login-api.mdx @@ -10,7 +10,7 @@ keywords: login, log in, sign in, sign-in, headless, embedded, checkouts In this tutorial, you will learn how to enable single sign-on for storefront customers using the Customer Login API and JSON Web Tokens. -You can also use the [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview#customer-login) to authorize your application to work with customer-specific storefront data. +You can also use the [GraphQL Storefront API](/docs/storefront/graphql#customer-login) to authorize your application to work with customer-specific storefront data. ## Overview @@ -40,7 +40,7 @@ You are required to include the `channel_id` when using the login JWTs to embed | `jti` | string | A unique request ID (ex. uuid).| | `operation` | string | Must contain the string `"customer_login"`.| | `store_hash` | string | The store hash identifying the store the shopper is signing in to.| -| `channel_id` | integer | Optional field containing the `channel_id` corresponding to the storefront the shopper is signing in to. Depending on your implementation, omitting the `channel_id` can lead to CORS errors; for example, see [Managing Carts](/api-docs/storefronts/guide/carts#channel-id-is-mandatory). | +| `channel_id` | integer | Optional field containing the `channel_id` corresponding to the storefront the shopper is signing in to. Depending on your implementation, omitting the `channel_id` can lead to CORS errors; for example, see [Managing Carts](/docs/storefront/headless/cart-checkout/carts#channel-id-is-mandatory). | | `customer_id` | integer | The ID of the shopper who is signing in.| | `redirect_to` | string | Optional field containing a relative path for the shopper's destination after sign-in. Defaults to `/account.php`. | | `request_ip` | string | Optional field containing the expected IP address for the request. If provided, BigCommerce will check that it matches the browser trying to sign in.| @@ -59,8 +59,8 @@ Be sure to set the Customers Login scope to Login. #### API account notes - * This endpoint requires **app API account** credentials. For more information about generating accounts, consult the [Guide to API Accounts](/api-docs/getting-started/api-accounts#app-level-api-accounts). - * The app you create doesn't need to be installed or published on a store, and you don't need to generate access tokens. All you need are the client ID and client secret. See the section on [client ID-based authentication](/api-docs/getting-started/authentication#client-id) in the Authentication tutorial. + * This endpoint requires **app API account** credentials. For more information about generating accounts, consult the [Guide to API Accounts](/docs/start/authentication/api-accounts#app-level-api-accounts). + * The app you create doesn't need to be installed or published on a store, and you don't need to generate access tokens. All you need are the client ID and client secret. See the section on [client ID-based authentication](/docs/start/authentication#client-id) in the Authentication tutorial. ## Enable single sign-on @@ -223,11 +223,11 @@ To sign a customer out, set the `redirect_to` field of the JWT’s payload to `/ ### Articles -* [Authenticating BigCommerce’s REST APIs](/api-docs/getting-started/api-accounts#choosing-the-right-kind-of-api-account) -* [BigCommerce APIs Quick Start](/api-docs/getting-started/making-requests) +* [Authenticating BigCommerce’s REST APIs](/docs/start/authentication/api-accounts#choosing-the-right-kind-of-api-account) +* [BigCommerce APIs Quick Start](/archive/start/making-requests) * [Introduction to JSON Web Tokens](https://jwt.io/introduction/) ### Endpoints -* [Customer Login SSO](/docs/storefront-auth/customer-login) +* [Customer Login SSO](/docs/rest-authentication/customer-login) * [Customers V3](/docs/rest-management/customers) diff --git a/docs/api-docs/customers/customers-subscribers-overview.mdx b/docs/api-docs/customers/customers-subscribers-overview.mdx index c54b859cf8..b8a74f9e5b 100644 --- a/docs/api-docs/customers/customers-subscribers-overview.mdx +++ b/docs/api-docs/customers/customers-subscribers-overview.mdx @@ -9,7 +9,7 @@ The following overview covers the authentication patterns and API endpoints that | Customers | modify | `store_v2_customers` | | Customers | read-only | `store_v2_customers_read_only` | -For more information on available authentication methods, see [Authentication](/api-docs/getting-started/authentication). +For more information on available authentication methods, see [Authentication](/docs/start/authentication). ## What is a customer? @@ -43,15 +43,15 @@ Where possible, the API indicates the origin of the subscriber. When customers s ## What is a guest? -Store [settings](https://support.bigcommerce.com/s/article/Checkout-Settings#checkout-settings) can be configured to allow a shopper to complete checkout without creating an account. These shoppers are not captured as customers or stored on BigCommerce. If you want to capture guest data, using the [Storefront APIs](/api-docs/storefront/cart-and-checkout-overview) can help. +Store [settings](https://support.bigcommerce.com/s/article/Checkout-Settings#checkout-settings) can be configured to allow a shopper to complete checkout without creating an account. These shoppers are not captured as customers or stored on BigCommerce. If you want to capture guest data, using the [Storefront APIs](/docs/storefront/cart-checkout/guide/rest-management) can help. ## Customer Login API -The [Customer Login API](/api-docs/storefront/customer-login-api) allows for single sign-on. Once a customer has authenticated by logging in to a third-party system (CMS, portal, or app), you can use the Customer Login API to seamlessly log the customer into their BigCommerce customer account. +The [Customer Login API](/docs/start/authentication/customer-login) allows for single sign-on. Once a customer has authenticated by logging in to a third-party system (CMS, portal, or app), you can use the Customer Login API to seamlessly log the customer into their BigCommerce customer account. ## Current Customer API -The [Current Customer API](/api-docs/storefront/current-customer-api) allows your application to identify logged-in customers. This identification is useful when you need to show customer-specific information. +The [Current Customer API](/docs/start/authentication/current-customer) allows your application to identify logged-in customers. This identification is useful when you need to show customer-specific information. ## Customers API @@ -191,8 +191,8 @@ Password validation is only available on the V2 Customers API at this time. We r ### Endpoints -* [Customer Login API](/api-docs/storefront/customer-login-api) -* [Current Customer API](/api-docs/storefront/current-customer-api) +* [Customer Login API](/docs/start/authentication/customer-login) +* [Current Customer API](/docs/start/authentication/current-customer) * [Customers V3 API](/docs/rest-management/customers) * [Customer Groups](/docs/rest-management/customers-v2/customer-groups#get-all-customer-groups) (Customers V2 API) * [Password Validation](/docs/rest-management/customers-v2/customer-passwords#validate-a-password) (Customers V2 API) @@ -202,4 +202,4 @@ Password validation is only available on the V2 Customers API at this time. We r ### Webhooks -* [Customer](/api-docs/store-management/webhooks/webhook-events#customer) +* [Customer](/docs/integrations/webhooks/events#customer) diff --git a/docs/api-docs/customers/passwordless-login.mdx b/docs/api-docs/customers/passwordless-login.mdx index 997b77f5a1..1ff2e054eb 100644 --- a/docs/api-docs/customers/passwordless-login.mdx +++ b/docs/api-docs/customers/passwordless-login.mdx @@ -7,7 +7,7 @@ Your application can send shoppers a one-time link via email that will sign them Use cases for this include: * Reducing friction for customers, allowing them to proceed without needing to reset their passwords -* Providing an alternate method for signing in customers versus using the [Customer Login API](/api-docs/storefront/customer-login-api) +* Providing an alternate method for signing in customers versus using the [Customer Login API](/docs/start/authentication/customer-login) ## Sending the request @@ -80,5 +80,5 @@ This email uses the same email templates as other emails in your store. ### Endpoints -* [Customer Login SSO](/docs/storefront-auth/customer-login) +* [Customer Login SSO](/docs/rest-authentication/customer-login) * [Customers V3](/docs/rest-management/customers) diff --git a/docs/api-docs/getting-started/about-our-api.mdx b/docs/api-docs/getting-started/about-our-api.mdx index e1ec15664b..7a9ec97921 100644 --- a/docs/api-docs/getting-started/about-our-api.mdx +++ b/docs/api-docs/getting-started/about-our-api.mdx @@ -9,7 +9,7 @@ The BigCommerce suite of APIs empowers you to create apps, automate store proces If you're new to building BigCommerce apps, we recommend that you start by exploring the [App Marketplace](https://www.bigcommerce.com/apps/) to get a feel for what's possible. -When you're ready to play with our APIs, check out the [API Request Quick Start](/api-docs/getting-started/making-requests). +When you're ready to play with our APIs, check out the [API Request Quick Start](/archive/start/making-requests). ## Available APIs @@ -42,7 +42,7 @@ BigCommerce's [GraphQL Storefront API](/docs/graphql-storefront) lets you query ### Customer Login API -The [Customer Login API](/api-docs/storefront/customer-login-api) lets you programmatically sign customers in to a BigCommerce storefront. Example use cases include the following: +The [Customer Login API](/docs/start/authentication/customer-login) lets you programmatically sign customers in to a BigCommerce storefront. Example use cases include the following: * Sign customers in to a BigCommerce store from a third-party account or a headless storefront * Enable login using credentials other than email and password, such as a phone number * Integrate a BigCommerce store with an SSO provider @@ -50,26 +50,26 @@ The [Customer Login API](/api-docs/storefront/customer-login-api) lets you progr ### Current Customer API -BigCommerce's [Current Customer API](/api-docs/customers/current-customer-api) lets you determine which customer is logged in to a storefront during a session. +BigCommerce's [Current Customer API](/docs/start/authentication/current-customer) lets you determine which customer is logged in to a storefront during a session. * Confirm a customer's identity in the browser * Validate a customer's identity to display specific information to them from an external app ## API authentication and context -Make BigCommerce API requests in the context of the **storefront**, BigCommerce **API server**, or **app server**. Each of the following APIs listings links to its section of our [Authentication and Example Requests](/api-docs/getting-started/authentication) article, which contains the base URL of the API in question. +Make BigCommerce API requests in the context of the **storefront**, BigCommerce **API server**, or **app server**. Each of the following APIs listings links to its section of our [Authentication and Example Requests](/docs/start/authentication) article, which contains the base URL of the API in question. | API or Use Case | Context | |:----------------|:--------| -| [GraphQL Account API](/api-docs/getting-started/authentication#access-tokens), including [Users](/docs/graphql-users/overview) | server | -| [GraphQL Admin API](/api-docs/getting-started/) | server | -| [GraphQL Storefront API](/api-docs/getting-started/authentication#bigcommerce-generated-jwts) | storefront | -| [REST Store Management APIs](/api-docs/getting-started/authentication#access-tokens) | server | -| [REST Storefront API](/api-docs/getting-started/authentication#same-origin-cors-authentication) | storefront | -| [Customer Login API](/api-docs/getting-started/authentication#user-generated-jwts) | storefront | -| [Current Customer API](/api-docs/getting-started/authentication#client-id) | storefront | -| [Payments API](/api-docs/getting-started/authentication#bigcommerce-generated-jwts) | server | -| [Apps that host REST Provider APIs (provider apps)](/api-docs/getting-started/authentication#developer-configured-authentication) | server | +| [GraphQL Account API](/docs/start/authentication#access-tokens), including [Users](/docs/graphql-account/users-overview) | server | +| [GraphQL Admin API](/docs/start/authentication#access-tokens) | server | +| [GraphQL Storefront API](/docs/start/authentication#bigcommerce-generated-jwts) | storefront | +| [REST Store Management APIs](/docs/start/authentication#access-tokens) | server | +| [REST Storefront API](/docs/start/authentication#same-origin-cors-authentication) | storefront | +| [Customer Login API](/docs/start/authentication#user-generated-jwts) | storefront | +| [Current Customer API](/docs/start/authentication#client-id) | storefront | +| [Payments API](/docs/start/authentication#bigcommerce-generated-jwts) | server | +| [Apps that host REST Provider APIs (provider apps)](/docs/start/authentication#developer-configured-authentication) | server | | Apps hosted in the store control panel (single-click apps) | server | | Single-store frontend scripts | storefront | | Headless storefronts with backend or request proxy | server | @@ -93,7 +93,7 @@ Make BigCommerce API requests in the context of the **storefront**, BigCommerce | [Store Management Order Transactions](/docs/rest-management/transactions) | View order payment information. | | [Storefront Orders](/docs/rest-storefront/orders) | View storefront order information. | | [Customers V2](/docs/rest-management/customers-v2) | Manage store customers. | -| [Customers V3](/docs/rest-management/customers) | Manage store customers. To learn about using Customers V3 versus V2, see the [Customers Overview](/api-docs/customers/customers-subscribers-overview). | +| [Customers V3](/docs/rest-management/customers) | Manage store customers. To learn about using Customers V3 versus V2, see the [Customers Overview](/docs/store-operations/customers/customers-subscribers-overview). | | [Subscribers](/docs/rest-management/subscribers) | Manage newsletter subscribers. | | [Price Lists](/docs/rest-management/price-lists)| Create variations of catalog pricing. | | [Scripts](/docs/rest-management/scripts) | Add and remove scripts from storefront pages. | @@ -138,7 +138,7 @@ For more information about required request headers, consult the [API reference] |:-------|:-----------------------|:------------| | `X-Auth-Token` | API account access token | Requests to the REST Management, Catalog, GraphQL Admin, and GraphQL Account APIs use this header to authenticate. Some Payment endpoints also use this header. | | `X-Auth-Client` | API account client ID | No longer required for any requests to BigCommerce. | -| `X-Correlation-Id` | UUID in an 8-4-4-4-12 format | An identifier unique to a set of related requests. For use on headless storefronts, excluding BigCommerce for WordPress. For more information, see [Best Practices](/api-docs/getting-started/best-practices#correlating-requests) or the [Headless Guide](/api-docs/storefronts/guide/overview#correlating-requests). | +| `X-Correlation-Id` | UUID in an 8-4-4-4-12 format | An identifier unique to a set of related requests. For use on headless storefronts, excluding BigCommerce for WordPress. For more information, see [Best Practices](/docs/start/best-practices#correlating-requests) or the [Headless Guide](/docs/storefront/headless#correlating-requests). | #### Request content type @@ -184,7 +184,7 @@ HTTP response header names are case-insensitive; see the [HTTP specification on | `X-Rate-Limit-Time-Reset-Ms` | number | Shows how many milliseconds are remaining in the window. In this case, 15000 milliseconds – so, 15000 milliseconds after this request, the API quota will be refreshed. |`15000 `| | `X-Rate-Limit-Requests-Quota` | number | Shows how many API requests are allowed in the current window for your client. | `150` | | `X-Rate-Limit-Requests-Left` | number | Details how many remaining requests your client can make in the current window before being rate-limited. In this case, you would expect to be able to make 35 more requests in the next 15000 milliseconds; on the 36th request within 15000 milliseconds, you would be rate-limited and receive an HTTP 429 response. | `35` | -| `X-Retry-After` | integer | Rate limited response, indicating the number of seconds before the quota refreshes. See [Rate Limits](/api-docs/getting-started/best-practices#api-rate-limits) for more information. | `15` | +| `X-Retry-After` | integer | Rate limited response, indicating the number of seconds before the quota refreshes. See [Rate Limits](/docs/start/best-practices#api-rate-limits) for more information. | `15` | | `X-BC-ApiLimit-Remaining` | integer | The number of API requests remaining for the current period (rolling one hour). | `987` | | `X-BC-Store-Version` | A version number | The version of BigCommerce on which the store is running. This header is available on versions 7.3.6+. | ` 7.3.6` | diff --git a/docs/api-docs/getting-started/api-status-codes.mdx b/docs/api-docs/getting-started/api-status-codes.mdx index 2331690234..465f13cedd 100644 --- a/docs/api-docs/getting-started/api-status-codes.mdx +++ b/docs/api-docs/getting-started/api-status-codes.mdx @@ -34,7 +34,7 @@ This article covers [REST](#rest-api-http-status-codes) and [GraphQL](#graphql-a ### 4xx Client Error -4xx codes are returned for requests that could not be processed due to problems with the request or the data. For more information on handling 400 errors skillfully, see [API Request Architecture](/api-docs/getting-started/request-architecture#404-and-422-client-errors). +4xx codes are returned for requests that could not be processed due to problems with the request or the data. For more information on handling 400 errors skillfully, see [API Request Architecture](/docs/start/best-practices/integration-design#404-and-422-client-errors). | Code | Text | Purpose | |:----:|:-----|:--------| @@ -49,12 +49,12 @@ This article covers [REST](#rest-api-http-status-codes) and [GraphQL](#graphql-a | **415** | **Unsupported Media Type** | Returned due to issues with the `Content-Type` header. | | **422** | **Missing or Invalid Data** | The request cannot be processed either because it omitted required fields or because it contained invalid data. See the response for more details. | | **423** | **Locked Status Code** | The requested resource is currently locked and unavailable.| -| **429** | **Too Many Requests** | When an OAuth client exceeds the [rate limit](/api-docs/getting-started/best-practices#api-rate-limits) for API requests to a store. | +| **429** | **Too Many Requests** | When an OAuth client exceeds the [rate limit](/docs/start/best-practices#api-rate-limits) for API requests to a store. | | **499** | **Client Closed Request** | A client terminates the connection before receiving a response. | ### 5xx Server Error -5xx codes are returned for requests that could not be processed due to an internal error with the API or server. For more information on handling 500 errors skillfully, see [API Request Architecture](/api-docs/getting-started/request-architecture#500-through-504-errors). +5xx codes are returned for requests that could not be processed due to an internal error with the API or server. For more information on handling 500 errors skillfully, see [API Request Architecture](/docs/start/best-practices/integration-design#500-through-504-errors). | Code | Text | Purpose | |:----:|:-----|:--------| diff --git a/docs/api-docs/getting-started/authentication.mdx b/docs/api-docs/getting-started/authentication.mdx index 2cd0ccd6e1..172fc79a6c 100644 --- a/docs/api-docs/getting-started/authentication.mdx +++ b/docs/api-docs/getting-started/authentication.mdx @@ -11,7 +11,7 @@ This article provides an overview of the authentication schemes that our APIs us Regardless of the subject API's authentication scheme, BigCommerce **API accounts** play a role in every authenticated request to our servers. -Our API accounts come in a few different flavors to meet the needs of different use cases. For example, app API accounts work well in multi-store contexts, whereas store API accounts are a good choice for frontend applications. **Some endpoints only work with one kind of API account.** For a thorough explanation of the differences, check out the section on [choosing the right kind of API account](/api-docs/getting-started/api-accounts#choosing-the-right-kind-of-api-account) in our API accounts article. +Our API accounts come in a few different flavors to meet the needs of different use cases. For example, app API accounts work well in multi-store contexts, whereas store API accounts are a good choice for frontend applications. **Some endpoints only work with one kind of API account.** For a thorough explanation of the differences, check out the section on [choosing the right kind of API account](/docs/start/authentication/api-accounts#choosing-the-right-kind-of-api-account) in our API accounts article. ## Stable tokens @@ -23,12 +23,12 @@ The following sections describe the two authentication schemes we use that rely ### Access tokens - Legacy API accounts used HTTP basic authentication. They are no longer available to new stores. For more information, see [API Accounts: Migrating from legacy to OAuth](/api-docs/getting-started/api-accounts#migrating-from-legacy-to-oauth). + Legacy API accounts used HTTP basic authentication. They are no longer available to new stores. For more information, see [API Accounts: Migrating from legacy to OAuth](/docs/start/authentication/api-accounts#migrating-from-legacy-to-oauth). Most of our REST endpoints and GraphQL Admin API endpoints use the `X-Auth-Token` header to authenticate to BigCommerce servers. For more about the APIs that do **NOT** use the `X-Auth-Token` header, consult this article's sections on [dynamic tokens](#dynamic-tokens) and [same-origin CORS authentication](#same-origin-cors-authentication). -The `X-Auth-Token` header uses access tokens to authenticate requests. [Create an OAuth API account](/api-docs/getting-started/api-accounts#api-accounts) to generate access tokens. Pass the access token as the value of the `X-Auth-Token` header of the request you want to authenticate. +The `X-Auth-Token` header uses access tokens to authenticate requests. [Create an OAuth API account](/docs/start/authentication/api-accounts#api-accounts) to generate access tokens. Pass the access token as the value of the `X-Auth-Token` header of the request you want to authenticate. #### The X-Auth-Client header is deprecated @@ -37,7 +37,7 @@ The `X-Auth-Token` header uses access tokens to authenticate requests. [Create a For a request to succeed, the access token's API account must have permission to receive the response. Configure your API account with the minimum set of OAuth scopes that your implementation needs. -To find the specific OAuth scopes your requests require, consult the root API reference pages for the families of endpoints you plan to use. For example, see the [OAuth scopes for the Email Templates endpoints](/docs/rest-content/email-templates). We also maintain a [list of all our OAuth scopes](/api-docs/getting-started/api-accounts#oauth-scopes). +To find the specific OAuth scopes your requests require, consult the root API reference pages for the families of endpoints you plan to use. For example, see the [OAuth scopes for the Email Templates endpoints](/docs/rest-content/email-templates). We also maintain a [list of all our OAuth scopes](/docs/start/authentication/api-accounts#oauth-scopes). #### X-Auth-Token header example requests @@ -94,7 +94,7 @@ The following table lists the APIs that authenticate with a client ID. For OAuth | API description | Endpoint reference | API account type | Query parameter | Query argument | |:----------------|:-------------------|:-----------------|:----------------|:---------------| -| [Current Customer API](/api-docs/storefront/current-customer-api) | [Get current customer](/docs/storefront-auth/current-customer#get-current-customer) | app | `app_client_id` | API account client ID | +| [Current Customer API](/docs/start/authentication/current-customer) | [Get current customer](/docs/rest-authentication/current-customer#get-current-customer) | app | `app_client_id` | API account client ID | ### Current Customer API example request @@ -155,10 +155,10 @@ The following table lists the APIs that use the `Authorization` header, along wi | API description | Obtain a JWT | Endpoint reference | API account type | Authorization header value | |:----------------|:-------------|:-------------------|:-----------------|:---------------------------| -| [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview) | [Create a token](/docs/storefront-auth/tokens#create-a-token), Stencil context | [Create a Storefront query](/docs/graphql-storefront) | store | `Bearer {{TOKEN}}` | -| [Payment processing](/api-docs/store-management/payments-api-overview) endpoint | [Create a payment access token](/docs/rest-payments/tokens#create-payment-access-token), `completeCheckout` with the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout#handling-payments) | [Process a payment](/docs/rest-payments/processing#process-payment) | app or store | `PAT {{TOKEN}}` | +| [GraphQL Storefront API](/docs/storefront/graphql) | [Create a token](/docs/rest-authentication/tokens#create-a-token), Stencil context | [Create a Storefront query](/docs/graphql-storefront) | store | `Bearer {{TOKEN}}` | +| [Payment processing](/docs/store-operations/payments) endpoint | [Create a payment access token](/docs/rest-payments/tokens#create-payment-access-token), `completeCheckout` with the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront#handling-payments) | [Process a payment](/docs/rest-payments/processing#process-payment) | app or store | `PAT {{TOKEN}}` | -To obtain a dynamic token, send a request to the REST endpoint listed in the **Obtain a JWT** column or consult the article listed in the **API Description** column. Use an API account with the appropriate [token creation OAuth scopes](/api-docs/getting-started/api-accounts#token-creation-scopes). +To obtain a dynamic token, send a request to the REST endpoint listed in the **Obtain a JWT** column or consult the article listed in the **API Description** column. Use an API account with the appropriate [token creation OAuth scopes](/docs/start/authentication/api-accounts#token-creation-scopes). ### Authorization header example requests @@ -260,7 +260,7 @@ The following table lists the APIs that rely on user-generated JWTs. For OAuth s | API description | Create a JWT | Endpoint reference | API account type | |:----------------|:-------------|:-------------------|:-----------------| -| [Customer Login API](/api-docs/storefront/customer-login-api) | See API description | [SSO API Reference](/docs/storefront-auth/customer-login) | app | +| [Customer Login API](/docs/start/authentication/customer-login) | See API description | [SSO API Reference](/docs/rest-authentication/customer-login) | app | ### Customer Login API example request @@ -295,7 +295,7 @@ BigCommerce-encrypted payload JWTs let control panel apps listen to and reason a * The app validates the JWT, then decrypts its payload * The payload's data informs what the app does next -To learn more, see our [Apps Guide](/api-docs/apps/guide/intro), especially the articles on [authorization, installation](/api-docs/apps/guide/auth), and other [app callback events](/api-docs/apps/guide/callbacks). +To learn more, see our [Apps Guide](/docs/integrations/apps), especially the articles on [authorization, installation](/docs/integrations/apps/guide/auth), and other [app callback events](/docs/integrations/apps/guide/callbacks). ## Same-origin CORS authentication @@ -434,14 +434,14 @@ The following table describes the authentication characteristics of our REST Pro | API description | API reference | Configuration reference | Associated API account | Authentication method | |:----------------|:--------------|:------------------------|:-----------------------|:----------------------| -| [Shipping Provider API](/api-docs/providers/shipping) | [Shipping Provider Reference](/api-docs/provider-apis/shipping-provider-api) | [Configure during registration](/api-docs/providers/shipping#configuration-fields), and/or with [Update a carrier connection](/docs/rest-management/shipping-v2/shipping-carrier#update-a-carrier-connection) | implemented in an app | developer-defined request body keys | -| [Tax Provider API](/api-docs/providers/tax) | [Tax Provider Reference](/docs/apps-api/tax) | [Update a tax provider connection](/docs/apps-api/tax-app-connection#update-a-connection) | implemented in an app | `Authorization: Basic {{base64encode(username:password)}}` | +| [Shipping Provider API](/docs/integrations/shipping) | [Shipping Provider Reference](/docs/integrations/shipping) | [Configure during registration](/docs/integrations/shipping#configuration-fields), and/or with [Update a carrier connection](/docs/rest-management/shipping-v2/shipping-carrier#update-a-carrier-connection) | implemented in an app | developer-defined request body keys | +| [Tax Provider API](/docs/integrations/tax) | [Tax Provider Reference](/docs/rest-contracts/tax) | [Update a tax provider connection](/docs/rest-contracts/tax-app-connection#update-a-connection) | implemented in an app | `Authorization: Basic {{base64encode(username:password)}}` | In the Tax Provider API `Authorization` header, the username and password belong to the app's tax provider service. What this username and password actually refer to is up to the app developer. ## Resources ### Related articles -* [Creating API Accounts](/api-docs/getting-started/api-accounts) -* [OAuth Scopes](/api-docs/getting-started/api-accounts#oauth-scopes) +* [Creating API Accounts](/docs/start/authentication/api-accounts) +* [OAuth Scopes](/docs/start/authentication/api-accounts#oauth-scopes) {/* */} diff --git a/docs/api-docs/getting-started/best-practices.mdx b/docs/api-docs/getting-started/best-practices.mdx index aff1691a5b..979b0f5e7d 100644 --- a/docs/api-docs/getting-started/best-practices.mdx +++ b/docs/api-docs/getting-started/best-practices.mdx @@ -7,13 +7,13 @@ keywords: rate limits, best practices, ## Keep your integration up to date -BigCommerce frequently enhances its core product and is actively enhancing REST endpoints, as well as expanding the graphs accessible to our growing family of GraphQL APIs. Using the latest information lets you update your app to take advantage of the most current resources. You also position your app or implementation to provide a user experience consistent with what merchants see in their BigCommerce store control panel. To stay up to date, bookmark our [changelog](/changelog). +BigCommerce frequently enhances its core product and is actively enhancing REST endpoints, as well as expanding the graphs accessible to our growing family of GraphQL APIs. Using the latest information lets you update your app to take advantage of the most current resources. You also position your app or implementation to provide a user experience consistent with what merchants see in their BigCommerce store control panel. To stay up to date, bookmark our [changelog](/release-notes). ## Anticipate changes to BigCommerce APIs At BigCommerce, we make a distinction between "breaking" and "non-breaking" changes. -In most cases, we will give advance notice in our developer [changelog](/changelog) when we make any of the following "breaking" changes. However, we will make breaking changes _without warning_ to alpha and beta endpoints and graph nodes, or when analytics indicate that an endpoint has no traffic for three months. +In most cases, we will give advance notice in our developer [changelog](/release-notes) when we make any of the following "breaking" changes. However, we will make breaking changes _without warning_ to alpha and beta endpoints and graph nodes, or when analytics indicate that an endpoint has no traffic for three months. Examples of breaking changes include: @@ -35,15 +35,15 @@ We encourage you to write robust, resilient code that will not break or leak mem ## Use webhooks to listen for changes -To keep your app's data up to date, [webhooks](/api-docs/getting-started/webhooks/about-webhooks) provide a great alternative to periodic API polling. Use a [store-level or app-level API account](/api-docs/getting-started/api-accounts) to register and subscribe to webhook-enabled events relevant to your app. +To keep your app's data up to date, [webhooks](/docs/integrations/webhooks) provide a great alternative to periodic API polling. Use a [store-level or app-level API account](/docs/start/authentication/api-accounts) to register and subscribe to webhook-enabled events relevant to your app. -When an event your app is listening for occurs, BigCommerce sends a payload with a few identifying details relevant to the event. See a list of [webhook events and their payloads](/api-docs/store-management/webhooks/webhook-events). Use the payload data points to make subsequent API requests for more details. +When an event your app is listening for occurs, BigCommerce sends a payload with a few identifying details relevant to the event. See a list of [webhook events and their payloads](/docs/integrations/webhooks/events). Use the payload data points to make subsequent API requests for more details. ### Avoid polling the Storefront Cart API Client-side applications should avoid polling the [REST Storefront Cart API](/docs/rest-storefront/carts) on interval. Millions of browsers could poll this API at any given time, causing a significant load increase to BigCommerce's servers. We may take action against a store using this practice to prevent service interruptions to other stores. -As an alternative, consider using a server-side app to subscribe to [cart webhook events](/api-docs/store-management/webhooks/webhook-events#carts), then query the Storefront Cart API only as a response to user input. Storing cart information in the browser cache is an alternative method for updating cart information across browser tabs. You may also be interested in the [growing list of events](/api-docs/partner/analytics-solutions/bodl#bodl-event-schemas) available to native storefronts with our Open Data Layer enabled. +As an alternative, consider using a server-side app to subscribe to [cart webhook events](/docs/integrations/webhooks/events#carts), then query the Storefront Cart API only as a response to user input. Storing cart information in the browser cache is an alternative method for updating cart information across browser tabs. You may also be interested in the [growing list of events](/docs/integrations/hosted-analytics#bodl-event-schemas) available to native storefronts with our Open Data Layer enabled. ## Thread API requests @@ -75,7 +75,7 @@ A store’s overall quota is distributed across all apps that are accessing that ### Playing nicely with the platform - As of January 2022, BigCommerce header field names became functionally case-insensitive. Learn more about BigCommerce [response header conventions](/api-docs/getting-started/about-our-api#response-headers). + As of January 2022, BigCommerce header field names became functionally case-insensitive. Learn more about BigCommerce [response header conventions](/docs/start/about#response-headers). Every API response’s HTTP headers give you full visibility into your position in the rate-limiting algorithm: @@ -87,9 +87,9 @@ X-Rate-Limit-Requests-Quota: 150 X-Rate-Limit-Requests-Left: 35 ``` -If your implementation's request to the API triggers a [429: Too Many Requests](/api-docs/getting-started/api-status-codes#4xx-client-error) response, it is encountering rate limits. Responses contain the `X-Rate-Limit-Time-Reset-Ms` header, which specifies the time in milliseconds that your client must wait before its quota refreshes. Retry the request after this time has elapsed. +If your implementation's request to the API triggers a [429: Too Many Requests](/docs/start/about/status-codes#4xx-client-error) response, it is encountering rate limits. Responses contain the `X-Rate-Limit-Time-Reset-Ms` header, which specifies the time in milliseconds that your client must wait before its quota refreshes. Retry the request after this time has elapsed. -For more about rate limit headers and how to calculate the timing of your requests to reduce the risk of encoutering rate limits, see [About Our API](/api-docs/getting-started/about-our-api#bigcommerce-specific-response-headers). +For more about rate limit headers and how to calculate the timing of your requests to reduce the risk of encoutering rate limits, see [About Our API](/docs/start/about#bigcommerce-specific-response-headers). ### Example of 429 status code @@ -118,7 +118,7 @@ You can increase the amount of work your app can do in a given unit of time by s * Slowing your rate of API requests as `X-Rate-Limit-Requests-Left` approaches zero. * Determining an acceptable average rate of requests by dividing `X-Rate-Limit-Requests-Quota` by `X-Rate-Limit-Time-Window-Ms`, and then self-throttling to that rate. -Endpoints that accept bulk requests may have specific limitations on the number of accepted parallel requests. For example, making multiple parallel requests to [Upsert price list records](/docs/rest-management/price-lists/price-lists-records#upsert-price-list-records) results in one or more error responses with the [429: Too Many Requests](/api-docs/getting-started/api-status-codes#4xx-client-error) status code. The current list of limitations is documented in our article on [resource-specific limits (Help Center)](https://support.bigcommerce.com/s/article/Platform-Limits#storelimits). The [API reference](/docs/api) specification for each endpoint or mutation also documents any limits specific to that request. +Endpoints that accept bulk requests may have specific limitations on the number of accepted parallel requests. For example, making multiple parallel requests to [Upsert price list records](/docs/rest-management/price-lists/price-lists-records#upsert-price-list-records) results in one or more error responses with the [429: Too Many Requests](/docs/start/about/status-codes#4xx-client-error) status code. The current list of limitations is documented in our article on [resource-specific limits (Help Center)](https://support.bigcommerce.com/s/article/Platform-Limits#storelimits). The [API reference](/docs/api) specification for each endpoint or mutation also documents any limits specific to that request. ## Resources @@ -126,23 +126,23 @@ Endpoints that accept bulk requests may have specific limitations on the number * [Platform Limits (Help Center)](https://support.bigcommerce.com/s/article/Platform-Limits) * [API Terms of Service (bigcommerce.com)](https://www.bigcommerce.com/terms/api-terms/) -* [Filtering Requests](/api-docs/getting-started/filtering) -* [API Status Codes](/api-docs/getting-started/api-status-codes) -* [About Our API: Response Headers](/api-docs/getting-started/about-our-api#response-headers) -* [Guide to API Accounts](/api-docs/getting-started/api-accounts)[webhook events and their payloads](/api-docs/store-management/webhooks/webhook-events) -* [Changelog](/changelog) +* [Filtering Requests](/docs/start/about/common-query-params) +* [API Status Codes](/docs/start/about/status-codes) +* [About Our API: Response Headers](/docs/start/about#response-headers) +* [Guide to API Accounts](/docs/start/authentication/api-accounts)[webhook events and their payloads](/docs/integrations/webhooks/events) +* [Changelog](/release-notes) ## Correlating requests -When building a headless storefront, it's best practice to group related requests using the `X-Correlation-Id` header. This indicates to BigCommerce's infrastructure that an API call is part of a larger operation, and helps us track the handoff from request to request as the operation moves through our servers. To learn more about the header, see our [list of request headers](/api-docs/getting-started/about-our-api#bigcommerce-specific-request-headers). For an example and a more in-depth explanation, see the [Introduction to Headless Commerce](/api-docs/storefronts/guide/overview#correlating-requests). +When building a headless storefront, it's best practice to group related requests using the `X-Correlation-Id` header. This indicates to BigCommerce's infrastructure that an API call is part of a larger operation, and helps us track the handoff from request to request as the operation moves through our servers. To learn more about the header, see our [list of request headers](/docs/start/about#bigcommerce-specific-request-headers). For an example and a more in-depth explanation, see the [Introduction to Headless Commerce](/docs/storefront/headless#correlating-requests). ## Resources ### Related articles -* [Webhook Events](/api-docs/store-management/webhooks/webhook-events) -* [About Webhooks](/api-docs/getting-started/webhooks/about-webhooks) -* [Big Open Data Layer](/api-docs/partner/analytics-solutions/bodl#bodl-event-schemas) +* [Webhook Events](/docs/integrations/webhooks/events) +* [About Webhooks](/docs/integrations/webhooks) +* [Big Open Data Layer](/docs/integrations/hosted-analytics#bodl-event-schemas) ### API references and clients diff --git a/docs/api-docs/getting-started/deprecations-and-sunsets.mdx b/docs/api-docs/getting-started/deprecations-and-sunsets.mdx index 3bf03e0253..d5b2c89815 100644 --- a/docs/api-docs/getting-started/deprecations-and-sunsets.mdx +++ b/docs/api-docs/getting-started/deprecations-and-sunsets.mdx @@ -5,7 +5,7 @@ keywords: v2, options, modifiers, google amp, option_sets, option sets, # Deprecations and Sunsets -This article provides a reference for deprecated APIs and exposes BigCommerce's plans to sunset specific API operations and properties. We recommend setting up a feed alert for our [Developer Changelog](/changelog) to receive the most up-to-date information about API changes. For more information on how to set up a feed alert, see [changelog](/api-docs/partner/getting-started/support#changelog). +This article provides a reference for deprecated APIs and exposes BigCommerce's plans to sunset specific API operations and properties. We recommend setting up a feed alert for our [Developer Changelog](/release-notes) to receive the most up-to-date information about API changes. For more information on how to set up a feed alert, see [changelog](/docs/start/about/support#changelog). ## Deprecations @@ -18,7 +18,7 @@ The following APIs and tools are deprecated. We discourage using these listed it | `/v2/customers` | [Customers V3](/docs/rest-management/customers) | | `/v3/hooks/events`| [Get Events](/docs/webhooks/webhooks/webhook-events#get-events) | |`/v2/options`| [Catalog V3 Product Modifiers](/docs/rest-catalog/product-modifiers#get-all-product-modifiers), [Catalog V3 Product Variant Options](/docs/rest-catalog/product-variant-options#get-all-product-variant-options). See the [Accessing product options](#accessing-product-options-with-V3) callout. | -|`/v2/option_sets`| [Catalog V3 Product Modifiers](/docs/rest-catalog/product-modifiers#get-all-product-modifiers), [Catalog V3 Product Variant Options](/docs/rest-catalog/product-variant-options#get-all-product-variant-options). The `option_sets` endpoint is intentionally not available in the V3 Catalog API. For more information, see [V2 vs V3 Catalog APIs](/legacy/v2-products/v2-v3). | +|`/v2/option_sets`| [Catalog V3 Product Modifiers](/docs/rest-catalog/product-modifiers#get-all-product-modifiers), [Catalog V3 Product Variant Options](/docs/rest-catalog/product-variant-options#get-all-product-variant-options). The `option_sets` endpoint is intentionally not available in the V3 Catalog API. For more information, see [V2 vs V3 Catalog APIs](/docs/store-operations/catalog/migration). | |`/v2/pages`| [Pages V3](/docs/rest-content/pages) | |`/v2/products `| [Catalog V3 Products](/docs/rest-catalog/products#get-all-products) | |`/v2/redirects`| [Redirects V3](/docs/rest-management/redirects) | @@ -46,8 +46,8 @@ We have removed the following endpoints. | Sunset endpoint / API | Replacement endpoint / API | |:----------------------|:---------------------------| | `DELETE Collection` [Customers V2](/docs/rest-management/customers-v2) | [Customers V3, Delete customers](/docs/rest-management/customers-v2#delete-customers) | -| `DELETE Collection` [Option Sets V2](/legacy/v2-catalog-products/v2-option-sets) | None; can still be deleted individually by ID. | -| `DELETE Collection` [Products V2](/legacy/v2-catalog-products/v2-products) | [Products V3, Delete products](/docs/rest-catalog/products#delete-products) or individually, [Products V2, Delete a product](/legacy/v2-catalog-products/v2-products#delete-a-product) | +| `DELETE Collection` [Option Sets V2](/archive/store-operations/v2-catalog-products/v2-option-sets) | None; can still be deleted individually by ID. | +| `DELETE Collection` [Products V2](/archive/store-operations/v2-catalog-products/v2-products) | [Products V3, Delete products](/docs/rest-catalog/products#delete-products) or individually, [Products V2, Delete a product](/archive/store-operations/v2-catalog-products/v2-products#delete-a-product) | We have removed the following properties. @@ -57,5 +57,5 @@ We have removed the following properties. ## Related resources -* [Developer Changelog](/changelog) -* [Difference between V2 and V3 Catalog REST APIs](/api-docs/store-management/catalog/v2-vs-v3) +* [Developer Changelog](/release-notes) +* [Difference between V2 and V3 Catalog REST APIs](/docs/store-operations/catalog/migration) diff --git a/docs/api-docs/getting-started/integration-design.mdx b/docs/api-docs/getting-started/integration-design.mdx index 735c025c28..e46840812a 100644 --- a/docs/api-docs/getting-started/integration-design.mdx +++ b/docs/api-docs/getting-started/integration-design.mdx @@ -18,7 +18,7 @@ The same principle applies to bulk endpoints. The base number of resources retur The same efficency principle extends to creating and updating resources. -In addition, consider using conditional logic to avoid making API calls when they are not needed. For example, when the resource hasn't changed or the app conditions are such that more API data is not helpful at that time, don't request more data. You can use [Webhooks](/docs/webhooks/overview) to trigger requests as they become relevant, rather than polling the API. +In addition, consider using conditional logic to avoid making API calls when they are not needed. For example, when the resource hasn't changed or the app conditions are such that more API data is not helpful at that time, don't request more data. You can use [Webhooks](/docs/webhooks) to trigger requests as they become relevant, rather than polling the API. ## Mindfulness @@ -48,7 +48,7 @@ Changes to the attributes of resource can also render subsequent requests to it All infrastructure has physical limits. Even an unlimited rate plan may sometimes receive the [429 Too Many Requests (MDN)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429) status. -If your ERP starts receiving intermittent 429 statuses, use our [retry headers](/api-docs/getting-started/about-our-api#bigcommerce-specific-response-headers) to queue your requests. Regardless of developer intention, BigCommerce considers implementations abusive when they do not handle 429 errors responsively. Design applications that devote serious attention to avoiding consecutive 429 responses. +If your ERP starts receiving intermittent 429 statuses, use our [retry headers](/docs/start/about#bigcommerce-specific-response-headers) to queue your requests. Regardless of developer intention, BigCommerce considers implementations abusive when they do not handle 429 errors responsively. Design applications that devote serious attention to avoiding consecutive 429 responses. ### 500 through 504 server errors @@ -75,12 +75,12 @@ To handle 503 statuses and cases when multiple URIs return 500 statuses, conside ### Reference -* [Best Practices](/api-docs/getting-started/best-practices) -* [Retry headers](/api-docs/getting-started/about-our-api#bigcommerce-specific-response-headers) +* [Best Practices](/docs/start/best-practices) +* [Retry headers](/docs/start/about#bigcommerce-specific-response-headers) * [REST Catalog API](/docs/rest-catalog/products) * [Get a product](/docs/rest-catalog/products#get-a-product) * [Get all products](/docs/rest-content/pages#get-pages) -* [Webhooks](/docs/webhooks/overview) +* [Webhooks](/docs/webhooks) ### External resources diff --git a/docs/api-docs/getting-started/making-requests.mdx b/docs/api-docs/getting-started/making-requests.mdx index 8b32a1cbc5..ef2aa47b62 100644 --- a/docs/api-docs/getting-started/making-requests.mdx +++ b/docs/api-docs/getting-started/making-requests.mdx @@ -11,7 +11,7 @@ This quick start guide will take you through making your first requests with Big ### Create an API account -See the [Guide to API Accounts](/api-docs/getting-started/api-accounts) for instructions on creating API accounts. +See the [Guide to API Accounts](/docs/start/authentication/api-accounts) for instructions on creating API accounts. ### Use Request Runner @@ -45,13 +45,13 @@ To view sample JSON request bodies for each REST API resource, see the [API Refe ## REST Storefront API quick start -To make your first requests in a browser with the REST Storefront APIs, see the step-by-step tutorial [Working with Storefront Cart and Checkout APIs](/api-docs/cart-and-checkout/working-sf-apis). +To make your first requests in a browser with the REST Storefront APIs, see the step-by-step tutorial [Working with Storefront Cart and Checkout APIs](/docs/storefront/cart-checkout/guide/rest-storefront). ## GraphQL Storefront API ### Create a storefront token -This example uses **Request Runner** to make an initial request that creates a Storefront API token. It is a REST API request, so you will need to copy and paste your [API credentials](/api-docs/getting-started/api-accounts#creating-store-level-api-credentials). +This example uses **Request Runner** to make an initial request that creates a Storefront API token. It is a REST API request, so you will need to copy and paste your [API credentials](/docs/start/authentication/api-accounts#creating-store-level-api-credentials). In the `allowed_cors_origins` array, include the URL(s) of the storefront from which you plan to use the token. @@ -112,5 +112,5 @@ While viewing your storefront in a browser, open the developer tools JavaScript ## Customer Login API -For more information, see the [Customer Login API Overview](/api-docs/storefront/customer-login-api). +For more information, see the [Customer Login API Overview](/docs/start/authentication/customer-login). diff --git a/docs/api-docs/getting-started/rest-api-authentication.mdx b/docs/api-docs/getting-started/rest-api-authentication.mdx index 9d2725aa45..953350e7d8 100644 --- a/docs/api-docs/getting-started/rest-api-authentication.mdx +++ b/docs/api-docs/getting-started/rest-api-authentication.mdx @@ -7,7 +7,7 @@ keywords: address, authentication, authorization, x-auth-token, access_token, ac BigCommerce offers three types of OAuth-based API accounts to developers who wish to use BigCommerce's REST APIs: store-level credentials, app-level credentials, and account-level credentials. This article describes the difference between the three, how to obtain and revoke account credentials, and the use cases for each. It also contains a reference for available OAuth scopes and provides a compelling list of reasons to migrate from legacy API tokens to OAuth credentials. -In addition to authenticating REST APIs, BigCommerce API accounts are the fundamental authentication layer for all authenticated API requests. To learn more about different authentication schemes, see [Authentication and Example Requests](/api-docs/getting-started/authentication). +In addition to authenticating REST APIs, BigCommerce API accounts are the fundamental authentication layer for all authenticated API requests. To learn more about different authentication schemes, see [Authentication and Example Requests](/docs/start/authentication). ## API accounts @@ -30,7 +30,7 @@ In addition to the [API account components](#api-accounts) in the preceding sect * The **client name** is a label for your convenience, and it doesn't accompany requests. * The **API path** is the URL to which you make requests. The API path won't change, but it will have `/v3/` or `/v2/` appended to it, depending on the current version for the endpoint you're querying. -Most APIs that work with store-level API accounts use the `access_token` to authenticate requests to BigCommerce. However, a few use the access token to generate a temporary credential. To learn more about special cases that involve store-level credentials, read about [Authentication and Example Requests](/api-docs/getting-started/authentication) and consult the documentation for the API you want to use. +Most APIs that work with store-level API accounts use the `access_token` to authenticate requests to BigCommerce. However, a few use the access token to generate a temporary credential. To learn more about special cases that involve store-level credentials, read about [Authentication and Example Requests](/docs/start/authentication) and consult the documentation for the API you want to use. #### Be careful with client secrets @@ -41,7 +41,7 @@ Most APIs that work with store-level API accounts use the `access_token` to auth To create a store-level API account, consult our Knowledge Base article on [Creating a Store API Account](https://support.bigcommerce.com/s/article/Store-API-Accounts#creating). -To get started making requests, see [Getting Started](/api-docs/getting-started/making-requests). +To get started making requests, see [Getting Started](/archive/start/making-requests). ### Revoking store-level API credentials @@ -63,17 +63,17 @@ To delete a store-level API account, consult our Knowledge Base article on [Dele You can [create app-level API accounts](#creating-app-level-api-credentials) in the [Developer Portal](https://devtools.bigcommerce.com). After a store owner installs and authorizes an app, most apps use access tokens generated from the API account's client ID, client secret, and a temporary grant code to read and change store data. [Generate access tokens](#app-level-access-tokens) with the BigCommerce-initiated grant code authorization flow. -Some APIs use app-level API accounts to implement alternative authentication patterns. For a summary of all our authentication methods, see [Authentication and Example Requests](/api-docs/getting-started/authentication). +Some APIs use app-level API accounts to implement alternative authentication patterns. For a summary of all our authentication methods, see [Authentication and Example Requests](/docs/start/authentication). -For more on working with apps, see our [Guide to Building Apps](/api-docs/apps/guide/intro). The sections on [Implementing OAuth](/api-docs/apps/guide/auth) and [Callback Handlers](/api-docs/apps/guide/callbacks) are particularly relevant to generating access tokens. +For more on working with apps, see our [Guide to Building Apps](/docs/integrations/apps). The sections on [Implementing OAuth](/docs/integrations/apps/guide/auth) and [Callback Handlers](/docs/integrations/apps/guide/callbacks) are particularly relevant to generating access tokens. ### Creating app-level API credentials -To create an app and its associated API account, consult our article on [Managing Apps in the Developer Portal](/api-docs/apps/guide/developer-portal#create-an-app). +To create an app and its associated API account, consult our article on [Managing Apps in the Developer Portal](/docs/integrations/apps/guide/developer-portal#create-an-app). ### App-level access tokens -App-level API accounts do not come pre-configured with an access token. Each time a store installs your app, BigCommerce initiates a grant code authorization flow to help your app generate a dedicated access token for that store. For further details, see [Authenticating an app](/api-docs/apps/guide/auth). +App-level API accounts do not come pre-configured with an access token. Each time a store installs your app, BigCommerce initiates a grant code authorization flow to help your app generate a dedicated access token for that store. For further details, see [Authenticating an app](/docs/integrations/apps/guide/auth). ### Revoking app-level API credentials @@ -89,7 +89,7 @@ After one of these changes, the store owner will be prompted to review the chang When you delete an app in the [Dev Portal](https://devtools.bigcommerce.com), there is no way to recover the client ID or client secret. If you choose to do this, don't forget to mitigate the potential loss of [webhook and metafield](#dont-forget-your-webhooks-and-metafields)-related data and functionality. -To delete an app-level API account, consult our article on [Managing Apps in the Developer Portal](/api-docs/apps/guide/developer-portal#delete-an-app). +To delete an app-level API account, consult our article on [Managing Apps in the Developer Portal](/docs/integrations/apps/guide/developer-portal#delete-an-app). ## Account-level API accounts @@ -118,20 +118,20 @@ To delete an account-level API account, visit the [account control panel](https: ## Choosing the right kind of API account -Where both types of API account are supported, review the preceding sections to make an informed choice about which best fits your use case. In the following table, links go to the relevant section of our [Authentication and Example Requests](/api-docs/getting-started/authentication) article. +Where both types of API account are supported, review the preceding sections to make an informed choice about which best fits your use case. In the following table, links go to the relevant section of our [Authentication and Example Requests](/docs/start/authentication) article. | API or Use Case | Store-level API account | App-level API account | Account-level API account | |:----------------|:-----------------------:|:---------------------:|:-------------------------:| -| [GraphQL Account API](/api-docs/getting-started/authentication#access-tokens), including [Users](/docs/graphql-account/users-overview) | | | × | -| [GraphQL Admin API](/api-docs/getting-started/authentication#access-tokens) | × | × | | -| [GraphQL Storefront API](/api-docs/getting-started/authentication#bigcommerce-generated-jwts) | × | | | -| [REST Store Management APIs](/api-docs/getting-started/authentication#access-tokens) | × | × | | -| [REST Storefront API](/api-docs/getting-started/authentication#same-origin-cors-authentication) | × | | | -| [Customer Login API](/api-docs/getting-started/authentication#user-generated-jwts) | | × | | -| [Current Customer API](/api-docs/getting-started/authentication#client-id) | | × | | -| [Payments API](/api-docs/getting-started/authentication#bigcommerce-generated-jwts) | × | × | | -| [Apps that host REST Provider APIs (provider apps)](/api-docs/getting-started/authentication#developer-configured-authentication) | | × | | -| [Apps that create App Extensions](/app-extensions/overview) | | × | | +| [GraphQL Account API](/docs/start/authentication#access-tokens), including [Users](/docs/graphql-account/users-overview) | | | × | +| [GraphQL Admin API](/docs/start/authentication#access-tokens) | × | × | | +| [GraphQL Storefront API](/docs/start/authentication#bigcommerce-generated-jwts) | × | | | +| [REST Store Management APIs](/docs/start/authentication#access-tokens) | × | × | | +| [REST Storefront API](/docs/start/authentication#same-origin-cors-authentication) | × | | | +| [Customer Login API](/docs/start/authentication#user-generated-jwts) | | × | | +| [Current Customer API](/docs/start/authentication#client-id) | | × | | +| [Payments API](/docs/start/authentication#bigcommerce-generated-jwts) | × | × | | +| [Apps that host REST Provider APIs (provider apps)](/docs/start/authentication#developer-configured-authentication) | | × | | +| [Apps that create App Extensions](/docs/integrations/apps/app-extensions) | | × | | | Apps hosted in the store control panel (single-click apps) | | × | | | Manual connection between a third-party app and a store | × | | × | | Single-store frontend scripts | | × | | @@ -153,7 +153,7 @@ We recommend migrating from legacy API credentials to OAuth, if you haven't alre * **Webhook subscriptions**: OAuth API accounts can subscribe to real-time event notifications using BigCommerce’s webhooks. -* **Shared secrets**: Use new APIs and endpoints that require shared secrets, including the [Customer Login](/api-docs/storefront/customer-login-api) and [Current Customer](/api-docs/storefront/current-customer-api) APIs. +* **Shared secrets**: Use new APIs and endpoints that require shared secrets, including the [Customer Login](/docs/start/authentication/customer-login) and [Current Customer](/docs/start/authentication/current-customer) APIs. * **Zippier responses**: Responses to OAuth requests use gzip compression and less of your bandwidth. @@ -167,9 +167,9 @@ Before you update your API connections to use OAuth instead of legacy basic auth * If you use one of our [client libraries](/tools-resources), consult the library’s documentation for establishing an optimal OAuth configuration. * After you create your connection, update your connection parameters as follows: * Use `https://api.bigcommerce.com` as the gateway URL instead of the BigCommerce store’s secure hostname. For example, route requests that formerly went to `https://store-{{store_hash}}.mybigcommerce.com/api/v2/orders/{{order_id}}` or `https://my-custom-store-domain.com/api/v2/orders/{{order_id}}` will now use `https://api.bigcommerce.com/stores/{{store_hash}}/v2/orders/{{order_id}}`. - * Rewrite your HTTP request headers to use the `X-Auth-Token` header to pass the API account's `access_token` instead of the `Authorization` header. For more information, see [Authentication](/api-docs/getting-started/authentication). + * Rewrite your HTTP request headers to use the `X-Auth-Token` header to pass the API account's `access_token` instead of the `Authorization` header. For more information, see [Authentication](/docs/start/authentication). -Rate limiting works differently for OAuth API connections. For details, see the [Rate Limits section](/api-docs/getting-started/best-practices#api-rate-limits) of our API best practices article. +Rate limiting works differently for OAuth API connections. For details, see the [Rate Limits section](/docs/start/best-practices#api-rate-limits) of our API best practices article. ## OAuth scopes @@ -186,14 +186,14 @@ All OAuth scopes except `default` provide `read-only` permissions scopes so that | UI Name | Permission | Parameter | Description | Endpoints | |:--------|:-----------|:----------|:------------|:----------| | Create Payments | modify | `store_payments_access_token_create` | Create payment access tokens, process payments | [Payments, Access Tokens](/docs/rest-payments/tokens#create-payment-access-token)
[Payments, Process Payment](/docs/rest-payments/processing#process-payment) | -| Storefront API Tokens | modify | `store_storefront_api` | Create GraphQL Storefront API bearer tokens | [Storefront API Token V3](/docs/storefront-auth/tokens#create-a-token) | -| Storefront API Customer Impersonation Tokens | modify | `store_storefront_api_customer_impersonation` | Create GraphQL Storefront API bearer tokens that allow customer impersonation | [Storefront API Token V3, Customer Impersonation](/docs/storefront-auth/tokens/customer-impersonation-token#create-a-token) | +| Storefront API Tokens | modify | `store_storefront_api` | Create GraphQL Storefront API bearer tokens | [Storefront API Token V3](/docs/rest-authentication/tokens#create-a-token) | +| Storefront API Customer Impersonation Tokens | modify | `store_storefront_api_customer_impersonation` | Create GraphQL Storefront API bearer tokens that allow customer impersonation | [Storefront API Token V3, Customer Impersonation](/docs/rest-authentication/tokens/customer-impersonation-token#create-a-token) | ### Store resource scopes | UI Name | Permission | Parameter | Description | Resources | |:--------|:-----------|:----------|:------------|:----------| -| App Extensions | manage | `store_app_extensions_manage` | Manage App Extensions; requires an app-level API account | [GraphQL Admin API](/app-extensions/overview) | +| App Extensions | manage | `store_app_extensions_manage` | Manage App Extensions; requires an app-level API account | [GraphQL Admin API](/docs/integrations/apps/app-extensions) | | Carts | modify | `store_cart` | View and modify carts | [Carts V3](/docs/rest-management/carts) | | Carts | read-only | `store_cart_read_only` | View carts | [Carts V3](/docs/rest-management/carts) | | Channel Settings | modify | `store_channel_settings` | View and modify a list of channels | [Channels V3](/docs/rest-management/channels) | @@ -208,17 +208,17 @@ All OAuth scopes except `default` provide `read-only` permissions scopes so that | Content | read-only | `store_v2_content_read_only` | View store content | [Pages V2](/docs/rest-content/store-content/pages#get-all-pages)
[Blog V2](/docs/rest-content/store-content/blog-posts#get-all-blog-posts)
[Redirects V2](/docs/rest-content/store-content/redirects#get-all-redirects)
[Widgets V3](/docs/rest-content/widgets) | | Customers | modify | `store_v2_customers` | View and modify customer information | [Customers V2](/docs/rest-management/customers-v2#get-all-customers)
[Customer Groups V2](/docs/rest-management/customers-v2/customer-groups#get-all-customer-groups)
[Subscribers V3](/docs/rest-management/subscribers#get-subscribers)
[Wishlists V3](/docs/rest-management/wishlists#get-all-wishlists) | | Customers | read-only | `store_v2_customers_read_only` | View customer information | [Customers V2](/docs/rest-management/customers-v2#get-all-customers)
[Customer Groups V2](/docs/rest-management/customers-v2/customer-groups#get-all-customer-groups)
[Subscribers V3](/docs/rest-management/subscribers#get-subscribers)
[Wishlists V3](/docs/rest-management/wishlists#get-all-wishlists) | -| Customers Login | modify | `store_v2_customers_login` | Sign customers in to your storefront | [Customer Login API](/api-docs/storefront/customer-login-api) | -| Fulfillment Methods| modify | `store_fulfillment_methods_manage` | View and modify order fulfillment methods | [Pickup Methods V3](/buy-online-pick-up-in-store/rest-management/pickup-methods)
[Pickup Options V3](/buy-online-pick-up-in-store/rest-management/pickup-options) | -| Fulfillment Methods| read-only | `store_fulfillment_methods_read_only` | View order fulfillment methods | [Pickup Methods V3](/buy-online-pick-up-in-store/rest-management/pickup-methods)
[Pickup Options V3](/buy-online-pick-up-in-store/rest-management/pickup-options) | +| Customers Login | modify | `store_v2_customers_login` | Sign customers in to your storefront | [Customer Login API](/docs/start/authentication/customer-login) | +| Fulfillment Methods| modify | `store_fulfillment_methods_manage` | View and modify order fulfillment methods | [Pickup Methods V3](/docs/rest-management/pickup-methods)
[Pickup Options V3](/docs/rest-management/pickup-options) | +| Fulfillment Methods| read-only | `store_fulfillment_methods_read_only` | View order fulfillment methods | [Pickup Methods V3](/docs/rest-management/pickup-methods)
[Pickup Options V3](/docs/rest-management/pickup-options) | | Information & Settings | modify | `store_v2_information` | View and modify store information and settings | [Store Information V2](/docs/rest-management/store-information#get-store-information)
[Time V2](/docs/rest-management/store-information#get-system-timestamp)
[Settings V3](/docs/rest-management/settings) | | Information & Settings | read-only | `store_v2_information_read_only` | View general store information and settings | [Store Information V2](/docs/rest-management/store-information#get-store-information)
[Time V2](/docs/rest-management/store-information#get-system-timestamp)
[Settings V3](/docs/rest-management/settings)| -| Marketing | modify | `store_v2_marketing` | View and modify marketing information | [Coupons V2](/docs/rest-content/marketing/coupons#get-all-coupons)
[Gift Certificates V2](/docs/rest-content/marketing/gift-certificates#get-all-gift-certificates)
[Banners V2](/docs/rest-content/marketing/banners#get-all-banners)
[Promotions V3](/promotions/rest-management/coupon-codes-bulk)| +| Marketing | modify | `store_v2_marketing` | View and modify marketing information | [Coupons V2](/docs/rest-content/marketing/coupons#get-all-coupons)
[Gift Certificates V2](/docs/rest-content/marketing/gift-certificates#get-all-gift-certificates)
[Banners V2](/docs/rest-content/marketing/banners#get-all-banners)
[Promotions V3](/beta/promotions/rest-management/coupon-codes-bulk)| | Marketing | read-only | `store_v2_marketing_read_only` | View marketing information | [Coupons V2](/docs/rest-content/marketing/coupons#get-all-coupons)
[Gift Certificates V2](/docs/rest-content/marketing/gift-certificates#get-all-gift-certificates)
[Banners V2](/docs/rest-content/marketing/banners#get-all-banners) | | Orders | modify | `store_v2_orders` | View and modify orders | [Orders V2](/docs/rest-management/orders)
[Order Status V2](/docs/rest-management/orders/order-status#get-all-order-statuses) | | Orders | read-only | `store_v2_orders_read_only` | View orders | [Orders V2](/docs/rest-management/orders)
[Order Status V2](/docs/rest-management/orders/order-status#get-all-order-statuses) | -| Order Fulfillment | modify | `store_order_fulfillment_manage` | View and modify order fulfillments | [Pickup V3](/buy-online-pick-up-in-store/rest-management/pickup) | -| Order Fulfillment | read-only | `store_order_fulfillment_read_only` | View order fulfillments | [Pickup V3](/buy-online-pick-up-in-store/rest-management/pickup) | +| Order Fulfillment | modify | `store_order_fulfillment_manage` | View and modify order fulfillments | [Pickup V3](/docs/rest-management/pickup) | +| Order Fulfillment | read-only | `store_order_fulfillment_read_only` | View order fulfillments | [Pickup V3](/docs/rest-management/pickup) | | Order Transactions | modify | `store_v2_transactions` | View and modify order transactions | [Orders V3, Transactions](/docs/rest-management/transactions) | | Order Transactions | read-only | `store_v2_transactions_read_only` | View order transactions | [Orders V3, Transactions](/docs/rest-management/transactions) | | Payments - Get accepted methods | read-only | `store_payments_methods_read` | Get a list of payment methods | [Payments - Get accepted methods](/docs/rest-payments/methods#get-accepted-payment-methods) | @@ -226,12 +226,12 @@ All OAuth scopes except `default` provide `read-only` permissions scopes so that | Products | read-only | `store_v2_products_read_only` | View products | [Catalog V3](/docs/rest-catalog)
[Price Lists V3](/docs/rest-management/price-lists) | | Sites & Routes | modify | `store_sites` | View and modify sites and routes | [Sites V3, Routes, Certificates](/docs/rest-management/sites)
[Channels V3 Sites](/docs/rest-management/channels/channel-site#get-a-channel-site) | | Sites & Routes | read-only | `store_sites_read_only` | View external storefronts with non-BigCommerce URLs | [Sites V3, Routes, Certificates](/docs/rest-management/sites)
[Channels V3 Sites](/docs/rest-management/channels/channel-site#get-a-channel-site) | -| Store Inventory | modify | `store_inventory` | View and modify store inventory | [Inventory V3](/buy-online-pick-up-in-store/rest-management/inventory) | -| Store Inventory | read-only | `store_inventory_read_only` | View store inventory | [Inventory V3](/buy-online-pick-up-in-store/rest-management/inventory) | -| Store Locations | modify | `store_locations` | View and modify store locations | [Locations V3](/buy-online-pick-up-in-store/rest-management/locations) | -| Store Locations | read-only | `store_locations_read_only` | View store locations | [Locations V3](/buy-online-pick-up-in-store/rest-management/locations) | -| Stored Payment Instruments | read-only | `store_stored_payment_instruments_read_only` | View stored payment instruments | [Stored Instruments V3](/stored-instruments/rest-payments/manage) | -| Stored Payment Instruments | modify | `store_stored_payment_instruments` | View and modify stored payment instruments |[Stored Instruments V3](/stored-instruments/rest-payments/manage) | +| Store Inventory | modify | `store_inventory` | View and modify store inventory | [Inventory V3](/docs/rest-management/inventory) | +| Store Inventory | read-only | `store_inventory_read_only` | View store inventory | [Inventory V3](/docs/rest-management/inventory) | +| Store Locations | modify | `store_locations` | View and modify store locations | [Locations V3](/docs/rest-management/locations) | +| Store Locations | read-only | `store_locations_read_only` | View store locations | [Locations V3](/docs/rest-management/locations) | +| Stored Payment Instruments | read-only | `store_stored_payment_instruments_read_only` | View stored payment instruments | [Stored Instruments V3](/beta/stored-instruments/rest-payments/manage) | +| Stored Payment Instruments | modify | `store_stored_payment_instruments` | View and modify stored payment instruments |[Stored Instruments V3](/beta/stored-instruments/rest-payments/manage) | | Themes | modify | `store_themes_manage` | View and modify themes | [Themes V3](/docs/rest-content/themes) | | Themes | read-only | `store_themes_read_only` | View themes | [Themes V3](/docs/rest-content/themes) | @@ -239,7 +239,7 @@ All OAuth scopes except `default` provide `read-only` permissions scopes so that | UI Name | Permission | Parameter | Description | Resources | |:--------|:-----------|:----------|:------------|:----------| -| Account | read-only | `account_read` | View account details | [GraphQL Account API](/docs/graphql-users) | +| Account | read-only | `account_read` | View account details | [GraphQL Account API](/docs/graphql-account/users-overview) | | Account Apps | read-only | `account_apps_read` | View the apps associated with an account | [GraphQL Account API](/docs/graphql-account/users-overview) | | Account Stores | read-only | `account_stores_read` | View the stores associated with an account | [GraphQL Account API](/docs/graphql-account/users-overview) | | Account Users | read-only | `account_users_read` | View the users associated with an account | [GraphQL Account API](/docs/graphql-account/users-overview) | @@ -248,7 +248,7 @@ All OAuth scopes except `default` provide `read-only` permissions scopes so that ## Resources -* [Authentication and Example Requests](/api-docs/getting-started/authentication) -* [Guide to Building Apps](/api-docs/apps/guide/intro) -* [Rate Limits](/api-docs/getting-started/best-practices#api-rate-limits) -* [API Status Codes](/api-docs/getting-started/api-status-codes) +* [Authentication and Example Requests](/docs/start/authentication) +* [Guide to Building Apps](/docs/integrations/apps) +* [Rate Limits](/docs/start/best-practices#api-rate-limits) +* [API Status Codes](/docs/start/about/status-codes) diff --git a/docs/api-docs/headless/carts.mdx b/docs/api-docs/headless/carts.mdx index 242905d5ce..8b8992cddb 100644 --- a/docs/api-docs/headless/carts.mdx +++ b/docs/api-docs/headless/carts.mdx @@ -171,7 +171,7 @@ Content-Type: application/json X-Auth-Token: {{ACCESS_TOKEN}} ``` -The response will contain `cart_url` and `checkout_url` properties. Use these URLs to redirect the customer to the BigCommerce-hosted cart or checkout pages. You can use the `embedded_checkout_url` with the [Checkout SDK](/stencil-docs/customizing-checkout/checkout-sdk) to embed the BigCommerce-hosted checkout into a headless site using an iFrame. +The response will contain `cart_url` and `checkout_url` properties. Use these URLs to redirect the customer to the BigCommerce-hosted cart or checkout pages. You can use the `embedded_checkout_url` with the [Checkout SDK](/docs/storefront/cart-checkout/checkout-sdk) to embed the BigCommerce-hosted checkout into a headless site using an iFrame. ```json filename="Example response: Create cart redirect URL" showLineNumbers copy { @@ -198,16 +198,16 @@ X-Auth-Token: {{ACCESS_TOKEN}} ## Signing customers in before redirecting -Registered customers have personally-identifiable information, or _PII_, saved in their accounts. If you passed a `customer_id` in the [Create a cart](/docs/rest-management/carts/carts-single#create-a-cart) request, send the customer to a sign-in page before redirecting them to cart or checkout pages. You can use the [Customer Login API](/api-docs/storefront/customer-login-api) to manage the redirection flow. +Registered customers have personally-identifiable information, or _PII_, saved in their accounts. If you passed a `customer_id` in the [Create a cart](/docs/rest-management/carts/carts-single#create-a-cart) request, send the customer to a sign-in page before redirecting them to cart or checkout pages. You can use the [Customer Login API](/docs/start/authentication/customer-login) to manage the redirection flow. #### API account notes - The Customer Login API requires **app API credentials**. To learn more, see the articles on the [Customer Login API](/api-docs/storefront/customer-login-api#api-account-notes) and [Authentication](/api-docs/getting-started/authentication#user-generated-jwts). + The Customer Login API requires **app API credentials**. To learn more, see the articles on the [Customer Login API](/docs/start/authentication/customer-login#api-account-notes) and [Authentication](/docs/start/authentication#user-generated-jwts). -The Customer Login API requires your application to generate a JWT, then send it as a path parameter of the [Send login token](/docs/storefront-auth/customer-login#login-token) endpoint. +The Customer Login API requires your application to generate a JWT, then send it as a path parameter of the [Send login token](/docs/rest-authentication/customer-login#login-token) endpoint. -The following table is a reference for the specifics of JWT claims in the context of this use case. For a complete listing of payload claims, both required and optional, see the [Customer Login API JWT payload reference](/api-docs/storefront/customer-login-api#customer-login-jwt-payload-reference). +The following table is a reference for the specifics of JWT claims in the context of this use case. For a complete listing of payload claims, both required and optional, see the [Customer Login API JWT payload reference](/docs/start/authentication/customer-login#customer-login-jwt-payload-reference). | Field Name | Type | Description | |:-----------|:-----|:------------| @@ -217,14 +217,14 @@ The following table is a reference for the specifics of JWT claims in the contex | `customer_id` | integer | The ID of the shopper you associated with the cart.| | `redirect_to` | string | One of the redirect URLs you generated per the section on [Redirecting to checkout](#redirecting-to-checkout). | -A successful call to the [Send login token](/docs/storefront-auth/customer-login#login-token) endpoint will redirect the user to the supplied relative URL. If you're calling the Customer Login API server-side, pass the redirect along to the frontend. +A successful call to the [Send login token](/docs/rest-authentication/customer-login#login-token) endpoint will redirect the user to the supplied relative URL. If you're calling the Customer Login API server-side, pass the redirect along to the frontend. #### Channel ID is mandatory The Customer Login JWT must include a `channel_id` property. If you omit the `channel_id`, CORS checks will fail and the checkout will not load. -If you are using [Embedded Checkout](/api-docs/storefronts/embedded-checkout/embedded-checkout-overview), create the Customer Login JWT, then pass the full URL for a call to the [Send login token](/docs/storefront-auth/customer-login#login-token) endpoint to the Checkout SDK. The SDK will sign the customer in, then redirect them to the Embedded Checkout iFrame. +If you are using [Embedded Checkout](/docs/storefront/cart-checkout/embedded-checkout), create the Customer Login JWT, then pass the full URL for a call to the [Send login token](/docs/rest-authentication/customer-login#login-token) endpoint to the Checkout SDK. The SDK will sign the customer in, then redirect them to the Embedded Checkout iFrame. ## Deleting a line item @@ -252,11 +252,10 @@ In practice, removing all cart items also essentially deletes the cart. ## Next step -- [Learn how to move from cart to checkout](/api-docs/storefronts/guide/checkout) +- [Learn how to move from cart to checkout](/docs/storefront/headless/cart-checkout/checkout) ## Resources - [Carts API](/docs/rest-management/carts) - [Storefront Carts API](/docs/rest-storefront/carts) - [Persistent Cart](https://support.bigcommerce.com/s/article/Persistent-Cart) -- [Headless Tutorial](/docs/api-docs/headless/tutorial) diff --git a/docs/api-docs/headless/channels.mdx b/docs/api-docs/headless/channels.mdx index 9f7a564fbc..80b561eae0 100644 --- a/docs/api-docs/headless/channels.mdx +++ b/docs/api-docs/headless/channels.mdx @@ -18,7 +18,7 @@ You can create both using the [Channels API](/docs/rest-management/channels). 3. Create a headless storefront by setting the status of the default BigCommerce storefront to inactive and then create an active headless storefront within that one free storefront limit. 4. Give this channel the primary domain and set the checkout domain for the headless storefront by sending a `PUT` request to the `/channels/{channel_id}/site/checkout-url` endpoint. 5. Optionally, you can add a 3P SSL certificate for the checkout domain by sending a `GET` request to the `/sites/{site_id}/certificate` endpoint. See [Upsert a Site’s SSL/TLS Certificate Information](/docs/rest-management/sites/site-certificate#upsert-a-site’s-ssl/tls-certificate-information) for details. -6. After setting up the channel, you can authenticate cross-origin requests by [creating a JWT token](/docs/storefront-auth/tokens#create-a-token) through the GraphQL Storefront API. Create your GraphQL Storefront API token with the same channel ID as your headless platform; otherwise, your request will be rejected. +6. After setting up the channel, you can authenticate cross-origin requests by [creating a JWT token](/docs/rest-authentication/tokens#create-a-token) through the GraphQL Storefront API. Create your GraphQL Storefront API token with the same channel ID as your headless platform; otherwise, your request will be rejected. #### Limits @@ -27,8 +27,8 @@ You can create both using the [Channels API](/docs/rest-management/channels). ## Next steps -- [Learn how to work with products](/api-docs/storefronts/guide/products) +- [Learn how to work with products](/docs/storefront/headless/products) ## Resources -- [Building Storefront Channels](/api-docs/channels/tutorials/storefront) +- [Building Storefront Channels](/docs/integrations/channels/guide/storefronts) diff --git a/docs/api-docs/headless/checkout.mdx b/docs/api-docs/headless/checkout.mdx index 6933261298..efffa4323e 100644 --- a/docs/api-docs/headless/checkout.mdx +++ b/docs/api-docs/headless/checkout.mdx @@ -42,9 +42,9 @@ It is important to note that when you use the hosted checkout option the shopper Embedded Checkout lets you embed the BigCommerce hosted checkout into your headless storefront using an iFrame. It relies on the [embedCheckout](https://github.com/bigcommerce/checkout-sdk-js/blob/master/docs/README.md#embedcheckout) method of the Checkout SDK to display BigCommerce's PCI compliant [Optimized One-Page Checkout](https://support.bigcommerce.com/s/article/Optimized-Single-Page-Checkout?language=en_US) on non-native storefronts. -For a sequence of API calls required to create an Embedded Checkout, refer to the [Embedded Checkout tutorial](/api-docs/storefronts/embedded-checkout/embedded-checkout-tutorial). +For a sequence of API calls required to create an Embedded Checkout, refer to the [Embedded Checkout tutorial](/docs/storefront/cart-checkout/embedded-checkout/tutorial). -For a list of supported payment gateways, see [Compatible payment gateways](/api-docs/store-management/payments-api-overview#compatible-payment-gateways). +For a list of supported payment gateways, see [Compatible payment gateways](/docs/store-operations/payments#compatible-payment-gateways). ## Using the Checkouts API @@ -54,12 +54,11 @@ The Checkouts API allows you to move the cart to checkout and turn it into an or ## Next steps -- [Learn how to create an Embedded Checkout](/api-docs/storefronts/embedded-checkout/embedded-checkout-tutorial) -- [Learn how to log in a customer](/api-docs/storefronts/guide/customers) +- [Learn how to create an Embedded Checkout](/docs/storefront/cart-checkout/embedded-checkout/tutorial) +- [Learn how to log in a customer](/docs/storefront/headless/customers) ## Resources -- [Restyle Optimized One-Page Checkout](/stencil-docs/customizing-checkout/optimized-one-page-checkout) +- [Restyle Optimized One-Page Checkout](/docs/storefront/cart-checkout/optimized-one-page-checkout) - [Checkout JS repo](https://github.com/bigcommerce/checkout-js) -- [Checkout SDK Tutorial](/stencil-docs/customizing-checkout/checkout-sdk-quickstart) -- [Headless Tutorial](/docs/api-docs/headless/tutorial) +- [Checkout SDK Tutorial](/docs/storefront/cart-checkout/checkout-sdk/tutorial) diff --git a/docs/api-docs/headless/customers.mdx b/docs/api-docs/headless/customers.mdx index 137ae8d863..44e04b0543 100644 --- a/docs/api-docs/headless/customers.mdx +++ b/docs/api-docs/headless/customers.mdx @@ -13,7 +13,7 @@ You can sign in a customer account using client-side or server-side code. ### Client-side GraphQL customer login -To sign in a customer account with an email address and a password in client-side code, use the following [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview) customer login mutation. +To sign in a customer account with an email address and a password in client-side code, use the following [GraphQL Storefront API](/docs/storefront/graphql) customer login mutation. **Customer login mutation** @@ -29,13 +29,13 @@ When a customer is logged in using the customer login mutation, subsequent queri ### Server-side GraphQL customer login -To make queries from the perspective of a particular customer in headless or server-side code, use [customer impersonation tokens](/api-docs/storefront/graphql/graphql-storefront-api-overview#customer-impersonation-tokens). +To make queries from the perspective of a particular customer in headless or server-side code, use [customer impersonation tokens](/docs/storefront/graphql#customer-impersonation-tokens). When you use customer impersonation tokens to authenticate requests made to the GraphQL Storefront API, the tokens receive store information from the perspective of the customer corresponding to the customer ID passed in the `X-Bc-Customer-Id` header of the `POST` request. Pricing, product availability, customer account, and customer details will be reflected. ## Customer Single Sign-on -If a customer signs in to your headless storefront, and then is redirected to a BigCommerce-hosted page, you can use the [Customer Login API](/api-docs/storefront/customer-login-api) to create a single sign-on experience between your headless storefront and BigCommerce. Doing so will make the redirection from the headless storefront to BigCommerce a more seamless experience for the customer. +If a customer signs in to your headless storefront, and then is redirected to a BigCommerce-hosted page, you can use the [Customer Login API](/docs/start/authentication/customer-login) to create a single sign-on experience between your headless storefront and BigCommerce. Doing so will make the redirection from the headless storefront to BigCommerce a more seamless experience for the customer. You can sign a customer in to an embedded checkout by setting `redirect_to` in the Customer Login JWT payload to the relative path of the `embedded_checkout_url` generated using the [Carts API](/docs/rest-management/carts). @@ -58,11 +58,11 @@ You can sign a customer in to an embedded checkout by setting `redirect_to` in t ## Identifying signed-in customers If a customer signs in to a BigCommerce-hosted cart or checkout, then navigates back to the headless storefront, you will need to confirm the customer's identity before revealing sensitive information. -To address this need, BigCommerce provides the [Current Customers API](/api-docs/storefront/current-customer-api) accessible via client-side JavaScript. The [Get Current Customer](/docs/storefront-auth/current-customer#get-current-customer) endpoint returns a `JWT` (signed with your OAuth client secret) that contains customer details. +To address this need, BigCommerce provides the [Current Customers API](/docs/start/authentication/current-customer) accessible via client-side JavaScript. The [Get Current Customer](/docs/rest-authentication/current-customer#get-current-customer) endpoint returns a `JWT` (signed with your OAuth client secret) that contains customer details. ## Surfacing customer group pricing -When querying the GraphQL Storefront API, customer-specific pricing will be reflected in query results if the request is made using a [customer impersonation token](/api-docs/storefront/graphql/graphql-storefront-api-overview#customer-impersonation-tokens). +When querying the GraphQL Storefront API, customer-specific pricing will be reflected in query results if the request is made using a [customer impersonation token](/docs/storefront/graphql#customer-impersonation-tokens). For server-side REST implementations, you can use the [Pricing API](/docs/rest-management/pricing) to [get prices](/docs/rest-management/pricing/products#get-prices-batch) for a particular customer group. @@ -127,4 +127,4 @@ X-Auth-Token: {{ACCESS_TOKEN}} ## Next step -- [Learn how to create an order](/api-docs/storefronts/guide/orders) +- [Learn how to create an order](/docs/storefront/headless/orders) diff --git a/docs/api-docs/headless/orders.mdx b/docs/api-docs/headless/orders.mdx index 53848c55f8..0009fc03bc 100644 --- a/docs/api-docs/headless/orders.mdx +++ b/docs/api-docs/headless/orders.mdx @@ -9,19 +9,135 @@ This section explains how to create and manage orders for headless storefronts. ## Creating an order from a cart -To successfully complete this section, you must create a cart with a **redirect URL**. For instructions on creating a cart, see the [Carts](/api-docs/storefronts/guide/carts) section of this guide. +To successfully complete this section, you must first create a cart with a **redirect URL**. For instructions on how to create a cart, see the [Carts](/docs/storefront/headless/cart-checkout/carts) section of this guide. ### Adding a billing address -You can change a cart to a checkout by adding a billing address. To add a checkout billing address, send a `POST` request to the [Add Checkout Billing Address](/docs/rest-management/checkouts/checkout-billing-address#add-checkout-billing-address) endpoint. Your `checkoutId` will correspond with the cart `id` returned in response to [Create a Cart](/docs/rest-management/carts/carts-single#create-a-cart). See the [headless tutorial](/api-docs/storefronts/guide/tutorial) for an example request. +You can change a cart to a checkout by adding a billing address. To add a checkout billing address, send a `POST` request to the [Add Checkout Billing Address](/docs/rest-management/checkouts/checkout-billing-address#add-checkout-billing-address) endpoint. Your `checkoutId` will correspond with the cart `id` returned in response to [Create a Cart](/docs/rest-management/carts/carts-single#create-a-cart). + +```http filename="Example request: Add checkout billing address" showLineNumbers copy +POST https://api.bigcommerce.com/stores/{store_hash}/v3/checkouts/{checkoutId}/billing-address +Accept: application/json +Content-Type: application/json +X-Auth-Token: {{ACCESS_TOKEN}} + +{ + "first_name": "Jane", + "last_name": "Doe", + "email": "jane@example.com", + "address1": "123 Main Street", + "address2": "", + "city": "Austin", + "state_or_province": "Texas", + "state_or_province_code": "TX", + "country_code": "US", + "postal_code": "78751", + "phone": "1234567890" +} +``` ### Adding a consignment -Now that you have transformed your headless cart into a checkout, you need to add a consignment with a shipping address, line items, and a shipping option. You can do so by adding and then updating a consignment. See the [headless tutorial](/api-docs/storefronts/guide/tutorial) for an example request. +Now that you have transformed your headless cart into a checkout, you need to add a consignment with a shipping address, line items, and a shipping option. You can do so following this two-step process: + +**Step 1: Add a new consignment to the checkout** + +Send a `POST` request to the [Add Consignment to Checkout](/docs/rest-management/checkouts/checkout-consignments#add-consignment-to-checkout) endpoint. Append the `include=consignments.available_shipping_options` query parameter to your `POST` request to return `available_shipping_options` (required for step two). + +```http filename="Example request: Add Consignment to checkout" showLineNumbers copy +POST https://api.bigcommerce.com/stores/{store_hash}/v3/checkouts/{checkoutId}/consignments?include=consignments.available_shipping_options +Accept: application/json +Content-Type: application/json +X-Auth-Token: {{ACCESS_TOKEN}} + +[ + { + "shipping_address": { + "first_name": "Jane", + "last_name": "Doe", + "email": "jane@example.com", + "address1": "123 Main Street", + "address2": "", + "city": "Austin", + "state_or_province": "Texas", + "state_or_province_code": "TX", + "country_code": "US", + "postal_code": "78751", + "phone": "1234567890" + }, + "line_items": [ + { + "item_id": "7e2f9b22-a16e-4056-9e2d-8fc919bcf653", + "quantity": 1 + } + ] + } +] +``` + +The response will contain an array of `available_shipping_options`. You will use one of the available shipping options to update the consignment in the next step. + +```json filename="Example response: Add Consignment to checkout" showLineNumbers copy +"available_shipping_options": [ + { + "id": "80ad65f7946c23bd4ee9a531d85c5e21", + "type": "shipping_pickupinstore", + "description": "Pickup In Store", + "image_url": "", + "cost": 0, + "transit_time": "", + "additional_description": "" + }, + { + "id": "4dcbf24f457dd67d5f89bcf374e0bc9b", + "type": "freeshipping", + "description": "Free Shipping", + "image_url": "", + "cost": 0, + "transit_time": "", + "additional_description": "" + }, + { + "id": "85dfaf5f834d7e594f0bd7cf67d5b200", + "type": "shipping_flatrate", + "description": "Flat Rate", + "image_url": "", + "cost": 5, + "transit_time": "", + "additional_description": "" + }, + { + "id": "8809b0bbcc8bdc2d5cad2a4fcbd6cf09", + "type": "shipping_byweight", + "description": "Ship by Weight", + "image_url": "", + "cost": 10, + "transit_time": "", + "additional_description": "" + } +] +``` + +**Step 2: Update the consignment** + +Use one of the available shipping options to update the consignment you created in Step 1. +Send a `PUT` request to the [Update Checkout Consignment](/docs/rest-management/checkouts/checkout-consignments#update-checkout-consignment) endpoint. + +```http filename="Example request: Update checkout consignment" showLineNumbers copy +PUT https://api.bigcommerce.com/stores/{store_hash}/v3/checkouts/{checkoutId}/consignments/{consignmentId} +Accept: application/json +Content-Type: application/json +X-Auth-Token: {{ACCESS_TOKEN}} + +{ + "shipping_option_id": "4dcbf24f457dd67d5f89bcf374e0bc9b" +} +``` + ### Creating an order -Now that you have added a billing address and a consignment to your checkout, you can create an order by sending a `POST` request to the [Create an Order](/docs/rest-management/checkouts/checkout-orders#create-an-order) endpoint. The order status will display as incomplete. +Now that you have added a billing address and a consignment to your checkout, you can create an order by sending a `POST` request to the [Create an Order](/docs/rest-management/checkouts/checkout-orders#create-an-order) endpoint. The order status will be set to incomplete. @@ -83,9 +199,9 @@ X-Auth-Token: {{ACCESS_TOKEN}} ``` -Make a note of the access token `id`. This token is a requirement for subsequent payment requests to the [Process Payment](/docs/rest-payments/processing#process-payment) endpoint. +Make a note of the access token `id`. This token is required in subsequent payment requests to the [Process Payment](/docs/rest-payments/processing#process-payment) endpoint. -3. Send a `POST` request to the [Process Payment](/docs/rest-payments/processing#process-payment) endpoint. The headers to process a payment are different than the headers you normally send with a BigCommerce API. The authorization token is the ID returned when creating the Payment Access Token (step two). To learn more, see [Stored cards](/api-docs/store-management/payments-api-overview#stored-cards). +3. Send a `POST` request to the [Process Payment](/docs/rest-payments/processing#process-payment) endpoint. The headers to process a payment are different than the headers you normally send with a BigCommerce API. The authorization token is the ID returned in Create Payment Access Token (step two). To learn more, see [Stored cards](/docs/store-operations/payments#stored-cards). @@ -130,7 +246,7 @@ If a shopper does not have a payment method saved on file, you can process a pay 1. Send a `POST` request to the [Create Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) endpoint to get the authorization token that needs to be passed in the header when processing the payment. -2. Send a `POST` request to the [Process Payment](/docs/rest-payments/processing#process-payment) endpoint. The headers to process a payment are different than the headers you normally send with a BigCommerce API. The Authorization token is the ID returned when creating the Payment Access Token (step one). To learn more, see [Credit cards](/api-docs/store-management/payments-api-overview#credit-cards). +2. Send a `POST` request to the [Process Payment](/docs/rest-payments/processing#process-payment) endpoint. The headers to process a payment are different than the headers you normally send with a BigCommerce API. The Authorization token is the ID returned in Create Payment Access Token (step one). To learn more, see [Credit cards](/docs/store-operations/payments#credit-cards). ```json filename="Example response: Process payment" showLineNumbers copy { @@ -142,13 +258,12 @@ If a shopper does not have a payment method saved on file, you can process a pay } ``` -A successful transaction will return a status of success. The order is then automatically moved to an Awaiting Fulfillment status. See [Error Codes](/api-docs/store-management/payments-api-overview#error-codes) for troubleshooting if you get a different response. +A successful transaction will return a status of success. The order is then automatically moved to an Awaiting Fulfillment status. If you get a different response, see [Error Codes](/docs/store-operations/payments#error-codes) for troubleshooting. ## Next steps -- [Learn more about PCI compliance](/api-docs/storefronts/guide/pci-compliance) +- [Learn more about PCI compliance](/docs/storefront/headless/pci-compliance) ## Resources -- [Payments API Overview](/api-docs/store-management/payments-api-overview -- [Headless Tutorial](/docs/api-docs/headless/tutorial) +- [Payments API Overview](/docs/store-operations/payments) diff --git a/docs/api-docs/headless/overview.mdx b/docs/api-docs/headless/overview.mdx index 8b5e819b69..368e241704 100644 --- a/docs/api-docs/headless/overview.mdx +++ b/docs/api-docs/headless/overview.mdx @@ -11,15 +11,15 @@ This is the first article in a comprehensive developer's guide to using BigComme If you want to build a headless storefront powered by a BigCommerce backend without starting from scratch, BigCommerce offers multiple starter apps and pre-built solutions. For headless storefront solutions and tools, see [Headless Integrations](/tools-resources#headless-integrations). -If you need to build a custom solution, BigCommerce has APIs and [SDKs](/tools-resources/tools#sdks) available to support your headless architecture. For specific use cases, see the following sections of the guide: +If you need to build a custom solution, BigCommerce has APIs and [SDKs](/tools-resources#sdks) available to support your headless architecture. For specific use cases, see the following sections of the guide: -* [Create a channel and a channel site](/api-docs/storefronts/guide/channels) -* [Fetch and manage product data](/api-docs/storefronts/guide/products) -* [Create a cart](/api-docs/storefronts/guide/carts) -* [Move a cart to checkout](/api-docs/storefronts/guide/checkout) -* [Log in a customer](/api-docs/storefronts/guide/customers) -* [Create an order](/api-docs/storefronts/guide/orders) -* [Learn about PCI compliance](/api-docs/storefronts/guide/pci-compliance) +* [Create a channel and a channel site](/docs/storefront/headless/channels) +* [Fetch and manage product data](/docs/storefront/headless/products) +* [Create a cart](/docs/storefront/headless/cart-checkout/carts) +* [Move a cart to checkout](/docs/storefront/headless/cart-checkout/checkout) +* [Log in a customer](/docs/storefront/headless/customers) +* [Create an order](/docs/storefront/headless/orders) +* [Learn about PCI compliance](/docs/storefront/headless/pci-compliance) ## Sample integration @@ -35,7 +35,8 @@ In the diagram below, the storefront is where the shopper interacts with product ## Correlating requests -Completing an operation on a headless storefront may require several API calls. For example, [processing a payment](/api-docs/store-management/payments-api-overview) and [refunding an order](/api-docs/store-management/order-refunds) each require reading and writing information using multiple endpoints. When you perform a multi-part operation on a headless storefront, group the constituent requests by generating one UUID to represent the whole operation, then use the `X-Correlation-Id` request header to send that UUID with every request in the group. The value you pass to the `X-Correlation-Id` header should be a UUID-type string you generate independently. This indicates to BigCommerce's infrastructure that an API call is part of a larger operation and helps us track the handoff from request to request as the operation moves through our servers. To learn more about the header, see our [list of request headers](/api-docs/getting-started/about-our-api#bigcommerce-specific-request-headers). +Completing an operation on a headless storefront may require several API calls. For example, [processing a payment](/docs/store-operations/payments) and [refunding an order](/docs/store-operations/orders/refunds) each require reading and writing information using multiple endpoints. When you perform a multi-part operation on a headless storefront, group the constituent requests by generating one UUID to represent the whole operation, then use the `X-Correlation-Id` request header to send that UUID with every request in the group. The value you pass to the `X-Correlation-Id` header should be a UUID-type string you generate independently. This indicates to BigCommerce's infrastructure that an API call is part of a larger operation, and helps us track the handoff from request to request as the operation moves through our servers. To learn more about the header, see our [list of request headers](/docs/start/about#bigcommerce-specific-request-headers). + When you're using the BigCommerce for WordPress plugin, there is no need to send the `X-Correlation-Id` header. @@ -134,7 +135,7 @@ The following example uses the GraphQL Storefront API to complete a checkout and ## Next step -- [Learn how to create a channel and a channel site](/api-docs/storefronts/guide/channels) +- [Learn how to create a channel and a channel site](/docs/storefront/headless/channels) ## Resources diff --git a/docs/api-docs/headless/pci-compliance.mdx b/docs/api-docs/headless/pci-compliance.mdx index fc29e86e0c..856a1f6c12 100644 --- a/docs/api-docs/headless/pci-compliance.mdx +++ b/docs/api-docs/headless/pci-compliance.mdx @@ -16,7 +16,7 @@ Merchants can use BigCommerce's PCI DSS AOC to satisfy the compliance requiremen If your application handles credit card data, you will need to be PCI compliant. Submit self-assessment questionnaires (**SAQs**) to [compliance@bigcommerce.com](mailto:compliance@bigcommerce.com). -BigCommerce is responsible for maintaining secure handling of credit cards while the payment is en route from payment request to payment processors. Merchants, service providers, and other entities involved with payment card processing must never store sensitive authentication data after authorization. This includes the 3- or 4- digit security code printed on the front or back of a card, the data stored on a card's magnetic stripe or chip (also called “Full Track Data”) – and personal identification numbers (**PIN**) entered by the cardholder. As a third-party developer, it is your responsibility to program the storefronts and recurring billing apps in a PCI-compliant manner. If development affects the flow of sensitive credit card data, you will need to maintain a PCI compliance certification for third-party service providers certified by an external Qualified Security Assessor (**QSA**). For information on processing payments and PCI compliance, see [PCI compliance (Payments API)](/api-docs/store-management/payments-api-overview#pci-compliance). +BigCommerce is responsible for maintaining secure handling of credit cards while the payment is en route from payment request to payment processors. Merchants, service providers, and other entities involved with payment card processing must never store sensitive authentication data after authorization. This includes the 3- or 4- digit security code printed on the front or back of a card, the data stored on a card's magnetic stripe or chip (also called “Full Track Data”) – and personal identification numbers (**PIN**) entered by the cardholder. As a third-party developer, it is your responsibility to program the storefronts and recurring billing apps in a PCI-compliant manner. If development affects the flow of sensitive credit card data, you will need to maintain a PCI compliance certification for third-party service providers certified by an external Qualified Security Assessor (**QSA**). For information on processing payments and PCI compliance, see [PCI compliance (Payments API)](/docs/store-operations/payments#pci-compliance). The following table outlines PCI compliance responsibilities based on the type of integration. @@ -41,5 +41,5 @@ The following table outlines PCI compliance responsibilities based on the type o - [Maintaining Payment Security](https://www.pcisecuritystandards.org/pci_security/maintaining_payment_security) - [Merchants Classification Levels Visa](https://usa.visa.com/support/small-business/security-compliance.html#3) - [Merchants Classification Levels Mastercard](https://www.mastercard.us/en-us/merchants/safety-security/security-recommendations/merchants-need-to-know.html) -- [Payments API](/api-docs/store-management/payments-api-overview) +- [Payments API](/docs/store-operations/payments) - [Self Assessment Questionnaire (SAQ) Types and Identifying which SAQ is for you](https://www.pcisecuritystandards.org/documents/SAQ-InstrGuidelines-v3_2_1.pdf?agreement=true&time=1562173376464) diff --git a/docs/api-docs/headless/products.mdx b/docs/api-docs/headless/products.mdx index 7668ffed8a..7493f92376 100644 --- a/docs/api-docs/headless/products.mdx +++ b/docs/api-docs/headless/products.mdx @@ -148,8 +148,8 @@ It is best practice to cache product details in a database to improve performanc ## Next step -- [Learn how to create a cart](/api-docs/storefronts/guide/carts) +- [Learn how to create a cart](/docs/storefront/headless/cart-checkout/carts) ## Resources -- [Catalog API Overview](/api-docs/store-management/catalog/catalog-overview) +- [Catalog API Overview](/docs/store-operations/catalog) diff --git a/docs/api-docs/headless/tutorial.mdx b/docs/api-docs/headless/tutorial.mdx index 750b776ba8..ea0187a9fb 100644 --- a/docs/api-docs/headless/tutorial.mdx +++ b/docs/api-docs/headless/tutorial.mdx @@ -1,8 +1,9 @@ # Headless Tutorial -This tutorial will walk you through [creating a cart](#creating-a-cart), [checkout](http://localhost:3000/preview#creating-a-checkout), an [order](http://localhost:3000/preview#creating-an-order), and processing a payment using the [Carts](/docs/rest-management/carts/carts-single#create-a-cart) and [Checkout](https://developer.bigcommerce.com/docs/rest-management/checkouts) Rest Management APIs to build a headless storefront. + +This tutorial will walk you through [creating a cart](#creating-a-cart), [checkout](#creating-a-checkout), an [order](#creating-an-order), and processing a payment using the [Carts](/docs/rest-management/carts/carts-single#create-a-cart) and [Checkout](/docs/rest-management/checkouts) REST Management APIs to build a headless storefront. -You can use REST Storefront APIs if you are using a Stencil theme; see the [Working with the REST Storefront Cart an Checkout APIs](/api-docs/storefront/tutorials/working-sf-apis) tutorial for more information to build your headless site. +If you are using a Stencil theme, you can use REST Storefront APIs; see the [Working with the REST Storefront Cart and Checkout APIs](/docs/storefront/cart-checkout/guide/rest-storefront) tutorial for more information to build your headless site. This article assumes you are familiar with the following: @@ -12,45 +13,46 @@ This article assumes you are familiar with the following: ### Prerequisites -* Store API credentials with the following permissions. +* A store-level API account with the following permissions. - **Carts:** `Modify` - **Checkout:** `Modify` - **Orders:** `Modify` - **Products:** `Read Only` -For more information, see [OAuth Scopes](/api-docs/getting-started/api-accounts#oauth-scopes). +For more information, see [OAuth Scopes](/docs/start/authentication/api-accounts#oauth-scopes). ## Creating a cart ### Step 1: Generate the cart ID + To generate the cart ID, send a request to the [create a cart](/docs/rest-management/carts/carts-single#create-a-cart) endpoint. The response will contain the `id`, which we will use as the `cart_id`. -```json filename="Example request: Create a cart" showLineNumbers copy -POST https://api.bigcommerce.com/stores/{{store_hash}}/v3/carts -Accept: application/json -Content-Type: application/json -X-Auth-Token: {{ACCESS_TOKEN}} -{ - "customer_id": 0, - "line_items": [ + ```http filename="Example request: Create a cart" showLineNumbers copy + POST https://api.bigcommerce.com/stores/{{store_hash}}/v3/carts + Accept: application/json + Content-Type: application/json + X-Auth-Token: {{ACCESS_TOKEN}} { - "quantity": 2, - "product_id": 120, - "list_price": 15, - "name": "mug" + "customer_id": 0, + "line_items": [ + { + "quantity": 2, + "product_id": 120, + "list_price": 15, + "name": "mug" + } + ], + "channel_id": 1, + "currency": { + "code": "USD" + }, + "locale": "en-US" } - ], - "channel_id": 1, - "currency": { - "code": "USD" - }, - "locale": "en-US" -} -``` + ``` - + ```json filename="Example response: Create a cart" showLineNumbers copy { "data": { @@ -103,9 +105,9 @@ X-Auth-Token: {{ACCESS_TOKEN}} } ``` - + - ### Step 2: Generate the redirect URLs +### Step 2: Generate the redirect URLs To generate the redirect URLs, send a POST request to the [create cart redirect URL](https://developer.bigcommerce.com/docs/rest-management/carts/redirects#create-cart-redirect-url) endpoint. You must use the cart ID generated in [step 1](#creating-a-cart) above. The response will contain the `cart_url` and the `checkout_url`. Use these URLs to redirect customers to the BigCommerce-hosted cart or checkout pages. diff --git a/docs/api-docs/management-apis/email-templates/email-template-examples.mdx b/docs/api-docs/management-apis/email-templates/email-template-examples.mdx index 7fe834ea4c..369d00b3b8 100644 --- a/docs/api-docs/management-apis/email-templates/email-template-examples.mdx +++ b/docs/api-docs/management-apis/email-templates/email-template-examples.mdx @@ -5,7 +5,7 @@ This article provides examples of how to customize email templates. The examples The following code examples demonstrate how to update text, add a button, change logo size, change the font size, and add a tracking script to an email. - Previewing changes can help you write [accessible emails](https://www.w3.org/WAI/tips/writing/). Read more about satisfying [Web Content Accessibility Guidelines (WCAG) 2.1](https://www.w3.org/TR/WCAG21/#guidelines) with BigCommerce's [Stencil framework](/stencil-docs/accessibility/WCAG-compliance-levels). + Previewing changes can help you write [accessible emails](https://www.w3.org/WAI/tips/writing/). Read more about satisfying [Web Content Accessibility Guidelines (WCAG) 2.1](https://www.w3.org/TR/WCAG21/#guidelines) with BigCommerce's [Stencil framework](/docs/storefront/stencil/themes/accessibility/wcag-compliance-levels). ## Updating text diff --git a/docs/api-docs/management-apis/email-templates/overview.mdx b/docs/api-docs/management-apis/email-templates/overview.mdx index 81f5c18d0e..3a7c09f26f 100644 --- a/docs/api-docs/management-apis/email-templates/overview.mdx +++ b/docs/api-docs/management-apis/email-templates/overview.mdx @@ -9,7 +9,7 @@ This article provides an overview of BigCommerce's transactional email templates To edit transactional email templates in a store's control panel, [log in](https://support.bigcommerce.com/s/article/Logging-Into-Your-Store) and navigate to **Marketing** › [**Transactional Emails**](http://login.bigcommerce.com/deep-links/manage/transactional-emails). -Use [Handlebars expressions](/api-docs/store-management/email-templates/handlebars) to localize email templates and access dynamic data (like a customer's first name in an order email). +Use [Handlebars expressions](/docs/store-operations/emails/object-reference) to localize email templates and access dynamic data (like a customer's first name in an order email). ```handlebars filename="Combined order status email template" showLineNumbers copy @@ -120,5 +120,5 @@ Accept: application/json ## Resources * [Email Template API Reference](/docs/rest-content/email-templates) -* [Email Template Handlebars Reference](/api-docs/store-management/email-templates/handlebars) +* [Email Template Handlebars Reference](/docs/store-operations/emails/object-reference) * [Customizing Email Templates](https://support.bigcommerce.com/s/article/Customizing-Emails) diff --git a/docs/api-docs/orders/order-refunds.mdx b/docs/api-docs/orders/order-refunds.mdx index 1755e24809..c12465d7aa 100644 --- a/docs/api-docs/orders/order-refunds.mdx +++ b/docs/api-docs/orders/order-refunds.mdx @@ -299,8 +299,8 @@ No, you cannot return items to inventory that you refunded via API. You can eith ### Articles -* [Orders Overview](/api-docs/store-management/orders) -* [Order Webhook Events](/api-docs/store-management/webhooks/webhook-events#orders) +* [Orders Overview](/docs/store-operations/orders) +* [Order Webhook Events](/docs/integrations/webhooks/events#orders) ### Endpoints diff --git a/docs/api-docs/orders/orders-api-overview.mdx b/docs/api-docs/orders/orders-api-overview.mdx index dfec760201..0a976831d3 100644 --- a/docs/api-docs/orders/orders-api-overview.mdx +++ b/docs/api-docs/orders/orders-api-overview.mdx @@ -5,12 +5,12 @@ keywords: address, rest, management, v2, v3, orders, draft order, currency, curr # Orders Overview -This article introduces BigCommerce's [Orders V2](/docs/rest-management/orders) and [Orders V3](/docs/rest-management/transactions) REST API resources. [Orders V2](/docs/rest-management/orders) exposes endpoints for [creating](/docs/rest-management/orders#create-an-order), [reading](/docs/rest-management/orders#get-all-orders), [updating](/docs/rest-management/orders#update-an-order), and [deleting](/docs/rest-management/orders#delete-all-orders) orders; it also includes endpoints for managing [order shipments](/docs/rest-management/orders/order-shipments#delete-order-shipments) and [order shipping addresses](/docs/rest-management/orders/order-shipping-addresses). [Orders V3](/docs/rest-management/transactions) surfaces [order transactions](/docs/rest-management/transactions#get-transactions) and [order refunds](/docs/rest-management/transactions/payment-actions#get-refunds-for-order) endpoints. For information on processing order payments by API, see [Payments API Overview](/api-docs/store-management/payments-api-overview). +This article introduces BigCommerce's [Orders V2](/docs/rest-management/orders) and [Orders V3](/docs/rest-management/transactions) REST API resources. [Orders V2](/docs/rest-management/orders) exposes endpoints for [creating](/docs/rest-management/orders#create-an-order), [reading](/docs/rest-management/orders#get-all-orders), [updating](/docs/rest-management/orders#update-an-order), and [deleting](/docs/rest-management/orders#delete-all-orders) orders; it also includes endpoints for managing [order shipments](/docs/rest-management/orders/order-shipments#delete-order-shipments) and [order shipping addresses](/docs/rest-management/orders/order-shipping-addresses). [Orders V3](/docs/rest-management/transactions) surfaces [order transactions](/docs/rest-management/transactions#get-transactions) and [order refunds](/docs/rest-management/transactions/payment-actions#get-refunds-for-order) endpoints. For information on processing order payments by API, see [Payments API Overview](/docs/store-operations/payments). ### Prerequisites: * [A BigCommerce store](https://support.bigcommerce.com/s/article/Starting-a-Bigcommerce-Trial) -* Access token for [API authentication](/api-docs/getting-started/api-accounts) with the following [scopes](/api-docs/getting-started/api-accounts#oauth-scopes): +* Access token for [API authentication](/docs/start/authentication/api-accounts) with the following [scopes](/docs/start/authentication/api-accounts#oauth-scopes): * Orders - **modify** * Products - **read-only** * [Product](/docs/rest-catalog/products#create-a-product) with [variants](/docs/rest-catalog/product-variants#create-a-product-variant). @@ -249,7 +249,7 @@ Accept: application/json * Custom products do not get added to the catalog. - * If the product's price is not specified in the [create order](/docs/rest-management/orders#create-an-order) request, BigCommerce's pricing service calculates the price by applying applicable currency conversions and [pricing operations](/api-docs/store-management/pricing-order-operation) (such as [price lists](https://support.bigcommerce.com/s/article/Price-Lists) and [customer group discounts](https://support.bigcommerce.com/s/article/Customer-Groups#pricing)) to the product's catalog price; use `price_inc_tax` and `price_ex_tax` to override the calculated price. + * If the product's price is not specified in the [create order](/docs/rest-management/orders#create-an-order) request, BigCommerce's pricing service calculates the price by applying applicable currency conversions and [pricing operations](/docs/store-operations/pricing/calculations) (such as [price lists](https://support.bigcommerce.com/s/article/Price-Lists) and [customer group discounts](https://support.bigcommerce.com/s/article/Customer-Groups#pricing)) to the product's catalog price; use `price_inc_tax` and `price_ex_tax` to override the calculated price. * Marketing promotions currently do not apply to orders created with the Orders API. * If you override `price_ex_tax` or `price_inc_tax`, override both; otherwise, order totals will not calculate correctly. * Overriding `price_inc_tax` or `price_ex_tax` does not change variant pricing. @@ -501,7 +501,7 @@ To [get order transactions](/docs/rest-management/transactions#get-transactions) ## Handling refunds -[Orders V3](/docs/rest-management/transactions) exposes endpoints for managing [order refunds](/docs/rest-management/transactions/payment-actions#get-refunds-for-order). For an overview on using these endpoints, see [Order Refunds in API Docs](/api-docs/orders/payment-actions). +[Orders V3](/docs/rest-management/transactions) exposes endpoints for managing [order refunds](/docs/rest-management/transactions/payment-actions#get-refunds-for-order). For an overview on using these endpoints, see [Order Refunds in API Docs](/docs/store-operations/orders/refunds). ## Calculating totals @@ -560,8 +560,8 @@ Not at this time. If you create an order either in the control panel or by API, ### Articles -* [Payments API Overview](/api-docs/store-management/payments-api-overview) -* [Order Refunds](/api-docs/orders/payment-actions) +* [Payments API Overview](/docs/store-operations/payments) +* [Order Refunds](/docs/store-operations/orders/refunds) * [Order Statuses](https://support.bigcommerce.com/s/article/Order-Statuses) * [Order Notifications](https://support.bigcommerce.com/s/article/Customer-Order-Notifications) @@ -573,4 +573,4 @@ Not at this time. If you create an order either in the control panel or by API, ### Webhooks -* [Orders](/api-docs/store-management/webhooks/events#orders +* [Orders](/docs/integrations/webhooks/events#orders diff --git a/docs/api-docs/partner/becoming-a-partner.mdx b/docs/api-docs/partner/becoming-a-partner.mdx index d22565a653..31cbd09494 100644 --- a/docs/api-docs/partner/becoming-a-partner.mdx +++ b/docs/api-docs/partner/becoming-a-partner.mdx @@ -58,12 +58,12 @@ Advanced training is available through the BigDev Bootcamp. The BigDev Bootcamp ## Ongoing support -BigCommerce provides ongoing support to help you every step of the way. From dedicated account managers to access to the BigCommerce Community, BigCommerce offers a wide variety of resources to assist you. To learn more, see [Support](/api-docs/partner/getting-started/support). +BigCommerce provides ongoing support to help you every step of the way. From dedicated account managers to access to the BigCommerce Community, BigCommerce offers a wide variety of resources to assist you. To learn more, see [Support](/docs/start/about/support). ## Resources ### Related articles -* [Introduction to Building Apps](/api-docs/apps/guide/intro) -* [App Store Approval Requirements](/api-docs/apps/guide/requirements) +* [Introduction to Building Apps](/docs/integrations/apps) +* [App Store Approval Requirements](/docs/integrations/apps/guide/requirements) * [Video tutorials](https://support.bigcommerce.com/s/videos) diff --git a/docs/api-docs/partner/create-a-sandbox.mdx b/docs/api-docs/partner/create-a-sandbox.mdx index dbabd40651..8dfdcfa2ac 100644 --- a/docs/api-docs/partner/create-a-sandbox.mdx +++ b/docs/api-docs/partner/create-a-sandbox.mdx @@ -118,6 +118,6 @@ To create a partner-specific support case, complete the following steps: ## Resources -* [App Store Approval Requirements](/api-docs/partner/app-store-approval-requirements) +* [App Store Approval Requirements](/docs/integrations/apps/guide/requirements) * [Partner Portal (BigCommerce)](https://partners.bigcommerce.com/) * [Getting Started with the Control Panel (Support)](https://support.bigcommerce.com/s/article/Getting-Started-with-the-New-Control-Panel) diff --git a/docs/api-docs/partner/dev-portal-overview.mdx b/docs/api-docs/partner/dev-portal-overview.mdx index 592ebf4246..41b2c77e2a 100644 --- a/docs/api-docs/partner/dev-portal-overview.mdx +++ b/docs/api-docs/partner/dev-portal-overview.mdx @@ -8,17 +8,17 @@ The Developer Portal is the resource developers use to create, manage, and publi To get started with developing BigCommerce apps, you will first need to create a [Developer Portal](https://devtools.bigcommerce.com/my/apps) account. You will use your Developer Portal account to register and submit your app for review. You will also need to start a [free store trial](https://www.bigcommerce.com/essentials/free-trial/) to test your app. -For information on app development, see [Introduction to Building Apps](/api-docs/apps/guide/intro). +For information on app development, see [Introduction to Building Apps](/docs/integrations/apps). -For instructions on how to use the Developer Portal to create an app, see [Managing Apps in the Developer Portal](/api-docs/apps/guide/developer-portal). +For instructions on how to use the Developer Portal to create an app, see [Managing Apps in the Developer Portal](/docs/integrations/apps/guide/developer-portal). ## Resources ### Related articles -* [BigCommerce APIs Quick Start](/api-docs/getting-started/making-requests) -* [Filtering](/api-docs/getting-started/filtering) -* [Webhooks Overview](/api-docs/store-management/webhooks/overview) +* [BigCommerce APIs Quick Start](/archive/start/making-requests) +* [Filtering](/docs/start/about/common-query-params) +* [Webhooks Overview](/docs/integrations/webhooks) ### Tools * [BigDesign Developer Playground](https://developer.bigcommerce.com/big-design) diff --git a/docs/api-docs/partner/marketing-api-overview.mdx b/docs/api-docs/partner/marketing-api-overview.mdx index 880b717d5f..6b25d05fe1 100644 --- a/docs/api-docs/partner/marketing-api-overview.mdx +++ b/docs/api-docs/partner/marketing-api-overview.mdx @@ -12,7 +12,7 @@ When to use: #### Intent to deprecate -As BigCommerce moves operations to the V3 API, the endpoints outlined in this article will be deprecated. For a complete list of deprecated endpoints, see [Deprecations and sunsets](/api-docs/getting-started/deprecations-and-sunsets). +As BigCommerce moves operations to the V3 API, the endpoints outlined in this article will be deprecated. For a complete list of deprecated endpoints, see [Deprecations and sunsets](/docs/start/best-practices/sunsets). @@ -23,7 +23,7 @@ As BigCommerce moves operations to the V3 API, the endpoints outlined in this ar | Marketing | modify | `store_v2_marketing` | | Marketing | read-only | `store_v2_marketing_read_only` | -For more information on available authentication methods, see [Authentication](/api-docs/getting-started/authentication). +For more information on available authentication methods, see [Authentication](/docs/start/authentication). ## Banners You can use banners to convey information to customers. diff --git a/docs/api-docs/partner/pos/foundation-guide.mdx b/docs/api-docs/partner/pos/foundation-guide.mdx index e929f2d1d0..b6322d9811 100644 --- a/docs/api-docs/partner/pos/foundation-guide.mdx +++ b/docs/api-docs/partner/pos/foundation-guide.mdx @@ -2,7 +2,7 @@ POS Foundation provides a proof-of-concept [open source framework](https://github.com/bigcommerce/point-of-sale-foundation) for building point-of-sale (POS) checkout interfaces that serve BigCommerce merchants with physical locations. It provides a template for custom POS solutions that use secure, pre-certified EMV card readers. POS Foundation's default integration with Stripe Terminal can significantly accelerate development time. -POS Foundation scaffolds manual connector apps that use [store-level API accounts](/api-docs/getting-started/api-accounts#store-level-api-accounts). You do not need to create an app profile or use ngrok. The app will not appear in the store control panel and is only accessible to computers running on the same local network as the app's server. In contrast to [Subscription Foundation](/api-docs/partner/subscription-solutions/foundation-guide)-derived apps, POS Foundation apps do not create their own dedicated sales channels. If you're interested in contributing to this package, see [Contributing](#contributing). +POS Foundation scaffolds manual connector apps that use [store-level API accounts](/docs/start/authentication/api-accounts#store-level-api-accounts). You do not need to create an app profile or use ngrok. The app will not appear in the store control panel and is only accessible to computers running on the same local network as the app's server. In contrast to [Subscription Foundation](/docs/integrations/subscription)-derived apps, POS Foundation apps do not create their own dedicated sales channels. If you're interested in contributing to this package, see [Contributing](#contributing). ## Software requirements @@ -23,9 +23,9 @@ We recommend that you use a sandbox store that has the same multi-storefront sta To configure your accounts, complete the following steps: -1. To develop and test safely, you need a BigCommerce sandbox store. If you don't have one, [Create a Sandbox Store](/api-docs/partner/getting-started/create-a-sandbox-store?source=pos-foundation). +1. To develop and test safely, you need a BigCommerce sandbox store. If you don't have one, [Create a Sandbox Store](/docs/start/about/sandboxes?source=pos-foundation). -2. In the control panel of your sandbox store, [create a store-level API account](/api-docs/getting-started/api-accounts#creating-store-level-api-credentials) and add the following OAuth scopes: +2. In the control panel of your sandbox store, [create a store-level API account](/docs/start/authentication/api-accounts#creating-store-level-api-credentials) and add the following OAuth scopes: | UI Name | Permission | Parameter | |:--------|:-----------|:----------| @@ -279,8 +279,8 @@ Want to help expand this foundation? We'd love to hear from you. Submit a pull r * [Point of Sale Foundation README (GitHub)](https://github.com/bigcommerce/point-of-sale-foundation/blob/main/README.md) * [Introducing the Point of Sale Foundation (Dev Blog)](https://medium.com/@stephen.hilliard/introducing-the-point-of-sale-foundation-70834efca76d) -* [Create a Sandbox Store](/api-docs/partner/getting-started/create-a-sandbox-store?source=pos-foundation) -* [Create a Store-level API Account](/api-docs/getting-started/api-accounts#creating-store-level-api-credentials) +* [Create a Sandbox Store](/docs/start/about/sandboxes?source=pos-foundation) +* [Create a Store-level API Account](/docs/start/authentication/api-accounts#creating-store-level-api-credentials) * [Connecting with Stripe](https://support.bigcommerce.com/s/article/Connecting-Stripe-Payment-Gateway#foundations) * [Setting up an "In-Store Pickup" Shipping Method](https://support.bigcommerce.com/s/article/Free-Shipping#in-store) * [Switching to Optimized One-Page Checkout](https://support.bigcommerce.com/s/article/Optimized-Single-Page-Checkout#enabling) diff --git a/docs/api-docs/partner/resources.mdx b/docs/api-docs/partner/resources.mdx index f989f0ab4f..832a7b02ce 100644 --- a/docs/api-docs/partner/resources.mdx +++ b/docs/api-docs/partner/resources.mdx @@ -24,43 +24,43 @@ BigCommerce sample apps are open-source projects developed by the BigCommerce te ## BigDesign -[BigDesign](/api-docs/apps/guide/ui) is a collection of reusable React components, design guidelines, and UI patterns that allows you to rapidly develop an app's front-end that is consistent with BigCommerce's UI. +[BigDesign](/docs/integrations/apps/guide/ui) is a collection of reusable React components, design guidelines, and UI patterns that allows you to rapidly develop an app's front-end that is consistent with BigCommerce's UI. ## Checkout SDK -The [Checkout SDK](/stencil-docs/customizing-checkout/checkout-sdk) is a JavaScript library intended for partners, developers, and merchants who want to build a custom checkout front-end experience. To learn the basics about building a custom checkout directly into the control panel, see [Checkout SDK Quick Start](/stencil-docs/customizing-checkout/checkout-sdk-quickstart). -For information on BigCommerce's [Open Checkout](https://github.com/bigcommerce/checkout-js) (also known as [Optimized One-Page Checkout](https://support.bigcommerce.com/s/article/Optimized-Single-Page-Checkout)), see [Open Checkout Quick Start](/stencil-docs/customizing-checkout/open-checkout-quick-start). -To learn about Open Checkout customization options, see [Restyle Optimized One-Page Checkout](/stencil-docs/customizing-checkout/optimized-one-page-checkout). +The [Checkout SDK](/docs/storefront/cart-checkout/checkout-sdk) is a JavaScript library intended for partners, developers, and merchants who want to build a custom checkout front-end experience. To learn the basics about building a custom checkout directly into the control panel, see [Checkout SDK Quick Start](/docs/storefront/cart-checkout/checkout-sdk/tutorial). +For information on BigCommerce's [Open Checkout](https://github.com/bigcommerce/checkout-js) (also known as [Optimized One-Page Checkout](https://support.bigcommerce.com/s/article/Optimized-Single-Page-Checkout)), see [Open Checkout Quick Start](/docs/storefront/cart-checkout/open-checkouts). +To learn about Open Checkout customization options, see [Restyle Optimized One-Page Checkout](/docs/storefront/cart-checkout/optimized-one-page-checkout). ## Page Builder -Page Builder is a browser-based tool that offers merchants visual editing and content management capabilities to design their stores. It is customizable and extendable, and we recommend that you become familiar with its interface and functionality. To learn more about Page Builder, see [Page Builder Overview](/stencil-docs/page-builder/page-builder-overview). +Page Builder is a browser-based tool that offers merchants visual editing and content management capabilities to design their stores. It is customizable and extendable, and we recommend that you become familiar with its interface and functionality. To learn more about Page Builder, see [Page Builder Overview](/docs/storefront/stencil/content/page-builder). ## Stencil references -[Stencil](/stencil-docs/getting-started/about-stencil) is BigCommerce’s theme engine. It incorporates industry best practices in technology, design standards, SEO, and allows developers to build a stunning storefront that engages shoppers and encourages checkouts on any device. Stencil is responsible for powering the BigCommerce Cornerstone theme. +[Stencil](/docs/storefront/stencil/start) is BigCommerce’s theme engine. It incorporates industry best practices in technology, design standards, SEO, and allows developers to build a stunning storefront that engages shoppers and encourages checkouts on any device. Stencil is responsible for powering the BigCommerce Cornerstone theme. The following articles cover essentials for getting started with Stencil: -* [Installing Stencil CLI](/stencil-docs/installing-stencil-cli/installing-stencil) -* [Stencil CLI Options and Commands](/stencil-docs/installing-stencil-cli/stencil-cli-options-and-commands) -* [Theme Assets](/stencil-docs/storefront-customization/theme-assets) -* [Theme Object Reference](/theme-objects) -* [Bundling and Pushing a Theme](/stencil-docs/deploying-a-theme/bundling-and-pushing) -* [Theme Updates and Version Control](/stencil-docs/deploying-a-theme/theme-updates-and-version-control) -* [Customizing JavaScript](/stencil-docs/javascript-and-event-hooks/customizing-javascript) -* [Custom Templates](/stencil-docs/storefront-customization/custom-templates) +* [Installing Stencil CLI](/docs/storefront/stencil/cli/install) +* [Stencil CLI Options and Commands](/docs/storefront/stencil/cli/options-and-commands) +* [Theme Assets](/docs/storefront/stencil/themes/style/assets) +* [Theme Object Reference](/docs/storefront/stencil/themes/context/object-reference/config) +* [Bundling and Pushing a Theme](/docs/storefront/stencil/deployment/upload) +* [Theme Updates and Version Control](/docs/storefront/stencil/deployment/updates-and-version-control) +* [Customizing JavaScript](/docs/storefront/stencil/themes/javascript) +* [Custom Templates](/docs/storefront/stencil/themes/templates) ### Stencil Utils -[Stencil Utils](https://github.com/bigcommerce/stencil-utils) is a utility library that contains the BigCommerce Stencil Events system and other functions that make building a theme with the Stencil framework a breeze. To learn more, see [Stencil Utils Reference](/stencil-docs/reference-docs/stencil-utils-api-reference). +[Stencil Utils](https://github.com/bigcommerce/stencil-utils) is a utility library that contains the BigCommerce Stencil Events system and other functions that make building a theme with the Stencil framework a breeze. To learn more, see [Stencil Utils Reference](/docs/storefront/stencil/utils/reference). ### Handlebars helpers -The [Handlebars helpers reference](/stencil-docs/reference-docs/handlebars-helpers-reference) covers Stencil-supported Handlebars helpers. +The [Handlebars helpers reference](/docs/storefront/stencil/themes/context/handlebars-reference) covers Stencil-supported Handlebars helpers. ### Front matter -Front matter defines which store resources are available to be rendered within a Stencil template. To learn more, see [Front Matter Reference](/stencil-docs/reference-docs/front-matter-reference). +Front matter defines which store resources are available to be rendered within a Stencil template. To learn more, see [Front Matter Reference](/docs/storefront/stencil/themes/context/frontmatter-reference). diff --git a/docs/api-docs/partner/staying-current.mdx b/docs/api-docs/partner/staying-current.mdx index 0a070281c7..ecc523cb08 100644 --- a/docs/api-docs/partner/staying-current.mdx +++ b/docs/api-docs/partner/staying-current.mdx @@ -7,11 +7,11 @@ At BigCommerce, we strive to offer the best ecommerce experience to our customer ## General updates -For up-to-date information about the latest releases, new features, and bug fixes, we recommend setting up [a feed alert](https://bcdevchangelog.noticeable.news/feeds) for the [Developer Changelog](/changelog). For more information, see [changelog](/api-docs/partner/getting-started/support#changelog). +For up-to-date information about the latest releases, new features, and bug fixes, we recommend setting up [a feed alert](https://bcdevchangelog.noticeable.news/feeds) for the [Developer Changelog](/release-notes). For more information, see [changelog](/docs/start/about/support#changelog). Additionally, you can gain more visibility into product updates by attending BigCommerce's [Town Hall](https://support.bigcommerce.com/s/article/BigCommerce-Town-Halls) webinar programs and reading the [Product](https://support.bigcommerce.com/s/blog) and [Developer](https://medium.com/bigcommerce-developer-blog) blogs. -For a complete list of available resources, see [Support](/api-docs/partner/getting-started/support). +For a complete list of available resources, see [Support](/docs/start/about/support). ## Cornerstone theme updates @@ -21,13 +21,13 @@ In most cases, your theme will update automatically. Occasionally, you may have ### Custom themes -Depending on the level of customization, you may need to manually port changes into your custom theme. The [Theme Updates and Version Control](/stencil-docs/deploying-a-theme/theme-updates-and-version-control) article talks about the steps you can take to keep your custom theme up-to-date with BigCommerce theme updates and version releases. +Depending on the level of customization, you may need to manually port changes into your custom theme. The [Theme Updates and Version Control](/docs/storefront/stencil/deployment/updates-and-version-control) article talks about the steps you can take to keep your custom theme up-to-date with BigCommerce theme updates and version releases. ## API updates To keep up with API changes, we recommend setting up a feed alert for the Developer Changelog. -As BigCommerce continues to deprecate V2 API endpoints and operations, consider migrating your store to the V3 API to take advantage of new features and improved performance. For more information on V3 improvements and to learn about the differences between the V2 and V3 APIs, see [Difference between V2 and V3 Catalog REST APIs](/api-docs/store-management/catalog/v2-vs-v3). To compare major V2 and V3 operations, see [V2 to V3 Catalog Operations Comparison](/api-docs/store-management/catalog/v2-v3-examples). For planned deprecations and sunsets, refer to [Deprecations and Sunsets](/api-docs/getting-started/deprecations-and-sunsets). +As BigCommerce continues to deprecate V2 API endpoints and operations, consider migrating your store to the V3 API to take advantage of new features and improved performance. For more information on V3 improvements and to learn about the differences between the V2 and V3 APIs, see [Difference between V2 and V3 Catalog REST APIs](/docs/store-operations/catalog/migration). To compare major V2 and V3 operations, see [V2 to V3 Catalog Operations Comparison](/docs/store-operations/catalog/migration/guide). For planned deprecations and sunsets, refer to [Deprecations and Sunsets](/docs/start/best-practices/sunsets). ### Open betas diff --git a/docs/api-docs/partner/subscriptions/foundation-guide.mdx b/docs/api-docs/partner/subscriptions/foundation-guide.mdx index 1af6a60fb1..e2346c00a5 100644 --- a/docs/api-docs/partner/subscriptions/foundation-guide.mdx +++ b/docs/api-docs/partner/subscriptions/foundation-guide.mdx @@ -2,7 +2,7 @@ Subscription Foundation delivers an [open source framework](https://github.com/bigcommerce/subscription-foundation) for building BigCommerce apps that empower shoppers to subscribe to products and services. It provides a template for custom subscription billing and invoicing solutions for your business or client. Subscription Foundation includes a default integration with Stripe Billing, which can significantly accelerate your development time. -Subscription Foundation uses the [Channels toolkit](/api-docs/channels/guide/overview#channels-toolkit) to display the custom subscription channel in the **Channel Manager** of a store's control panel alongside other sales channels. +Subscription Foundation uses the [Channels toolkit](/docs/integrations/channels#channels-toolkit) to display the custom subscription channel in the **Channel Manager** of a store's control panel alongside other sales channels. ## Software requirements * [Node.js](https://nodejs.org/en/) 18.15.0 @@ -13,12 +13,12 @@ Subscription Foundation uses the [Channels toolkit](/api-docs/channels/guide/ove #### Account configuration requirements - * Because there is a [store email address constraint](/api-docs/apps/guide/developer-portal#store-email-address-constraint?source=subscription-foundation) on draft and private apps, you need to make sure that both your sandbox store and your Dev Portal account use the same email address. + * Because there is a [store email address constraint](/docs/integrations/apps/guide/developer-portal#store-email-address-constraint?source=subscription-foundation) on draft and private apps, you need to make sure that both your sandbox store and your Dev Portal account use the same email address. * We recommend that you use a sandbox store that has the same multi-storefront status as the production store. For example, if you're developing for a multi-storefront enabled merchant store, use a multi-storefront sandbox. For information on configuring multi-storefront, see [Multi-Storefront](https://support.bigcommerce.com/s/article/Multi-Storefront?language=en_US). To configure your accounts, complete the following steps: -1. To develop and test apps, you need a BigCommerce sandbox store. If you don't have one, [Create a Sandbox Store](/api-docs/partner/getting-started/create-a-sandbox-store?source=subscription-foundation). +1. To develop and test apps, you need a BigCommerce sandbox store. If you don't have one, [Create a Sandbox Store](/docs/start/about/sandboxes?source=subscription-foundation). 2. To register apps and create app API accounts, you need a BigCommerce Dev Portal account. If you don't have one, create a [Dev Portal account](https://devtools.bigcommerce.com/?source=subscription-foundation). ## Fork and install the source repository @@ -37,7 +37,7 @@ After you successfully install the packages, prepare to expose the app to the in Because you must serve apps over fully-qualified publicly accessible URLs, this guide uses a tool called [ngrok](https://ngrok.com/docs) to open HTTP tunnels that securely expose `localhost` ports to the internet. -To get started with ngrok, follow the [Create an HTTPS Tunnel](/api-docs/apps/tutorials/build-a-nextjs-sample-app/step-2-connect#create-an-https-tunnel) section of the sample app tutorial. If your app does not run on port 3000, replace `3000` with the port of your app server. +To get started with ngrok, follow the [Create an HTTPS Tunnel](/docs/integrations/apps/tutorial/nextjs-connect#create-an-https-tunnel) section of the sample app tutorial. If your app does not run on port 3000, replace `3000` with the port of your app server. #### Make note of your ngrok ID @@ -50,7 +50,7 @@ As a next step, you need to create a draft app profile to generate app API accou To install your app on your sandbox store, complete the following steps: -1. Sign in to the [Dev Portal](https://devtools.bigcommerce.com/?source=subscription-foundation). Then follow our directions to [create an app](/api-docs/apps/guide/developer-portal#create-an-app?source=subscription-foundation). Enter the following values on the **Technical** tab. +1. Sign in to the [Dev Portal](https://devtools.bigcommerce.com/?source=subscription-foundation). Then follow our directions to [create an app](/docs/integrations/apps/guide/developer-portal#create-an-app?source=subscription-foundation). Enter the following values on the **Technical** tab. 2. In the **Callback URLs** section, supply the following URLs. Replace `{ngrok_url}` with the ngrok ID you noted in [Create an HTTPS tunnel](#create-an-https-tunnel). Edit the app profile with new callback URLs each time the ngrok id changes. To learn more about developing with ngrok, see [How to Test App Authentication Locally with ngrok](https://medium.com/bigcommerce-developer-blog/how-to-test-app-authentication-locally-with-ngrok-149150bfe4cf). @@ -199,11 +199,11 @@ Open the `.env` file you just created and update the following environment varia | Environment variable | Description | Reference location | |:---------------------|:------------|:-------------------| -| `NEXT_PUBLIC_APP_URL` | A public-facing URL that can receive webhooks. | On this page, see [Create an HTTPS tunnel](#create-an-https-tunnel); see also [the HTTPS tunnel section of the Sample App Tutorial](/api-docs/apps/tutorials/build-a-nextjs-sample-app/step-2-connect#create-an-https-tunnel) | +| `NEXT_PUBLIC_APP_URL` | A public-facing URL that can receive webhooks. | On this page, see [Create an HTTPS tunnel](#create-an-https-tunnel); see also [the HTTPS tunnel section of the Sample App Tutorial](/docs/integrations/apps/tutorial/nextjs-connect#create-an-https-tunnel) | | `DATABASE_URL` | A URL that connects to a database | On this page, see [Run migration and start the server](#run-migration-and-start-the-server) | -| `NEXT_PUBLIC_APP_ID` | The app's ID | [Find an App's ID](/api-docs/apps/tutorials/id#find-in-developer-portal?source=subscription-foundation) | -| `BC_APP_CLIENT_ID` | The app API account's client ID | [View App Credentials](/api-docs/apps/guide/developer-portal#view-credentials?source=subscription-foundation) | -| `BC_APP_SECRET` | The app API account's client secret | [View App Credentials](/api-docs/apps/guide/developer-portal#view-credentials?source=subscription-foundation) | +| `NEXT_PUBLIC_APP_ID` | The app's ID | [Find an App's ID](/docs/integrations/apps/guide/id#find-in-developer-portal?source=subscription-foundation) | +| `BC_APP_CLIENT_ID` | The app API account's client ID | [View App Credentials](/docs/integrations/apps/guide/developer-portal#view-credentials?source=subscription-foundation) | +| `BC_APP_SECRET` | The app API account's client secret | [View App Credentials](/docs/integrations/apps/guide/developer-portal#view-credentials?source=subscription-foundation) | | `NEXT_PUBLIC_STRIPE_CLIENT_ID` | The app-specific Stripe Connect API account client ID | see [Enable Stripe Connect for Platforms](#enable-stripe-connect-for-platforms) | | `STRIPE_SECRET_KEY` | The app-specific Stripe Connect API account client secret | see [Create Stripe Accounts](#create-stripe-accounts) | @@ -243,7 +243,7 @@ npx prisma migrate dev npm run dev ``` -After the app server and ngrok are running, you can install the draft app on your sandbox store. For more information about installing and troubleshooting apps in development, read our App Tutorial section on [Installing and launching an app](/api-docs/apps/tutorials/build-a-nextjs-sample-app/step-2-connect#install-and-launch-the-app). +After the app server and ngrok are running, you can install the draft app on your sandbox store. For more information about installing and troubleshooting apps in development, read our App Tutorial section on [Installing and launching an app](/docs/integrations/apps/tutorial/nextjs-connect#install-and-launch-the-app). ## Replacing Postgres @@ -299,7 +299,7 @@ To add new subscription rules and edit existing ones, complete the following ste The app will create its own dedicated sales channel upon installation. -If you plan to use the API to add products to the subscription sales channel, see [product channel assignments](/api-docs/multi-storefront/api-guide#products) for more information. +If you plan to use the API to add products to the subscription sales channel, see [product channel assignments](/docs/storefront/multi-storefront/guide#products) for more information. ## Deploying your app with Vercel @@ -346,7 +346,7 @@ This error can occur when the `/prisma/schema.prisma` file contains the incorrec ### Issue: A "Not found" error during app installation -If you don't enable the proper OAuth scopes, the `/api/auth` request might fail. Go to the [Dev Portal](https://devtools.bigcommerce.com) to verify the proper OAuth scopes are enabled in your app's profile. To learn more, read [Managing Apps in the Developer Portal](/api-docs/apps/guide/developer-portal#edit-technical-details). Make sure your scopes equal or exceed those listed in the [Creating an app profile](#create-an-app-profile) section. +If you don't enable the proper OAuth scopes, the `/api/auth` request might fail. Go to the [Dev Portal](https://devtools.bigcommerce.com) to verify the proper OAuth scopes are enabled in your app's profile. To learn more, read [Managing Apps in the Developer Portal](/docs/integrations/apps/guide/developer-portal#edit-technical-details). Make sure your scopes equal or exceed those listed in the [Creating an app profile](#create-an-app-profile) section. ### Issue: Unable to migrate your data to another provider. diff --git a/docs/api-docs/partner/support.mdx b/docs/api-docs/partner/support.mdx index 6adfe7779b..7e85427257 100644 --- a/docs/api-docs/partner/support.mdx +++ b/docs/api-docs/partner/support.mdx @@ -22,7 +22,7 @@ BigCommerce has a dedicated Slack channel for Technology and Agency partners. It ## Changelog -[Changelog](/changelog) is a log of notable updates made to the BigCommerce platform. In chronological order, find significant changes, such as new features, latest releases, and bug fixes. If you have an Atom or RSS client app, you can stay up-to-date with the Changelog updates by subscribing to the RSS feeds. To subscribe to all the publications or dedicated feeds, click the RSS feeds link at the bottom of the [news](https://bcdevchangelog.noticeable.news/) page to access the list of [feed URLs](https://bcdevchangelog.noticeable.news/feeds). +[Changelog](/release-notes) is a log of notable updates made to the BigCommerce platform. In chronological order, find significant changes, such as new features, latest releases, and bug fixes. If you have an Atom or RSS client app, you can stay up-to-date with the Changelog updates by subscribing to the RSS feeds. To subscribe to all the publications or dedicated feeds, click the RSS feeds link at the bottom of the [news](https://bcdevchangelog.noticeable.news/) page to access the list of [feed URLs](https://bcdevchangelog.noticeable.news/feeds). ## BigCommerce Status diff --git a/docs/api-docs/payments/payments-api-overview.mdx b/docs/api-docs/payments/payments-api-overview.mdx index e3dbbc2bc4..1793c2d4eb 100644 --- a/docs/api-docs/payments/payments-api-overview.mdx +++ b/docs/api-docs/payments/payments-api-overview.mdx @@ -13,8 +13,8 @@ Process payments by making a sequence of requests to the following two API endpo #### Required OAuth scopes -Consult the [Payments API Reference](/docs/rest-payments) to determine which OAuth permission scopes your application's [API Account](/api-docs/getting-started/api-accounts) needs. -Learn more about BigCommerce API [OAuth scopes](/api-docs/getting-started/api-accounts#oauth-scopes). +Consult the [Payments API Reference](/docs/rest-payments) to determine which OAuth permission scopes your application's [API Account](/docs/start/authentication/api-accounts) needs. +Learn more about BigCommerce API [OAuth scopes](/docs/start/authentication/api-accounts#oauth-scopes). [![Run in Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/38daa68bda00ba9d4734) @@ -92,7 +92,7 @@ To learn more about the BigCommerce-compatible features of these gateways, see [ There are three steps to using a stored card or PayPal account to make a payment. 1. [Get Payment Methods](/docs/rest-payments/methods#get-accepted-payment-methods) -2. [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) or request a payment access token when you complete checkout with the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout#handling-payments) +2. [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) or request a payment access token when you complete checkout with the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront#handling-payments) 3. [Process Payment](/docs/rest-payments/processing#process-payment) Before starting development, you should verify that the store and payment gateway are both able to make charges to stored payment instruments. @@ -227,7 +227,7 @@ Accept: application/json Make a note of the `token` for the target payment method to use as part of processing the payment in the request body. -2. Make a request to the [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) endpoint to get the authorization token that needs to be passed in the header when processing the payment. The ID of the order needs to be part of the request body. You can also request a payment access token when you use the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout#handling-payments) to complete checkout. +2. Make a request to the [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) endpoint to get the authorization token that needs to be passed in the header when processing the payment. The ID of the order needs to be part of the request body. You can also request a payment access token when you use the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront#handling-payments) to complete checkout. @@ -340,7 +340,7 @@ Use the [Get Stored Instruments](/docs/rest-management/customers/customer-stored There are two steps to using a credit card to make a payment. -1. [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) or request a payment access token when you complete checkout with the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout#handling-payments) +1. [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) or request a payment access token when you complete checkout with the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront#handling-payments) 2. [Process Payment](/docs/rest-payments/processing#process-payment) The payment gateway your application uses must be able to send raw card data through our API. Before beginning development, consult our table of [compatible payment gateways](#compatible-payment-gateways) to verify that your gateway is listed or select one that is. @@ -352,7 +352,7 @@ Attempting to process a payment through the API using the full credit card infor ### Create an access token -1. Make a request to the [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) endpoint to get the authorization token that needs to be passed in the header when processing the payment. The ID of the order needs to be part of the request body. You can also request a payment access token when you use the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout#handling-payments) to complete checkout. +1. Make a request to the [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) endpoint to get the authorization token that needs to be passed in the header when processing the payment. The ID of the order needs to be part of the request body. You can also request a payment access token when you use the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront#handling-payments) to complete checkout. @@ -442,7 +442,7 @@ If the purchase was successful, the response returns a status of success. The or The Payments API allows developers to store a credit card while processing a payment. -When processing a credit card payment, set `save_instrument: true`. The shopper can also store credit cards during checkout. If you are using the [Checkout SDK](/stencil-docs/customizing-checkout/checkout-sdk), it can store the credit card as part of the checkout. +When processing a credit card payment, set `save_instrument: true`. The shopper can also store credit cards during checkout. If you are using the [Checkout SDK](/docs/storefront/cart-checkout/checkout-sdk), it can store the credit card as part of the checkout. ```http filename="Example request: Process payment and save credit card" showLineNumbers copy POST https://payments.bigcommerce.com/stores/{{STORE_HASH}}/payments @@ -468,7 +468,7 @@ Content-Type: application/json ## Using the Orders API -It is possible to take payment for an order created using the [Orders API](/api-docs/store-management/orders). When creating the order using the Orders API, make sure to set `status_id:0`. If you do not create an order with order status set to `0` or `Incomplete`, the Payments API will return an [error](#error-codes). Ensure customers enter their billing address and line items when creating the order. The customer can create the order as a guest by either setting the `customer_id:0` or leaving it blank. After the order is created, follow the steps to pay with a [credit card](#credit-cards), a [stored card, or a PayPal account](#stored-cards-and-paypal-accounts). +It is possible to take payment for an order created using the [Orders API](/docs/store-operations/orders). When creating the order using the Orders API, make sure to set `status_id:0`. If you do not create an order with order status set to `0` or `Incomplete`, the Payments API will return an [error](#error-codes). Ensure customers enter their billing address and line items when creating the order. The customer can create the order as a guest by either setting the `customer_id:0` or leaving it blank. After the order is created, follow the steps to pay with a [credit card](#credit-cards), a [stored card, or a PayPal account](#stored-cards-and-paypal-accounts). ```http filename="Example request: Create an order" showLineNumbers copy @@ -636,11 +636,11 @@ Payment gateways that use 3D Secure meet the EU's Strong Customer Authentication ### Endpoints and mutations * [Create a Payment Access Token](/docs/rest-payments/tokens#create-payment-access-token) -* `completeCheckout` with the [GraphQL Storefront API](/api-docs/storefront/graphql/carts-and-checkout#handling-payments) +* `completeCheckout` with the [GraphQL Storefront API](/docs/storefront/cart-checkout/guide/graphql-storefront#handling-payments) * [Get Payment Methods](/docs/rest-payments/methods#get-accepted-payment-methods) * [Process Payment](/docs/rest-payments/processing#process-payment) ### Webhooks -* [Carts](/api-docs/store-management/webhooks/webhook-events#carts) -* [Customer Payment Instrument](/api-docs/store-management/webhooks/webhook-events#customer) -* [Orders](/api-docs/store-management/webhooks/webhook-events#orders) +* [Carts](/docs/integrations/webhooks/events#carts) +* [Customer Payment Instrument](/docs/integrations/webhooks/events#customer) +* [Orders](/docs/integrations/webhooks/events#orders) diff --git a/docs/api-docs/provider-apis/tax/overview.mdx b/docs/api-docs/provider-apis/tax/overview.mdx index 321bb7d55f..e5ef5d685f 100644 --- a/docs/api-docs/provider-apis/tax/overview.mdx +++ b/docs/api-docs/provider-apis/tax/overview.mdx @@ -5,24 +5,24 @@ keywords: address, providers, apps, tax, invoices, # Tax Providers -The [Tax Provider API](/docs/apps-api/tax) allows you to provide business-to-consumer sales tax estimates to shoppers on the storefront and to merchants in the control panel; it can also be used to submit documents for tax reconciliation purposes. +The [Tax Provider API](/docs/rest-contracts/tax) allows you to provide business-to-consumer sales tax estimates to shoppers on the storefront and to merchants in the control panel; it can also be used to submit documents for tax reconciliation purposes. -The [Tax Provider API](/docs/apps-api/tax) works in conjunction with a BigCommerce app, so you will need to [build an app](/api-docs/apps/guide/intro) that integrates the [Tax Provider API](/docs/apps-api/tax). +The [Tax Provider API](/docs/rest-contracts/tax) works in conjunction with a BigCommerce app, so you will need to [build an app](/docs/integrations/apps) that integrates the [Tax Provider API](/docs/rest-contracts/tax). Multi-tenant tax providers can publish their BigCommerce app so that it's discoverable by anyone or publish their app as unlisted so it can only be installed using a URL. Furthermore, tax solutions that have been built in-house or for specific merchants by digital agencies are also supported as private instances and will only work on the specified stores. ## Obtaining an app ID -To get your app ID, start by creating an app in the [Developer Portal](https://devtools.bigcommerce.com/), and fill out the information in the [Technical](/api-docs/apps/guide/publishing#add-technical-information) tab. In the URL, you will see your unique app ID. +To get your app ID, start by creating an app in the [Developer Portal](https://devtools.bigcommerce.com/), and fill out the information in the [Technical](/docs/integrations/apps/guide/publishing#add-technical-information) tab. In the URL, you will see your unique app ID. -[Learn more about finding your app's ID](/api-docs/apps/tutorials/id). +[Learn more about finding your app's ID](/docs/integrations/apps/guide/id). ## Sharing provider details with BigCommerce Once you've obtained your app ID, share your app ID and the information below with BigCommerce by emailing [taxproviderapi@bigcommerce.com](mailto:taxproviderapi@bigcommerce.com). This information allows us to create your tax provider configuration, which will take approximately five days. -Once your tax provider configuration is ready, we'll let you know through email. The email will also include your `provider_id`, which is required when [establishing a connection](#establishing-a-connection) with the [Tax Provider API](/docs/apps-api/tax). +Once your tax provider configuration is ready, we'll let you know through email. The email will also include your `provider_id`, which is required when [establishing a connection](#establishing-a-connection) with the [Tax Provider API](/docs/rest-contracts/tax). @@ -45,13 +45,13 @@ Once your tax provider configuration is ready, we'll let you know through email. | +Adjust URL | Optional | URL | URL BigCommerce should use for Tax Provider API quote requests. | `https://sampletax.example.com/doc/adjust` | | +Void URL | Optional | URL | URL BigCommerce should use for Tax Provider API quote requests. | `https://sampletax.example.com/doc/void` | **Testing** | | | | | -| Partner sandbox store domain | Required | Domain name | Share your partner sandbox store for testing purposes prior to launching your tax provider. Learn how to [create a partner sandbox store](/api-docs/partner/getting-started/create-a-sandbox-store). | `https://sampletax-test-store.mybigcommerce.com/` | +| Partner sandbox store domain | Required | Domain name | Share your partner sandbox store for testing purposes prior to launching your tax provider. Learn how to [create a partner sandbox store](/docs/start/about/sandboxes). | `https://sampletax-test-store.mybigcommerce.com/` | + You have the option of supporting a URL that merchants can customize. See [Tax Profile](#tax-profile-optional). ### Tax profile (optional) -BigCommerce sets the tax provider registry with your URLs for [Tax Provider API](/docs/apps-api/tax) requests. BigCommerce sends requests to these URLs, for example, when a shopper requests tax estimates. +BigCommerce sets the tax provider registry with your URLs for [Tax Provider API](/docs/rest-contracts/tax) requests. BigCommerce sends requests to these URLs, for example, when a shopper requests tax estimates. If you would like to support multiple connections for a merchant, BigCommerce can set the registry with flexible URLs that use our new profile option. These URLs would include a reserved string, for example, `https://{profile}/estimate`, allowing merchants to customize the base domain. @@ -81,11 +81,11 @@ Additionally, when providing the details for a sandbox tax provider configuratio ## Building the app -Tax providers must build a BigCommerce [single-click app](/api-docs/apps/guide/types#single-click) to utilize the Tax Provider API to provide tax estimates and submit tax documents. A BigCommerce single-click app provides many benefits. For example, it enables tax providers to promote their solution in the BigCommerce App Marketplace, ask for merchant authorization of API scopes during app install, and configure tax provider settings through an iFrame in the control panel. +Tax providers must build a BigCommerce [single-click app](/docs/integrations/apps/guide/types#single-click) to utilize the Tax Provider API to provide tax estimates and submit tax documents. A BigCommerce single-click app provides many benefits. For example, it enables tax providers to promote their solution in the BigCommerce App Marketplace, ask for merchant authorization of API scopes during app install, and configure tax provider settings through an iFrame in the control panel. -Review our [introduction to building apps](/api-docs/apps/guide/intro) guide and use the sidebar to explore topics including: types of apps, managing apps in the dev portal, implementing OAuth, and designing the UI. +Review our [introduction to building apps](/docs/integrations/apps) guide and use the sidebar to explore topics including: types of apps, managing apps in the dev portal, implementing OAuth, and designing the UI. -Make sure to also review our [app development best practices](/api-docs/apps/guide/best-practices) for some tips. +Make sure to also review our [app development best practices](/docs/integrations/apps/guide/best-practices) for some tips. If you have registered your app in the Developer Portal but have not submitted it for approval because it's still in development, the app will be in a Draft state. This means your app can only be installed on stores owned by the same email address as the Developer Portal account email. @@ -94,7 +94,7 @@ Make sure to also review our [app development best practices](/api-docs/apps/gui ## Installing the app -When the merchant clicks **Install** on a tax provider's single-click app, it's essential that the app successfully handle the OAuth flow before moving on to the next step of establishing a connection with the [Tax Provider API](/docs/apps-api/tax). The [Apps Guide](/api-docs/apps/guide/auth) provides an overview of the OAuth flow. +When the merchant clicks **Install** on a tax provider's single-click app, it's essential that the app successfully handle the OAuth flow before moving on to the next step of establishing a connection with the [Tax Provider API](/docs/rest-contracts/tax). The [Apps Guide](/docs/integrations/apps/guide/auth) provides an overview of the OAuth flow. When handling the OAuth flow, tax providers must ensure their app is requesting read and write permissions on the **Information and Settings** API scopes. Additionally, the tax provider should store the **client_id** and **access_token** that are received. Both are required later when [establishing a connection with the Tax Provider API](#establishing-a-connection). @@ -108,17 +108,17 @@ A tax provider is ready to establish a connection with the Tax Provider API when * During the OAuth flow the app requested the merchant to authorize read and write permissions on the Information and Settings API scopes (see [Installing the app](#installing-the-app)). * During the OAuth flow the `client_id` and `access_token` was received and stored by the tax provider (see [Installing the app](#installing-the-app)). -For context, the [Tax Provider API Connection endpoints](/docs/apps-api/tax-app-connection) provide an added layer of security for tax providers. They set basic authentication credentials for the tax provider and these basic credentials are used to authenticate each API request to the tax provider from the associated store. +For context, the [Tax Provider API Connection endpoints](/docs/rest-contracts/tax-app-connection) provide an added layer of security for tax providers. They set basic authentication credentials for the tax provider and these basic credentials are used to authenticate each API request to the tax provider from the associated store. -If the tax provider supports all eligible stores, then they may choose to provide an account registration flow in their app iFrame in order to capture these basic authentication credentials from merchants. Learn more about designing the app UI [here](/api-docs/apps/guide/ui). +If the tax provider supports all eligible stores, then they may choose to provide an account registration flow in their app iFrame in order to capture these basic authentication credentials from merchants. Learn more about designing the app UI [here](/docs/integrations/apps/guide/ui). If the tax provider is a private instance, then they may choose to provide the basic authentication credentials themselves. -In either case, the [Update Connection](/docs/apps-api/tax-app-connection#update-a-connection) endpoint should be called after the tax provider's app has been successfully installed. Tax providers will need to include `store_hash`, `provider_id`, and `X-Auth-Token`(`access_token`) values. +In either case, the [Update Connection](/docs/rest-contracts/tax-app-connection#update-a-connection) endpoint should be called after the tax provider's app has been successfully installed. Tax providers will need to include `store_hash`, `provider_id`, and `X-Auth-Token`(`access_token`) values. -We recommend calling the [Update Connection](/docs/apps-api/tax-app-connection#update-a-connection) endpoint immediately after the app has been successfully installed, otherwise your tax provider will not be displayed when merchants navigate to the **Settings > Setup > Tax** page in the control panel. +We recommend calling the [Update Connection](/docs/rest-contracts/tax-app-connection#update-a-connection) endpoint immediately after the app has been successfully installed, otherwise your tax provider will not be displayed when merchants navigate to the **Settings > Setup > Tax** page in the control panel. -The [Get a Connection](/docs/apps-api/tax-app-connection#get-connection-status) request may be used at any time to retrieve the connection status of the specified tax provider in the context of a store. +The [Get a Connection](/docs/rest-contracts/tax-app-connection#get-connection-status) request may be used at any time to retrieve the connection status of the specified tax provider in the context of a store. ## Enabling tax providers in the control panel @@ -161,7 +161,7 @@ Estimate calls will also be made in the control panel when using flows like the When responding to tax estimate requests sent by BigCommerce, tax providers are required to include aggregates and breakdowns of sales tax amounts and rates for product item prices, shipping and handling prices. This is because when navigating to the **Settings > Setup > Tax > Tax Settings** page in the control panel, merchants have the ability to specify whether they would like to show taxes in cart, checkout, orders and invoice **As one summarized line item** or **Broken down by tax rate**. -[View the Estimate Taxes API reference](/docs/apps-api/tax#estimate-taxes). +[View the Estimate Taxes API reference](/docs/rest-contracts/tax#estimate-taxes). ## Document submission @@ -171,7 +171,7 @@ Supporting document submission is optional. However, tax providers wishing to su If document submission is supported, navigate to **Settings > Setup > Tax > _TaxProviderName_** in the control panel and ensure the **Submit Order Data** checkbox is checked. -[View the Commit Tax Quote API reference](/docs/apps-api/tax#commit-tax-quote). +[View the Commit Tax Quote API reference](/docs/rest-contracts/tax#commit-tax-quote). ## Testing @@ -188,7 +188,7 @@ To test the tax provider connection, navigate to **Settings > Setup > Tax > _Tax For anything related to the BigCommerce app, please raise a ticket using your [BigCommerce dev tools portal](https://devtools.bigcommerce.com/). -Refer to our [Tax Provider API reference](/docs/apps-api/tax) here for a complete API description. +Refer to our [Tax Provider API reference](/docs/rest-contracts/tax) here for a complete API description. For Tax Provider API related questions, or to request set up of a new tax provider configuration, email [taxproviderapi@bigcommerce.com](mailto:taxproviderapi@bigcommerce.com). @@ -196,12 +196,12 @@ For Tax Provider API related questions, or to request set up of a new tax provid ### Articles -* [Building Apps Guide](/api-docs/apps/guide/intro) +* [Building Apps Guide](/docs/integrations/apps) ### Endpoints - - [Tax Provider API Reference](/docs/apps-api/tax) - - [Get a Tax Provider Connection](/docs/apps-api/tax-app-connection#get-connection-status) - - [Delete a Tax Provider Connection](/docs/apps-api/tax-app-connection#delete-a-connection) - - [Update a Tax Provider Connection](/docs/apps-api/tax-app-connection#update-a-connection) + - [Tax Provider API Reference](/docs/rest-contracts/tax) + - [Get a Tax Provider Connection](/docs/rest-contracts/tax-app-connection#get-connection-status) + - [Delete a Tax Provider Connection](/docs/rest-contracts/tax-app-connection#delete-a-connection) + - [Update a Tax Provider Connection](/docs/rest-contracts/tax-app-connection#update-a-connection) - [Tax Classes](/docs/rest-management/tax-classes) diff --git a/docs/api-docs/store-management/shipping/shipping-overview.mdx b/docs/api-docs/store-management/shipping/shipping-overview.mdx index a6ea2dc42d..46dc3510eb 100644 --- a/docs/api-docs/store-management/shipping/shipping-overview.mdx +++ b/docs/api-docs/store-management/shipping/shipping-overview.mdx @@ -13,7 +13,7 @@ The Order Shipments resource creates a shipment for an order. You can specify th ## Checkout APIs -The [REST Storefront](/docs/rest-management/checkouts), [GraphQL Storefront](/api-docs/storefront/graphql/carts-and-checkout), and [REST Management](/docs/rest-storefront/checkouts) APIs provide methods for managing a checkout up until the point when you finalized it into an order. Because you can only create shipments from finalized orders, you cannot create a shipment from Checkout API endpoints. +The [REST Storefront](/docs/rest-management/checkouts), [GraphQL Storefront](/docs/storefront/cart-checkout/guide/graphql-storefront), and [REST Management](/docs/rest-storefront/checkouts) APIs provide methods for managing a checkout up until the point when you finalized it into an order. Because you can only create shipments from finalized orders, you cannot create a shipment from Checkout API endpoints. However, all of the listed APIs provide methods for creating a consignment that specifies the line items that should ship to a particular address. Creating a consignment corresponds with the actions that a shopper might take when filling out the storefront checkout page and assigning the items in their basket to their respective shipping destinations. @@ -38,11 +38,11 @@ For a list of all supported carriers, see [Real-Time Quote Providers](https://su ## Related resources ### Articles -* [Orders API Overview](/api-docs/orders/orders-api-overview) +* [Orders API Overview](/docs/store-operations/orders) ### Endpoints * [REST Storefront Checkouts API](/docs/rest-management/checkouts) * [REST Management Checkouts API](/docs/rest-storefront/checkouts) -* [GraphQL Storefront Carts and Checkout](/api-docs/storefront/graphql/carts-and-checkout) +* [GraphQL Storefront Carts and Checkout](/docs/storefront/cart-checkout/guide/graphql-storefront) * [Order Shipping Addresses](/docs/rest-management/orders/order-shipping-addresses) * [Shipping v2](/docs/rest-management/shipping-v2) diff --git a/docs/api-docs/store-management/shipping/shipping-provider-api.mdx b/docs/api-docs/store-management/shipping/shipping-provider-api.mdx index a0d3652d74..36b1f1d373 100644 --- a/docs/api-docs/store-management/shipping/shipping-provider-api.mdx +++ b/docs/api-docs/store-management/shipping/shipping-provider-api.mdx @@ -20,8 +20,8 @@ This article is a guide to developing an app that will make your shipping rates ### Prerequisites -* Required [OAuth](/api-docs/getting-started/api-accounts#oauth-scopes) scopes: `Information and Settings` -* BigCommerce [single-click app](/api-docs/apps/guide/types#single-click) +* Required [OAuth](/docs/start/authentication/api-accounts#oauth-scopes) scopes: `Information and Settings` +* BigCommerce [single-click app](/docs/integrations/apps/guide/types#single-click) ## Shipping app overview @@ -126,7 +126,7 @@ When your app is complete, it will be listed in our carrier registry, so that yo ### Register your app -We need your app ID to generate a carrier ID for your shipping service. To get your app ID, [create a draft app](/api-docs/apps/guide/development#registering-a-draft-app) in [Developer Tools](https://devtools.bigcommerce.com/), and fill in the information requested on the [Step 3: Technical tab](/api-docs/apps/guide/publishing#add-technical-information). After you save the app, the developer tools control panel will navigate to a URL that includes your app's unique ID. +We need your app ID to generate a carrier ID for your shipping service. To get your app ID, [create a draft app](/docs/integrations/apps/guide#registering-a-draft-app) in [Developer Tools](https://devtools.bigcommerce.com/), and fill in the information requested on the [Step 3: Technical tab](/docs/integrations/apps/guide/publishing#add-technical-information). After you save the app, the developer tools control panel will navigate to a URL that includes your app's unique ID. ![App ID](https://storage.googleapis.com/bigcommerce-production-dev-center/images/app%20id.png "App ID") @@ -165,7 +165,7 @@ You should create a URL to provide shipping quotes on your API and check the ava ### Request and response bodies -BigCommerce will send and receive data using JSON. The request for rates will always be formatted using the [Base Rate Request Model](/docs/apps-api/shipping#request-shipping-rates). The response for rates should be formatted using the [Carrier Quote Object](/docs/apps-api/shipping#request-shipping-rates). Format the request to check for merchant app credentials as Check Connection Options request payload, and the response should be formatted using the Check Connection Options response payload. +BigCommerce will send and receive data using JSON. The request for rates will always be formatted using the [Base Rate Request Model](/docs/rest-contracts/shipping#request-shipping-rates). The response for rates should be formatted using the [Carrier Quote Object](/docs/rest-contracts/shipping#request-shipping-rates). Format the request to check for merchant app credentials as Check Connection Options request payload, and the response should be formatted using the Check Connection Options response payload. ### Error handling @@ -187,11 +187,11 @@ In the case of errors, include human-readable error messages in the response pay ## Developing the app -To use the Shipping Provider API to provide shipping quotes, shipping providers must build a BigCommerce [single-click app](/api-docs/apps/guide/types#single-click). +To use the Shipping Provider API to provide shipping quotes, shipping providers must build a BigCommerce [single-click app](/docs/integrations/apps/guide/types#single-click). Using a BigCommerce app enables shipping providers to promote their solution in the BigCommerce App Marketplace, request merchant authorization of API scopes during app install, and enable configuration of shipping provider settings and/or order fulfillment via an iFrame in the BigCommerce control panel. -For more information, see our [Introduction to Building Apps](/api-docs/apps/guide/intro). +For more information, see our [Introduction to Building Apps](/docs/integrations/apps). ## Control Panel installation workflow @@ -567,16 +567,16 @@ No, you can only publish one app at a time. The others can be for use as testing ## Related resources ### Articles -- [App Store Approval Requirements](/api-docs/apps/guide/requirements) +- [App Store Approval Requirements](/docs/integrations/apps/guide/requirements) ### Endpoints -- [Shipping Providers](/api-docs/provider-apis/shipping-provider-api) +- [Shipping Providers](/docs/integrations/shipping) - [Shipping Zones](/docs/rest-management/shipping-v2/shipping-zones) - [Shipping Methods](/docs/rest-management/shipping-v2/shipping-method) - [Shipping Carriers](/docs/rest-management/shipping-v2/shipping-carrier) ### Webhooks -- [Webhooks](/api-docs/store-management/webhooks/webhook-events#shipment) +- [Webhooks](/docs/integrations/webhooks/events#shipment) diff --git a/docs/api-docs/storefront/graphql/graphql-api-examples.mdx b/docs/api-docs/storefront/graphql/graphql-api-examples.mdx index f02d7cb12a..4b2c874e83 100644 --- a/docs/api-docs/storefront/graphql/graphql-api-examples.mdx +++ b/docs/api-docs/storefront/graphql/graphql-api-examples.mdx @@ -4,13 +4,13 @@ keywords: storefront, graphql --- # GraphQL Storefront API Example Queries -Below are example GraphQL queries for use with the BigCommerce GraphQL Storefront API. The purpose of these examples is to assist developers in getting familiar with the API. For a general overview of its usage and capabilities, see [GraphQL Storefront API Overview](/api-docs/storefront/graphql/graphql-storefront-api-overview). +Below are example GraphQL queries for use with the BigCommerce GraphQL Storefront API. The purpose of these examples is to assist developers in getting familiar with the API. For a general overview of its usage and capabilities, see [GraphQL Storefront API Overview](/docs/storefront/graphql). ## Configuring the request -To get started, you need a BigCommerce store and a Storefront API token. For more information, see the [Authentication section of the GraphQL Storefront API Overview](/api-docs/storefront/graphql/graphql-storefront-api-overview#authentication) or the [Authentication article](/api-docs/getting-started/authentication#bigcommerce-generated-jwts). +To get started, you need a BigCommerce store and a Storefront API token. For more information, see the [Authentication section of the GraphQL Storefront API Overview](/docs/storefront/graphql#authentication) or the [Authentication article](/docs/start/authentication#bigcommerce-generated-jwts). -For more information on formatting the request payload, see [the query example section of the GraphQL Storefront API Overview](/api-docs/storefront/graphql/graphql-storefront-api-overview#querying-within-a-bigcommerce-storefront). +For more information on formatting the request payload, see [the query example section of the GraphQL Storefront API Overview](/docs/storefront/graphql#querying-within-a-bigcommerce-storefront). To use this API from a coupled storefront, use the following HTTP configuration: diff --git a/docs/api-docs/storefront/graphql/graphql-api-overview.mdx b/docs/api-docs/storefront/graphql/graphql-api-overview.mdx index cf357e7d1e..b8b24c4c72 100644 --- a/docs/api-docs/storefront/graphql/graphql-api-overview.mdx +++ b/docs/api-docs/storefront/graphql/graphql-api-overview.mdx @@ -5,8 +5,7 @@ keywords: graphql, storefront, storefronts, cors, headless, # GraphQL Storefront API Overview -BigCommerce's GraphQL Storefront API makes it possible to power a headless storefront; see [Introduction to Headless Commerce](/api-docs/storefronts/guide/overview) for details. -The GraphQL Storefront API also lets you query storefront data from within a [Stencil](/stencil-docs/getting-started/about-stencil) theme. +BigCommerce's GraphQL Storefront API makes it possible to power a headless storefront; see [Introduction to Headless Commerce](/docs/storefront/headless) for details. The GraphQL Storefront API also lets you query storefront data from within a [Stencil](/docs/storefront/stencil/start) theme. This graph serves as a flexible interface for building shopper experiences. For example, with the GraphQL Storefront API, it is possible to do the following: @@ -19,7 +18,7 @@ This graph serves as a flexible interface for building shopper experiences. For Additionally, by leveraging the power of [GraphQL](https://graphql.org/), data for multiple resources can be returned from a single API call, which simplifies integration and increases performance so that developers can focus on building delightful shopper experiences. -This article is a general overview of BigCommerce's GraphQL Storefront API; it includes sections on authentication and how to access a store's GraphQL Playground. To see specific examples of how GraphQL can be used to query storefront data, see [GraphQL Storefront API Example Queries](/api-docs/storefront/graphql/graphql-storefront-api-samples). +This article is a general overview of BigCommerce's GraphQL Storefront API; it includes sections on authentication and how to access a store's GraphQL Playground. To see specific examples of how GraphQL can be used to query storefront data, see [GraphQL Storefront API Example Queries](/docs/storefront/graphql/examples). Stores using BigCommerce's legacy Blueprint theme framework do not support the GraphQL API and Playground. @@ -29,7 +28,7 @@ This article is a general overview of BigCommerce's GraphQL Storefront API; it i To see a simple example of the GraphQL Storefront API in action, check out the [Bootstrap + Vanilla JS GraphQL Storefront API Example](https://bigcommerce.github.io/storefront-api-examples/html-bootstrap-vanillajs/) hosted on GitHub. This example shows how a static HTML site can render dynamic product information using the GraphQL Storefront API. -Open the link and click submit with the sample data in the form. To see the example page with your store's data, [create a GraphQL Storefront API token](/docs/storefront-auth/tokens#create-a-token) against your store and paste the token into the example form. Be sure to create a token valid for this origin: `https://bigcommerce.github.io`. +Open the link and click submit with the sample data in the form. To see the example page with your store's data, [create a GraphQL Storefront API token](/docs/rest-authentication/tokens#create-a-token) against your store and paste the token into the example form. Be sure to create a token valid for this origin: `https://bigcommerce.github.io`. ## Accessing the GraphQL Playground @@ -103,7 +102,7 @@ curl 'https://{bigcommerce_storefront_domain}.com/graphql'\ ### Creating a token -Use the [Create a GraphQL Storefront API token](/docs/storefront-auth/tokens#create-a-token) REST endpoint to request JWT bearer tokens that authenticate requests to the GraphQL Storefront API. +Use the [Create a GraphQL Storefront API token](/docs/rest-authentication/tokens#create-a-token) REST endpoint to request JWT bearer tokens that authenticate requests to the GraphQL Storefront API. This type of token is the most appropriate for use directly within web browsers. If you're creating a token for an application that will make server-to-server requests to the GraphQL Storefront API, a [Customer Impersonation Token](#customer-impersonation-tokens) may be more appropriate for your use case. This special token is not necessary if you only wish to query information from an anonymous shopper's perspective. @@ -142,7 +141,7 @@ content-type: application/json * The `allowed_cors_origins` array currently accepts up to two origins. You will need multiple tokens if you have more origins. - * The `channel_id` for the default Stencil storefront is `1`. To learn more about channels, see [the channels section of the Multi-Storefront Overview](/api-docs/multi-storefront/overview#channels). For more about using the GraphQL Storefront API on custom channels, consult this article's [FAQ section on alternate channels](#i-want-to-run-requests-in-the-context-of-another-channel). + * The `channel_id` for the default Stencil storefront is `1`. To learn more about channels, see [the channels section of the Multi-Storefront Overview](/docs/storefront/multi-storefront#channels). For more about using the GraphQL Storefront API on custom channels, consult this article's [FAQ section on alternate channels](#i-want-to-run-requests-in-the-context-of-another-channel). @@ -159,7 +158,7 @@ This auto-generated token has an expiry period of 24-48 hours and will periodica ### Customer impersonation tokens -It's also possible to generate tokens for use in server-to-server or headless interactions with a trusted consumer using the [Create a customer impersonation token](/docs/storefront-auth/tokens#customer-impersonation-tokens) endpoint. Consult the endpoint's documentation to determine what OAuth scopes it requires. +It's also possible to generate tokens for use in server-to-server or headless interactions with a trusted consumer using the [Create a customer impersonation token](/docs/rest-authentication/tokens#customer-impersonation-tokens) endpoint. Consult the endpoint's documentation to determine what OAuth scopes it requires. @@ -203,7 +202,7 @@ curl 'https://store.com/graphql' -H 'authorization: Bearer TOKEN_GOES_HERE' -H ' ``` - * If your token were to become compromised and you wish to sever the Storefront API connection for your token, you can use the [Revoke a token](/docs/storefront-auth/tokens#revoke-a-token) endpoint. Only use this in emergencies, and do not revoke tokens unnecessarily. Instead, use a shorter expiration and allow them to expire naturally. + * If your token were to become compromised and you wish to sever the Storefront API connection for your token, you can use the [Revoke a token](/docs/rest-authentication/tokens#revoke-a-token) endpoint. Only use this in emergencies, and do not revoke tokens unnecessarily. Instead, use a shorter expiration and allow them to expire naturally. ### Customer login @@ -695,8 +694,8 @@ BigCommerce has limits on certain portions of the platform. | Platform | Limits | |:-------------------|:--------------| -| Maximum [banners](/theme-objects/schemas#banners) per query | 50 | -| Maximum [products](/theme-objects/schemas#products) per query | 50 | +| Maximum [banners](/docs/storefront/stencil/themes/context/object-reference/schemas#banners) per query | 50 | +| Maximum [products](/docs/storefront/stencil/themes/context/object-reference/schemas#products) per query | 50 | ## FAQ: Querying for channels other than Stencil storefronts and querying from external systems @@ -744,7 +743,7 @@ Use a Customer Impersonation token and store it securely on your server like oth ### I want a list of GraphQL error messages -For a list of GraphQL error messages, see [API Status Codes](/api-docs/getting-started/api-status-codes#graphql-api-http-status-codes). +For a list of GraphQL error messages, see [API Status Codes](/docs/start/about/status-codes#graphql-api-http-status-codes). ## Related resources diff --git a/docs/api-docs/storefront/graphql/graphql-carts-and-checkout.mdx b/docs/api-docs/storefront/graphql/graphql-carts-and-checkout.mdx index 5e1859b6ee..b2ad5fd7aa 100644 --- a/docs/api-docs/storefront/graphql/graphql-carts-and-checkout.mdx +++ b/docs/api-docs/storefront/graphql/graphql-carts-and-checkout.mdx @@ -27,19 +27,19 @@ Developers can use frontend GraphQL to create an end-to-end shopper experience. ## Tokens -To make requests, create a [store-level API account](/api-docs/getting-started/api-accounts#store-level-api-accounts) with one or more of the following [token creation OAuth scopes](/api-docs/getting-started/api-accounts#token-creation-scopes): +To make requests, create a [store-level API account](/docs/start/authentication/api-accounts#store-level-api-accounts) with one or more of the following [token creation OAuth scopes](/docs/start/authentication/api-accounts#token-creation-scopes): * Storefront API Tokens * Storefront API Customer Impersonation Tokens No additional scopes are required to use the GraphQL Storefront API. -To generate a bearer token your application can pass to authenticate calls to the GraphQL Storefront API, use either the [Create a storefront token](/docs/storefront-auth/tokens#create-a-token) or the [Create a customer impersonation token](/docs/storefront-auth/tokens/customer-impersonation-token#create-a-token) REST endpoint. On a Stencil storefront, you can also access a token at render time using a Handlebars property. Learn more about [Using Auto-Generated Tokens in Stencil Themes](/api-docs/storefront/graphql/graphql-api-overview#using-auto-generated-tokens-in-stencil-themes). +To generate a bearer token your application can pass to authenticate calls to the GraphQL Storefront API, use either the [Create a storefront token](/docs/rest-authentication/tokens#create-a-token) or the [Create a customer impersonation token](/docs/rest-authentication/tokens/customer-impersonation-token#create-a-token) REST endpoint. On a Stencil storefront, you can also access a token at render time using a Handlebars property. Learn more about [Using Auto-Generated Tokens in Stencil Themes](/docs/storefront/graphql#using-auto-generated-tokens-in-stencil-themes). -For more information, see [Creating a Token](/api-docs/storefront/graphql/graphql-api-overview#creating-a-token) in the GraphQL Storefront API Overview and [Dynamic Tokens](/api-docs/getting-started/authentication#bigcommerce-generated-jwts) in the Authentication and Example Requests article. +For more information, see [Creating a Token](/docs/storefront/graphql#creating-a-token) in the GraphQL Storefront API Overview and [Dynamic Tokens](/docs/start/authentication#bigcommerce-generated-jwts) in the Authentication and Example Requests article. ## Handling payments -To handle payments, use the [Payments API (Overview)](/api-docs/payments/payments-api-overview). +To handle payments, use the [Payments API (Overview)](/docs/store-operations/payments). For PCI compliance-related reasons, the GraphQL Storefront API does not handle payments. You can use the [Payments API (Reference)](/docs/rest-payments) to process payments. @@ -49,7 +49,7 @@ The GraphQL Storefront API returns the customer ID, which you can use to [Get st Gift certificates are a type of payment instrument similar to a debit card, so the Payments API must apply the gift certificate to the checkout. -The API account you use to process payments must have the scopes specified in the [Payments API Overview](/api-docs/store-management/payments-api-overview). +The API account you use to process payments must have the scopes specified in the [Payments API Overview](/docs/store-operations/payments). ## Example queries and mutations @@ -1066,19 +1066,19 @@ Join our [Developer Community](/community) to share your feedback with us in the ### Articles -* [GraphQL Storefront API Overview](/api-docs/storefront/graphql/graphql-api-overview) -* [GraphQL Storefront API Overview: Using auto-generated tokens in Stencil themes](/api-docs/storefront/graphql/graphql-api-overview#using-auto-generated-tokens-in-stencil-themes) -* [Payments API Overview](/api-docs/store-management/payments-api-overview) -* [Guide to API Accounts: Store-level API accounts](/api-docs/getting-started/api-accounts#store-level-api-accounts) -* [Guide to API Accounts: OAuth token creation scopes](/api-docs/getting-started/api-accounts#token-creation-scopes) -* [Authentication and Example Requests: BigCommerce-generated JWTs](/api-docs/getting-started/authentication#bigcommerce-generated-jwts) +* [GraphQL Storefront API Overview](/docs/storefront/graphql) +* [GraphQL Storefront API Overview: Using auto-generated tokens in Stencil themes](/docs/storefront/graphql#using-auto-generated-tokens-in-stencil-themes) +* [Payments API Overview](/docs/store-operations/payments) +* [Guide to API Accounts: Store-level API accounts](/docs/start/authentication/api-accounts#store-level-api-accounts) +* [Guide to API Accounts: OAuth token creation scopes](/docs/start/authentication/api-accounts#token-creation-scopes) +* [Authentication and Example Requests: BigCommerce-generated JWTs](/docs/start/authentication#bigcommerce-generated-jwts) ### API reference #### Storefront tokens -* [Create a storefront token](/docs/storefront-auth/tokens#create-a-token) -* [Create a customer impersonation token](/docs/storefront-auth/tokens/customer-impersonation-token#create-a-token) +* [Create a storefront token](/docs/rest-authentication/tokens#create-a-token) +* [Create a customer impersonation token](/docs/rest-authentication/tokens/customer-impersonation-token#create-a-token) #### Payments API diff --git a/docs/api-docs/storefront/graphql/graphql-faceted-textual-search.mdx b/docs/api-docs/storefront/graphql/graphql-faceted-textual-search.mdx index d9f242ce17..de52d559b2 100644 --- a/docs/api-docs/storefront/graphql/graphql-faceted-textual-search.mdx +++ b/docs/api-docs/storefront/graphql/graphql-faceted-textual-search.mdx @@ -593,5 +593,5 @@ If a merchant has not enabled product filtering, you will receive an empty array ## Resources -- [GraphQL Storefront API Overview](/api-docs/storefront/graphql/graphql-storefront-api-overview) +- [GraphQL Storefront API Overview](/docs/storefront/graphql) - [GraphQL Storefront Playground](https://developer.bigcommerce.com/graphql-playground) diff --git a/docs/api-docs/storefront/graphql/graphql-products.mdx b/docs/api-docs/storefront/graphql/graphql-products.mdx index 55d5744d93..076487b323 100644 --- a/docs/api-docs/storefront/graphql/graphql-products.mdx +++ b/docs/api-docs/storefront/graphql/graphql-products.mdx @@ -10,7 +10,7 @@ The GraphQL Storefront API lets you retrieve the following product attributes an You can access these attributes for a product if a merchant makes a product visible on storefronts. -This guide walks you through the process of retrieving information for a product. If your product has variants, see [Guide to Working with Product Variants](/api-docs/storefront/graphql/variants) on how to retrieve variant information. For full schema documentation, see the [GraphQL Storefront Playground](https://developer.bigcommerce.com/graphql-storefront/playground). +This guide walks you through the process of retrieving information for a product. If your product has variants, see [Guide to Working with Product Variants](/docs/storefront/graphql/examples/variants) on how to retrieve variant information. For full schema documentation, see the [GraphQL Storefront Playground](https://developer.bigcommerce.com/graphql-storefront/playground). ## Get a Product @@ -53,7 +53,7 @@ fragment ProductFields on Product { #### Get product versus variant The Product object is also used to retrieve variant information. For example, if you use the identifier `variantEntityId` or `optionValueIds`, you will retrieve information for the variant overlaid on the Product object (if the variant has a different values than the product). - See [Get a variant](/api-docs/storefront/graphql/variants#get-a-variant) for more information. + See [Get a variant](/docs/storefront/graphql/examples/variants#get-a-variant) for more information. ### Get a product with the products field @@ -242,7 +242,7 @@ Query prices and dimensions for a product. The following query retrieves prices ## Get product options -Query the [product options](/docs/rest-catalog/product-variant-options) associated with a product. The response includes both variant options and modifier options. To retrieve only variant options, use a [Get variant options](/api-docs/storefront/graphql/variants#get-variant-options) query. +Query the [product options](/docs/rest-catalog/product-variant-options) associated with a product. The response includes both variant options and modifier options. To retrieve only variant options, use a [Get variant options](/docs/storefront/graphql/examples/variants#get-variant-options) query. There are various types of product options available. Checkbox and multiple choice are some examples of the many option types available. Each type of product option has a schema type that implements the `CatalogProductOption` interface, meaning you can retrieve the common fields from `CatalogProductOption` for any type of product option. For more on interfaces, see the [GraphQL Schema and Types- Interfaces (graphql.org)](https://graphql.org/learn/schema#interfaces) documentation. @@ -604,7 +604,7 @@ Query product metafields by specifying the product metafield's namespace. The AP #### Product versus variant metafields - The query retrieves only **product** metafields. To retrieve **variant** metafields, see [Get variant metafields](/api-docs/storefront/graphql/variants#get-variant-metafields). + The query retrieves only **product** metafields. To retrieve **variant** metafields, see [Get variant metafields](/docs/storefront/graphql/examples/variants#get-variant-metafields). The following query retrieves the first two product metafields for the specified product: @@ -858,8 +858,8 @@ Query reviews for products. You retrieve only reviews that a merchant has approv ## Resources ### GraphQL documentation -- [GraphQL Storefront API Overview](/api-docs/storefront/graphql/graphql-api-overview) -- [Guide to Working with Product Variants](/api-docs/storefront/graphql/variants) +- [GraphQL Storefront API Overview](/docs/storefront/graphql) +- [Guide to Working with Product Variants](/docs/storefront/graphql/examples/variants) - [GraphQL Storefront API Explorer](https://developer.bigcommerce.com/graphql-storefront/explorer) - [GraphQL Storefront API Playground](https://developer.bigcommerce.com/graphql-storefront/playground) - [GraphQL Language (graphql.org)](https://graphql.org/learn/queries) @@ -869,8 +869,8 @@ Query reviews for products. You retrieve only reviews that a merchant has approv - [Catalog API- Products](/docs/rest-catalog/products) overview - [Catalog API- Product Options](/docs/rest-catalog/product-variant-options) overview - [Catalog API- Update a product metafield](/docs/rest-catalog/products/metafields#update-a-product-metafield) endpoint -- [Catalog API- Get product metafields](/api-docs/storefront/graphql/products#get-product-metafields) endpoint -- [Catalog API- Get variant metafields](/api-docs/storefront/graphql/variants#get-variant-metafields) endpoint +- [Catalog API- Get product metafields](/docs/storefront/graphql/examples/products#get-product-metafields) endpoint +- [Catalog API- Get variant metafields](/docs/storefront/graphql/examples/variants#get-variant-metafields) endpoint ### Support articles - [Product Options (Help Center)](https://support.bigcommerce.com/s/article/Product-Options-v3?language=en_US) diff --git a/docs/api-docs/storefront/graphql/graphql-site-content.mdx b/docs/api-docs/storefront/graphql/graphql-site-content.mdx index df7b1c9a55..f191178192 100644 --- a/docs/api-docs/storefront/graphql/graphql-site-content.mdx +++ b/docs/api-docs/storefront/graphql/graphql-site-content.mdx @@ -11,12 +11,12 @@ Developers can use frontend GraphQL to perform the following: - Query [web page content](https://support.bigcommerce.com/s/article/Web-Pages?language=en_US), including HTML pages, contact forms, blog posts, and more - Retrieve [banner content](https://support.bigcommerce.com/s/article/Creating-Editing-Banners?language=en_US) on home, search, category, and brand pages -- Retrieve rendered [widgets](https://support.bigcommerce.com/s/article/Page-Builder?language=en_US#builder) built using Page Builder or the [Widgets API](/api-docs/store-management/widgets/widgets-overview) +- Retrieve rendered [widgets](https://support.bigcommerce.com/s/article/Page-Builder?language=en_US#builder) built using Page Builder or the [Widgets API](/docs/storefront/widgets) - Retrieve web pages and blog posts using the web page URL For more information on web pages, see [Page Types](/docs/rest-content/pages#page-types). Queries don't support RSS-syndicated content pages, as these are deprecated. -GraphQL Storefront API queries are made in the context of a particular storefront channel; for example, queries for web pages return only web pages for a specific storefront channel. For information on how to send requests for your storefront context, see [GraphQL Storefront API Overview FAQ](/api-docs/storefront/graphql/graphql-api-overview#faq-querying-for-channels-other-than-stencil-storefronts-and-querying-from-external-systems). +GraphQL Storefront API queries are made in the context of a particular storefront channel; for example, queries for web pages return only web pages for a specific storefront channel. For information on how to send requests for your storefront context, see [GraphQL Storefront API Overview FAQ](/docs/storefront/graphql#faq-querying-for-channels-other-than-stencil-storefronts-and-querying-from-external-systems). ## Web pages @@ -188,7 +188,7 @@ query { ### Rendered regions -Retrieve rendered widgets on plain-text pages. This query returns the rendered HTML content for all widgets that are [placed in Regions](/api-docs/store-management/widgets/tutorials/widgets-tutorial#create-a-placement) on the given page. +Retrieve rendered widgets on plain-text pages. This query returns the rendered HTML content for all widgets that are [placed in Regions](/docs/storefront/widgets/guide#create-a-placement) on the given page. @@ -633,11 +633,11 @@ query { ### API References - [Pages V3 API- Page Types](/docs/rest-content/pages#page-types) -- [Widgets API](/api-docs/store-management/widgets/widgets-overview) -- [Widget Tutorial- Widget Placement](/api-docs/store-management/widgets/tutorials/widgets-tutorial#create-a-placement) +- [Widgets API](/docs/storefront/widgets) +- [Widget Tutorial- Widget Placement](/docs/storefront/widgets/guide#create-a-placement) ### GraphQL Storefront API -- [GraphQL Storefront API Overview](/api-docs/storefront/graphql/graphql-storefront-api-overview) +- [GraphQL Storefront API Overview](/docs/storefront/graphql) - [GraphQL Storefront Playground](https://developer.bigcommerce.com/graphql-playground) ### Support articles diff --git a/docs/api-docs/storefront/graphql/graphql-variants.mdx b/docs/api-docs/storefront/graphql/graphql-variants.mdx index 9ba5c50eba..afd2bdebdf 100644 --- a/docs/api-docs/storefront/graphql/graphql-variants.mdx +++ b/docs/api-docs/storefront/graphql/graphql-variants.mdx @@ -10,7 +10,7 @@ The GraphQL Storefront API lets you retrieve the following variant attributes an You can access these attributes if a merchant makes the product visible on storefronts. -This guide walks you through how to retrieve information for a variant. To retrieve information for the base product, see [Guide to Working with Products](/api-docs/storefront/graphql/products). For full schema documentation, see the [GraphQL Storefront Playground](https://developer.bigcommerce.com/graphql-storefront/playground). +This guide walks you through how to retrieve information for a variant. To retrieve information for the base product, see [Guide to Working with Products](/docs/storefront/graphql/examples/products). For full schema documentation, see the [GraphQL Storefront Playground](https://developer.bigcommerce.com/graphql-storefront/playground). ## Get a variant @@ -712,7 +712,7 @@ Query variant metafields by specifying the namespace for the variant metafields. #### Variant versus product metafields - The query returns only **variant** metafields. To retrieve **product** metafields, see [Get product metafields](/api-docs/storefront/graphql/products#get-product-metafields). + The query returns only **variant** metafields. To retrieve **product** metafields, see [Get product metafields](/docs/storefront/graphql/examples/products#get-product-metafields). The following query retrieves the first variant metafield for the specified variant: @@ -784,8 +784,8 @@ The following query retrieves the first variant metafield for the specified vari ## Resources ### GraphQL documentation -- [GraphQL Storefront API Overview](/api-docs/storefront/graphql/graphql-api-overview) -- [Guide to Working with Products](/api-docs/storefront/graphql/products) +- [GraphQL Storefront API Overview](/docs/storefront/graphql) +- [Guide to Working with Products](/docs/storefront/graphql/examples/products) - [GraphQL Storefront API Explorer](https://developer.bigcommerce.com/graphql-storefront/explorer) - [GraphQL Storefront API Playground](https://developer.bigcommerce.com/graphql-storefront/playground) - [GraphQL Language (graphql.org)](https://graphql.org/learn/queries) @@ -794,8 +794,8 @@ The following query retrieves the first variant metafield for the specified vari ### REST API endpoints - [Catalog API- Variants](/docs/rest-catalog/product-variants) overview - [Catalog API- Update product variant metafields](/docs/rest-catalog/product-variants/metafields#update-product-variant-metafields) endpoint -- [Catalog API- Get variant metafields](/api-docs/storefront/graphql/variants#get-variant-metafields) endpoint -- [Catalog API- Get product metafields](/api-docs/storefront/graphql/products#get-product-metafields) endpoint +- [Catalog API- Get variant metafields](/docs/storefront/graphql/examples/variants#get-variant-metafields) endpoint +- [Catalog API- Get product metafields](/docs/storefront/graphql/examples/products#get-product-metafields) endpoint ### Support articles - [Product Options (Help Center)](https://support.bigcommerce.com/s/article/Product-Options-v3?language=en_US) diff --git a/docs/api-docs/storefront/scripts-overview.mdx b/docs/api-docs/storefront/scripts-overview.mdx index c8d3f216b5..6159bc4204 100644 --- a/docs/api-docs/storefront/scripts-overview.mdx +++ b/docs/api-docs/storefront/scripts-overview.mdx @@ -5,15 +5,15 @@ keywords: scripts, channels, stencil, headless, storefronts, control panel, # Scripts API -The BigCommerce Scripts API gives developers the ability to deploy scripts on storefront pages programmatically. Scripts are [channel-aware](/api-docs/apps/multi-storefront). +The BigCommerce Scripts API gives developers the ability to deploy scripts on storefront pages programmatically. Scripts are [channel-aware](/docs/integrations/apps/multi-storefront). -This article explains the benefits and limitations of the Scripts API, then works through different strategies you might employ to migrate an existing app's script management mechanism from the control panel to the API. It assumes you're familiar with the BigCommerce app installation process. For more information on the app installation process from the merchant perspective, see our Help Center article on [Installing Apps](https://support.bigcommerce.com/s/article/How-do-I-access-and-install-the-new-single-click-apps-within-my-Bigcommerce-store-control-panel#installing). For information on responding to app installation callbacks, see our article on [Implementing OAuth](/api-docs/apps/guide/auth). +This article explains the benefits and limitations of the Scripts API, then works through different strategies you might employ to migrate an existing app's script management mechanism from the control panel to the API. It assumes you're familiar with the BigCommerce app installation process. For more information on the app installation process from the merchant perspective, see our Help Center article on [Installing Apps](https://support.bigcommerce.com/s/article/How-do-I-access-and-install-the-new-single-click-apps-within-my-Bigcommerce-store-control-panel#installing). For information on responding to app installation callbacks, see our article on [Implementing OAuth](/docs/integrations/apps/guide/auth). ## Scripts API and Script Manager -The control panel counterpart of the Scripts API is the Script Manager, which is available in the channel settings for the subject storefront on non-[Blueprint](#blueprint-themes) stores. Scripts that you install with the Scripts API appear in the storefront's Script Manager, but can only be modified by the [API account](/api-docs/getting-started/api-accounts#api-accounts) that created them. However, authorized control panel users can change the consent category or entirely delete any script using Script Manager, including scripts created using the API. To learn more, see our Help Center article on [Script Manager](https://support.bigcommerce.com/s/article/Using-Script-Manager). +The control panel counterpart of the Scripts API is the Script Manager, which is available in the channel settings for the subject storefront on non-[Blueprint](#blueprint-themes) stores. Scripts that you install with the Scripts API appear in the storefront's Script Manager, but can only be modified by the [API account](/docs/start/authentication/api-accounts#api-accounts) that created them. However, authorized control panel users can change the consent category or entirely delete any script using Script Manager, including scripts created using the API. To learn more, see our Help Center article on [Script Manager](https://support.bigcommerce.com/s/article/Using-Script-Manager). -Similarly, scripts added manually belong to control panel users collectively. When you use the API to [Get all scripts](/docs/rest-management/scripts#get-all-scripts), [Get a script](/docs/rest-management/scripts#get-a-script), [Update a script](/docs/rest-management/scripts#update-a-script), or [Delete a script](/docs/rest-management/scripts#delete-a-script), you can only retrieve, modify, and delete scripts added by [API account](/api-docs/getting-started/api-accounts#api-accounts) you use to make the request. The Scripts API can’t update or delete scripts added using the control panel Script Manager. +Similarly, scripts added manually belong to control panel users collectively. When you use the API to [Get all scripts](/docs/rest-management/scripts#get-all-scripts), [Get a script](/docs/rest-management/scripts#get-a-script), [Update a script](/docs/rest-management/scripts#update-a-script), or [Delete a script](/docs/rest-management/scripts#delete-a-script), you can only retrieve, modify, and delete scripts added by [API account](/docs/start/authentication/api-accounts#api-accounts) you use to make the request. The Scripts API can’t update or delete scripts added using the control panel Script Manager. After a merchant installs your app, the app can freely update its own scripts. All the app's scripts are available in the Script Manager for the merchant to inspect. @@ -59,7 +59,7 @@ You cannot make a Scripts API script available on the following Stencil pages: - giftcertificates.php - sitemap.php -To associate scripts with a checkout page, you need the [Modify Checkout Content OAuth scope](/api-docs/getting-started/api-accounts#oauth-scopes). +To associate scripts with a checkout page, you need the [Modify Checkout Content OAuth scope](/docs/start/authentication/api-accounts#oauth-scopes). ## Blueprint themes @@ -69,9 +69,9 @@ For more on checking which theme engine a storefront is using, see this article' ## Managing scripts using single-click app callbacks -If you're using an [app-level API account](/api-docs/getting-started/api-accounts#app-level-api-accounts), we recommend inserting your scripts immediately following completion of the [auth callback](/api-docs/apps/guide/auth). The app can use the [uninstall callback](/api-docs/apps/guide/callbacks) to remove its scripts when a merchant uninstalls it, and the [remove_user callback](/api-docs/apps/guide/callbacks) to remove any scripts related to a particular user when they lose access privileges. +If you're using an [app-level API account](/docs/start/authentication/api-accounts#app-level-api-accounts), we recommend inserting your scripts immediately following completion of the [auth callback](/docs/integrations/apps/guide/auth). The app can use the [uninstall callback](/docs/integrations/apps/guide/callbacks) to remove its scripts when a merchant uninstalls it, and the [remove_user callback](/docs/integrations/apps/guide/callbacks) to remove any scripts related to a particular user when they lose access privileges. -Your implementation may use a [store-level API account](/api-docs/getting-started/api-accounts#store-level-api-accounts) to authenticate. If so, any references to app callbacks do not apply to your code. +Your implementation may use a [store-level API account](/docs/start/authentication/api-accounts#store-level-api-accounts) to authenticate. If so, any references to app callbacks do not apply to your code. ## Upgrading @@ -104,7 +104,7 @@ You may decide that your old pasted-in scripts can live alongside your new appro Solutions that add dynamic script support using revisions to or additions of scripts pasted into the theme or inserted in a **Data Solutions > Web Analytics** menu should disclose the change to all client stores, including Blueprint users. -Release notes can work for all storefronts. Changes to the [OAuth scopes](/api-docs/getting-started/api-accounts#oauth-scopes) of apps that use [app-level API accounts](/api-docs/getting-started/api-accounts#app-level-api-accounts) require the store owner or other authorized user to accept the new scopes, which could provide a mechanism to trigger release note display. Store owners aren't prompted to reauthorize until they next open an app in the control panel, so direct contact may be advisable from a conversion perspective. You can't change the OAuth scopes for a [store-level API account](/api-docs/getting-started/api-accounts#store-level-api-accounts), so directly contacting the store or stores that you want to change may be your only option for disclosure. +Release notes can work for all storefronts. Changes to the [OAuth scopes](/docs/start/authentication/api-accounts#oauth-scopes) of apps that use [app-level API accounts](/docs/start/authentication/api-accounts#app-level-api-accounts) require the store owner or other authorized user to accept the new scopes, which could provide a mechanism to trigger release note display. Store owners aren't prompted to reauthorize until they next open an app in the control panel, so direct contact may be advisable from a conversion perspective. You can't change the OAuth scopes for a [store-level API account](/docs/start/authentication/api-accounts#store-level-api-accounts), so directly contacting the store or stores that you want to change may be your only option for disclosure. ## Troubleshooting @@ -114,7 +114,7 @@ Your app installation may find itself unexpectedly missing one or more scripts. Merchants receive a warning when they attempt to delete a script belonging to an app, but they can. -To determine whether the expected scripts are present, we recommend you check the [Get all scripts](/docs/rest-management/scripts#get-all-scripts) endpoint when your app receives the [load callback](/api-docs/apps/guide/callbacks). If they are not, you can prompt the user to click a button to repair their installation automatically. +To determine whether the expected scripts are present, we recommend you check the [Get all scripts](/docs/rest-management/scripts#get-all-scripts) endpoint when your app receives the [load callback](/docs/integrations/apps/guide/callbacks). If they are not, you can prompt the user to click a button to repair their installation automatically. It's best practice to request the user’s permission rather than doing this automatically, as they may have had a good reason for deleting the missing script. See this article's [section on disclosure](#disclosure-is-best-practice). @@ -124,13 +124,13 @@ Stencil templates must have the Handlebars expressions `{{head.scripts}}` and `{ To ensure your app is compatible with as many themes as possible, we recommend `{{footer.scripts}}` over `{{head.scripts}}` for the `checkout`, `order_confirmation`, and `all_pages` contexts. -Read more about the [head object](/theme-objects/schemas#head) and [footer object](/theme-objects/schemas#footer). +Read more about the [head object](/docs/storefront/stencil/themes/context/object-reference/schemas#head) and [footer object](/docs/storefront/stencil/themes/context/object-reference/schemas#footer). **Scripts do not render in the checkout or order confirmation contexts** To render scripts, the store must have BigCommerce’s [Optimized One-Page Checkout](https://support.bigcommerce.com/articles/Public/Optimized-Single-Page-Checkout) enabled. This is the default checkout type for all new Stencil stores. Existing stores have to change the checkout type manually. To [change the checkout type](http://login.bigcommerce.com/deep-links/manage/settings/checkout), visit the store control panel. -Stencil themes from the marketplace support [Optimized One-Page Checkout (Help Center)](https://support.bigcommerce.com/articles/Public/Optimized-Single-Page-Checkout). However, there could be instances where the merchant maintains their private theme without the ability to support the optimized one-page checkout. In this case, the merchant must add the theme support, following the steps to customize [optimized one-page checkout](/stencil-docs/customizing-checkout/optimized-one-page-checkout). +Stencil themes from the marketplace support [Optimized One-Page Checkout (Help Center)](https://support.bigcommerce.com/articles/Public/Optimized-Single-Page-Checkout). However, there could be instances where the merchant maintains their private theme without the ability to support the optimized one-page checkout. In this case, the merchant must add the theme support, following the steps to customize [optimized one-page checkout](/docs/storefront/cart-checkout/optimized-one-page-checkout). ## Resources @@ -139,18 +139,18 @@ Stencil themes from the marketplace support [Optimized One-Page Checkout (Help C * [Scripts](/docs/rest-management/scripts) * [Get store information](/docs/rest-management/store-information#get-store-information) * [Get all channels](/docs/rest-management/channels#get-all-channels) -* [Stencil head object](/theme-objects/schemas#head) -* [Stencil footer object](/theme-objects/schemas#footer) +* [Stencil head object](/docs/storefront/stencil/themes/context/object-reference/schemas#head) +* [Stencil footer object](/docs/storefront/stencil/themes/context/object-reference/schemas#footer) ### Articles -* [Guide to API Accounts](/api-docs/getting-started/api-accounts) -* [OAuth Scopes](/api-docs/getting-started/api-accounts#oauth-scopes) -* [Optimized One-Page Checkout](/stencil-docs/customizing-checkout/optimized-one-page-checkout) -* [Apps Guide](/api-docs/apps/guide/intro) -* [Apps Guide: Auth Flow](/api-docs/apps/guide/auth) -* [Apps Guide: Callbacks](/api-docs/apps/guide/callbacks) -* [Multi-Storefront App Compatibility](/api-docs/apps/multi-storefront) +* [Guide to API Accounts](/docs/start/authentication/api-accounts) +* [OAuth Scopes](/docs/start/authentication/api-accounts#oauth-scopes) +* [Optimized One-Page Checkout](/docs/storefront/cart-checkout/optimized-one-page-checkout) +* [Apps Guide](/docs/integrations/apps) +* [Apps Guide: Auth Flow](/docs/integrations/apps/guide/auth) +* [Apps Guide: Callbacks](/docs/integrations/apps/guide/callbacks) +* [Multi-Storefront App Compatibility](/docs/integrations/apps/multi-storefront) ### Help center diff --git a/docs/api-docs/storefront/widgets/global-regions-tutorial.mdx b/docs/api-docs/storefront/widgets/global-regions-tutorial.mdx index ee5d3be834..4e6ebb437c 100644 --- a/docs/api-docs/storefront/widgets/global-regions-tutorial.mdx +++ b/docs/api-docs/storefront/widgets/global-regions-tutorial.mdx @@ -2,16 +2,16 @@ -[Global regions](/api-docs/store-management/widgets/overview#global-regions) are special regions you can use to place and manage content sitewide. +[Global regions](/docs/storefront/widgets#global-regions) are special regions you can use to place and manage content sitewide. In this tutorial, we will explore the concept of global regions by creating a global region and placing a widget in it using Page Builder. ### Prerequisites * [A BigCommerce store](https://support.bigcommerce.com/s/article/Starting-a-Bigcommerce-Trial). -* Knowledge of the [Widgets API](/api-docs/storefront/widgets/widgets-overview). +* Knowledge of the [Widgets API](/docs/storefront/widgets). * Knowledge of [Page Builder](https://support.bigcommerce.com/s/article/Page-Builder). -To edit theme files locally, we recommend using [Stencil CLI](/stencil-docs/installing-stencil-cli/installing-stencil), BigCommerce’s powerful theme development and deployment tool. +To edit theme files locally, we recommend using [Stencil CLI](/docs/storefront/stencil/cli/install), BigCommerce’s powerful theme development and deployment tool. ## Create a global region @@ -67,8 +67,8 @@ To test your global region's functionality, drag and drop one of the basic widge ## Related resources ### Articles -* [Widgets Overview](/api-docs/store-management/widgets/overview) -* [Page Builder Overview](/stencil-docs/page-builder/page-builder-overview) +* [Widgets Overview](/docs/storefront/widgets) +* [Page Builder Overview](/docs/storefront/stencil/content/page-builder) ### Endpoints * [Widgets API](/docs/rest-content/widgets) diff --git a/docs/api-docs/storefront/widgets/product-widget-tutorial.mdx b/docs/api-docs/storefront/widgets/product-widget-tutorial.mdx index 147f1cdb72..33648e47ef 100644 --- a/docs/api-docs/storefront/widgets/product-widget-tutorial.mdx +++ b/docs/api-docs/storefront/widgets/product-widget-tutorial.mdx @@ -7,16 +7,16 @@ keywords: widgets, graphql, stencil, handlebars, currency, currencies, Widgets are configurable and reusable components of content that merchants can display on their storefront. Widgets consist of a combination of HTML/CSS, JavaScript, and Handlebars, and are rendered as part of the storefront’s HTML. -In this tutorial, we will walk you through the process of creating a product widget powered by BigCommerce's [Widgets API](/api-docs/store-management/widgets/overview) and [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview). This setup allows widgets to dynamically update and display information such as product name, image, and price. By the end of this tutorial, you should have a functional widget that is configurable via the [Page Builder](https://support.bigcommerce.com/s/article/Page-Builder) UI in a store's control panel. +In this tutorial, we will walk you through the process of creating a product widget powered by BigCommerce's [Widgets API](/docs/storefront/widgets) and [GraphQL Storefront API](/docs/storefront/graphql). This setup allows widgets to dynamically update and display information such as product name, image, and price. By the end of this tutorial, you should have a functional widget that is configurable via the [Page Builder](https://support.bigcommerce.com/s/article/Page-Builder) UI in a store's control panel. ## Prerequisites * [A BigCommerce store](https://support.bigcommerce.com/s/article/Starting-a-Bigcommerce-Trial). -* API OAuth [access token](/api-docs/getting-started/api-accounts) with the OAuth **Content** scope set to **modify**. -* Understanding of [widgets](/api-docs/store-management/widgets/overview#widgets) and the [Widgets API](/api-docs/store-management/widgets/overview). -* Familiarity with [Page Builder](/stencil-docs/page-builder/page-builder-overview). +* API OAuth [access token](/docs/start/authentication/api-accounts) with the OAuth **Content** scope set to **modify**. +* Understanding of [widgets](/docs/storefront/widgets#widgets) and the [Widgets API](/docs/storefront/widgets). +* Familiarity with [Page Builder](/docs/storefront/stencil/content/page-builder). -The steps in this tutorial assume that you are familiar with BigCommerce’s Widgets API, and have obtained the API `access_token` with the `content` `modify` scope. The API `access_token` is required to inject, remove, and list widgets into any page of the store. To learn more about the Widgets API, see [Widgets API Overview](/api-docs/store-management/widgets/overview). For information on how to create an API account, see [Creating an API Account](https://support.bigcommerce.com/s/article/Store-API-Accounts#creating). +The steps in this tutorial assume that you are familiar with BigCommerce’s Widgets API, and have obtained the API `access_token` with the `content` `modify` scope. The API `access_token` is required to inject, remove, and list widgets into any page of the store. To learn more about the Widgets API, see [Widgets API Overview](/docs/storefront/widgets). For information on how to create an API account, see [Creating an API Account](https://support.bigcommerce.com/s/article/Store-API-Accounts#creating). ## Create the widget template @@ -144,9 +144,9 @@ Accept: application/json |Property|Type|Description| |-|-|-| |`name`|string|The name of the widget template.| -|`schema`|object|The widget settings JSON [schema](/stencil-docs/page-builder/widget-ui-schema) for [Page Builder](https://support.bigcommerce.com/s/article/Page-Builder) UI.| -|`template`|string|The [widget template](/api-docs/store-management/widgets/overview#widget-templates) rendered as Handlebars HTML.| -|`storefront_api_query`|string|[GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview) query that provides widget data; accessed in a template via `{{_.data}}`.| +|`schema`|object|The widget settings JSON [schema](/docs/storefront/widgets/input-reference/schema) for [Page Builder](https://support.bigcommerce.com/s/article/Page-Builder) UI.| +|`template`|string|The [widget template](/docs/storefront/widgets#widget-templates) rendered as Handlebars HTML.| +|`storefront_api_query`|string|[GraphQL Storefront API](/docs/storefront/graphql) query that provides widget data; accessed in a template via `{{_.data}}`.| ### GraphQL queries @@ -320,10 +320,10 @@ Accept: application/json ## Related resources ### Articles -* [GraphQL Storefront API Overview](/api-docs/storefront/graphql/graphql-storefront-api-overview) -* [Page Builder Overview](/stencil-docs/page-builder/page-builder-overview) -* [Widgets API Overview](/api-docs/store-management/widgets/overview) -* [Widget UI Schema](/stencil-docs/page-builder/widget-ui-schema) +* [GraphQL Storefront API Overview](/docs/storefront/graphql) +* [Page Builder Overview](/docs/storefront/stencil/content/page-builder) +* [Widgets API Overview](/docs/storefront/widgets) +* [Widget UI Schema](/docs/storefront/widgets/input-reference/schema) ### Endpoints * [Widgets API](/docs/rest-content/widgets) diff --git a/docs/api-docs/storefront/widgets/widget-builder.mdx b/docs/api-docs/storefront/widgets/widget-builder.mdx index ecb03ac24b..b20be26881 100644 --- a/docs/api-docs/storefront/widgets/widget-builder.mdx +++ b/docs/api-docs/storefront/widgets/widget-builder.mdx @@ -9,8 +9,8 @@ This article is a guide to help you learn how to use Widget Builder. * Node.js 18 * [npm](https://www.npmjs.com/) 9.5.1 -* A BigCommerce [store](https://support.bigcommerce.com/s/article/Starting-a-Bigcommerce-Trial) or [sandbox store](/api-docs/partner/getting-started/create-a-sandbox-store). -* A [store-level or app-level API account](/api-docs/getting-started/api-accounts) with the following OAuth scopes: +* A BigCommerce [store](https://support.bigcommerce.com/s/article/Starting-a-Bigcommerce-Trial) or [sandbox store](/docs/start/about/sandboxes). +* A [store-level or app-level API account](/docs/start/authentication/api-accounts) with the following OAuth scopes: | Name | Permission | Parameter | | :--- | :--------- | :-------- | @@ -18,10 +18,10 @@ This article is a guide to help you learn how to use Widget Builder. | Other | | As needed for the widget to function. | -Because the OAuth scope of these API credentials permits you to modify store content, we strongly recommend that you develop widgets using a [sandbox store](/api-docs/partner/getting-started/create-a-sandbox-store). +Because the OAuth scope of these API credentials permits you to modify store content, we strongly recommend that you develop widgets using a [sandbox store](/docs/start/about/sandboxes). -For more information on authentication, see [Authentication](/api-docs/getting-started/authentication). +For more information on authentication, see [Authentication](/docs/start/authentication). ## Install Widget Builder @@ -168,12 +168,12 @@ Publishing a widget from the same path will update or overwrite your existing wi To add published widgets to your store, open your store's control panel and navigate to **Storefront** **>** **My Themes**. Click the **Customize** button on your active theme, and locate your published widget in the **Custom** section of the left-side menu. -If you're interested in making your widgets available for download or sale on other stores, check out the [BigCommerce App Marketplace](https://www.bigcommerce.com/apps/categories/site-tools/tools-widgets/) and learn about [becoming a partner developer](/api-docs/partner/becoming-a-partner). +If you're interested in making your widgets available for download or sale on other stores, check out the [BigCommerce App Marketplace](https://www.bigcommerce.com/apps/categories/site-tools/tools-widgets/) and learn about [becoming a partner developer](/docs/start/partner). ## Resources -* [Guide to API Accounts](/api-docs/getting-started/api-accounts) -* [Widgets API Overview](/api-docs/store-management/widgets/overview) +* [Guide to API Accounts](/docs/start/authentication/api-accounts) +* [Widgets API Overview](/docs/storefront/widgets) * [Widget Builder GitHub repository](https://github.com/bigcommerce/widget-builder) * [Widgets on the App Marketplace](https://www.bigcommerce.com/apps/categories/site-tools/tools-widgets/) -* [Becoming a Partner Developer](/api-docs/partner/becoming-a-partner) +* [Becoming a Partner Developer](/docs/start/partner) diff --git a/docs/api-docs/storefront/widgets/widget-versioning-tutorial.mdx b/docs/api-docs/storefront/widgets/widget-versioning-tutorial.mdx index ec4376ed92..34059fd3eb 100644 --- a/docs/api-docs/storefront/widgets/widget-versioning-tutorial.mdx +++ b/docs/api-docs/storefront/widgets/widget-versioning-tutorial.mdx @@ -2,13 +2,13 @@ -This article documents how to use [widget versioning](/api-docs/store-management/widgets/overview#widget-versioning) to update a widget template without updating its widgets. +This article documents how to use [widget versioning](/docs/storefront/widgets#widget-versioning) to update a widget template without updating its widgets. ### Prerequisites * [A BigCommerce store](https://support.bigcommerce.com/s/article/Starting-a-Bigcommerce-Trial). * API `access_token` with `content modify` scope. -* Knowledge of the [Widgets API](/api-docs/storefront/widgets/widgets-overview). +* Knowledge of the [Widgets API](/docs/storefront/widgets). This tutorial uses [Cornerstone](https://github.com/bigcommerce/cornerstone) theme. @@ -226,8 +226,8 @@ To upgrade the widget derived from the original widget template, send `"upgrade" ## Related resources ### Articles -* [Widgets Overview](/api-docs/store-management/widgets/overview) -* [Page Builder Overview](/stencil-docs/page-builder/page-builder-overview) +* [Widgets Overview](/docs/storefront/widgets) +* [Page Builder Overview](/docs/storefront/stencil/content/page-builder) ### Endpoints * [Widgets API](/docs/rest-content/widgets) diff --git a/docs/api-docs/storefront/widgets/widgets-code-samples.mdx b/docs/api-docs/storefront/widgets/widgets-code-samples.mdx index 80ab058b2d..8456a98e43 100644 --- a/docs/api-docs/storefront/widgets/widgets-code-samples.mdx +++ b/docs/api-docs/storefront/widgets/widgets-code-samples.mdx @@ -234,8 +234,8 @@ Below are widget code samples for developers to use as a starting point. ## Related resources ### Articles -* [Widgets Overview](/api-docs/store-management/widgets/overview) -* [Widgets Tutorial](/api-docs/store-management/widgets/tutorials/tutorial) +* [Widgets Overview](/docs/storefront/widgets) +* [Widgets Tutorial](/docs/storefront/widgets/guide) ### Endpoints * [Widgets API](/docs/rest-content/widgets) \ No newline at end of file diff --git a/docs/api-docs/storefront/widgets/widgets-localizing-settings.mdx b/docs/api-docs/storefront/widgets/widgets-localizing-settings.mdx index f64edcf8e2..bb03a37ba6 100644 --- a/docs/api-docs/storefront/widgets/widgets-localizing-settings.mdx +++ b/docs/api-docs/storefront/widgets/widgets-localizing-settings.mdx @@ -156,9 +156,9 @@ Accept: application/json } ``` -5. From the control panel, open [Page Builder](/stencil-docs/page-builder/page-builder-overview) and locate your newly created widget template. +5. From the control panel, open [Page Builder](/docs/storefront/stencil/content/page-builder) and locate your newly created widget template. -6. Drag and drop the widget in a [region](/api-docs/store-management/widgets/overview#regions) on a page to test it out. +6. Drag and drop the widget in a [region](/docs/storefront/widgets#regions) on a page to test it out. ![Default language code](https://storage.googleapis.com/bigcommerce-production-dev-center/images/01-Localizing%20Widget%20Template%20Settings.png "Default language code") @@ -184,4 +184,4 @@ Widget templates support both [ISO 639‑1](https://en.wikipedia.org/wiki/ISO_63 - [Internationalization](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Internationalization) - [Page Builder](https://support.bigcommerce.com/s/article/Page-Builder?language=en_US) - [User Profile](https://support.bigcommerce.com/s/article/User-Profile?language=en_US) -- [Widgets API Overview](/api-docs/store-management/widgets/overview) +- [Widgets API Overview](/docs/storefront/widgets) diff --git a/docs/api-docs/storefront/widgets/widgets-overview.mdx b/docs/api-docs/storefront/widgets/widgets-overview.mdx index fa1e564e0a..9991bca8f4 100644 --- a/docs/api-docs/storefront/widgets/widgets-overview.mdx +++ b/docs/api-docs/storefront/widgets/widgets-overview.mdx @@ -16,7 +16,7 @@ In this article, we will review the components that make up a widget. ## Regions -[Regions](/docs/rest-content/widgets/regions#get-theme-regions) are specific locations in the Stencil theme template files where you can place a widget. You can add a region at the file level using the format `{{{region name="..."}}}` and name the region however you like, but it is best practice to give it a name that is descriptive of the location and function. A theme file can have as many regions as you want, with more than one widget assigned to the region and the [placements](/api-docs/store-management/widgets/overview#placements) `sort_order` controlling how the widgets appear on the storefront. +[Regions](/docs/rest-content/widgets/regions#get-theme-regions) are specific locations in the Stencil theme template files where you can place a widget. You can add a region at the file level using the format `{{{region name="..."}}}` and name the region however you like, but it is best practice to give it a name that is descriptive of the location and function. A theme file can have as many regions as you want, with more than one widget assigned to the region and the [placements](/docs/storefront/widgets#placements) `sort_order` controlling how the widgets appear on the storefront. ![Content Region](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Partner%20Information/widgets-overview-03.png "Content Region") @@ -334,8 +334,8 @@ Widgets are rendered on the storefront as a data tag in the HTML. ## Related resources ### Articles -* [Widgets Tutorial](/api-docs/store-management/widgets/tutorials/tutorial) -* [Widgets Code Samples](/api-docs/store-management/widgets/samples) +* [Widgets Tutorial](/docs/storefront/widgets/guide) +* [Widgets Code Samples](/docs/storefront/widgets/examples) ### Endpoints * [Widgets API](/docs/rest-content/widgets) diff --git a/docs/api-docs/storefront/widgets/widgets-tutorial.mdx b/docs/api-docs/storefront/widgets/widgets-tutorial.mdx index 14ba08e9a4..a84282445a 100644 --- a/docs/api-docs/storefront/widgets/widgets-tutorial.mdx +++ b/docs/api-docs/storefront/widgets/widgets-tutorial.mdx @@ -2,7 +2,7 @@ -BigCommerce's [Widgets API](/api-docs/store-management/widgets/overview) allows you to create, manage, and apply widgets to your storefront. +BigCommerce's [Widgets API](/docs/storefront/widgets) allows you to create, manage, and apply widgets to your storefront. In this tutorial, you will create a [widget](https://raw.githubusercontent.com/bigcommerce/dev-docs/master/assets/images/widgets-tutorial-01.gif) (GitHub) that displays a row of three images and place that widget in a designated region on a category page of BigCommerce's [Cornerstone](https://github.com/bigcommerce/cornerstone) theme. @@ -10,9 +10,9 @@ In this tutorial, you will create a [widget](https://raw.githubusercontent.com/b * [A BigCommerce store](https://support.bigcommerce.com/s/article/Starting-a-Bigcommerce-Trial). * API `access_token` with `content modify` scope. -* Knowledge of the [Widgets API](/api-docs/storefront/widgets/widgets-overview). +* Knowledge of the [Widgets API](/docs/storefront/widgets). -To edit and preview theme files locally, we recommend using [Stencil CLI](/stencil-docs/installing-stencil-cli/installing-stencil), BigCommerce's powerful theme development and deployment tool. +To edit and preview theme files locally, we recommend using [Stencil CLI](/docs/storefront/stencil/cli/install), BigCommerce's powerful theme development and deployment tool. ## Create a region @@ -33,11 +33,11 @@ In `templates/pages/category.html`, add a new region `{{{region name="category_h {{{category.description}}} ``` -If you are using [Stencil CLI](/stencil-docs/installing-stencil-cli/installing-stencil) and editing theme files locally, run a `stencil push` command to apply your changes before proceeding to the next step. `stencil push` will bundle your theme into a zip file and upload the zip to BigCommerce. You can find more information on Stencil CLI commands in our [Stencil CLI Option and Commands](/stencil-docs/installing-stencil-cli/stencil-cli-options-and-commands) article. +If you are using [Stencil CLI](/docs/storefront/stencil/cli/install) and editing theme files locally, run a `stencil push` command to apply your changes before proceeding to the next step. `stencil push` will bundle your theme into a zip file and upload the zip to BigCommerce. You can find more information on Stencil CLI commands in our [Stencil CLI Option and Commands](/docs/storefront/stencil/cli/options-and-commands) article. - * You can add regions to templates in the [`templates/pages/`](/stencil-docs/storefront-customization/directory-structure) folder. - * To edit theme files locally, use [Stencil CLI](/stencil-docs/installing-stencil-cli/installing-stencil). + * You can add regions to templates in the [`templates/pages/`](/docs/storefront/stencil/themes/foundations/directory-structure) folder. + * To edit theme files locally, use [Stencil CLI](/docs/storefront/stencil/cli/install). * To edit theme files in the control panel, use [Page Builder](https://support.bigcommerce.com/s/article/Stencil-Themes#edit). @@ -255,7 +255,7 @@ Accept: application/json ## Create a user interface -BigCommerce's [Page Builder](/stencil-docs/page-builder/page-builder-overview) tool allows you to customize different style elements of your theme in the store's control panel. You can use Page Builder to configure and place widgets onto pages to tailor your storefront. To make your widget compatible with Page Builder, add custom configuration settings to the widget template by including the `schema` property in the [create widget template](#create-a-widget-template) request. +BigCommerce's [Page Builder](/docs/storefront/stencil/content/page-builder) tool allows you to customize different style elements of your theme in the store's control panel. You can use Page Builder to configure and place widgets onto pages to tailor your storefront. To make your widget compatible with Page Builder, add custom configuration settings to the widget template by including the `schema` property in the [create widget template](#create-a-widget-template) request. The following is an example of a widget template compatible with Page Builder. @@ -302,12 +302,12 @@ The following is an example of a widget template compatible with Page Builder. } ``` -To learn more about Page Builder, see [Page Builder Overview](/stencil-docs/page-builder/page-builder-overview). +To learn more about Page Builder, see [Page Builder Overview](/docs/storefront/stencil/content/page-builder). ## Related resources ### Articles * [Page Builder](https://support.bigcommerce.com/s/article/Page-Builder) -* [Widgets Overview](/api-docs/store-management/widgets/overview) -* [Widgets Code Samples](/api-docs/store-management/widgets/samples) +* [Widgets Overview](/docs/storefront/widgets) +* [Widgets Code Samples](/docs/storefront/widgets/examples) diff --git a/docs/api-docs/tax/tax-properties.mdx b/docs/api-docs/tax/tax-properties.mdx index 69441e4891..a98e0f6e5b 100644 --- a/docs/api-docs/tax/tax-properties.mdx +++ b/docs/api-docs/tax/tax-properties.mdx @@ -15,7 +15,7 @@ Tax providers may sometimes need multiple inputs that can vary between different In contrast, tax properties are fields that contain information about product specifics. Tax providers use these fields to factor product specifics into their calculations. -This guide demonstrates how to use the Tax Properties API. For more, see the [Tax Properties API Reference](/docs/rest-management/tax-properties) and the [Tax Provider API Reference](/docs/apps-api/tax). +This guide demonstrates how to use the Tax Properties API. For more, see the [Tax Properties API Reference](/docs/rest-management/tax-properties) and the [Tax Provider API Reference](/docs/rest-contracts/tax). ## Tax properties @@ -340,7 +340,7 @@ To remove tax properties from a product, send a request to the [Delete product t ## Tax Quotes -BigCommerce sends product tax properties to request [tax estimates](/docs/apps-api/tax#estimate-taxes) from a provider. The requests include tax properties for each item in a consignment. +BigCommerce sends product tax properties to request [tax estimates](/docs/rest-contracts/tax#estimate-taxes) from a provider. The requests include tax properties for each item in a consignment. The following request uses the Tax Provider API: @@ -382,11 +382,11 @@ Accept: application/json ... } ``` -BigCommerce also sends product tax properties to [commit](/docs/apps-api/tax#commit-tax-quote) and [adjust tax quotes](/docs/apps-api/tax#adjust-tax-quote). +BigCommerce also sends product tax properties to [commit](/docs/rest-contracts/tax#commit-tax-quote) and [adjust tax quotes](/docs/rest-contracts/tax#adjust-tax-quote). ## Resources - [Tax Properties API Reference](/docs/rest-management/tax-properties) -- [Tax Provider API Reference](/docs/apps-api/tax) +- [Tax Provider API Reference](/docs/rest-contracts/tax) ### Tax Properties reference - [Create tax properties](/docs/rest-management/tax-properties#create-tax-properties) @@ -400,9 +400,9 @@ BigCommerce also sends product tax properties to [commit](/docs/apps-api/tax#com - [Delete product tax properties](/docs/rest-management/tax-properties/product-tax-properties#delete-product-tax-properties) ### Tax Provider reference -- [Create a tax estimate](/docs/apps-api/tax#estimate-taxes) -- [Create a tax commit](/docs/apps-api/tax#commit-tax-quote) -- [Create a tax adjustment](/docs/apps-api/tax#adjust-tax-quote) +- [Create a tax estimate](/docs/rest-contracts/tax#estimate-taxes) +- [Create a tax commit](/docs/rest-contracts/tax#commit-tax-quote) +- [Create a tax adjustment](/docs/rest-contracts/tax#adjust-tax-quote) ### Catalog reference - [Get all products](/docs/rest-catalog/products#get-all-products) diff --git a/docs/api-docs/users/Account-level-API-accounts.mdx b/docs/api-docs/users/Account-level-API-accounts.mdx index 09185aa9eb..86dcf9d320 100644 --- a/docs/api-docs/users/Account-level-API-accounts.mdx +++ b/docs/api-docs/users/Account-level-API-accounts.mdx @@ -16,7 +16,7 @@ With Account-Level API credentials merchants can now perform actions such as: As long as this account is active, the token will always be tied to the account. -Before you get started creating Account-Level tokens, read our doc on [API Accounts & OAuth Scopes](api-docs/getting-started/api-accounts) to get up to speed. +Before you get started creating Account-Level tokens, read our doc on [API Accounts & OAuth Scopes](/docs/start/authentication/api-accounts) to get up to speed. ## Prerequisites @@ -49,4 +49,4 @@ This process allows BigCommerce to filter out API requests that must be verified All in all, the Account-Level API accounts on the BigCommerce platform provide merchants and developers with a powerful tool-set for building custom integrations and solutions that can help streamline and automate various processes. -Learn more about setting up Account-Level API token by checking out our Knowledge Base article, [API Accounts](https://support.bigcommerce.com/s/article/Store-API-Accounts?language=en_US#Account-Level-api-accounts). \ No newline at end of file +Learn more about setting up Account-Level API token by checking out our Knowledge Base article, [API Accounts](https://support.bigcommerce.com/s/article/Store-API-Accounts?language=en_US#Account-Level-api-accounts). diff --git a/docs/api-docs/users/overview.mdx b/docs/api-docs/users/overview.mdx index 50428a5d9d..2b219001a3 100644 --- a/docs/api-docs/users/overview.mdx +++ b/docs/api-docs/users/overview.mdx @@ -28,9 +28,9 @@ To learn more about making requests, see the next section on [Getting Started](# | Account Users | write | Create and update users | | Account Users | delete | Remove users | -For more information on these OAuth scopes, see the [Guide to API Accounts](/api-docs/getting-started/api-accounts#account-resource-scopes). +For more information on these OAuth scopes, see the [Guide to API Accounts](/docs/start/authentication/api-accounts#account-resource-scopes). -For more information on access token authentication, see [Authentication and Example Requests](/api-docs/getting-started/authentication#access-tokens). +For more information on access token authentication, see [Authentication and Example Requests](/docs/start/authentication#access-tokens). ## Getting started @@ -957,5 +957,5 @@ The following mutation removes a user from a store: ### Articles -* [Authentication and Example Requests](/api-docs/getting-started/authentication) -* [Guide to API Accounts](/api-docs/getting-started/api-accounts) +* [Authentication and Example Requests](/docs/start/authentication) +* [Guide to API Accounts](/docs/start/authentication/api-accounts) diff --git a/docs/api-docs/webhooks/about-webhooks.mdx b/docs/api-docs/webhooks/about-webhooks.mdx index f1db6a582d..928f20e7fb 100644 --- a/docs/api-docs/webhooks/about-webhooks.mdx +++ b/docs/api-docs/webhooks/about-webhooks.mdx @@ -6,7 +6,7 @@ Webhooks notify applications when specific events occur on a BigCommerce store. * a product's inventory changes * an item is added to a shopper's cart -This article is an overview of webhook behavior on BigCommerce. For webhook API reference, see [API Reference > Webhooks](/docs/webhooks/webhooks/manage-webhooks-bulk#create-a-webhook). For webhook event reference, see [Webhook Events](/api-docs/store-management/webhooks/webhook-events). For a step-by-step tutorial on creating webhooks for certain store events, see [Webhooks Tutorial](/api-docs/store-management/webhooks/tutorial). +This article is an overview of webhook behavior on BigCommerce. For webhook API reference, see [API Reference > Webhooks](/docs/webhooks/webhooks/manage-webhooks-bulk#create-a-webhook). For webhook event reference, see [Webhook Events](/docs/integrations/webhooks/events). For a step-by-step tutorial on creating webhooks for certain store events, see [Webhooks Tutorial](/docs/integrations/webhooks/tutorial). ## Creating a webhook @@ -71,7 +71,7 @@ When a webhook is triggered, BigCommerce will `POST` a light payload containing You can then make a request to the [Get an order](/docs/rest-management/orders#get-an-order) endpoint to obtain full order details. -For more information on specific webhook events and their payloads, see [Webhook Events](/api-docs/store-management/webhooks/webhook-events). +For more information on specific webhook events and their payloads, see [Webhook Events](/docs/integrations/webhooks/events). ## Handling callbacks @@ -207,8 +207,8 @@ Below is a collection of third-party tools that can be used to aid in the develo ## Related resources ### Articles -* [Webhook Tutorial](/api-docs/getting-started/webhooks/setting-up-webhooks) -* [Webhook Events](/api-docs/store-management/webhooks/webhook-events) +* [Webhook Tutorial](/docs/integrations/webhooks) +* [Webhook Events](/docs/integrations/webhooks/events) ### Endpoints * [Webhooks Reference](/docs/webhooks/webhooks) diff --git a/docs/api-docs/webhooks/setting-up-webhooks.mdx b/docs/api-docs/webhooks/setting-up-webhooks.mdx index d32bff9f53..dd62580f7f 100644 --- a/docs/api-docs/webhooks/setting-up-webhooks.mdx +++ b/docs/api-docs/webhooks/setting-up-webhooks.mdx @@ -7,8 +7,8 @@ In this tutorial, we'll create a Node.js Express app that handles webhook callba ### Prerequisites -- A store or app [API account](/api-docs/getting-started/api-accounts) with [OAuth scopes](/api-docs/getting-started/api-accounts#oauth-scopes) that include **Information & Settings** read-only and **Products** read-only. -- [Webhooks Overview](/api-docs/store-management/webhooks/overview) +- A store or app [API account](/docs/start/authentication/api-accounts) with [OAuth scopes](/docs/start/authentication/api-accounts#oauth-scopes) that include **Information & Settings** read-only and **Products** read-only. +- [Webhooks Overview](/docs/integrations/webhooks) - Familiarity with working in the terminal - Familiarity working with `node` and `npm` ## Create an Express app @@ -86,7 +86,7 @@ Navigate to `http://localhost:4040/` in your browser. You should see the ngrok w ## Create a webhook -Now, we'll create a webhook that subscribes to the `store/product/updated` [webhook event](/api-docs/store-management/webhooks/webhook-events). To do so, send a `POST` request to `/stores/{{STORE_HASH}}/v3/hooks`. +Now, we'll create a webhook that subscribes to the `store/product/updated` [webhook event](/docs/integrations/webhooks/events). To do so, send a `POST` request to `/stores/{{STORE_HASH}}/v3/hooks`. ```http @@ -179,6 +179,6 @@ If you are having trouble getting ngrok started, try setting the PATH. - [What are PATH and other environment variables, and how can I set or use them?](https://superuser.com/questions/284342/what-are-path-and-other-environment-variables-and-how-can-i-set-or-use-them) ## Resources -* [Webhooks Overview](/api-docs/getting-started/webhooks/about-webhooks) -* [Webhook Events](/api-docs/store-management/webhooks/webhook-events) -* [Webhooks Reference](/docs/webhooks/overview) +* [Webhooks Overview](/docs/integrations/webhooks) +* [Webhook Events](/docs/integrations/webhooks/events) +* [Webhooks Reference](/docs/webhooks) diff --git a/docs/api-docs/webhooks/webhook-events.mdx b/docs/api-docs/webhooks/webhook-events.mdx index d8c658d5dc..49ad985fc3 100644 --- a/docs/api-docs/webhooks/webhook-events.mdx +++ b/docs/api-docs/webhooks/webhook-events.mdx @@ -5,19 +5,19 @@ keywords: webhooks, currency, currencies, events, bopis, buy online pick up in s # Webhook Events -This article contains a complete reference of all BigCommerce webhook events and their callback payloads. For an introduction to webhooks on BigCommerce, see [Webhooks Overview](/api-docs/store-management/webhooks/overview#callback-payload). +This article contains a complete reference of all BigCommerce webhook events and their callback payloads. For an introduction to webhooks on BigCommerce, see [Webhooks Overview](/docs/integrations/webhooks#callback-payload). ## Creating a webhook -To see an example request-response pair for creating a webhook, consult the creating a webhook section of the [Webhooks Overview](/api-docs/getting-started/webhooks/about-webhooks#creating-a-webhook) or the [Channel Webhooks Guide](/api-docs/channels/guide/webhooks#creating-a-webhook). +To see an example request-response pair for creating a webhook, consult the creating a webhook section of the [Webhooks Overview](/docs/integrations/webhooks#creating-a-webhook) or the [Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#creating-a-webhook). ## Callback structure | Property | Description | |:-------------|:------------| -| `scope` | The [event](/api-docs/getting-started/webhooks/webhook-events) registered when the webhook was created. | +| `scope` | The [event](/docs/integrations/webhooks/events) registered when the webhook was created. | | `store_id` | A numerical identifier that is unique to each store. | -| `data` | A lightweight description of the [event](/api-docs/getting-started/webhooks/webhook-events) that triggered the webhook. Will vary depending on the event registered. | +| `data` | A lightweight description of the [event](/docs/integrations/webhooks/events) that triggered the webhook. Will vary depending on the event registered. | | `hash` | The SHA-1 hash of the JSON-encoded payload data. Ensures users can detect duplicate events. | | `created_at` | Hook creation date as a Unix timestamp.| | `producer` | Will always follow the pattern `stores/store_hash`. This is the store that created the webhook. | @@ -71,7 +71,7 @@ Payload objects with the following scopes take the form that follows: ## Carts - For channel-specific webhooks, consult the [carts section of the Channel Webhooks Guide](/api-docs/channels/guide/webhooks#carts). + For channel-specific webhooks, consult the [carts section of the Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#carts). @@ -172,7 +172,7 @@ Payload objects with the following scopes take the form that follows: ## Cart line items - For channel-specific webhooks, consult the [cart line items section of the Channel Webhooks Guide](/api-docs/channels/guide/webhooks#cart-line-items). + For channel-specific webhooks, consult the [cart line items section of the Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#cart-line-items). | Name / Scope | Description | @@ -207,7 +207,7 @@ Payload objects with the following scopes take the form that follows: ## Categories - For channel-specific webhooks, consult the [categories section of the Channel Webhooks Guide](/api-docs/channels/guide/webhooks#categories). + For channel-specific webhooks, consult the [categories section of the Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#categories). | Name / Scope | Description | @@ -265,16 +265,16 @@ Payload objects with the following scopes take the form that follows: ## Category trees -Consult the [category trees section of the Channel Webhooks Guide](/api-docs/channels/guide/webhooks#category-trees). +Consult the [category trees section of the Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#category-trees). ## Channel events -Consult the [channel events section of the Channel Webhooks Guide](/api-docs/channels/guide/webhooks#channel-events). +Consult the [channel events section of the Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#channel-events). ## Customers - For channel-specific webhooks, consult the [customers section of the Channel Webhooks Guide](/api-docs/channels/guide/webhooks#customers). + For channel-specific webhooks, consult the [customers section of the Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#customers). | Name / Scope | Description | @@ -337,7 +337,7 @@ Payload objects with the following scopes take the form that follows: ## Emails -Consult the [emails section of the Channel Webhooks Guide](/api-docs/channels/guide/webhooks#emails). +Consult the [emails section of the Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#emails). ## Inventory @@ -369,11 +369,11 @@ Payload objects with the following scopes take the form that follows: } ``` -Also, consult the [inventory section of the _Buy Online, Pick up in Store_ Webhook Events](/buy-online-pick-up-in-store/webhooks#inventory). +Also, consult the [inventory section of the _Buy Online, Pick up in Store_ Webhook Events](/docs/integrations/webhooks/events/inventory-location#inventory). ## Locations -Consult the [locations section of the _Buy Online, Pick up in Store_ Webhook Events](/buy-online-pick-up-in-store/webhooks#locations). +Consult the [locations section of the _Buy Online, Pick up in Store_ Webhook Events](/docs/integrations/webhooks/events/inventory-location#locations). ## Metafields @@ -407,12 +407,12 @@ Payload objects with the following scopes take the form that follows: ``` ## Notifications -Consult the [notifications section of the Channel Webhooks Guide](/api-docs/channels/guide/webhooks#notifications). +Consult the [notifications section of the Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#notifications). ## Orders - For channel-specific webhooks, consult the [orders section of the Channel Webhooks Guide](/api-docs/channels/guide/webhooks#orders). + For channel-specific webhooks, consult the [orders section of the Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#orders). | Name / Scope | Description | @@ -551,15 +551,15 @@ Payload objects with the following scopes take the form that follows: ## Pages -Consult the [pages section of the Channel Webhooks Guide](/api-docs/channels/guide/webhooks#pages). +Consult the [pages section of the Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#pages). ## Price list assignments -Consult the [price list assignments section of the Channel Webhooks Guide](/api-docs/channels/guide/webhooks#price-list-assignments). +Consult the [price list assignments section of the Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#price-list-assignments). ## Product assignments -Consult the [product assignment section of the Channel Webhooks Guide](/api-docs/channels/guide/webhooks#product-assignment). +Consult the [product assignment section of the Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#product-assignment). ## Products @@ -696,15 +696,15 @@ Payload objects with the following scopes take the form that follows: ## Routes -Consult the [routes section of the Channel Webhooks Guide](/api-docs/channels/guide/webhooks#routes). +Consult the [routes section of the Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#routes). ## Scripts -Consult the [scripts section of the Channel Webhooks Guide](/api-docs/channels/guide/webhooks#scripts). +Consult the [scripts section of the Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#scripts). ## Settings -Consult the [settings section of the Channel Webhooks Guide](/api-docs/channels/guide/webhooks#settings). +Consult the [settings section of the Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#settings). ## Shipments @@ -739,7 +739,7 @@ Payload objects with the following scopes take the form that follows: ## Sites -Consult the [sites section of the Channel Webhooks Guide](/api-docs/channels/guide/webhooks#sites). +Consult the [sites section of the Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#sites). ## SKUs @@ -810,7 +810,7 @@ Payload objects with the following scopes take the form that follows: ## Social media links -Consult the [social media links section of the Channel Webhooks Guide](/api-docs/channels/guide/webhooks#social-media-links). +Consult the [social media links section of the Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#social-media-links). ## Stores @@ -896,14 +896,14 @@ Payload objects with the following scopes take the form that follows: ## Themes -Consult the [themes section of the Channel Webhooks Guide](/api-docs/channels/guide/webhooks#themes). +Consult the [themes section of the Channel Webhooks Guide](/docs/integrations/webhooks/events/channels#themes). ## Resources ### Related articles -* [Webhooks Overview](/api-docs/getting-started/webhooks/about-webhooks) -* [Webhooks Tutorial](/api-docs/store-management/webhooks/setting-up-webhooks) +* [Webhooks Overview](/docs/integrations/webhooks) +* [Webhooks Tutorial](/docs/integrations/webhooks/tutorial) * [Webhooks Reference](/docs/webhooks/webhooks) -* [Channel Webhook Events](/api-docs/channels/guide/webhooks) -* [Buy Online, Pick up in Store Webhook Events](/buy-online-pick-up-in-store/webhooks) +* [Channel Webhook Events](/docs/integrations/webhooks/events/channels) +* [Buy Online, Pick up in Store Webhook Events](/docs/integrations/webhooks/events/inventory-location) diff --git a/docs/bigcommerce-for-wordpress/extending-the-plugin/customization-guide.mdx b/docs/bigcommerce-for-wordpress/extending-the-plugin/customization-guide.mdx index 0a75437386..112b27ae1b 100644 --- a/docs/bigcommerce-for-wordpress/extending-the-plugin/customization-guide.mdx +++ b/docs/bigcommerce-for-wordpress/extending-the-plugin/customization-guide.mdx @@ -332,7 +332,7 @@ Once you save the file, WordPress will now localize the modified string when an BigCommerce for WordPress offers two possible checkout experiences, depending on whether the WordPress site has an installed SSL certificate. -If no SSL is detected, WordPress redirects shoppers to your BigCommerce checkout page to finish their transaction over a secure connection. If using the redirected checkout, visit our [Stencil documentation](/stencil-docs/customizing-checkout/optimized-one-page-checkout) to review all available options for styling the checkout page. +If no SSL is detected, WordPress redirects shoppers to your BigCommerce checkout page to finish their transaction over a secure connection. If using the redirected checkout, visit our [Stencil documentation](/docs/storefront/cart-checkout/optimized-one-page-checkout) to review all available options for styling the checkout page. If an SSL is detected, BC4WP seamlessly embeds BigCommerce’s secure one-page checkout through an iFrame on your WordPress checkout page. diff --git a/docs/bigcommerce-for-wordpress/getting-started/gutenberg-support.mdx b/docs/bigcommerce-for-wordpress/getting-started/gutenberg-support.mdx index 656b37d60d..7f9679f64b 100644 --- a/docs/bigcommerce-for-wordpress/getting-started/gutenberg-support.mdx +++ b/docs/bigcommerce-for-wordpress/getting-started/gutenberg-support.mdx @@ -20,7 +20,7 @@ The WordPress Gutenberg Visual Editor provides users the ability to easily compo #### Shortcodes - BigCommerce blocks can also be added to a wordpress page or post by using Short Codes in Gutenberg's Code Editor. For more information and a list of available shortcodes, see: [Shortcodes](/bigcommerce-for-wordpress/setup/shortcodes). + BigCommerce blocks can also be added to a wordpress page or post by using Short Codes in Gutenberg's Code Editor. For more information and a list of available shortcodes, see: [Shortcodes](/docs/storefront/wordpress/content/shortcodes). ## Creating Your Own Blocks diff --git a/docs/bigcommerce-for-wordpress/getting-started/install.mdx b/docs/bigcommerce-for-wordpress/getting-started/install.mdx index eb5363beb0..9f133c9081 100644 --- a/docs/bigcommerce-for-wordpress/getting-started/install.mdx +++ b/docs/bigcommerce-for-wordpress/getting-started/install.mdx @@ -20,6 +20,6 @@ Once connected, you will set up a new [channel name](https://support.bigcommerce ### Multisite Instructions -For multisite instructions, see [Multisite Setup](/bigcommerce-for-wordpress/setup/multi-site). +For multisite instructions, see [Multisite Setup](/docs/storefront/wordpress/start/multi-site). After you have created your new channel name, the initial product sync will begin and you can begin configuring your plugin settings. diff --git a/docs/bigcommerce-for-wordpress/getting-started/site-launch-checklist.mdx b/docs/bigcommerce-for-wordpress/getting-started/site-launch-checklist.mdx index 65a089c832..c519c56b52 100644 --- a/docs/bigcommerce-for-wordpress/getting-started/site-launch-checklist.mdx +++ b/docs/bigcommerce-for-wordpress/getting-started/site-launch-checklist.mdx @@ -7,7 +7,7 @@ This document outlines our recommended steps for launching a BigCommerce for Wor - [Taxes](https://support.bigcommerce.com/s/article/Tax-Overview) - [Shipping](https://support.bigcommerce.com/s/article/Shipping-Setup) - [Payment methods](https://support.bigcommerce.com/s/article/Online-Payment-Methods) -- [BigCommerce for WordPress Overview](/bigcommerce-for-wordpress/getting-started/introduction) +- [BigCommerce for WordPress Overview](/docs/storefront/wordpress) ## Required steps @@ -27,7 +27,7 @@ While you can use BigCommerce for WordPress on a vast majority of WordPress host BigCommerce for WordPress connects to the BigCommerce API with a set of API credentials. These credentials are for a single BigCommerce app. For production sites, you will need to create a separate set of API credentials to ensure proper rate limits are applied. -A separate set of API credentials is required if you want more than one WordPress channel configured in your account, as using the standard **connect to BC** flow in the plugin will disconnect previous app connections from your other sites. For instructions on how to create additional API credentials, see [Multi-site Setup](/bigcommerce-for-wordpress/setup/multi-site). +A separate set of API credentials is required if you want more than one WordPress channel configured in your account, as using the standard **connect to BC** flow in the plugin will disconnect previous app connections from your other sites. For instructions on how to create additional API credentials, see [Multi-site Setup](/docs/storefront/wordpress/start/multi-site). API credentials can be set using constants in the site's `wp-config.php` file, as shown below. Values set in `wp-config.php` will override options in the database. @@ -147,7 +147,7 @@ Once you install BigCommerce for WordPress, you can access the BigCommerce secti To set up a staging site on WordPress without affecting the main site, you need to set up an additional channel for the staging site. This will ensure you can test the shopper experience end-to-end with all the URLs linking back to the staging instance and an independent set of products listed. -You can do this by installing BigCommerce for WordPress on a second WordPress site using the [API credentials](/bigcommerce-for-wordpress/setup/multi-site#setting-up-a-wordpress-site-using-api-account-credentials) connection method and choosing to create a new channel during the setup process. +You can do this by installing BigCommerce for WordPress on a second WordPress site using the [API credentials](/docs/storefront/wordpress/start/multi-site#setting-up-a-wordpress-site-using-api-account-credentials) connection method and choosing to create a new channel during the setup process. ### Hide WordPress admin bar for customers @@ -157,7 +157,7 @@ For a BigCommerce for WordPress child plugin that hides the bar for customers, s ### Stop unnecessary webhooks -BigCommerce contains a number of webhooks that your site may benefit from. We recommend disabling unused webhooks to enhance performance. To disable the webhooks you do not need, use the [Webhooks API](/api-docs/store-management/webhooks/overview) and update the `is_active` fields to false. +BigCommerce contains a number of webhooks that your site may benefit from. We recommend disabling unused webhooks to enhance performance. To disable the webhooks you do not need, use the [Webhooks API](/docs/integrations/webhooks) and update the `is_active` fields to false. Because webhooks are associated by client ID, make sure you are using BigCommerce for WordPress API credentials to make these Webhook API calls. @@ -266,7 +266,7 @@ There is a growing list of plugins that support BigCommerce either through added ## Resources -- [Customization Guide](/bigcommerce-for-wordpress/extending-the-plugin/customization-guide) -- [Proxy REST API Endpoints](/bigcommerce-for-wordpress/extending-the-plugin/proxy-rest-api-endpoints) +- [Customization Guide](/docs/storefront/wordpress/themes) +- [Proxy REST API Endpoints](/docs/storefront/wordpress/platform-integration/rest-proxy) - [BigCommerce Plugin Code Reference](https://bigcommerce.moderntribe.qa/) - [BigCommerce for WordPress Changelog](https://github.com/bigcommerce/bigcommerce-for-wordpress/releases) (GitHub) diff --git a/docs/bigcommerce-for-wordpress/setup/multi-site.mdx b/docs/bigcommerce-for-wordpress/setup/multi-site.mdx index 0128d71a30..4d0791439f 100644 --- a/docs/bigcommerce-for-wordpress/setup/multi-site.mdx +++ b/docs/bigcommerce-for-wordpress/setup/multi-site.mdx @@ -35,7 +35,7 @@ Note that embedded checkout is only supported on a single domain at a time. See We suggest 'WordPress' for the name, although you can name it anything you'd like as long as it's unique within your API accounts and is more than three characters. -3. Depending on the product import options you select, the OAuth settings must match up accordingly to prevent importing errors. For more information on product import options, check out our [Product Import](/bigcommerce-for-wordpress/setup/product-import) page. +3. Depending on the product import options you select, the OAuth settings must match up accordingly to prevent importing errors. For more information on product import options, check out our [Product Import](/docs/storefront/wordpress/platform-integration/product-import) page. Set the OAuth scope settings to the following defaults according to your import options. diff --git a/docs/bigcommerce-for-wordpress/setup/troubleshooting.mdx b/docs/bigcommerce-for-wordpress/setup/troubleshooting.mdx index e2c69f2602..9738c8a7f1 100644 --- a/docs/bigcommerce-for-wordpress/setup/troubleshooting.mdx +++ b/docs/bigcommerce-for-wordpress/setup/troubleshooting.mdx @@ -12,7 +12,7 @@ These are the most common account issues: ### Necessary scopes for full functionality -The full list of scopes is on the [Multi-site Setup](https://developer.bigcommerce.com/bigcommerce-for-wordpress/setup/multisite#api-account-name-field) page. +The full list of scopes is on the [Multi-site Setup](/docs/storefront/wordpress/start/multi-site#api-account-name-field) page. ### Password reset email trouble @@ -56,7 +56,7 @@ If products are missing in the WordPress control panel, verify that you have ass The import time depends on the number of products synced from your catalog. In general, if you have more than 200 products and use `Full` import, then it is normal for the import to run for more than 30 minutes. -Note that the import process also relies on WP-Cron. Import tasks are processed only when the site has visitors. To avoid this kind of issue, follow the [Server Side Cron](https://developer.bigcommerce.com/bigcommerce-for-wordpress/extending-the-plugin/creating-reliable-cron-jobs#using-server-cron-to-enhance-wp-cron) guide. +Note that the import process also relies on WP-Cron. Import tasks are processed only when the site has visitors. To avoid this kind of issue, follow the [Server Side Cron](/docs/storefront/wordpress/deployment/creating-reliable-cron-jobs#using-server-cron-to-enhance-wp-cron) guide. ### Inactive channel. Product import canceled @@ -241,6 +241,6 @@ If you repeatedly encounter the same error or warning and this page doesn't solv ## Related articles -* [Creating Reliable Cron Jobs](https://developer.bigcommerce.com/bigcommerce-for-wordpress/extending-the-plugin/creating-reliable-cron-jobs) -* [Site Launch Checklist](https://developer.bigcommerce.com/bigcommerce-for-wordpress/getting-started/site-launch-checklist) -* [Multi-site Setup](https://developer.bigcommerce.com/bigcommerce-for-wordpress/setup/multisite#api-account-name-field) +* [Creating Reliable Cron Jobs](/docs/storefront/wordpress/deployment/creating-reliable-cron-jobs) +* [Site Launch Checklist](/docs/storefront/wordpress/deployment) +* [Multi-site Setup](/docs/storefront/wordpress/start/multi-site#api-account-name-field) diff --git a/docs/legacy/blueprint-themes/blueprint-and-developer-mode.mdx b/docs/legacy/blueprint-themes/blueprint-and-developer-mode.mdx index 48b9fd8f15..93d2c6d8b9 100644 --- a/docs/legacy/blueprint-themes/blueprint-and-developer-mode.mdx +++ b/docs/legacy/blueprint-themes/blueprint-and-developer-mode.mdx @@ -6,7 +6,7 @@ As of November 2016, new BigCommerce stores are being offered themes exclusively from BigCommerce's new [Stencil](https://support.bigcommerce.com/articles/Public/The-Stencil-Theme-Platform) theme platform. For existing stores, the control panel's **Themes Marketplace** and **My Themes** pages will show only those Blueprint themes that have been applied to the store and/or purchased before November 2016. -This means that the workflow below will work only for stores that have applied or purchased at least one Blueprint theme before November 2016. For information about developing on the current Stencil platform, please consult the [Stencil documentation](https://developer.bigcommerce.com/stencil-docs/). +This means that the workflow below will work only for stores that have applied or purchased at least one Blueprint theme before November 2016. For information about developing on the current Stencil platform, please consult the [Stencil documentation](/docs/storefront/stencil). diff --git a/docs/legacy/blueprint-themes/global-variables.mdx b/docs/legacy/blueprint-themes/global-variables.mdx index 06183eb025..9f7e6d1ce9 100644 --- a/docs/legacy/blueprint-themes/global-variables.mdx +++ b/docs/legacy/blueprint-themes/global-variables.mdx @@ -2,7 +2,7 @@ Blueprint themes use the following GLOBAL variables to pull data from the store's database. -While these variables are prefixed with the word GLOBAL, the data's availability actually varies per session, layout, panel, and snippet. For the list of variables available from anywhere in the store, regardless of session status, see [Store-Wide Variables](/legacy/blueprint-themes/store-wide-global-variables). +While these variables are prefixed with the word GLOBAL, the data's availability actually varies per session, layout, panel, and snippet. For the list of variables available from anywhere in the store, regardless of session status, see [Store-Wide Variables](/archive/storefront/blueprint/themes/store-wide-global-variables). The list below is sorted by the number of times that the Blueprint base theme references the variable – with the most frequently referenced variables at the top: diff --git a/docs/legacy/stencil-themes/stored-credit-card-management.mdx b/docs/legacy/stencil-themes/stored-credit-card-management.mdx index 52b707c898..2e7acce7aa 100644 --- a/docs/legacy/stencil-themes/stored-credit-card-management.mdx +++ b/docs/legacy/stencil-themes/stored-credit-card-management.mdx @@ -119,6 +119,6 @@ After adding a card, shoppers will only be able to modify the billing address. I ## Resources ### Related Articles -* [Payments API](/api-docs/store-management/payments-api-overview) +* [Payments API](/docs/store-operations/payments) * [Enabling Stored Cards](https://support.bigcommerce.com/s/article/Enabling-Stored-Credit-Cards) (BigCommerce Knowledge Base) * [The Complete Guide to Checkout Customization on BigCommerce](https://medium.com/bigcommerce-developer-blog/the-complete-guide-to-checkout-customization-on-bigcommerce-6b566bc36fa9) (Developer Blog) diff --git a/docs/legacy/storefronts/nextjs-commerce-guide.mdx b/docs/legacy/storefronts/nextjs-commerce-guide.mdx index 3f5653bafd..16d254dc8b 100644 --- a/docs/legacy/storefronts/nextjs-commerce-guide.mdx +++ b/docs/legacy/storefronts/nextjs-commerce-guide.mdx @@ -7,7 +7,7 @@ BigCommerce offers cloud-based multi-channel ecommerce solutions. We also offer This article is deprecated. Next.js Commerce has released a v2 with breaking changes. For Next.js Commerce v1, you can view the [code](https://github.com/vercel/commerce/tree/v1), [demo](https://commerce-v1.vercel.store/), and [release notes](https://github.com/vercel/commerce/releases/tag/v1) at Vercel, and use this article to get started. -To work with the improved v2, see our article on [Next.js + BigCommerce](/api-docs/storefronts/nextjs-commerce). +To work with the improved v2, see our article on [Next.js + BigCommerce](/docs/storefront/next-commerce). ### Headless BigCommerce @@ -32,7 +32,7 @@ To get started with Next.js Commerce, you'll need to deploy a live version direc - An IDE - Knowledge of [Next.js](https://nextjs.org/) -- Knowledge of [BigCommerce APIs](/api-docs) +- Knowledge of [BigCommerce APIs](/docs/build) - Git provider (GitHub, Bitbucket, GitLab) - NPM @@ -109,8 +109,8 @@ BIGCOMMERCE_STORE_API_STORE_HASH=${STORE_HASH} ![STORE-HASH location in URL](https://raw.githubusercontent.com/bigcommerce/dev-docs/master/assets/images/nextjs-commerce-15.png) -- `STORE_TOKEN|STORE_CLIENT`: For instructions on generating store-level API credentials, visit [Creating store-level API credentials](/api-docs/getting-started/api-accounts#creating-store-level-api-credentials). -- `STOREFRONT_API_TOKEN`: For instructions on generating the Storefront API token, visit [Create a Token](/docs/storefront-auth/tokens#create-a-token). +- `STORE_TOKEN|STORE_CLIENT`: For instructions on generating store-level API credentials, visit [Creating store-level API credentials](/docs/start/authentication/api-accounts#creating-store-level-api-credentials). +- `STOREFRONT_API_TOKEN`: For instructions on generating the Storefront API token, visit [Create a Token](/docs/rest-authentication/tokens#create-a-token). - `CHANNEL_ID`: Use the channel ID of the channel created by Vercel during deployment. For information on how to retrieve channel information, visit [Get All Channels](/docs/rest-management/channels#get-all-channels). 3. Open a terminal in your repository's root directory. To install the project's dependencies, run `npm install`. @@ -165,7 +165,7 @@ SWR uses FETCH for data fetching: [vercel/fetch: Opinionated fetch (with retryin ### SSL/TSL Certificate -To use BigCommerce's [redirected checkout](https://developer.bigcommerce.com/api-docs/storefronts/guide/checkout#redirecting-to-the-bigcommerce-checkout), make sure your Next.js Commerce storefront has an SSL/TSL certificate installed and you are using URL beginning with `https://`. +To use BigCommerce's [redirected checkout](/docs/storefront/headless/cart-checkout/checkout#redirecting-to-the-bigcommerce-checkout), make sure your Next.js Commerce storefront has an SSL/TSL certificate installed and you are using URL beginning with `https://`. ### Next SEO diff --git a/docs/legacy/v2-catalog-products/v2-option-values.mdx b/docs/legacy/v2-catalog-products/v2-option-values.mdx index 8308a1315e..d232faa994 100644 --- a/docs/legacy/v2-catalog-products/v2-option-values.mdx +++ b/docs/legacy/v2-catalog-products/v2-option-values.mdx @@ -12,7 +12,7 @@ Values that can be selected for an option. #### Deprecated Avoid using this API operation if possible. It will be removed in a future version. - For the most up-to-date version of this API, see [Product Option Values](/legacy/v2-catalog-products/v2-option-values). + For the most up-to-date version of this API, see [Product Option Values](/archive/store-operations/v2-catalog-products/v2-option-values). ### Option Value Object – Properties diff --git a/docs/legacy/v2-catalog-products/v2-product-options.mdx b/docs/legacy/v2-catalog-products/v2-product-options.mdx index 4556121069..fe235d50a2 100644 --- a/docs/legacy/v2-catalog-products/v2-product-options.mdx +++ b/docs/legacy/v2-catalog-products/v2-product-options.mdx @@ -10,7 +10,7 @@ keywords: v2, catalog, products, #### Deprecated Avoid using this API operation if possible. It will be removed in a future version. - For the most up-to-date version of this API, see [Product Options](/legacy/v2-catalog-products/v2-product-options). + For the most up-to-date version of this API, see [Product Options](/archive/store-operations/v2-catalog-products/v2-product-options). ### Product Options Object – Properties diff --git a/docs/legacy/v2-catalog-products/v2-products.mdx b/docs/legacy/v2-catalog-products/v2-products.mdx index c6ce76ec1e..ecb5b81b42 100644 --- a/docs/legacy/v2-catalog-products/v2-products.mdx +++ b/docs/legacy/v2-catalog-products/v2-products.mdx @@ -83,7 +83,7 @@ A product object represents a saleable item in the catalog. | is_open_graph_thumbnail | boolean | If set to `true`, the product thumbnail image will be used as the open graph image. | | upc | string | The product UPC code, which is used in feeds for shopping comparison sites. | | date_last_imported | date | The date on which the product was last imported using the bulk importer. | -| option_set_id | int | The ID of the [option set](/legacy/v2-catalog-products/v2-option-sets) applied to the product. (NOTE: To remove the option set from the product, set the value to `null` on update.) | +| option_set_id | int | The ID of the [option set](/archive/store-operations/v2-catalog-products/v2-option-sets) applied to the product. (NOTE: To remove the option set from the product, set the value to `null` on update.) | | tax_class_id | int | The ID of the tax class applied to the product. (NOTE: Value ignored if automatic tax is enabled.) | | option_set_display | enum | The position on the product page where options from the option set will be displayed. | | bin_picking_number | string | The BIN picking number for the product. | @@ -98,8 +98,8 @@ A product object represents a saleable item in the catalog. | custom_fields | resource | See the [Custom Fields](/api/v2/#custom-fields) resource for information. | | videos | resource | See the [Videos resource](/api/v2/#videos) for information. | | skus | resource | Stock Keeping Units for the product. See the [Product SKUs](/api/v2/#skus) resource for the definition of a sku object. | -| rules | resource | Rules that apply only to this product, based on the product's [option set](/legacy/v2-catalog-products/v2-option-sets). See [Product Rules](/legacy/v2-catalog-products/v2-product-rules) resource for information. | -| option_set | resource | See the [Product Option Sets](/legacy/v2-catalog-products/v2-option-sets) resource for information. | +| rules | resource | Rules that apply only to this product, based on the product's [option set](/archive/store-operations/v2-catalog-products/v2-option-sets). See [Product Rules](/archive/store-operations/v2-catalog-products/v2-product-rules) resource for information. | +| option_set | resource | See the [Product Option Sets](/archive/store-operations/v2-catalog-products/v2-option-sets) resource for information. | | options | resource | Options from the [option set](/api/v2/#option-sets) applied to the product. See the [Product Options](/api/v2/#product-options) resource for information. | | tax_class | resource | Assigned tax class, when using a manual tax setup. This can be a number matching one of the tax classes set up in your store. | | avalara_product_tax_code | resource | Accepts AvaTax System Tax Codes, which identify products and services that fall into special sales-tax categories. By using these codes, merchants who subscribe to Avalara Premium can calculate sales taxes more accurately.

Stores without Avalara Premium will ignore the code when calculating sales tax. Do not pass more than one code. The codes are case-sensitive.

For details, please see Avalara's overview and FAQ on AvaTax System Tax Codes. You can also download codes as a zipfile of spreadsheets, or search or browse codes in Avalara's Tax Code Search Tool. (These external links are subject to change.) | diff --git a/docs/legacy/v2-products/v2-v3.mdx b/docs/legacy/v2-products/v2-v3.mdx index 9090176ada..d1cb34cad1 100644 --- a/docs/legacy/v2-products/v2-v3.mdx +++ b/docs/legacy/v2-products/v2-v3.mdx @@ -19,7 +19,7 @@ Lastly, the V3 API has been optimized for performance, allowing data to be synce ### Variants -Every purchasable entity in the catalog is now a variant, including the product itself. This enables enhanced flows around inventory management, such as the ability to solely use the variants endpoint to manage inventory levels. For more on variants see [Variants](/api-docs/store-management/catalog/catalog-overview#variants). +Every purchasable entity in the catalog is now a variant, including the product itself. This enables enhanced flows around inventory management, such as the ability to solely use the variants endpoint to manage inventory levels. For more on variants see [Variants](/docs/store-operations/catalog#variants). In V3 a variant needs to be created for every combination of option values. In V2 it was possible to create a SKU with a subset of product options. @@ -32,7 +32,7 @@ We recommend creating products using V3 as BigCommerce starts to move operations ### Options and Modifiers -There is now a clear separation of [options that define variants](/api-docs/store-management/catalog/catalog-overview#variant-options) versus [options that are modifiers of a variant](/api-docs/store-management/catalog/catalog-overview#modifier-options). This simplifies the creation and management of variant prices and modifier adjusters and removes the need to use complex rules, in all but the most extreme cases. +There is now a clear separation of [options that define variants](/docs/store-operations/catalog#variant-options) versus [options that are modifiers of a variant](/docs/store-operations/catalog#modifier-options). This simplifies the creation and management of variant prices and modifier adjusters and removes the need to use complex rules, in all but the most extreme cases. In V3, options and modifiers are attached directly to the product, without the requirement to create an option set beforehand. @@ -49,7 +49,7 @@ Creating Products and Variants on V3: Variants can be included with a GET request to lower the number of API calls being made using `?include=variants`. -V3 includes endpoints for working with catalog trees. Stores that have multi-storefront enabled can have more than one tree. See the catagories section of the [Multi-Storefront API Guide](/api-docs/multi-storefront/api-guide#categories). Stores that are not MSF-enabled can use the same endponts. +V3 includes endpoints for working with catalog trees. Stores that have multi-storefront enabled can have more than one tree. See the catagories section of the [Multi-Storefront API Guide](/docs/storefront/multi-storefront/guide#categories). Stores that are not MSF-enabled can use the same endponts. ## Interoperability between V2 and V3 @@ -59,7 +59,7 @@ Previously (prior to December 17th, 2018), when a product option, is created in { "status": 422, "title": "The product is currently associated with an option set, please remove it before editing an option or modifier.", - "type": "/api#api-status-codes", + "type": "/docs/start/about/status-codes", "errors": { "product_id": "The product is currently associated with an option set, please remove it before editing an option or modifier." } @@ -901,7 +901,7 @@ This examples uses a checkbox which is created in two steps. `POST /v3/catalog/products/{product_id}/complex-rules` -They are not recommended for V3 products since they can be created at the variant level. See [Complex Rules](/api-docs/store-management/catalog/catalog-overview#complex-rules) for more information. +They are not recommended for V3 products since they can be created at the variant level. See [Complex Rules](/docs/store-operations/catalog#complex-rules) for more information. ```json showLineNumbers copy { diff --git a/docs/msf/managing-store-configuration.mdx b/docs/msf/managing-store-configuration.mdx index a4110f3a18..6eef79b9c8 100644 --- a/docs/msf/managing-store-configuration.mdx +++ b/docs/msf/managing-store-configuration.mdx @@ -198,4 +198,4 @@ Accept: application/json At every point of contact a shopper has with a storefront or other sales channel, channel-specific settings are displayed first. Global default settings will only appear to shoppers when channel-specific values for those properties are not defined. This goes for viewing the storefront or product feed, reading a transactional email, receiving a packing slip, and all other interactions with the channel. -The Settings APIs discussed in this article are primarily for use cases involved with the management or administration of store settings. If your application's proposed implementation of the Settings APIs is mostly concerned with presenting the correct shopper-facing details at their "touch point" with a storefront or other sales channel, consider using the [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview) to simplify your integration. Storefront API requests are run in the context of the shopper's active channel, so the relevant configuration is already correctly integrated with the data it returns. Stencil-powered storefront themes are also equipped with objects that represent the shopper-facing experience in context. +The Settings APIs discussed in this article are primarily for use cases involved with the management or administration of store settings. If your application's proposed implementation of the Settings APIs is mostly concerned with presenting the correct shopper-facing details at their "touch point" with a storefront or other sales channel, consider using the [GraphQL Storefront API](/docs/storefront/graphql) to simplify your integration. Storefront API requests are run in the context of the shopper's active channel, so the relevant configuration is already correctly integrated with the data it returns. Stencil-powered storefront themes are also equipped with objects that represent the shopper-facing experience in context. diff --git a/docs/msf/msf-api-guide.mdx b/docs/msf/msf-api-guide.mdx index 64b64f0e11..679a5c5d53 100644 --- a/docs/msf/msf-api-guide.mdx +++ b/docs/msf/msf-api-guide.mdx @@ -9,9 +9,9 @@ keywords: multistorefront, channels, multi-channel, multichannel, sort, graphql, When your integration creates a cart or checkout, make sure it specifies the `channel_id` for the storefront or other channel the shopper is using. -If the cart is associated with the shopper's channel and the relationship between a storefront's channel and site has been properly configured with the [Sites API](/docs/rest-management/sites#create-a-site), both [cart redirect URLs](/docs/rest-management/carts/redirects#create-cart-redirect-url) and [embedded checkout URLs](/api-docs/storefronts/embedded-checkout/embedded-checkout-overview) will refer the shopper to the correct site. +If the cart is associated with the shopper's channel and the relationship between a storefront's channel and site has been properly configured with the [Sites API](/docs/rest-management/sites#create-a-site), both [cart redirect URLs](/docs/rest-management/carts/redirects#create-cart-redirect-url) and [embedded checkout URLs](/docs/storefront/cart-checkout/embedded-checkout) will refer the shopper to the correct site. -If your application interacts with shoppers, you can use the [GraphQL Storefront API: Carts and Checkout](/api-docs/storefront/graphql/carts-and-checkout) to access cart and checkout data for shoppers in real time. +If your application interacts with shoppers, you can use the [GraphQL Storefront API: Carts and Checkout](/docs/storefront/cart-checkout/guide/graphql-storefront) to access cart and checkout data for shoppers in real time. ## Categories @@ -33,7 +33,7 @@ Accept: application/json Currently, a tree may only be assigned to a maximum of one channel. BigCommerce's roadmap includes relaxing this restriction in the future so that several channels can share a common tree.
-If your application interacts with shoppers, you may be able to use the [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview) to get the active category tree for shopper's channel in real time. +If your application interacts with shoppers, you may be able to use the [GraphQL Storefront API](/docs/storefront/graphql) to get the active category tree for shopper's channel in real time. ## Customers @@ -45,9 +45,9 @@ Each customer account has an `origin_channel_id` that references the channel on [Orders API reference documentation](/docs/rest-management/transactions) -For applications that deal with order management, it is now crucial to include the `channel_id` as part of the order object. Among other benefits, linking each order to a channel will make it easier to sort, categorize, and filter orders by the storefront or other sales channel in which they were placed. You will also avoid accidentally having [an order associated with the default channel](/api-docs/multi-storefront/overview#backwards-compatibility), which may confuse shoppers by exposing store configuration details that do not apply to their channel. +For applications that deal with order management, it is now crucial to include the `channel_id` as part of the order object. Among other benefits, linking each order to a channel will make it easier to sort, categorize, and filter orders by the storefront or other sales channel in which they were placed. You will also avoid accidentally having [an order associated with the default channel](/docs/storefront/multi-storefront#backwards-compatibility), which may confuse shoppers by exposing store configuration details that do not apply to their channel. -Similarly, if your application is shopper-facing and deals with orders, it's important to provide the appropriate channel-specific information to shoppers. For example, if your app sends order confirmation emails to customers, you'll need to ensure that any store information, URLs, and links in your email reflect the correct storefront or other sales channel. For more details, see the use case considerations at the end of [Managing Store Configuration](/api-docs/store-management/settings#the-cumulative-effect-of-global-and-channel-specific-settings). +Similarly, if your application is shopper-facing and deals with orders, it's important to provide the appropriate channel-specific information to shoppers. For example, if your app sends order confirmation emails to customers, you'll need to ensure that any store information, URLs, and links in your email reflect the correct storefront or other sales channel. For more details, see the use case considerations at the end of [Managing Store Configuration](/docs/rest-management/settings#the-cumulative-effect-of-global-and-channel-specific-settings). ## Price lists @@ -64,7 +64,7 @@ The V3 Price List Assignments API allows you to assign price lists to channels, If your implementation uses price lists to manage pricing, we recommend that you start using the V3 Price List Assignments API so that your app fully understands and can reason about the pricing state for the customers, orders, and channels on the merchant's store. -If your use case is primarily concerned with what the price will be for a given shopper, consider using the [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview) to fetch data about the shopper's view in real time. +If your use case is primarily concerned with what the price will be for a given shopper, consider using the [GraphQL Storefront API](/docs/storefront/graphql) to fetch data about the shopper's view in real time. ## Products @@ -81,11 +81,11 @@ It is important to understand the difference between assigning a product to a ca If your app provides merchants with a sales channel, such as an integration with a third-party marketplace, we recommend that you check the merchant's catalog to determine their existing channel assignments. This will help your app understand and communicate with the merchant about which products the integration's channel is currently permitted to offer for sale. For extended product information relevant to your channel, consult the [Channel Listings API](/docs/rest-management/channels/channel-listings#get-channel-listings). -If your application interacts with shoppers, you can use the [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview) to get the correct product availability and data for a given shopper in real time. +If your application interacts with shoppers, you can use the [GraphQL Storefront API](/docs/storefront/graphql) to get the correct product availability and data for a given shopper in real time. ### The nuances of channel assignments -Use the [Channel Assignments API](/docs/rest-catalog/products/channel-assignments#get-products-channel-assignments) to create and manage product assignments for [storefronts and other sales channels](/api-docs/multi-storefront/overview#channels). +Use the [Channel Assignments API](/docs/rest-catalog/products/channel-assignments#get-products-channel-assignments) to create and manage product assignments for [storefronts and other sales channels](/docs/storefront/multi-storefront#channels). A product assigned to a storefront channel can be sold on that channel, discovered in search, and accessed by direct link, unless that storefront's settings otherwise disable direct links. diff --git a/docs/msf/msf-app-compatibility.mdx b/docs/msf/msf-app-compatibility.mdx index 960ffa389e..9ba5754bd1 100644 --- a/docs/msf/msf-app-compatibility.mdx +++ b/docs/msf/msf-app-compatibility.mdx @@ -7,7 +7,7 @@ keywords: currency, currencies, headless, channels, apps, multistorefront, msf ## Compatible versus optimized -Multi-storefront **compatible** apps work with the data from all storefronts and other sales channels associated with a store. These apps must handle the core [install and load functions](/api-docs/apps/guide/callbacks). Compatible apps must be **channel aware**; they should be able to work intelligently with the configuration nuances of multiple storefronts and other sales channels. +Multi-storefront **compatible** apps work with the data from all storefronts and other sales channels associated with a store. These apps must handle the core [install and load functions](/docs/integrations/apps/guide/callbacks). Compatible apps must be **channel aware**; they should be able to work intelligently with the configuration nuances of multiple storefronts and other sales channels. In addition to being channel-aware, **optimized** multi-storefront apps are **channel extensible**. They offer features that allow merchants and other users to configure parameters that are unique to each channel, over and above the offerings of BigCommerce. @@ -27,56 +27,56 @@ Ensure that your app's settings acknowledge multiple storefronts and convey that In testing, make sure that users can install and load the app in a store with multiple BigCommerce storefront channels. Use the [Channels API](/docs/rest-management/channels) to work with basic data about the store's channels. Use the [Sites API](/docs/rest-management/sites) to work with the channels' sites. -Edit the app's profile in your [Developer Portal](https://devtools.bigcommerce.com/my/apps) to indicate that it supports multi-storefront functionality. See [Managing Apps in the Developer Portal](/api-docs/apps/guide/developer-portal#indicate-multi-storefront-support). +Edit the app's profile in your [Developer Portal](https://devtools.bigcommerce.com/my/apps) to indicate that it supports multi-storefront functionality. See [Managing Apps in the Developer Portal](/docs/integrations/apps/guide/developer-portal#indicate-multi-storefront-support). ## Reading from and writing to multiple channels An app that functions correctly with a store's multi-channel product catalog and customer base must be able to handle the following complexity. Ensure that your app meets these criteria before submitting it for approval. -1. Products synced to the app should include correct channel assignments. Read more about [retrieving product channel assignments](/api-docs/multi-storefront/api-guide#products). Merchants who use your app to create products should be able to assign them to one or more channels. +1. Products synced to the app should include correct channel assignments. Read more about [retrieving product channel assignments](/docs/storefront/multi-storefront/guide#products). Merchants who use your app to create products should be able to assign them to one or more channels. -2. Categories synced to the app should include correct channel assignments. Read more about [identifying the category tree](/api-docs/multi-storefront/api-guide#categories) that's active on a sales channel. Your app should allow merchants to integrate new categories individually into each target channel's active category tree. +2. Categories synced to the app should include correct channel assignments. Read more about [identifying the category tree](/docs/storefront/multi-storefront/guide#categories) that's active on a sales channel. Your app should allow merchants to integrate new categories individually into each target channel's active category tree. -3. Orders synced to the app should include correct channel assignments. Orders that your app creates should include correct storefront channel assignments. Your app should be able to assign new orders to one or more channels. Read more about [channel-aware orders](/api-docs/multi-storefront/api-guide#orders). +3. Orders synced to the app should include correct channel assignments. Orders that your app creates should include correct storefront channel assignments. Your app should be able to assign new orders to one or more channels. Read more about [channel-aware orders](/docs/storefront/multi-storefront/guide#orders). -4. Customers synced to the app should include correct channel access permissions within the app. If your app creates any new customers, it should be able to assign them to one or more channels. Read more about [customers and channels](/api-docs/multi-storefront/api-guide#customers). Customer groups synced to the app should also include correct channel assignments. If your app creates any new customer groups, it should be able to assign them to one or more channels. +4. Customers synced to the app should include correct channel access permissions within the app. If your app creates any new customers, it should be able to assign them to one or more channels. Read more about [customers and channels](/docs/storefront/multi-storefront/guide#customers). Customer groups synced to the app should also include correct channel assignments. If your app creates any new customer groups, it should be able to assign them to one or more channels. #### Price lists -Price lists have been substantially upgraded to support multi-channel sales. Read more about [channel-aware price lists](/api-docs/multi-storefront/api-guide#price-lists). +Price lists have been substantially upgraded to support multi-channel sales. Read more about [channel-aware price lists](/docs/storefront/multi-storefront/guide#price-lists). ## Storefront content All storefront content that your app creates should be assigned to the channel of the merchant's choosing. Merchants should be able to customize storefront content on a channel-by-channel basis. -1. Scripts installed using the Scripts API should include correct storefront site assignments. Read more about using the `site_id` to [assign a script to a site](/api-docs/multi-storefront/api-guide#scripts). +1. Scripts installed using the Scripts API should include correct storefront site assignments. Read more about using the `site_id` to [assign a script to a site](/docs/storefront/multi-storefront/guide#scripts). -2. Tracking scripts and pixels should be unique to each storefront or other sales channel. Read more about [scripts](/api-docs/multi-storefront/api-guide#scripts) and consult the [Update a web analytics provider](/docs/rest-management/settings/analytics#update-a-web-analytics-provider) endpoint. +2. Tracking scripts and pixels should be unique to each storefront or other sales channel. Read more about [scripts](/docs/storefront/multi-storefront/guide#scripts) and consult the [Update a web analytics provider](/docs/rest-management/settings/analytics#update-a-web-analytics-provider) endpoint. -3. If your app creates storefront content or features, merchants should be able to make it accessible on one or more channels. Read more about [channel-aware storefront content](/api-docs/multi-storefront/api-guide#storefront-and-content). +3. If your app creates storefront content or features, merchants should be able to make it accessible on one or more channels. Read more about [channel-aware storefront content](/docs/storefront/multi-storefront/guide#storefront-and-content). -4. Any widgets that your app creates should be available on one or more storefronts. Read more about [channel-aware widgets](/api-docs/multi-storefront/api-guide#widgets). +4. Any widgets that your app creates should be available on one or more storefronts. Read more about [channel-aware widgets](/docs/storefront/multi-storefront/guide#widgets). -5. Themes synced to the app should include correct storefront site assignments. Published themes should include configuration options for any subset of storefronts. Read more about [channel-aware themes](/api-docs/multi-storefront/api-guide#themes). +5. Themes synced to the app should include correct storefront site assignments. Published themes should include configuration options for any subset of storefronts. Read more about [channel-aware themes](/docs/storefront/multi-storefront/guide#themes). 6. Custom template files synced to the app should include correct storefront assignments. Custom template files that the app creates should include configuration options for one or more storefronts. Read more about [widget template objects](/docs/rest-content/widgets/widget-template#get-a-widget-template). -7. Pages synced to the app should include correct storefront assignments. Pages that the app creates should include configuration options for one or more storefronts. Read more about [working with pages' site_id property](/api-docs/multi-storefront/api-guide#pages). +7. Pages synced to the app should include correct storefront assignments. Pages that the app creates should include configuration options for one or more storefronts. Read more about [working with pages' site_id property](/docs/storefront/multi-storefront/guide#pages). -8. Carts that the app tracks or creates should include the correct `channel_id`. Read more about [channel-aware carts and checkout](/api-docs/multi-storefront/api-guide#cart-and-checkout). +8. Carts that the app tracks or creates should include the correct `channel_id`. Read more about [channel-aware carts and checkout](/docs/storefront/multi-storefront/guide#cart-and-checkout). ## Additional settings and content -1. BigCommerce store settings synced to the app should include the correct channel assignments. Merchants should be able to configure store settings that the app creates for one or more channels. Read more about [managing store configuration](/api-docs/store-management/settings). +1. BigCommerce store settings synced to the app should include the correct channel assignments. Merchants should be able to configure store settings that the app creates for one or more channels. Read more about [managing store configuration](/docs/rest-management/settings). -2. Newsletter subscribers synced to the app should include the correct storefront channel assignments. Merchants should be able to assign any subscribers that the app creates to one or more channels. Read more about [subscribers](/api-docs/multi-storefront/api-guide#subscribers). +2. Newsletter subscribers synced to the app should include the correct storefront channel assignments. Merchants should be able to assign any subscribers that the app creates to one or more channels. Read more about [subscribers](/docs/storefront/multi-storefront/guide#subscribers). 3. Currencies synced to the app should include correct channel assignments. Merchants should be able to ensure that currency modifications that the app makes apply to the channel or channels of their choosing. Consult the [Get store information endpoint](/docs/rest-management/store-information#get-store-information) to learn more about viewing and updating currency properties. -4. 301 redirects synced from or written to a merchant's store must include the correct storefront's `site_id`. Read more about [channel-aware 301 redirects](/api-docs/multi-storefront/api-guide#redirects). +4. 301 redirects synced from or written to a merchant's store must include the correct storefront's `site_id`. Read more about [channel-aware 301 redirects](/docs/storefront/multi-storefront/guide#redirects). 5. Transactional emails synced from or written to a merchant's store should include the correct `channel_id`. Consult the reference for the [Get transactional email settings](/docs/rest-management/settings/email-statuses#get-transactional-email-settings) and [Update transactional email settings](/docs/rest-management/settings/email-statuses#update-transactional-email-settings) endpoints. diff --git a/docs/msf/msf-overview.mdx b/docs/msf/msf-overview.mdx index 4e68329aa8..3103f06e5d 100644 --- a/docs/msf/msf-overview.mdx +++ b/docs/msf/msf-overview.mdx @@ -6,7 +6,7 @@ Multi-storefront capabilities extend the reach of BigCommerce stores. Merchants We intend to provide these new features with no breaking changes to the platform so that existing single-storefront merchant stores continue to function as they did previously, and the existing APIs function as before for these stores. However, there are several additive changes to the platform. To provide the full multi-storefront, multi-channel support that merchants with complex stores expect and require, our partners must adapt. -This guide provides an overview of the core features that power multi-storefront, multi-channel stores. Our [Multi-Storefront API Guide](/api-docs/multi-storefront/api-guide) and [Multi-Storefront App Compatibility and Optimization](/api-docs/apps/multi-storefront) article provide guidance on how developers can modify and reimagine applications to support multi-storefront, multi-channel selling. +This guide provides an overview of the core features that power multi-storefront, multi-channel stores. Our [Multi-Storefront API Guide](/docs/storefront/multi-storefront/guide) and [Multi-Storefront App Compatibility and Optimization](/docs/integrations/apps/multi-storefront) article provide guidance on how developers can modify and reimagine applications to support multi-storefront, multi-channel selling. ![channels-sites-diagram.webp](https://storage.cloud.google.com/bigcommerce-production-dev-center/images/msf-beta-guide/channels-sites-diagram.webp) @@ -38,7 +38,7 @@ Each BigCommerce store is provisioned with one channel out of the box, intended In some cases when a more specific channel cannot be associated with an interaction, channel `1` may be used for backwards compatibility. For example, orders created using the V2 Orders API that do not specify a channel ID will be associated with channel `1`. -To learn more about upgrading your application to support multi-channel sales, see [Multi-Storefront App Compatibility](/api-docs/apps/multi-storefront#upgrading-existing-apps). +To learn more about upgrading your application to support multi-channel sales, see [Multi-Storefront App Compatibility](/docs/integrations/apps/multi-storefront#upgrading-existing-apps). ## Sites @@ -55,7 +55,7 @@ Every Stencil storefront has a site, in addition to having a channel of type `st The first Stencil storefront of each merchant store has an ID of `1000` and is also known as the default site. It cannot be deleted. -To learn more about upgrading your application to support multi-storefront functionality, see [Multi-Storefront App Compatibility](/api-docs/apps/multi-storefront#upgrading-existing-apps). +To learn more about upgrading your application to support multi-storefront functionality, see [Multi-Storefront App Compatibility](/docs/integrations/apps/multi-storefront#upgrading-existing-apps). ## Settings & Configuration @@ -63,11 +63,11 @@ To learn more about upgrading your application to support multi-storefront funct The Settings APIs now allow your app to read and write many important elements of the store's configuration, both globally and on a per-channel basis. If your application manages settings, you can use these endpoints to enable merchants to configure different settings for different channels. You may also wish to read and respect any merchant-configured settings that control details of your application's behavior. -If your application interacts with shoppers, you may be able to use the [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview) instead to get the relevant settings for a given shopper in real time. +If your application interacts with shoppers, you may be able to use the [GraphQL Storefront API](/docs/storefront/graphql) instead to get the relevant settings for a given shopper in real time. -For a deep dive into this new class of APIs, see our [Settings API Overview](/api-docs/store-management/settings). +For a deep dive into this new class of APIs, see our [Settings API Overview](/docs/rest-management/settings). ## Resources -* [Multi-Storefront API Guide](/api-docs/multi-storefront/api-guide) -* [Multi-Storefront App Compatibility and Optimization](/api-docs/apps/multi-storefront) -* [Settings API Overview](/api-docs/store-management/settings) +* [Multi-Storefront API Guide](/docs/storefront/multi-storefront/guide) +* [Multi-Storefront App Compatibility and Optimization](/docs/integrations/apps/multi-storefront) +* [Settings API Overview](/docs/rest-management/settings) diff --git a/docs/partner-apps/bundleb2b/b2b-edition.mdx b/docs/partner-apps/bundleb2b/b2b-edition.mdx index c8936c22d8..64faefec18 100644 --- a/docs/partner-apps/bundleb2b/b2b-edition.mdx +++ b/docs/partner-apps/bundleb2b/b2b-edition.mdx @@ -20,9 +20,9 @@ For a more complete list of B2B Edition feature enhancements, see our Help Cente The shopping frontend of B2B Edition for Stencil runs on Stencil storefronts alone, whereas the [B2B Edition Buyer Portal](https://support.bigcommerce.com/s/article/B2B-Edition-Buyer-Functions#buyer-portal) is storefront technology-agnostic. -The Buyer Portal uses the [Scripts API](/api-docs/store-management/scripts-overview) to deploy a React app that accomplishes many of the same things as B2B Edition for Stencil. It is Stencil-compatible, but does not use Stencil's context or Handlebars theme objects. +The Buyer Portal uses the [Scripts API](/docs/integrations/scripts) to deploy a React app that accomplishes many of the same things as B2B Edition for Stencil. It is Stencil-compatible, but does not use Stencil's context or Handlebars theme objects. -The Buyer Portal is also channel-aware and [MSF-optimized](/api-docs/apps/multi-storefront). The backend can manage B2B functionality on multiple storefronts. +The Buyer Portal is also channel-aware and [MSF-optimized](/docs/integrations/apps/multi-storefront). The backend can manage B2B functionality on multiple storefronts. For more on the differences, see our Help Center article on the [Buyer Portal](https://support.bigcommerce.com/s/article/B2B-Edition-Buyer-Functions#buyer-portal). We encourage businesses who are installing B2B Edition for the first time to use the Buyer Portal, as the B2B Edition team is actively developing the Buyer Portal and adding new features regularly. If you choose to use the Buyer Portal, this article is not relevant to your implementation. @@ -43,8 +43,8 @@ This section details how to edit the DOM, CSS, and display text in a B2B Edition ### Prerequisites for customizing B2B Edition - [Node.js 14+ and npm](https://nodejs.org/en/download/releases/) -- The [Stencil CLI](/stencil-docs/installing-stencil-cli/installing-stencil) -- A Stencil-scoped [API account access_token](/stencil-docs/installing-stencil-cli/live-previewing-a-theme#creating-store-level-api-accounts-for-stencil), to push your custom B3-optimized theme to a store +- The [Stencil CLI](/docs/storefront/stencil/cli/install) +- A Stencil-scoped [API account access_token](/docs/storefront/stencil/cli/development-server#creating-store-level-api-accounts-for-stencil), to push your custom B3-optimized theme to a store - A text editor or IDE, such as [VS Code](https://visualstudio.microsoft.com) - Access to a BigCommerce store control panel with store owner permissions diff --git a/docs/stencil-docs/configure-store-design-ui/defining-global-styles.mdx b/docs/stencil-docs/configure-store-design-ui/defining-global-styles.mdx index 56eeb38c77..2aaf52b894 100644 --- a/docs/stencil-docs/configure-store-design-ui/defining-global-styles.mdx +++ b/docs/stencil-docs/configure-store-design-ui/defining-global-styles.mdx @@ -13,7 +13,7 @@ You can manage your theme's front-end components by configuring its `config.json * Provides metadata for your theme's listing in the Theme Marketplace. * Defines variations included in your theme. -For a list of all available keys and values in `config.json`, see [Theme Objects](/theme-objects). +For a list of all available keys and values in `config.json`, see [Theme Objects](/docs/storefront/stencil/themes/context/object-reference/config). ## Requirements and restrictions diff --git a/docs/stencil-docs/customizing-checkout/checkout-sdk-example.mdx b/docs/stencil-docs/customizing-checkout/checkout-sdk-example.mdx index 6d8304554f..ab18122777 100644 --- a/docs/stencil-docs/customizing-checkout/checkout-sdk-example.mdx +++ b/docs/stencil-docs/customizing-checkout/checkout-sdk-example.mdx @@ -1,8 +1,8 @@ # Checkout SDK Tutorial -This tutorial assumes you are familiar with the Checkout SDK. If you are unfamiliar with the Checkout SDK, refer to [Getting Started with Checkout SDK](/docs/stencil-docs/customizing-checkout/checkout-sdk-quickstart) to get some general information. +This tutorial assumes you are familiar with the Checkout SDK. If you are unfamiliar with the Checkout SDK, refer to [Getting Started with Checkout SDK](/docs/storefront/cart-checkout/checkout-sdk/tutorial) to get some general information. -In this tutorial, we will create a custom checkout using a checkout loader file, building on the steps from the [Getting Started with Checkout SDK](/docs/stencil-docs/customizing-checkout/checkout-sdk-quickstart) article. This tutorial will outline how to package a custom checkout file and install a custom checkout using the control panel. +In this tutorial, we will create a custom checkout using a checkout loader file, building on the steps from the [Getting Started with Checkout SDK](/docs/storefront/cart-checkout/checkout-sdk/tutorial) article. This tutorial will outline how to package a custom checkout file and install a custom checkout using the control panel. ## Creating a checkout-loader.js file @@ -26,7 +26,7 @@ script.src = 'https://checkout-sdk.bigcommerce.com/v1/loader.js'; document.head.appendChild(script); ``` -Comparing the content of this newly created file and the code from the [Getting Started with Checkout SDK](/docs/stencil-docs/customizing-checkout/checkout-sdk-quickstart#installing-the-checkout-js-sdk), you should see a clear resemblance between the two. +Comparing the content of this newly created file and the code from the [Getting Started with Checkout SDK](/docs/storefront/cart-checkout/checkout-sdk/tutorial#installing-the-checkout-js-sdk), you should see a clear resemblance between the two. ## Use WebDAV to upload the checkout-loader.js file @@ -75,7 +75,7 @@ state.data.getCheckout(); In the developer console, you will see the checkout object, and you can test out additional `state.data` commands. -This tutorial also gives you the steps to build a custom checkout. Instead of working with code in our theme, as shown in the [Getting Started with Checkout SDK](/docs/stencil-docs/customizing-checkout/checkout-sdk-quickstart) article, we created a file and uploaded it to WebDAV, effectively taking over the entire checkout experience. +This tutorial also gives you the steps to build a custom checkout. Instead of working with code in our theme, as shown in the [Getting Started with Checkout SDK](/docs/storefront/cart-checkout/checkout-sdk/tutorial) article, we created a file and uploaded it to WebDAV, effectively taking over the entire checkout experience. diff --git a/docs/stencil-docs/customizing-checkout/checkout-sdk-quickstart.mdx b/docs/stencil-docs/customizing-checkout/checkout-sdk-quickstart.mdx index b8fd996655..95934a1fce 100644 --- a/docs/stencil-docs/customizing-checkout/checkout-sdk-quickstart.mdx +++ b/docs/stencil-docs/customizing-checkout/checkout-sdk-quickstart.mdx @@ -8,7 +8,7 @@ This article will walk you through becoming familiar with Checkout SDK and exper ## Prerequisites * This tutorial uses [Cornerstone](https://github.com/bigcommerce/cornerstone). Your theme may differ. -* The theme should be set up for [local development](/stencil-docs/installing-stencil-cli/installing-stencil). Use Stencil CLI to preview your local changes. +* The theme should be set up for [local development](/docs/storefront/stencil/cli/install). Use Stencil CLI to preview your local changes. ## Installing the Checkout JS SDK @@ -176,4 +176,4 @@ We can, for example, get or set shipping and billing addresses, sign in customer * [Checkout SDK Source Code](https://github.com/bigcommerce/checkout-sdk-js) (BigCommerce GitHub) ## Related articles -* [Installling Stencil CLI](/stencil-docs/getting-started/installing-stencil) +* [Installling Stencil CLI](/docs/storefront/stencil/cli/install) diff --git a/docs/stencil-docs/customizing-checkout/custom-order-confirmation.mdx b/docs/stencil-docs/customizing-checkout/custom-order-confirmation.mdx index 54f504c74c..f59c6120cb 100644 --- a/docs/stencil-docs/customizing-checkout/custom-order-confirmation.mdx +++ b/docs/stencil-docs/customizing-checkout/custom-order-confirmation.mdx @@ -2,7 +2,7 @@ You can engage with your customers after purchase with a custom order confirmation page even if you are not using a custom checkout. This article outlines how to package a custom order confirmation file, and install a custom confirmation file via the control panel. -The installation process is the same as [Installing a Custom Checkout](/stencil-docs/customizing-checkout/installing-custom-checkouts), except you will modify a different [file](https://github.com/bigcommerce/checkout-js/blob/master/packages/core/src/app/order/OrderConfirmation.tsx) in [Open Source Checkout](https://github.com/bigcommerce/checkout-js). +The installation process is the same as [Installing a Custom Checkout](/docs/storefront/cart-checkout/open-checkouts/guide), except you will modify a different [file](https://github.com/bigcommerce/checkout-js/blob/master/packages/core/src/app/order/OrderConfirmation.tsx) in [Open Source Checkout](https://github.com/bigcommerce/checkout-js). ## Generate the JavaScript loader file Generating a loader file is the first step in installing a custom order confirmation page. If you are creating a custom checkout and a custom order confirmation page using checkout-js, the generated loader file is the same for both. However, you can install a custom order confirmation page and still use the default checkout. @@ -96,6 +96,6 @@ To install a custom checkout on a store, use the [Update Checkout Settings](/doc ## Related resources ### Articles -- [Checkout SDK](/stencil-docs/customizing-checkout/checkout-sdk) +- [Checkout SDK](/docs/storefront/cart-checkout/checkout-sdk) - [File Access (WebDav)](https://support.bigcommerce.com/s/article/File-Access-WebDAV) - [Installing Custom Checkouts in the Control Panel](https://support.bigcommerce.com/s/blog-article/aAn4O000000CdFGSA0/installing-custom-checkouts-in-the-control-panel) diff --git a/docs/stencil-docs/customizing-checkout/open-checkout-quick-start.mdx b/docs/stencil-docs/customizing-checkout/open-checkout-quick-start.mdx index 9736ec7233..8545affdfb 100644 --- a/docs/stencil-docs/customizing-checkout/open-checkout-quick-start.mdx +++ b/docs/stencil-docs/customizing-checkout/open-checkout-quick-start.mdx @@ -52,7 +52,7 @@ Next, configure your sandbox to use the files served up by your dev server. 3. Under **Custom Checkout Settings**, copy and paste `http://127.0.0.1:8080/auto-loader-dev.js` into **Script URL**. 4. Save. -[Learn more about installing custom checkouts](/stencil-docs/customizing-checkout/installing-custom-checkouts). +[Learn more about installing custom checkouts](/docs/storefront/cart-checkout/open-checkouts/guide). ## Make a code change @@ -80,7 +80,7 @@ class Checkout extends Component + Note: "optimized-checkout.scss" will always override the CSS rules defined in checkout-js. + ### Packaging custom checkouts with Open Source Checkout @@ -36,12 +40,12 @@ npm run dev & npm run dev:server ``` - - Open your browser and navigate to `http://127.0.0.1:8080/` to confirm the dev server is running (you should see content from `build/`). + - Open your browser and navigate to `http://127.0.0.1:8080/` to confirm the dev server is running. You should see content from `build/`. - To serve files over HTTPS, install an SSL on your development machine, or use [ngrok](https://ngrok.com/). -When using Open Source Checkout to view changes and test implementations through the UI, deploy, and install the custom checkout. Checkout-JS is a reference implementation of Checkout SDK (/docs/stencil-docs/customizing-checkout/checkout-sdk-example); therefore, changes to your loader file are unnecessary. For more details on installing the Checkout JS SDK, see the Checkout SDK (/docs/stencil-docs/customizing-checkout/checkout-sdk-example) Tutorial. +When using Open Source Checkout to view changes and test implementations through the UI, deploy, and install the custom checkout. Checkout-JS is a reference implementation of [Checkout SDK](/docs/storefront/cart-checkout/checkout-sdk); therefore, changes to your loader file are unnecessary. For more details on installing the Checkout JS SDK, see the [Checkout SDK Tutorial](/docs/storefront/cart-checkout/checkout-sdk/tutorial). ## Hosting a custom checkout @@ -56,6 +60,6 @@ The steps to host a custom checkout on BigCommerce are below: ## Related resources ### Articles -- [Checkout SDK](/stencil-docs/customizing-checkout/checkout-sdk) -- [File Access (WebDav)](https://support.bigcommerce.com/s/article/File-Access-WebDAV) +- [Checkout SDK](/docs/storefront/cart-checkout/checkout-sdk) +- [File Access (WebDAV)](https://support.bigcommerce.com/s/article/File-Access-WebDAV) - [Installing Custom Checkouts in the Control Panel](https://support.bigcommerce.com/s/blog-article/aAn4O000000CdFGSA0/installing-custom-checkouts-in-the-control-panel) diff --git a/docs/stencil-docs/deploying-a-theme/bundling-and-pushing.mdx b/docs/stencil-docs/deploying-a-theme/bundling-and-pushing.mdx index 7dc39f90bc..74abae8357 100644 --- a/docs/stencil-docs/deploying-a-theme/bundling-and-pushing.mdx +++ b/docs/stencil-docs/deploying-a-theme/bundling-and-pushing.mdx @@ -9,7 +9,7 @@ If you have customized a theme originally downloaded from the BigCommerce Theme Follow the link for your scenario: -If you downloaded a refreshed version of Stencil's default Cornerstone theme: Run `npm install` in the theme directory to install refreshed JavaScript dependencies, as outlined in [Installing Stencil](/stencil-docs/getting-started/installing-stencil#installing_installing-stencils-js-utilities). +If you downloaded a refreshed version of Stencil's default Cornerstone theme: Run `npm install` in the theme directory to install refreshed JavaScript dependencies, as outlined in [Installing Stencil](/docs/storefront/stencil/cli/install#installing_installing-stencils-js-utilities). @@ -33,7 +33,7 @@ Without these writable permissions, bundling your theme will fail, blocking its ## Bundling your theme -Once you have verified the requirements above, you are ready to process and package your theme for upload to BigCommerce. Stencil CLI provides two options for creating a zip file that contains all of your theme's essentials while excluding redundant components. The options are either only bundling your theme, or bundling and pushing your theme. These options are available depending on how you've [authorized](/stencil-docs/installing-stencil-cli/troubleshooting-your-setup#stencil-start-errors) your theme: +Once you have verified the requirements above, you are ready to process and package your theme for upload to BigCommerce. Stencil CLI provides two options for creating a zip file that contains all of your theme's essentials while excluding redundant components. The options are either only bundling your theme, or bundling and pushing your theme. These options are available depending on how you've [authorized](/docs/storefront/stencil/cli/unexpected-behavior#stencil-start-errors) your theme: ### Bundle only @@ -45,7 +45,7 @@ The `bundle` command will notify you of its progress and completion, as well as #### Check/Adjust zipfile's size -Check the resulting zip file's size before you proceed. The zipped bundle should be only a few megabytes. BigCommerce imposes a hard limit of 50 MB, and any file size approaching that is problematic. If your zip file fits comfortably within the size limit above, jump directly to [Pushing Your Theme](/stencil-docs/deploying-a-theme/bundling-and-pushing#pushing-your-theme). However, if your zip file approaches or exceeds 50 MB, you must first use one of these procedures to restructure your theme to a manageable size for upload to BigCommerce: +Check the resulting zip file's size before you proceed. The zipped bundle should be only a few megabytes. BigCommerce imposes a hard limit of 50 MB, and any file size approaching that is problematic. If your zip file fits comfortably within the size limit above, jump directly to [Pushing Your Theme](/docs/storefront/stencil/deployment/upload#pushing-your-theme). However, if your zip file approaches or exceeds 50 MB, you must first use one of these procedures to restructure your theme to a manageable size for upload to BigCommerce: * [Shrinking Your Theme by Excluding Static Assets (WebDAV)](https://support.bigcommerce.com/s/article/File-Access-WebDAV#manual) @@ -55,7 +55,7 @@ Check the resulting zip file's size before you proceed. The zipped bundle should The `stencil push` command is available only for themes that you have successfully initialized using a [Stencil CLI token](https://support.bigcommerce.com/s/article/Store-API-Accounts#creating) (with `Themes: modify scope`). This command bundles your theme and uploads it to the associated store, in one continuous process. -For further requirements and usage details, please see the _Command-Line Upload_ in [Pushing Your Theme](/stencil-docs/deploying-a-theme/bundling-and-pushing#pushing-your-theme) below. +For further requirements and usage details, please see the _Command-Line Upload_ in [Pushing Your Theme](/docs/storefront/stencil/deployment/upload#pushing-your-theme) below. For file-size error diagnostics and workarounds, please _Check/Adjust Zipfile's Size_ above. @@ -80,7 +80,7 @@ To upload your theme to a store using the BigCommerce Control Panel, first use ` For the Control Panel's upload steps, see the [Uploading Custom Themes](https://support.bigcommerce.com/s/article/Stencil-Themes#download-upload) article in our Knowledge Base. -For error codes that you might encounter when uploading a theme – and corresponding workarounds, see [Troubleshooting Theme Uploads](/stencil-docs/installing-stencil-cli/troubleshooting-your-setup). +For error codes that you might encounter when uploading a theme – and corresponding workarounds, see [Troubleshooting Theme Uploads](/docs/storefront/stencil/cli/unexpected-behavior). ### Command line upload @@ -150,11 +150,11 @@ If you are certain of your selections, you can press **Enter** to delete the the ## Other bundling or upload errors -For any other `not ok` bundling or upload errors that you receive, please refer to these debugging guidelines Theme setup and sizing diagnostics in preceding sections throughout this page, or the following article titled [Troubleshooting Theme Uploads](/stencil-docs/installing-stencil-cli/troubleshooting-your-setup). +For any other `not ok` bundling or upload errors that you receive, please refer to these debugging guidelines Theme setup and sizing diagnostics in preceding sections throughout this page, or the following article titled [Troubleshooting Theme Uploads](/docs/storefront/stencil/cli/unexpected-behavior). ## Resources ### Related articles -* [Naming Your Theme and Theme Variations](/stencil-docs/deploying-a-theme/naming-your-theme) -* [Checking a Theme's Size](/stencil-docs/deploying-a-theme/checking-a-themes-size) -* [Preparing Thumbnail Images](/stencil-docs/deploying-a-theme/preparing-thumbnail-images) +* [Naming Your Theme and Theme Variations](/docs/storefront/stencil/themes/foundations/variations) +* [Checking a Theme's Size](/docs/storefront/stencil/deployment/theme-size) +* [Preparing Thumbnail Images](/docs/storefront/stencil/deployment/theme-images) diff --git a/docs/stencil-docs/deploying-a-theme/checking-a-themes-size.mdx b/docs/stencil-docs/deploying-a-theme/checking-a-themes-size.mdx index 4753abd2c7..15f4e1880b 100644 --- a/docs/stencil-docs/deploying-a-theme/checking-a-themes-size.mdx +++ b/docs/stencil-docs/deploying-a-theme/checking-a-themes-size.mdx @@ -2,7 +2,7 @@ -Ideally, your theme should bundle into an archive of only a few megabytes (MB). BigCommerce imposes a hard limit of 50 MB, but most themes do not approach this limit unless they include many large static assets. If your theme does not exceed 50 MB, follow the steps outlined in [Bundling and Pushing a Theme](/stencil-docs/deploying-a-theme/bundling-and-pushing) to process and package your theme for upload to BigCommerce. +Ideally, your theme should bundle into an archive of only a few megabytes (MB). BigCommerce imposes a hard limit of 50 MB, but most themes do not approach this limit unless they include many large static assets. If your theme does not exceed 50 MB, follow the steps outlined in [Bundling and Pushing a Theme](/docs/storefront/stencil/deployment/upload) to process and package your theme for upload to BigCommerce. If your theme exceeds the 50 MB limit, you have two options: @@ -39,7 +39,7 @@ will build the following URL: On your local machine, move the large static assets to a location where the `stencil bundle` command will ignore them. This can be a location outside your theme's directory, or it can be the `assets/cdn/` subdirectory, which `stencil bundle` excludes from bundling. Separating these assets is necessary to exclude them from the next step. -Run the `stencil bundle` command from inside your streamlined `theme‑name` directory. Once your resulting ZIP file is 50 MB or smaller, you are ready to upload it to BigCommerce. For more information, see [Bundling and Pushing a Theme](/stencil-docs/deploying-a-theme/bundling-and-pushing). +Run the `stencil bundle` command from inside your streamlined `theme‑name` directory. Once your resulting ZIP file is 50 MB or smaller, you are ready to upload it to BigCommerce. For more information, see [Bundling and Pushing a Theme](/docs/storefront/stencil/deployment/upload). @@ -84,12 +84,12 @@ As you develop your theme, reference each of these assets using Stencil's `{{cdn -When you are ready to upload your theme to BigCommerce, follow the process outlined in [Bundling and Pushing a Theme](/stencil-docs/deploying-a-theme/bundling-and-pushing). +When you are ready to upload your theme to BigCommerce, follow the process outlined in [Bundling and Pushing a Theme](/docs/storefront/stencil/deployment/upload). ## Resources ### Related articles -* [Bundling and Pushing a Theme](/stencil-docs/deploying-a-theme/bundling-and-pushing) -* [Naming Your Theme and Theme Variations](/stencil-docs/deploying-a-theme/naming-your-theme) -* [Preparing Thumbnail Images](/stencil-docs/deploying-a-theme/preparing-thumbnail-images) +* [Bundling and Pushing a Theme](/docs/storefront/stencil/deployment/upload) +* [Naming Your Theme and Theme Variations](/docs/storefront/stencil/themes/foundations/variations) +* [Preparing Thumbnail Images](/docs/storefront/stencil/deployment/theme-images) * [File Access (WebDAV)](https://support.bigcommerce.com/s/article/File-Access-WebDAV#manual) (BigCommerce Knowledge Base) diff --git a/docs/stencil-docs/deploying-a-theme/naming-your-theme.mdx b/docs/stencil-docs/deploying-a-theme/naming-your-theme.mdx index 4453f3446f..00dec60470 100644 --- a/docs/stencil-docs/deploying-a-theme/naming-your-theme.mdx +++ b/docs/stencil-docs/deploying-a-theme/naming-your-theme.mdx @@ -87,7 +87,7 @@ Try inserting your custom variation into the `variations` object of Cornerstone' ## Changing a theme variation's font family -To learn more about defining variations, see [Defining Global Styles](/stencil-docs/configure-store-design-ui/defining-global-styles). In particular, note the option to configure settings and variables that are scoped to each variation. +To learn more about defining variations, see [Defining Global Styles](/docs/storefront/stencil/themes/foundations/global-styles). In particular, note the option to configure settings and variables that are scoped to each variation. The following example shows how to set the body font of a theme variation to a specific typeface/family by inserting the `body-font-family` key into the `settings` object: @@ -106,7 +106,7 @@ The following example shows how to set the body font of a theme variation to a s ## Preparing a variation's thumbnails -For details on preparing screenshots that enable merchants to preview each variation, and to preview your theme as a whole in the BigCommerce control panel and Theme Marketplace, see [Preparing Thumbnail Images](/stencil-docs/deploying-a-theme/preparing-thumbnail-images). +For details on preparing screenshots that enable merchants to preview each variation, and to preview your theme as a whole in the BigCommerce control panel and Theme Marketplace, see [Preparing Thumbnail Images](/docs/storefront/stencil/deployment/theme-images). @@ -118,6 +118,6 @@ For details on preparing screenshots that enable merchants to preview each varia ## Resources ### Related articles -* [Checking a Theme's Size](/stencil-docs/deploying-a-theme/checking-a-themes-size) -* [Preparing Thumbnail Images](/stencil-docs/deploying-a-theme/preparing-thumbnail-images) -* [Bundling and Pushing a Theme](/stencil-docs/deploying-a-theme/bundling-and-pushing) +* [Checking a Theme's Size](/docs/storefront/stencil/deployment/theme-size) +* [Preparing Thumbnail Images](/docs/storefront/stencil/deployment/theme-images) +* [Bundling and Pushing a Theme](/docs/storefront/stencil/deployment/upload) diff --git a/docs/stencil-docs/deploying-a-theme/preparing-thumbnail-images.mdx b/docs/stencil-docs/deploying-a-theme/preparing-thumbnail-images.mdx index 887c3003b7..e41a47f1cc 100644 --- a/docs/stencil-docs/deploying-a-theme/preparing-thumbnail-images.mdx +++ b/docs/stencil-docs/deploying-a-theme/preparing-thumbnail-images.mdx @@ -96,6 +96,6 @@ Here is how you would reference these files within [config.json](https://github. ## Resources ### Related articles -* [Naming Your Theme and Theme Variations](/stencil-docs/deploying-a-theme/naming-your-theme) -* [Checking a Theme's Size](/stencil-docs/deploying-a-theme/checking-a-themes-size) -* [Bundling and Pushing a Theme](/stencil-docs/deploying-a-theme/bundling-and-pushing) +* [Naming Your Theme and Theme Variations](/docs/storefront/stencil/themes/foundations/variations) +* [Checking a Theme's Size](/docs/storefront/stencil/deployment/theme-size) +* [Bundling and Pushing a Theme](/docs/storefront/stencil/deployment/upload) diff --git a/docs/stencil-docs/deploying-a-theme/theme-best-practices.mdx b/docs/stencil-docs/deploying-a-theme/theme-best-practices.mdx index 155818af3c..94a33e69e6 100644 --- a/docs/stencil-docs/deploying-a-theme/theme-best-practices.mdx +++ b/docs/stencil-docs/deploying-a-theme/theme-best-practices.mdx @@ -1,6 +1,6 @@ # Theme Development Tutorial -In this tutorial, you will learn the correct way to import theme images and inject theme variables. Also, you will learn how to improve theme designs using [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview) and [accessibility best practices](/stencil-docs/accessibility/theme-accessibility). +In this tutorial, you will learn the correct way to import theme images and inject theme variables. Also, you will learn how to improve theme designs using [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview) and [accessibility best practices](/docs/storefront/stencil/themes/accessibility). ## Importing images There are two ways to import images. The steps below describe the quickest and easiest way to import images. @@ -27,7 +27,7 @@ When importing images, ensure your images are high quality, the appropriate dime Injecting JavaScript context variables allow you to access store data through your theme. You can inject JavaScript context variables using the `{{inject}}` Handlebars helper. Be sure to assign a custom variable name to the injected variable. -You can then use the `{{jsContext}}` Handlebars helper to access a stringified JSON object containing all injected data with your assigned custom variable names as keys in the key-value pairs. For more information, see [injection helpers](/stencil-docs/reference-docs/handlebars-helpers-reference#inject). +You can then use the `{{jsContext}}` Handlebars helper to access a stringified JSON object containing all injected data with your assigned custom variable names as keys in the key-value pairs. For more information, see [injection helpers](/docs/storefront/stencil/themes/context/handlebars-reference#inject). The code example below uses `{{inject}}` and `{{jsContext}}` to log the product name to your browser's console when added to Cornerstone's `product.html` file: @@ -134,10 +134,10 @@ Using Lighthouse is an important step in optimizing your site and improving the ## Designing for accessibility -Accessible sites have benefits, including faster load speed, better SEO, and useful for marketing your product. See [Developing Themes for Accessibility](/stencil-docs/accessibility/theme-accessibility) for more information. +Accessible sites have benefits, including faster load speed, better SEO, and useful for marketing your product. See [Developing Themes for Accessibility](/docs/storefront/stencil/themes/accessibility) for more information. ## Related resources - [File Access (WebDAV)](https://support.bigcommerce.com/s/article/File-Access-WebDAV)(Knowledge Base) - [Lighthouse](https://developers.google.com/web/tools/lighthouse) -- [Designing for Accessibility](/stencil-docs/accessibility/theme-accessibility) +- [Designing for Accessibility](/docs/storefront/stencil/themes/accessibility) - [Folder Structure](https://support.bigcommerce.com/s/article/File-Access-WebDAV#folder) diff --git a/docs/stencil-docs/deploying-a-theme/troubleshooting-theme-uploads.mdx b/docs/stencil-docs/deploying-a-theme/troubleshooting-theme-uploads.mdx index c1f931a653..0cfda4c4a6 100644 --- a/docs/stencil-docs/deploying-a-theme/troubleshooting-theme-uploads.mdx +++ b/docs/stencil-docs/deploying-a-theme/troubleshooting-theme-uploads.mdx @@ -30,8 +30,8 @@ Custom theme uploads must meet these restrictions: | TR-902 | Two or more theme variations defined in the contained config.json file share an external ID. All external IDs must be unique. | | TR-1000 | There was a problem processing the contained schema.json file. | | TR-1001 | The theme is missing its required schema.json file. | -| TR-1400 | There was a problem processing template front matter. | -| TR-1401 | There was a database validation error when saving front matter to the database. | +| TR-1400 | There was a problem processing template front matter. | +| TR-1401 | There was a database validation error when saving front matter to the database. | | TR-1500 | There was a problem uploading your files due to multi-threading (multiple simultaneous uploads). Please try again. | | TR-1600 | There was a temporary problem on our system. Please try again. | | TR-1601 | There was a problem with processing screenshots. | @@ -48,7 +48,7 @@ Warnings will not block a theme's upload, but these onscreen and/or log messages | (These messages do not have numeric codes) | | Issue in processing this theme's thumbnail screenshot (`composed_image`). | | Issue in processing this theme's full-size screenshot (`desktop_screenshot`). | -| Issue in processing this theme's mobile [screenshot](/stencil-docs/stencil-theme-editor/config-json-metadata) (`mobile_screenshot`). | +| Issue in processing this theme's mobile [screenshot](/docs/storefront/stencil/themes/context/object-reference/config#configjson) (`mobile_screenshot`). | | Missing file: This theme does not support the Theme Editor, as it is missing its required `[schema.json]` file. | | One or more of this theme's screenshots are not image files. | | Theme is missing a valid thumbnail image (`composed_image`). | diff --git a/docs/stencil-docs/developing-further/add-recaptcha-v2.mdx b/docs/stencil-docs/developing-further/add-recaptcha-v2.mdx index 3e8ccdc8bc..89f0508957 100644 --- a/docs/stencil-docs/developing-further/add-recaptcha-v2.mdx +++ b/docs/stencil-docs/developing-further/add-recaptcha-v2.mdx @@ -16,7 +16,7 @@ To add reCAPTCHA v2 support to a theme, update script references in three templa See [PR #951](https://github.com/bigcommerce/cornerstone/pull/951) in the Cornerstone GitHub Repository to see differentials for each file that needs to be modified. -It is possible to add reCaptcha to the Login template. See the [Forms object](/stencil-docs/reference-docs/) for details. +It is possible to add reCaptcha to the Login template. See the [Forms object](/docs/storefront/stencil/themes/context/object-reference/schemas#forms) for details. ## Resources diff --git a/docs/stencil-docs/developing-further/catalog-price-object.mdx b/docs/stencil-docs/developing-further/catalog-price-object.mdx index b94b74d228..9ee346902c 100644 --- a/docs/stencil-docs/developing-further/catalog-price-object.mdx +++ b/docs/stencil-docs/developing-further/catalog-price-object.mdx @@ -301,5 +301,5 @@ Difference between Default Price and MSRP (*Default Price - MSRP)*|`{{ product.p ### Related Articles -* [Theme Objects](/stencil-docs/reference-docs/global-objects-and-properties) +* [Theme Objects](/docs/storefront/stencil/themes/context/object-reference/config) * [Adding a Product](https://support.bigcommerce.com/s/article/Adding-Products-v3#product-details) (BigCommerce Knowledge Base) diff --git a/docs/stencil-docs/developing-further/customizing-emails.mdx b/docs/stencil-docs/developing-further/customizing-emails.mdx index 3f79618fe1..b6cb418039 100644 --- a/docs/stencil-docs/developing-further/customizing-emails.mdx +++ b/docs/stencil-docs/developing-further/customizing-emails.mdx @@ -4,7 +4,7 @@ This article provides information on how to create your own unique email templates using our legacy framework. - For information on customizing email templates on our latest theme framework engine, see [Customizing Emails](https://support.bigcommerce.com/s/article/Customizing-Emails) and [Handlebars Email Template Objects](/api-docs/store-management/email-templates/handlebars). + For information on customizing email templates on our latest theme framework engine, see [Customizing Emails](https://support.bigcommerce.com/s/article/Customizing-Emails) and [Handlebars Email Template Objects](/docs/store-operations/emails/object-reference). ## BigCommerce Legacy Email Templates diff --git a/docs/stencil-docs/developing-further/customizing-invoices.mdx b/docs/stencil-docs/developing-further/customizing-invoices.mdx index 0839ef3c35..6363749822 100644 --- a/docs/stencil-docs/developing-further/customizing-invoices.mdx +++ b/docs/stencil-docs/developing-further/customizing-invoices.mdx @@ -11,7 +11,7 @@ Merchants commonly request developers modify the default content of invoices in ## Email invoice template -See the article [Customizing Emails](/stencil-docs/developing-further/customizing-emails) for editing merchant-facing email templates. +See the article [Customizing Emails](/docs/store-operations/emails/templates) for editing merchant-facing email templates. ## Merchant printable invoice @@ -19,7 +19,7 @@ The merchant printable invoice is the invoice that can be printed from the contr ![Print Order Invoice](https://raw.githubusercontent.com/bigcommerce/dev-docs/master/assets/images/customizing_invoice_print_order_invoice.png "Order Invoice") -The invoice that is generated by clicking **Print Invoice** relies on template files and variables from [BigCommerce's legacy Blueprint themes framework](/legacy/blueprint-themes/blueprint-email-templates). This invoice can be customized by performing the following steps: +The invoice that is generated by clicking **Print Invoice** relies on template files and variables from [BigCommerce's legacy Blueprint themes framework](/archive/storefront/blueprint/themes/email-templates). This invoice can be customized by performing the following steps: 1. Download the [invoice_printable.zip](https://storage.googleapis.com/bigcommerce-production-dev-center/template-files/invoice_printable.zip) file, which contains the skeleton of a printable invoice. 2. Open the file in the text editor of your choice and edit the HTML file to match your desired customization. @@ -27,7 +27,7 @@ The invoice that is generated by clicking **Print Invoice** relies on template f **Note** - For a list of available variables, see [Blueprint Email Templates](/legacy/blueprint-themes/blueprint-email-templates). + For a list of available variables, see [Blueprint Email Templates](/archive/storefront/blueprint/themes/email-templates). ### Localizing the merchant printable invoice @@ -69,8 +69,8 @@ Use this invoice when a store receives an order from a shipping address in a cou ### Related articles -* [Shrinking a Theme by Excluding Static Assets Using WebDAV](/stencil-docs/deploying-a-theme/checking-a-themes-size#shrinking-a-theme) -* [Blueprint Theme Email Templates](/legacy/blueprint-themes/blueprint-email-templates) +* [Shrinking a Theme by Excluding Static Assets Using WebDAV](/docs/storefront/stencil/deployment/theme-size#shrinking-a-theme) +* [Blueprint Theme Email Templates](/archive/storefront/blueprint/themes/email-templates) * [Uploading and Linking to a File in Your Store (Help Center)](https://support.bigcommerce.com/s/article/How-do-I-add-and-link-to-a-file-in-my-store#upload-a-file) * [Editing and Printing Invoices (Help Center)](https://support.bigcommerce.com/s/article/Invoices#custom) * [WebDAV File Access (Help Center)](https://support.bigcommerce.com/s/article/File-Access-WebDAV) diff --git a/docs/stencil-docs/developing-further/customizing-printable-packing-slips.mdx b/docs/stencil-docs/developing-further/customizing-printable-packing-slips.mdx index 292b2e16d6..529608c7a1 100644 --- a/docs/stencil-docs/developing-further/customizing-printable-packing-slips.mdx +++ b/docs/stencil-docs/developing-further/customizing-printable-packing-slips.mdx @@ -19,7 +19,7 @@ Customizing your Stencil theme’s printable packing slip currently relies on a ### Related Articles -* [Checking a Theme's Size](/stencil-docs/deploying-a-theme/checking-a-themes-size) -* [Blueprint Theme Email Templates](/legacy/blueprint-themes/blueprint-email-templates) +* [Checking a Theme's Size](/docs/storefront/stencil/deployment/theme-size) +* [Blueprint Theme Email Templates](/archive/storefront/blueprint/themes/email-templates) * [File Access (WebDAV)](https://support.bigcommerce.com/s/article/File-Access-WebDAV) (Knowledge Base) * [Uploading and Linking to a File in Your Store](https://support.bigcommerce.com/s/article/How-do-I-add-and-link-to-a-file-in-my-store#upload-a-file) (Knowledge Base) diff --git a/docs/stencil-docs/developing-further/google-analytics-enhanced-ecommerce.mdx b/docs/stencil-docs/developing-further/google-analytics-enhanced-ecommerce.mdx index b915b1bcc4..3b3d767438 100644 --- a/docs/stencil-docs/developing-further/google-analytics-enhanced-ecommerce.mdx +++ b/docs/stencil-docs/developing-further/google-analytics-enhanced-ecommerce.mdx @@ -13,10 +13,10 @@ Cornerstone versions 2.6.0+ will have data attributes already included in the th ### Downloading a theme -Data attributes will work on any theme. For this tutorial, we will be adding data attributes to the Cornerstone theme. If you do not already have a local copy of Cornerstone on your machine, see [Downloading Cornerstone](/stencil-docs/installing-stencil-cli/installing-stencil#authorizing_download). +Data attributes will work on any theme. For this tutorial, we will be adding data attributes to the Cornerstone theme. If you do not already have a local copy of Cornerstone on your machine, see [Downloading Cornerstone](/docs/storefront/stencil/cli/install#authorizing_download). -If you would like to implement data attributes on your custom theme and do not already have a copy of your custom theme downloaded, see [Downloading a Marketplace Theme](/stencil-docs/installing-stencil-cli/installing-stencil#authorizing_download). +If you would like to implement data attributes on your custom theme and do not already have a copy of your custom theme downloaded, see [Downloading a Marketplace Theme](/docs/storefront/stencil/cli/install#authorizing_download). The remainder of this tutorial will be working off the theme’s base folder `cornerstone`. @@ -27,7 +27,7 @@ If you would like to implement data attributes on your custom theme and do not a ### Prerequisites * [BigCommerce Store](https://support.bigcommerce.com/s/article/Starting-a-Bigcommerce-Trial) * [Optimized One-Page Checkout enabled](https://support.bigcommerce.com/s/article/Optimized-Single-Page-Checkout) -* [Cornerstone theme installed](/stencil-docs/getting-started/about-stencil#cornerstone) +* [Cornerstone theme installed](/docs/storefront/stencil/start#cornerstone) ### Include the Enhanced ECommerce property diff --git a/docs/stencil-docs/developing-further/stored-credit-card-management.mdx b/docs/stencil-docs/developing-further/stored-credit-card-management.mdx index 49a7af8e07..5889658082 100644 --- a/docs/stencil-docs/developing-further/stored-credit-card-management.mdx +++ b/docs/stencil-docs/developing-further/stored-credit-card-management.mdx @@ -1,8 +1,8 @@ # Adding Stored Payment Methods -The [Cornerstone 2.6.0 release](/changelog#posts/cornerstone-2-6-0-release) added stored payment method management for saved credit cards to the customer `account.php` page. The [Cornerstone 4.4.0 release](/changelog#posts/cornerstone-4-4-0-release) expanded this functionality to include saving PayPal accounts using [PayPal Powered by Braintree](https://support.bigcommerce.com/s/article/Connecting-with-PayPal-Powered-by-Braintree). +The [Cornerstone 2.6.0 release](/release-notes#posts/cornerstone-2-6-0-release) added stored payment method management for saved credit cards to the customer `account.php` page. The [Cornerstone 4.4.0 release](/release-notes#posts/cornerstone-4-4-0-release) expanded this functionality to include saving PayPal accounts using [PayPal Powered by Braintree](https://support.bigcommerce.com/s/article/Connecting-with-PayPal-Powered-by-Braintree). -This article contains instructions for manually applying the changes made in `4.4.0` to themes version `2.6.0 ` to `4.3.1`. For a full diff of the files to change, see [Cornerstone pull request 1603 (GitHub)](https://github.com/bigcommerce/cornerstone/pull/1603/files). If you're developing on a theme older than version `2.6.0` you'll first need to apply the changes made in `2.6.0`; to do so, see [Stored Credit Card Management](/legacy/stencil-themes/stored-credit-card-management). For theme update best practices, see [Theme Updates and Version Control](/stencil-docs/deploying-a-theme/theme-updates-and-version-control). +This article contains instructions for manually applying the changes made in `4.4.0` to themes version `2.6.0 ` to `4.3.1`. For a full diff of the files to change, see [Cornerstone pull request 1603 (GitHub)](https://github.com/bigcommerce/cornerstone/pull/1603/files). If you're developing on a theme older than version `2.6.0` you'll first need to apply the changes made in `2.6.0`; to do so, see [Stored Credit Card Management](/archive/storefront/stencil/stored-credit-card-management). For theme update best practices, see [Theme Updates and Version Control](/docs/storefront/stencil/deployment/updates-and-version-control). ![Save PayPal Account](https://raw.githubusercontent.com/bigcommerce/dev-docs/master/assets/images/stored-credit-card-management02.png "Save PayPal Account") @@ -223,6 +223,6 @@ After adding a card, shoppers can modify the billing address. To modify other th ### Related articles -* [Payments API](/api-docs/store-management/payments-api-overview) +* [Payments API](/docs/store-operations/payments) * [Enabling Stored Cards (Help Center)](https://support.bigcommerce.com/s/article/Enabling-Stored-Credit-Cards) * [The Complete Guide to Checkout Customization on BigCommerce (Developer Blog)](https://medium.com/bigcommerce-developer-blog/the-complete-guide-to-checkout-customization-on-bigcommerce-6b566bc36fa9) diff --git a/docs/stencil-docs/developing-further/theme-updates-and-version-control.mdx b/docs/stencil-docs/developing-further/theme-updates-and-version-control.mdx index 63a75951de..e1e893cb3d 100644 --- a/docs/stencil-docs/developing-further/theme-updates-and-version-control.mdx +++ b/docs/stencil-docs/developing-further/theme-updates-and-version-control.mdx @@ -11,7 +11,7 @@ A typical setup might include a base theme, with several custom themes branching ## Theme updates -If you are using a Cornerstone theme as your base theme, update notifications are found in our [changelog](/changelog). If you are using another theme, please see the theme creator for updates. +If you are using a Cornerstone theme as your base theme, update notifications are found in our [changelog](/release-notes). If you are using another theme, please see the theme creator for updates. Before updating your theme, review the following list items to ensure a successful update: diff --git a/docs/stencil-docs/getting-started/about-stencil.mdx b/docs/stencil-docs/getting-started/about-stencil.mdx index 989b3cc244..401c676c76 100644 --- a/docs/stencil-docs/getting-started/about-stencil.mdx +++ b/docs/stencil-docs/getting-started/about-stencil.mdx @@ -4,7 +4,7 @@ Stencil is BigCommerce's theme engine. It incorporates industry best practices in technology, design standards, SEO, and allows developers to build a stunning storefront that engages shoppers and encourages checkouts on any device. Stencil themes are supported on the [following browsers](https://support.bigcommerce.com/s/article/Themes-Supported-Browsers). Stencil is responsible for powering the BigCommerce [Cornerstone theme](#cornerstone). -The [Page Builder](/stencil-docs/page-builder/page-builder-overview) tool available on Stencil themes allows merchants to customize a storefront's look and feel with no coding, making customizations possible by a wide range of users. Page Builder enables quick and easy customization of a theme's colors, typography, banners, headings, carousel, and footer. It also enables customization of a storefront's layout characteristics, such as the number of products displayed in various panels, category pages, and brand pages. For details, see [Personalizing Your Theme](https://support.bigcommerce.com/s/article/Stencil-Themes?language=en_US). +The [Page Builder](/docs/storefront/stencil/content/page-builder) tool available on Stencil themes allows merchants to customize a storefront's look and feel with no coding, making customizations possible by a wide range of users. Page Builder enables quick and easy customization of a theme's colors, typography, banners, headings, carousel, and footer. It also enables customization of a storefront's layout characteristics, such as the number of products displayed in various panels, category pages, and brand pages. For details, see [Personalizing Your Theme](https://support.bigcommerce.com/s/article/Stencil-Themes?language=en_US). BigCommerce Stencil themes are responsive, mobile friendly themes, allowing shoppers to have a first class experience across any device. Each Stencil theme can contain one to four variations. You can optimize individual variations for specific markets, audiences, and styles, while still managing and distributing all of these variations as one theme. @@ -21,7 +21,7 @@ Cornerstone comes in three, fully-responsive variations: See the [Cornerstone Light theme demo](http://cornerstone-light-demo.mybigcommerce.com/) to experience a Stencil theme's capabilities. -As the default theme on new stores, Cornerstone is typically the first theme to support new theme-related features and improvements. See the [BigCommerce Developer Changelog](/changelog) for the latest Cornerstone news and release notes. +As the default theme on new stores, Cornerstone is typically the first theme to support new theme-related features and improvements. See the [BigCommerce Developer Changelog](/release-notes) for the latest Cornerstone news and release notes. ## Stencil CLI @@ -49,7 +49,7 @@ Stencil's use of **YAML Front Matter** allows developers to request only the obj ## JavaScript event hooks -Stencil themes can access remote objects through event hook and use the hooks to trigger defined events based on shopper behavior. This will allow you to collect product data and optimize a shopper's experience. To facilitate theme-building, BigCommerce provides [stencil-utils](/stencil-docs/reference-docs/stencil-utils-api-reference) -- a client-side library for managing event hooks. +Stencil themes can access remote objects through event hook and use the hooks to trigger defined events based on shopper behavior. This will allow you to collect product data and optimize a shopper's experience. To facilitate theme-building, BigCommerce provides [stencil-utils](/docs/storefront/stencil/utils/reference) -- a client-side library for managing event hooks. ## Blueprint (Legacy framework) diff --git a/docs/stencil-docs/getting-started/stencil-technology-stack.mdx b/docs/stencil-docs/getting-started/stencil-technology-stack.mdx index 8a986424e2..8d711166d1 100644 --- a/docs/stencil-docs/getting-started/stencil-technology-stack.mdx +++ b/docs/stencil-docs/getting-started/stencil-technology-stack.mdx @@ -19,11 +19,11 @@ A Handlebars expression begins and end with curly braces. Below is a basic examp In production, Handlebars statements run on the server side, generating HTML received by the shopper’s browser. -View the [full Handlebars Helpers Reference](/stencil-docs/reference-docs/handlebars-helpers-reference) to learn about the helpers available on a Stencil storefront. +View the [full Handlebars Helpers Reference](/docs/storefront/stencil/themes/context/handlebars-reference) to learn about the helpers available on a Stencil storefront. ## Stencil objects overview -Stencil objects are the individual JavaScript objects that are rendered onto a Stencil storefront. The following example is the JavaScript Object Notation (JSON) for a [Banner object](/stencil-docs/reference-docs/global-objects-and-properties#global-objects_banner) rendered on a category page of a storefront. +Stencil objects are the individual JavaScript objects that are rendered onto a Stencil storefront. The following example is the JavaScript Object Notation (JSON) for a [Banner object](/docs/storefront/stencil/themes/context/object-reference/config#global-objects_banner) rendered on a category page of a storefront. ```json filename="Example banners object JSON for a banner object, accessible through Handlebars.js " showLineNumbers copy "banners": { @@ -59,7 +59,7 @@ BigCommerce Stencil themes utilize YAML front matter on template pages. Front ma When utilized, Front Matter must be the opening text of a file and must take the form of valid YAML set between triple-dashed lines. -See our [Front Matter Reference](/stencil-docs/reference-docs/front-matter-reference) to see what Front Matter attributes are available on a Stencil storefront. Below is a snippet from the base Cornerstone theme's home.html file, showing how Front Matter can be used in a theme. +See our [Front Matter Reference](/docs/storefront/stencil/themes/context/frontmatter-reference) to see what Front Matter attributes are available on a Stencil storefront. Below is a snippet from the base Cornerstone theme's home.html file, showing how Front Matter can be used in a theme. ```yml filename="YAML Front Matter home.html, Cornerstone theme" showLineNumbers copy diff --git a/docs/stencil-docs/getting-started/transitioning-to-stencil.mdx b/docs/stencil-docs/getting-started/transitioning-to-stencil.mdx index 050af91e23..8549468a15 100644 --- a/docs/stencil-docs/getting-started/transitioning-to-stencil.mdx +++ b/docs/stencil-docs/getting-started/transitioning-to-stencil.mdx @@ -6,7 +6,7 @@ This article outlines the key differences between Blueprint and Stencil for deve ## What is Stencil? -[Stencil](/stencil-docs/getting-started/about-stencil) is BigCommerce’s latest theme framework engine. Launched in 2016, Stencil incorporates industry best practices in technology, design standards, and SEO. You can use the framework’s theme on mobile, tablet, and desktop browsers. Stencil also allows developers to build storefronts that engage shoppers and encourage checkouts on any device. All of BigCommerce’s new storefronts use Stencil. +[Stencil](/docs/storefront/stencil/start) is BigCommerce’s latest theme framework engine. Launched in 2016, Stencil incorporates industry best practices in technology, design standards, and SEO. You can use the framework’s theme on mobile, tablet, and desktop browsers. Stencil also allows developers to build storefronts that engage shoppers and encourage checkouts on any device. All of BigCommerce’s new storefronts use Stencil. If you are still using our legacy theme framework, Blueprint, we highly encourage switching to Stencil so you can take advantage of the new features and benefits. For more in-depth information about Stencil’s features, see the [Stencil Theme Platform](https://support.bigcommerce.com/s/article/The-Stencil-Theme-Platform#features) page. @@ -36,7 +36,7 @@ While Blueprint themes allow users to add new files and assets to themes via Web For images referenced from anywhere in your Blueprint file directory, you will need to move these assets to your Stencil theme and reference them appropriately. You can still reference assets from within the `/content/` folder in WebDav or from an external source. -For more information on Stencil theme assets, see the [Theme Assets](/stencil-docs/storefront-customization/theme-assets) page. +For more information on Stencil theme assets, see the [Theme Assets](/docs/storefront/stencil/themes/style/assets) page. ### Using Handlebars @@ -51,7 +51,7 @@ For more information about Handlebars, refer to these external resources: - [Getting Started with Handlebars.js](http://blog.teamtreehouse.com/getting-started-with-handlebars-js) - [Handlebars interactive tutorial](http://tryhandlebarsjs.com/) -For details on using Handlebars to surface objects in Stencil, see [Stencil Technology Stack](/stencil-docs/getting-started/stencil-technology-stack). +For details on using Handlebars to surface objects in Stencil, see [Stencil Technology Stack](/docs/storefront/stencil/start/tech-stack). ### Customize Page Builder mode @@ -69,7 +69,7 @@ Stencil allows theme developers and merchants to assign custom layout templates - Product - Store (static page) -Unlike Blueprint, Stencil does not require that custom template file names start with an underscore. In the current Stencil release, you must create and bundle custom templates using Stencil CLI before uploading the custom templates to stores. However, once you have created and uploaded templates, authorized store users can assign them to storefront pages through the control panel. For more information on custom templates, see the [Custom Templates](/stencil-docs/storefront-customization/custom-templates) page. +Unlike Blueprint, Stencil does not require that custom template file names start with an underscore. In the current Stencil release, you must create and bundle custom templates using Stencil CLI before uploading the custom templates to stores. However, once you have created and uploaded templates, authorized store users can assign them to storefront pages through the control panel. For more information on custom templates, see the [Custom Templates](/docs/storefront/stencil/themes/templates) page. ### Resources diff --git a/docs/stencil-docs/installing-stencil-cli/installing-stencil.mdx b/docs/stencil-docs/installing-stencil-cli/installing-stencil.mdx index 8376ce25e6..4b80c1759d 100644 --- a/docs/stencil-docs/installing-stencil-cli/installing-stencil.mdx +++ b/docs/stencil-docs/installing-stencil-cli/installing-stencil.mdx @@ -1,7 +1,7 @@ # Installing Stencil CLI -BigCommerce is currently targeting 11/1/2023 to sunset its node-sass fork in favor of the latest [sass/node-sass](https://github.com/sass/node-sass). To ensure that your storefront is up to date, use the latest node version (Node 18) in Stencil CLI and use the CLI command to resolve [incompatible SCSS directives](/stencil-docs/installing-stencil-cli/troubleshooting-your-setup#incompatible-scss-directives), which can cause issues with the styling of your storefront. +BigCommerce is currently targeting 11/1/2023 to sunset its node-sass fork in favor of the latest [sass/node-sass](https://github.com/sass/node-sass). To ensure that your storefront is up to date, use the latest node version (Node 18) in Stencil CLI and use the CLI command to resolve [incompatible SCSS directives](/docs/storefront/stencil/cli/unexpected-behavior#incompatible-scss-directives), which can cause issues with the styling of your storefront. @@ -124,7 +124,7 @@ npm install -g @bigcommerce/stencil-cli ## Live previewing a theme -Once you've installed Stencil CLI, the next step on the road to theme development is downloading a theme to edit and previewing live changes using Stencil CLI's powerful Browsersync functionality. For detailed instructions on doing so, see [Live Previewing a Theme](/stencil-docs/installing-stencil-cli/live-previewing-a-theme). Here's the gist: +Once you've installed Stencil CLI, the next step on the road to theme development is downloading a theme to edit and previewing live changes using Stencil CLI's powerful Browsersync functionality. For detailed instructions on doing so, see [Live Previewing a Theme](/docs/storefront/stencil/cli/development-server). Here's the gist: ```shell showLineNumbers copy diff --git a/docs/stencil-docs/installing-stencil-cli/live-previewing-a-theme.mdx b/docs/stencil-docs/installing-stencil-cli/live-previewing-a-theme.mdx index 50507b26d0..78aa7bebcc 100644 --- a/docs/stencil-docs/installing-stencil-cli/live-previewing-a-theme.mdx +++ b/docs/stencil-docs/installing-stencil-cli/live-previewing-a-theme.mdx @@ -2,7 +2,7 @@ Once you've installed the Stencil CLI, the next steps are downloading a theme to edit and previewing live changes using Stencil CLI's powerful Browsersync functionality. This article walks you through the process of downloading a theme for development, installing theme modules, and serving a live preview using Stencil CLI's `stencil start` command. -The steps in this article assume you've installed Stencil CLI on your system. If you haven't installed it yet, see [Installing Stencil CLI](/stencil-docs/installing-stencil-cli/installing-stencil) for detailed, system-specific instructions. +The steps in this article assume you've installed Stencil CLI on your system. If you haven't installed it yet, see [Installing Stencil CLI](/docs/storefront/stencil/cli/install) for detailed, system-specific instructions. #### Theme access, copyright, and distribution @@ -13,7 +13,7 @@ Developers may customize free and purchased marketplace themes; however, the ori Stencil CLI uses various BigCommerce APIs to inject store-specific data, like carousel images and products, into the live theme preview it serves up. To do so, you must supply the Stencil CLI with a Stencil-specific access token. -To automatically create an API account with the scopes and permissions required by Stencil CLI, apply the following settings as you [create a store-level API account](/api-docs/getting-started/api-accounts#creating-store-level-api-accounts). +To automatically create an API account with the scopes and permissions required by Stencil CLI, apply the following settings as you [create a store-level API account](/docs/start/authentication/api-accounts#creating-store-level-api-accounts). Select **Create Stencil-CLI Token** in the **Create API Accounts** dropdown: @@ -45,7 +45,7 @@ Cornerstone and other themes can also be downloaded from the BigCommerce control #### Update themes after download - Downloading a theme does not include the current configuration of a theme. Run a [stencil pull](/stencil-docs/installing-stencil-cli/stencil-cli-options-and-commands#stencil-pull) command to obtain the theme's most recently saved version (appears only for themes customized for this store). + Downloading a theme does not include the current configuration of a theme. Run a [stencil pull](/docs/storefront/stencil/cli/options-and-commands#stencil-pull) command to obtain the theme's most recently saved version (appears only for themes customized for this store).   @@ -122,7 +122,7 @@ Browse to the local URL to preview the theme and see changes updated in real-tim ### Serving a live preview over HTTPS -It is possible to serve a live preview over HTTPS using [ngrok](https://ngrok.com/docs). To get started with ngrok, follow the [Create an HTTPS Tunnel](/api-docs/apps/tutorials/build-a-nextjs-sample-app/step-2-connect#create-an-https-tunnel) section of the sample app tutorial. If your app does not run on port 3000, replace 3000 with the port of your app server. +It is possible to serve a live preview over HTTPS using [ngrok](https://ngrok.com/docs). To get started with ngrok, follow the [Create an HTTPS Tunnel](/docs/integrations/apps/tutorial/nextjs-connect#create-an-https-tunnel) section of the sample app tutorial. If your app does not run on port 3000, replace 3000 with the port of your app server. ## Debugging your theme @@ -133,7 +133,7 @@ It is possible to serve a live preview over HTTPS using [ngrok](https://ngrok.co The Stencil framework provides built-in debugging tools to aid in your custom front-end development. To see what data is available on the page you are working on, add the debug query string to your store's localhost URL. For example, `http://localhost:3000/product/sample-product?debug=context`. This string will return a list of all the objects on the page in JSON syntax. If you want to view the available JSON objects and rendered page simultaneously, change the debug value to `bar`. For example, `http://localhost:3000/product/sample-product?debug=bar`. -For a full list of Stencil CLI commands, see [Stencil CLI Options and Commands](/stencil-docs/installing-stencil-cli/stencil-cli-options-and-commands). For help troubleshooting errors or installation issues, see [Troubleshooting Your Setup](/stencil-docs/installing-stencil-cli/troubleshooting-your-setup). +For a full list of Stencil CLI commands, see [Stencil CLI Options and Commands](/docs/storefront/stencil/cli/options-and-commands). For help troubleshooting errors or installation issues, see [Troubleshooting Your Setup](/docs/storefront/stencil/cli/unexpected-behavior). diff --git a/docs/stencil-docs/installing-stencil-cli/stencil-cli-options-and-commands.mdx b/docs/stencil-docs/installing-stencil-cli/stencil-cli-options-and-commands.mdx index ed1c938309..90d0f526cb 100644 --- a/docs/stencil-docs/installing-stencil-cli/stencil-cli-options-and-commands.mdx +++ b/docs/stencil-docs/installing-stencil-cli/stencil-cli-options-and-commands.mdx @@ -2,10 +2,10 @@ -This article is a comprehensive command reference for Stencil CLI, BigCommerce's powerful theme development and deployment tool. For installation instructions for your OS, see [Installing Stencil CLI](/stencil-docs/installing-stencil-cli/installing-stencil). For more information on BigCommerce's Stencil Theme Engine, see [About Stencil](/stencil-docs/getting-started/about-stencil). Continue reading below for detailed information on each Stencil CLI command and option. +This article is a comprehensive command reference for Stencil CLI, BigCommerce's powerful theme development and deployment tool. For installation instructions for your OS, see [Installing Stencil CLI](/docs/storefront/stencil/cli/install). For more information on BigCommerce's Stencil Theme Engine, see [About Stencil](/docs/storefront/stencil/start). Continue reading below for detailed information on each Stencil CLI command and option. -BigCommerce is currently targeting 11/1/2023 to sunset its node-sass fork in favor of the latest [sass/node-sass](https://github.com/sass/node-sass). To ensure that your storefront is up to date, use the latest node version (Node 18) in Stencil CLI and use the CLI command to resolve [incompatible SCSS directives](/stencil-docs/installing-stencil-cli/troubleshooting-your-setup#incompatible-scss-directives), which can cause issues with the styling of your storefront. +BigCommerce is currently targeting 11/1/2023 to sunset its node-sass fork in favor of the latest [sass/node-sass](https://github.com/sass/node-sass). To ensure that your storefront is up to date, use the latest node version (Node 18) in Stencil CLI and use the CLI command to resolve [incompatible SCSS directives](/docs/storefront/stencil/cli/unexpected-behavior#incompatible-scss-directives), which can cause issues with the styling of your storefront. ## Commands overview @@ -93,13 +93,13 @@ stencil start --open # opens live theme preview in default browser #### --theme-editor and --theme-editor-port [port]: - BigCommerce deprecated `-theme-editor` and `--theme-editor-port [port]` options as of v1.23.1. Please use [Page Builder](/stencil-docs/page-builder/page-builder-overview) instead. + BigCommerce deprecated `-theme-editor` and `--theme-editor-port [port]` options as of v1.23.1. Please use [Page Builder](/docs/storefront/stencil/content/page-builder) instead.   #### Authentication errors - If you receive an `Unauthorized, please use a valid username/token` error, authentication has failed. Make sure the API token you supplied is correct. For more information on creating store API accounts and generating tokens, see [Obtaining Store API Credentials](/stencil-docs/installing-stencil-cli/live-previewing-a-theme#step-3-serve-live-preview). + If you receive an `Unauthorized, please use a valid username/token` error, authentication has failed. Make sure the API token you supplied is correct. For more information on creating store API accounts and generating tokens, see [Obtaining Store API Credentials](/docs/storefront/stencil/cli/development-server#step-3-serve-live-preview). ## stencil bundle @@ -199,5 +199,5 @@ stencil release [OPTIONS] ## Resources ### Related Articles -* [Authorizing and Initializing the CLI](/stencil-docs/installing-stencil-cli/installing-stencil) -* [Troubleshooting Your Setup](/stencil-docs/installing-stencil-cli/troubleshooting-your-setup) +* [Authorizing and Initializing the CLI](/docs/storefront/stencil/cli/install) +* [Troubleshooting Your Setup](/docs/storefront/stencil/cli/unexpected-behavior) diff --git a/docs/stencil-docs/installing-stencil-cli/troubleshooting-your-setup.mdx b/docs/stencil-docs/installing-stencil-cli/troubleshooting-your-setup.mdx index 32729f8e4b..10d238cae5 100644 --- a/docs/stencil-docs/installing-stencil-cli/troubleshooting-your-setup.mdx +++ b/docs/stencil-docs/installing-stencil-cli/troubleshooting-your-setup.mdx @@ -44,7 +44,7 @@ stencil start stencil push ``` -For more information, see [Incompatible Directives](/stencil-docs/installing-stencil-cli/incompatible-directives). +For more information, see [Incompatible Directives](/docs/storefront/stencil/cli/incompatible-directives). ## Unsupported Node version @@ -326,5 +326,5 @@ A more drastic measure is to uninstall and reinstall Stencil CLI's Node.js prere ## Resources ### Related articles -* [Authorizing and Initializing the CLI](/stencil-docs/installing-stencil-cli/installing-stencil) -* [Stencil CLI Options and Commands](/stencil-docs/installing-stencil-cli/stencil-cli-options-and-commands) +* [Authorizing and Initializing the CLI](/docs/storefront/stencil/cli/install) +* [Stencil CLI Options and Commands](/docs/storefront/stencil/cli/options-and-commands) diff --git a/docs/stencil-docs/javascript-and-event-hooks/adding-javascript.mdx b/docs/stencil-docs/javascript-and-event-hooks/adding-javascript.mdx index 6ac754865d..15474a5465 100644 --- a/docs/stencil-docs/javascript-and-event-hooks/adding-javascript.mdx +++ b/docs/stencil-docs/javascript-and-event-hooks/adding-javascript.mdx @@ -217,7 +217,7 @@ export default class Cart extends PageManager { this.bindEvents(); } - cartUpdate($target) { + cartUpdate($target) { const itemId = $target.data('cartItemid'); const $el = $(`#qty-${itemId}`); const oldQty = parseInt($el.val(), 10); @@ -238,11 +238,13 @@ export default class Cart extends PageManager { type: 'error', }); } + } +} ``` ## Mapping custom templates to JavaScript modules -If you add [custom page templates](/stencil-docs/storefront-customization/custom-templates/) to your theme, you can edit the same `assets/js/app.js` file to map each custom template to an appropriate JavaScript module. +If you add [custom page templates](/docs/storefront/stencil/themes/templates) to your theme, you can edit the same `assets/js/app.js` file to map each custom template to an appropriate JavaScript module. In the following example, we will map a custom JavaScript file, `assets/js/themes/custom.js` to a custom product page file `templates/pages/custom/product/customProd.html`. diff --git a/docs/stencil-docs/localization/localization-tutorial.mdx b/docs/stencil-docs/localization/localization-tutorial.mdx index 37cb811d1a..ae1ebbf3ea 100644 --- a/docs/stencil-docs/localization/localization-tutorial.mdx +++ b/docs/stencil-docs/localization/localization-tutorial.mdx @@ -9,10 +9,10 @@ In this tutorial, we will use Stencil CLI and [Browsersync](https://github.com/b To complete this tutorial, you should be familiar with the following concepts: -* [Installing Stencil CLI](/stencil-docs/installing-stencil-cli/installing-stencil) +* [Installing Stencil CLI](/docs/storefront/stencil/cli/install) * [Creating a Stencil CLI Token](https://support.bigcommerce.com/s/article/Store-API-Accounts) * [Downloading and uploading custom themes](https://support.bigcommerce.com/s/article/Stencil-Themes#download-upload) -* [Serving a live preview](/stencil-docs/installing-stencil-cli/live-previewing-a-theme#serving-a-live-preview) +* [Serving a live preview](/docs/storefront/stencil/cli/development-server#serving-a-live-preview) ## Adding a language file @@ -101,7 +101,7 @@ Other browsers may look and act differently. We suggest previewing your site to ## Related resources -* [Using Translation Keys](/stencil-docs/localization/translation-keys) +* [Using Translation Keys](/docs/storefront/stencil/themes/localization/translation-keys) * [Customizing a Theme - lang directory Video Demo](https://bigcommerce.wistia.com/medias/ovx95ctbb0) * [JSON translation files (BigCommerce GitHub)](https://github.com/bigcommerce/cornerstone/tree/master/lang) -* [Handlebars helpers reference](/stencil-docs/reference-docs/handlebars-helpers-reference#string-helpers) +* [Handlebars helpers reference](/docs/storefront/stencil/themes/context/handlebars-reference#string-helpers) diff --git a/docs/stencil-docs/localization/localizing-stores.mdx b/docs/stencil-docs/localization/localizing-stores.mdx index 6b33cdd3b4..5a1ec2c326 100644 --- a/docs/stencil-docs/localization/localizing-stores.mdx +++ b/docs/stencil-docs/localization/localizing-stores.mdx @@ -54,12 +54,12 @@ BigCommerce's Cornerstone Stencil theme supports these uneditable strings in the ## Localizing checkout -Localizing your theme's checkout and order confirmation pages requires customizations within the default checkout page and the order confirmation HTML file. See [Multi-language setup](/stencil-docs/localization/multi-language-checkout) for details. +Localizing your theme's checkout and order confirmation pages requires customizations within the default checkout page and the order confirmation HTML file. See [Multi-language setup](/docs/storefront/cart-checkout/localization) for details. #### Checkout localization - Checkout localization is only available for [Optimized One-Page Checkout](/stencil-docs/customizing-checkout/optimized-one-page-checkout). + Checkout localization is only available for [Optimized One-Page Checkout](/docs/storefront/cart-checkout/optimized-one-page-checkout). @@ -111,16 +111,16 @@ To fully localize your store, disable gift certificates in the BigCommerce contr ### Managing system messages You can localize a store's payment and checkout error messages via checkout-js in the BigCommerce control panel. For a list of error messages and supported languages, see [Verbose Error Messages at Checkout](https://support.bigcommerce.com/s/article/Optimized-Single-Page-Checkout#verbose). -To customize payment and checkout messages, define these variables in the theme language files. For details, see [Multi-language setup](/stencil-docs/localization/multi-language-checkout#multi-language-setup). +To customize payment and checkout messages, define these variables in the theme language files. For details, see [Multi-language setup](/docs/storefront/cart-checkout/localization#multi-language-setup). ## Resources ### Related articles -* [Translation Keys](/stencil-docs/localization/translation-keys) -* [Restyle Optimized One-Page Checkout](/stencil-docs/customizing-checkout/optimized-one-page-checkout) -* [Multi-Language Checkout](/stencil-docs/localization/multi-language-checkout) +* [Translation Keys](/docs/storefront/stencil/themes/localization/translation-keys) +* [Restyle Optimized One-Page Checkout](/docs/storefront/cart-checkout/optimized-one-page-checkout) +* [Multi-Language Checkout](/docs/storefront/cart-checkout/localization) * [Adding Products (Help Center)](https://support.bigcommerce.com/s/article/Adding-Products-v3) * [Changing Your Default Currency (Help Center)](https://support.bigcommerce.com/s/article/Managing-Currencies#default) diff --git a/docs/stencil-docs/localization/multi-language-checkout.mdx b/docs/stencil-docs/localization/multi-language-checkout.mdx index f5907a019e..975dbe8599 100644 --- a/docs/stencil-docs/localization/multi-language-checkout.mdx +++ b/docs/stencil-docs/localization/multi-language-checkout.mdx @@ -60,7 +60,7 @@ You can provide values for all of the checkout's supported translation keys even 1. Download checkout's [en.json](https://github.com/bigcommerce/checkout-js/blob/master/packages/locale/src/translations/en.json) file (GitHub). 2. Copy and paste the file's contents into your theme's `en.json` file. -3. Copy and paste the file's contents into each of the corresponding `json` files for the other languages you support. For naming requirements, see [Translation Keys](/stencil-docs/localization/translation-keys#the-schema). +3. Copy and paste the file's contents into each of the corresponding `json` files for the other languages you support. For naming requirements, see [Translation Keys](/docs/storefront/stencil/themes/localization/translation-keys#the-schema). | Supported Language | Required Translation File Name | |-|-| @@ -96,7 +96,7 @@ BigCommerce's Optimized One-Page Checkout will translate displayed **Country/Sta * Stencil's multi-language capabilities are limited to the strings that you specify within the theme. The Stencil framework does not currently translate content rendered from a store's database; for example, products' names. -* Within these limitations, if you intend to do business internationally, we recommend that you specify appropriate alternate-language strings for key parts of your storefront, product catalog, and checkout. Doing so will make browsing, purchasing, and payment easier for users in your target market(s). For an overview of all localization options, see [Localizing Stores](/stencil-docs/localization/localizing-stores). +* Within these limitations, if you intend to do business internationally, we recommend that you specify appropriate alternate-language strings for key parts of your storefront, product catalog, and checkout. Doing so will make browsing, purchasing, and payment easier for users in your target market(s). For an overview of all localization options, see [Localizing Stores](/docs/storefront/stencil/themes/localization/stores). ## Resources diff --git a/docs/stencil-docs/localization/translating-regions.mdx b/docs/stencil-docs/localization/translating-regions.mdx index 719fee1e45..6dd3568d0f 100644 --- a/docs/stencil-docs/localization/translating-regions.mdx +++ b/docs/stencil-docs/localization/translating-regions.mdx @@ -121,8 +121,8 @@ schemaTranslations.json ### Related articles -* [Translation Keys](/stencil-docs/localization/translation-keys) -* [Page Builder Overview](/stencil-docs/page-builder/page-builder-overview) -* [Translation Keys](/stencil-docs/localization/translation-keys) -* [schemaTranslations.json](/stencil-docs/storefront-customization/directory-structure#schematranslationsjson) +* [Translation Keys](/docs/storefront/stencil/themes/localization/translation-keys) +* [Page Builder Overview](/docs/storefront/stencil/content/page-builder) +* [Translation Keys](/docs/storefront/stencil/themes/localization/translation-keys) +* [schemaTranslations.json](/docs/storefront/stencil/themes/foundations/directory-structure#schematranslationsjson) diff --git a/docs/stencil-docs/localization/translation-keys.mdx b/docs/stencil-docs/localization/translation-keys.mdx index 0648cb2118..66b155c8f9 100644 --- a/docs/stencil-docs/localization/translation-keys.mdx +++ b/docs/stencil-docs/localization/translation-keys.mdx @@ -92,7 +92,7 @@ Key-value pairs are grouped into objects, for example: ## Invoking a translation key -Once keys and values are defined in the [JSON translation file](https://github.com/bigcommerce/cornerstone/tree/master/lang), you can invoke dynamic translation strings using the custom `{{lang}}` [Handlebars string helper](/stencil-docs/reference-docs/handlebars-helpers-reference#string-helpers). +Once keys and values are defined in the [JSON translation file](https://github.com/bigcommerce/cornerstone/tree/master/lang), you can invoke dynamic translation strings using the custom `{{lang}}` [Handlebars string helper](/docs/storefront/stencil/themes/context/handlebars-reference#string-helpers). To invoke a defined translation key, follow this generic format: @@ -200,4 +200,4 @@ Translation files for other languages would use a similar format to define key-v ### Additional resources * [Customizing a Theme - lang directory Video Demo](https://bigcommerce.wistia.com/medias/ovx95ctbb0) -* [Handlebars String Helpers](/stencil-docs/reference-docs/handlebars-helpers-reference#string-helpers) +* [Handlebars String Helpers](/docs/storefront/stencil/themes/context/handlebars-reference#string-helpers) diff --git a/docs/stencil-docs/page-builder/configuration.mdx b/docs/stencil-docs/page-builder/configuration.mdx index c3ad875302..2e79375908 100644 --- a/docs/stencil-docs/page-builder/configuration.mdx +++ b/docs/stencil-docs/page-builder/configuration.mdx @@ -38,7 +38,7 @@ In all, the structure that you give your theme's `config.json` and `schema.json` ## Theme Styles data types -You are free to decide which properties of your theme to make editable in [Theme Styles](/stencil-docs/reference-docs/styles-and-properties/) and in which order to display them. Theme Styles can expose any set of properties as long as your `schema.json` declares them using the data types that Theme Styles supports. +You are free to decide which properties of your theme to make editable in [Theme Styles](/docs/storefront/stencil/themes/context/object-reference/config) and in which order to display them. Theme Styles can expose any set of properties as long as your `schema.json` declares them using the data types that Theme Styles supports. Theme Styles supports the following data types: * checkbox diff --git a/docs/stencil-docs/page-builder/page-builder-overview.mdx b/docs/stencil-docs/page-builder/page-builder-overview.mdx index 482d7b21dd..7df7765654 100644 --- a/docs/stencil-docs/page-builder/page-builder-overview.mdx +++ b/docs/stencil-docs/page-builder/page-builder-overview.mdx @@ -8,21 +8,21 @@ Page Builder is a browser-based tool that offers merchants visual editing and co To customize the different style elements of a theme, such as colors, font, and text size, merchants can use the **Theme Styles** feature of Page Builder. -As a theme developer, you can configure your theme's settings to determine how merchants can personalize your theme. For example, you can modify how merchants can customize colors, fonts, and the number of products to display per feature. For information on how to configure your theme's files, see [Theme Styles Configuration](/stencil-docs/page-builder/theme-styles-configuration). +As a theme developer, you can configure your theme's settings to determine how merchants can personalize your theme. For example, you can modify how merchants can customize colors, fonts, and the number of products to display per feature. For information on how to configure your theme's files, see [Theme Styles Configuration](/docs/storefront/stencil/themes/foundations/customizability). ## Widgets Page Builder's **Widgets** tool lets store owners create and manage page content for their stores. Merchants can use widgets in the control panel to drag and drop content such as text, images, videos, banners, carousels, and product lists. -Developers can build user interfaces for their custom [widgets](/api-docs/store-management/widgets/overview#widgets) within the Page Builder platform using a pre-configured schema. While BigCommerce provides the setting, logic, and design, the widget author provides information about the various configurations that make up the widget. BigCommerce uses the same mechanism for all platform-provided widgets. +Developers can build user interfaces for their custom [widgets](/docs/storefront/widgets#widgets) within the Page Builder platform using a pre-configured schema. While BigCommerce provides the setting, logic, and design, the widget author provides information about the various configurations that make up the widget. BigCommerce uses the same mechanism for all platform-provided widgets. -New widgets are injected into the storefront using BigCommerce's [Widgets API](/api-docs/store-management/widgets/overview). You can add custom configuration settings to your widget's Page Builder UI by including the `schema` property in the [Create a Widget Template](/docs/rest-content/widgets/widget-template#create-a-widget-template) request. +New widgets are injected into the storefront using BigCommerce's [Widgets API](/docs/storefront/widgets). You can add custom configuration settings to your widget's Page Builder UI by including the `schema` property in the [Create a Widget Template](/docs/rest-content/widgets/widget-template#create-a-widget-template) request. -For settings that you can pass as JSON objects into the `schema` property of the [Create a Widget Template](/docs/rest-content/widgets/widget-template#create-a-widget-template) endpoint, see [Widgets UI Schema](/stencil-docs/page-builder/widget-ui-schema). +For settings that you can pass as JSON objects into the `schema` property of the [Create a Widget Template](/docs/rest-content/widgets/widget-template#create-a-widget-template) endpoint, see [Widgets UI Schema](/docs/storefront/widgets/input-reference/schema). -To learn more about using third-party widgets with Page Builder, see [Third-Party Widgets](/stencil-docs/page-builder/third-party-widgets). +To learn more about using third-party widgets with Page Builder, see [Third-Party Widgets](/docs/storefront/stencil/content/widgets). -For step-by-step tutorials on creating and managing widgets, see [Widgets API Tutorials](/api-docs/store-management/widgets/tutorials/tutorial). +For step-by-step tutorials on creating and managing widgets, see [Widgets API Tutorials](/docs/storefront/widgets/guide). ## Layers @@ -31,4 +31,4 @@ The **Layers** tool helps merchants organize existing widgets on the current pag ## Related resources - [Cornerstone Theme Manual](https://support.bigcommerce.com/s/article/Cornerstone-Theme-Manual) - [Page Builder](https://support.bigcommerce.com/s/article/Page-Builder) -- [Widgets API](/api-docs/store-management/widgets/overview) +- [Widgets API](/docs/storefront/widgets) diff --git a/docs/stencil-docs/page-builder/third-party-widgets.mdx b/docs/stencil-docs/page-builder/third-party-widgets.mdx index f229754fad..6c06503b51 100644 --- a/docs/stencil-docs/page-builder/third-party-widgets.mdx +++ b/docs/stencil-docs/page-builder/third-party-widgets.mdx @@ -4,18 +4,18 @@ A third-party widget is a configurable, reusable component created and maintained by developers outside of BigCommerce. You can use third-party widgets to display custom content in a Stencil storefront. -This article outlines the three main steps involved in using third-party widgets with [Page Builder](/stencil-docs/page-builder/page-builder-overview). +This article outlines the three main steps involved in using third-party widgets with [Page Builder](/docs/storefront/stencil/content/page-builder). ## Creating third-party widgets -Widgets are injected into the storefront using the [Widgets API](/docs/rest-content/widgets). You can apply [widgets](/api-docs/store-management/widgets/overview#widgets) and [widget templates](/api-docs/store-management/widgets/overview#widget-templates) in a merchant’s store using one of the following methods: +Widgets are injected into the storefront using the [Widgets API](/docs/rest-content/widgets). You can apply [widgets](/docs/storefront/widgets#widgets) and [widget templates](/docs/storefront/widgets#widget-templates) in a merchant’s store using one of the following methods: - OAuth token - App Marketplace ### OAuth token -To use this method, you will need to obtain API credentials with OAuth content scope set to `modify`. For information about making requests against BigCommerce’s REST APIs, see [Authenticating BigCommerce’s REST APIs](/api-docs/getting-started/api-accounts). After obtaining the token, you can inject, list, and remove widgets on any page of the store. To learn how to complete these actions, see [Widgets Tutorial](/api-docs/storefront/widgets/widgets-tutorial). +To use this method, you will need to obtain API credentials with OAuth content scope set to `modify`. For information about making requests against BigCommerce’s REST APIs, see [Authenticating BigCommerce’s REST APIs](/docs/start/authentication/api-accounts). After obtaining the token, you can inject, list, and remove widgets on any page of the store. To learn how to complete these actions, see [Widgets Tutorial](/docs/storefront/widgets/guide). ### App Marketplace @@ -55,5 +55,5 @@ If you successfully create the widget template, you should see the widget with i ## Resources -- [Widgets API](/api-docs/store-management/widgets/overview) -- [Widgets Tutorial](/api-docs/store-management/widgets/tutorial) +- [Widgets API](/docs/storefront/widgets) +- [Widgets Tutorial](/docs/storefront/widgets/guide) diff --git a/docs/stencil-docs/page-builder/wallet-buttons.mdx b/docs/stencil-docs/page-builder/wallet-buttons.mdx index eb29d91c71..be12e7b6d7 100644 --- a/docs/stencil-docs/page-builder/wallet-buttons.mdx +++ b/docs/stencil-docs/page-builder/wallet-buttons.mdx @@ -7,7 +7,7 @@ keywords: stencil, sort, #### Familiarity with Stencil development - The file structure of each theme can be unique; therefore, some knowledge of [Stencil](/stencil-docs/getting-started/about-stencil) development may be required to render wallet buttons. The examples in this article use the Cornerstone theme. + The file structure of each theme can be unique; therefore, some knowledge of [Stencil](/docs/storefront/stencil/start) development may be required to render wallet buttons. The examples in this article use the Cornerstone theme. This article explains how to add wallet buttons to the Product Detail Page, or _PDP_. Cornerstone 6.7.0+ supports wallet buttons by default; however, you can upgrade older themes to support wallet buttons by following the steps outlined in this article. @@ -346,6 +346,6 @@ In themes below version 6.7, you need to perform another step to make wallet but ### Related articles -* [Theme Styles Configuration](/stencil-docs/page-builder/theme-styles-configuration) +* [Theme Styles Configuration](/docs/storefront/stencil/themes/foundations/customizability) * [Page Builder](https://support.bigcommerce.com/s/article/Page-Builder?language=en_US) * [Stencil Objects](https://developer.bigcommerce.com/theme-objects/schemas) diff --git a/docs/stencil-docs/page-builder/widget-ui-schema.mdx b/docs/stencil-docs/page-builder/widget-ui-schema.mdx index 47258831b6..1eaa49cfec 100644 --- a/docs/stencil-docs/page-builder/widget-ui-schema.mdx +++ b/docs/stencil-docs/page-builder/widget-ui-schema.mdx @@ -2,7 +2,7 @@ -This document outlines the different schema settings you can use in your custom widget template. For a tutorial on creating widget templates, see [Widgets Tutorial](/api-docs/store-management/widgets/tutorial). +This document outlines the different schema settings you can use in your custom widget template. For a tutorial on creating widget templates, see [Widgets Tutorial](/docs/storefront/widgets/guide). ## Tabs and sections Within the `schema` property of the Create a Widget Template endpoint, settings are grouped into `tabs` and `sections`. @@ -116,10 +116,10 @@ The following table contains fields common between schema settings. |`typeMeta`|Additional information needed based on the selected setting type.| |`conditional`|An optional property that can be added to each setting to control whether it should be displayed to the user while editing in Page Builder. This does not clear the value in the setting, just controls the display of the setting.| -For examples of different schema settings you can use in your custom widget template, see [Widget UI Input Types](/stencil-docs/page-builder/schema-settings). +For examples of different schema settings you can use in your custom widget template, see [Widget UI Input Types](/docs/storefront/widgets/input-reference/settings). ## Resources -- [Widgets API](/api-docs/store-management/widgets/overview) -- [Widgets Code Samples](/api-docs/storefront/widgets/widgets-code-samples) -- [Widget UI Input Types](/stencil-docs/page-builder/schema-settings/alignment) -- [Widgets Tutorial](/api-docs/store-management/widgets/tutorial) +- [Widgets API](/docs/storefront/widgets) +- [Widgets Code Samples](/docs/storefront/widgets/examples) +- [Widget UI Input Types](/docs/storefront/widgets/input-reference/settings#alignment) +- [Widgets Tutorial](/docs/storefront/widgets/guide) diff --git a/docs/stencil-docs/page-builder/widget_element_settings.yaml b/docs/stencil-docs/page-builder/widget_element_settings.yaml index a8678bc997..2cc1fc6bcf 100644 --- a/docs/stencil-docs/page-builder/widget_element_settings.yaml +++ b/docs/stencil-docs/page-builder/widget_element_settings.yaml @@ -7,7 +7,7 @@ description: |- |Attribute|Description| |---|---| - |`visibility`|Displays an eyeball icon similar to the [Visibility](docs/stencil-docs/page-builder/widget_visibility.yaml) setting type| + |`visibility`|Displays an eyeball icon similar to the [Visibility](/docs/storefront/widgets/input-reference/settings#visibility) setting type | |`advanced`|Displays a brush icon that reveals a list of settings when clicked|
diff --git a/docs/stencil-docs/reference-docs/common-objects.mdx b/docs/stencil-docs/reference-docs/common-objects.mdx index 082e140449..204c293055 100644 --- a/docs/stencil-docs/reference-docs/common-objects.mdx +++ b/docs/stencil-docs/reference-docs/common-objects.mdx @@ -57,8 +57,7 @@ This consistent behavior is true for each of the common objects documented in th | ↳ formatted | String representation of the above price, including currency formatting | string
`"$25.98"` | | ↳ value | Raw numeric value of the above price | number
`25.98`| | tax_label | Tax label (VAT, sales tax, etc.) displayed to customers. | string
`"Tax"`| -| price_range | See [Price Range Object](/stencil-docs/reference-docs/common-objects#common-objects_price-range)| | - +| price_range | See [Price Range Object](/docs/storefront/stencil/themes/context/object-reference/config) ## Price **Description:** Exposes price- and currency-related properties in both raw numeric, and formatted string, formats. diff --git a/docs/stencil-docs/reference-docs/front-matter-reference.mdx b/docs/stencil-docs/reference-docs/front-matter-reference.mdx index bf73eb62ff..3674635a3e 100644 --- a/docs/stencil-docs/reference-docs/front-matter-reference.mdx +++ b/docs/stencil-docs/reference-docs/front-matter-reference.mdx @@ -2,7 +2,7 @@ -Front matter defines which store resources are available to be rendered within a Stencil template. Front matter is declared at the top of each template and uses [YAML](https://yaml.org/) syntax. For more information, see [Declaring Front Matter Objects](/stencil-docs/storefront-customization/using-front-matter#declaring-front-matter-objects). +Front matter defines which store resources are available to be rendered within a Stencil template. Front matter is declared at the top of each template and uses [YAML](https://yaml.org/) syntax. For more information, see [Declaring Front Matter Objects](/docs/storefront/stencil/themes/context/frontmatter#declaring-front-matter-objects). ## Supported templates You can use YAML front matter for templates in the `templates/pages/` directory. Injecting objects in the front matter of `templates/pages/page.html` will make the objects available to custom templates. @@ -69,7 +69,7 @@ blog: | Property | Description | |:---------|:------------| -|`blog`| Default sorting is by published_date, from most recent to earliest. This sorting does not work on the blog page. See [Blog Attributes](/stencil-docs/reference-docs/front-matter-reference#blog-attributes).| +|`blog`| Default sorting is by published_date, from most recent to earliest. This sorting does not work on the blog page. See [Blog Attributes](/docs/storefront/stencil/themes/context/frontmatter-reference#blog-attributes).| |`recent_posts`| null: No recent blog posts displayed. If not defined, defaults to the maximum of 20 blog posts.| |`summary`|Sets the number of characters to display in each blog post summary. If not defined, it displays 100 characters.| @@ -226,7 +226,7 @@ search: |`product_results`|`limit` defines the number of product search results displayed per page. The range of possible values is 1–100 products.| ## GraphQL attributes -You can add [GraphQL Storefront API](/api-docs/storefront/graphql/graphql-storefront-api-overview) queries to your theme via the front matter block in a template file. For example, you can request a product's variants by augmenting the existing [product.html template](https://github.com/bigcommerce/cornerstone/blob/master/templates/pages/product.html): +You can add [GraphQL Storefront API](/docs/storefront/graphql) queries to your theme via the front matter block in a template file. For example, you can request a product's variants by augmenting the existing [product.html template](https://github.com/bigcommerce/cornerstone/blob/master/templates/pages/product.html): ```yaml showLineNumbers product: diff --git a/docs/stencil-docs/reference-docs/handlebars-helpers-reference.mdx b/docs/stencil-docs/reference-docs/handlebars-helpers-reference.mdx index bad42c8d32..b44ad01da8 100644 --- a/docs/stencil-docs/reference-docs/handlebars-helpers-reference.mdx +++ b/docs/stencil-docs/reference-docs/handlebars-helpers-reference.mdx @@ -1,6 +1,6 @@ # Handlebars Helpers Reference -This article is a reference for [Stencil](/stencil-docs/getting-started/about-stencil) supported [Handlebars](https://handlebarsjs.com/) helpers. It includes [custom helpers](#custom-helpers) documentation and a list of acceptlisted [standard helpers](#standard-helpers). +This article is a reference for [Stencil](/docs/storefront/stencil/start) supported [Handlebars](https://handlebarsjs.com/) helpers. It includes [custom helpers](#custom-helpers) documentation and a list of acceptlisted [standard helpers](#standard-helpers). ## Custom helpers @@ -208,7 +208,7 @@ In this example, the `image.jpg` file was uploaded to the WebDAV `/content/` dir #### CDN custom endpoints -You can define custom CDN endpoints to use with the `{{cdn}}` helper. By doing so you can include large, high-resolution image assets in themes without exceeding BigCommerce's [50 MB limit](https://developer.bigcommerce.com/stencil-docs/deploying-a-theme/bundling-and-pushing) when bundling the theme for upload to BigCommerce. +You can define custom CDN endpoints to use with the `{{cdn}}` helper. By doing so you can include large, high-resolution image assets in themes without exceeding BigCommerce's [50 MB limit](/docs/storefront/stencil/deployment/upload) when bundling the theme for upload to BigCommerce. You can also use a local version of the image in development and a remote version on a CDN such as Imgix in production. To do so, define custom CDN endpoints in your theme's [`config.json` file](https://github.com/bigcommerce/cornerstone/blob/master/config.json). @@ -1499,7 +1499,7 @@ Overrides content defined by the [block](#block) helper. {{region name}} ``` -Specifies a [widget](/api-docs/store-management/widgets/overview#widgets) region. +Specifies a [widget](/docs/storefront/widgets#widgets) region. #### Parameters @@ -1769,8 +1769,8 @@ BigCommerce's custom Handlebars helpers are open source. To contribute, make a p ## Resources -* [Widgets](/api-docs/store-management/widgets/overview) -* [Theme Objects](/stencil-docs/reference-docs/global-objects-and-properties) +* [Widgets](/docs/storefront/widgets) +* [Theme Objects](/docs/storefront/stencil/themes/context/object-reference/config) * [Cornerstone](https://github.com/bigcommerce/cornerstone) * [Paper Handlebars](https://github.com/bigcommerce/paper-handlebars/tree/master/helpers) * [Handlebars.js](https://handlebarsjs.com/) diff --git a/docs/stencil-docs/reference-docs/stencil-utils-api-reference.mdx b/docs/stencil-docs/reference-docs/stencil-utils-api-reference.mdx index dbbb052eec..64fa2afcbd 100644 --- a/docs/stencil-docs/reference-docs/stencil-utils-api-reference.mdx +++ b/docs/stencil-docs/reference-docs/stencil-utils-api-reference.mdx @@ -37,7 +37,7 @@ This method takes the form `utils.api.getPage(url, options, callback)`. | options | object | Can contain `template`, [FormData (for POST methods)](https://developer.mozilla.org/en-US/docs/Web/API/FormData), `params` (for GET methods), and/or `config`.

The `template` option allows you to select a particular template, or an array of templates, for rendering one page. Each value must correspond to a file present in the theme's `templates/components/` subdirectory.

The `config` option can be used to pass extra resources, corresponding to attributes that are valid in a page's front matter, as an object. | | callback | function | Asynchronous function the subject method calls to handle any results. | -The `config` argument works like front matter: it encapsulates JSON. For a usage example of `config`, see the [Remote API Example](/stencil-docs/adding-event-hooks-to-your-theme/remote-api-example). +The `config` argument works like front matter: it encapsulates JSON. For a usage example of `config`, see the [Remote API Example](/docs/storefront/stencil/utils/queries). In the following example from `common/faceted-search.js`, an `updateView()` method uses `api.getPage()` to refresh page content. @@ -70,7 +70,7 @@ The Cornerstone theme uses the `getPage` method in the following contexts: This method takes the form `utils.api.getPageByGQL(page, callback)`. -It allows you to render parts of a template using an inline GraphQL query, as shown in [Front Matter Reference - GraphQL attributes](/stencil-docs/reference-docs/front-matter-reference#graphql-attributes). +It allows you to render parts of a template using an inline GraphQL query, as shown in [Front Matter Reference - GraphQL attributes](/docs/storefront/stencil/themes/context/frontmatter-reference#graphql-attributes). | Parameter | Type | Description/Usage | |:----------|:-----|:------------------| diff --git a/docs/stencil-docs/storefront-customization/WCAG-compliance-levels.mdx b/docs/stencil-docs/storefront-customization/WCAG-compliance-levels.mdx index c636e6cba0..eabea85649 100644 --- a/docs/stencil-docs/storefront-customization/WCAG-compliance-levels.mdx +++ b/docs/stencil-docs/storefront-customization/WCAG-compliance-levels.mdx @@ -1,7 +1,7 @@ # WCAG Compliance Levels -This article demonstrates how Cornerstone satisfies [Web Content Accessibility Guidelines (WCAG) 2.1](https://www.w3.org/TR/WCAG21/#guidelines) across compliance levels. You can apply similar techniques to your site regardless of your compliance level. For detailed implementation information, see [Implementing WCAG Guidelines](https://developer.bigcommerce.com/stencil-docs/accessibility/implementing-wcag-guidelines). +This article demonstrates how Cornerstone satisfies [Web Content Accessibility Guidelines (WCAG) 2.1](https://www.w3.org/TR/WCAG21/#guidelines) across compliance levels. You can apply similar techniques to your site regardless of your compliance level. For detailed implementation information, see [Implementing WCAG Guidelines](/docs/storefront/stencil/themes/accessibility/implementing-wcag-guidelines). ## Accessibility principles WCAG organizes accessibility guidelines into four principles. @@ -35,7 +35,7 @@ Perceivable | -- | -- | -- | | Level A | [Meaningful Sequence](https://www.w3.org/TR/WCAG21/#meaningful-sequence) | The links in the navigation bar form a meaningful sequence. Search, Sign In or Register, and Cart buttons appear above all other content because many visitors will want to perform these actions.| | Level AA | [Orientation](https://www.w3.org/TR/WCAG21/#orientation) |The theme is fully responsive, meaning it automatically adapts to your device (desktop, tablet, and mobile). | -| Level AAA| [Identify Purpose](https://www.w3.org/TR/WCAG21/#identify-purpose) | The option to add your own [fonts and icons](/stencil-docs/storefront-customization/using-custom-fonts-and-icons) in the navigation of a site to load symbols and vocabulary familiar to users. | +| Level AAA| [Identify Purpose](https://www.w3.org/TR/WCAG21/#identify-purpose) | The option to add your own [fonts and icons](/docs/storefront/stencil/themes/style/fonts-and-icons) in the navigation of a site to load symbols and vocabulary familiar to users. | | Level | Guideline 1.4: Distinguishable | Cornerstone technique | | -- | -- | -- | @@ -46,16 +46,16 @@ Perceivable Operable | Level | Guideline 2.4: Navigable | Cornerstone technique | | -- | -- | -- | -| Level A | [Bypass Blocks](https://www.w3.org/TR/WCAG21/#bypass-blocks) | The option to add a visible 'Skip to Main' link to all pages on your site that sends users to the start of the main content of each page. [Bypass Blocks](https://developer.bigcommerce.com/stencil-docs/accessibility/implementing-wcag-guidelines#bypass-blocks) example | +| Level A | [Bypass Blocks](https://www.w3.org/TR/WCAG21/#bypass-blocks) | The option to add a visible 'Skip to Main' link to all pages on your site that sends users to the start of the main content of each page. [Bypass Blocks](/docs/storefront/stencil/themes/accessibility/implementing-wcag-guidelines#bypass-blocks) example | | Level AA | [Multiple Ways](https://www.w3.org/TR/WCAG21/#multiple-ways) | The search bar is in the top right by default; however, you can receive search results on both the quick-search bar and when you press Enter on the search results page. | -| Level AAA| [Location](https://www.w3.org/TR/WCAG21/#location) | Breadcrumbs are allowed on a web page. [Location](https://developer.bigcommerce.com/stencil-docs/accessibility/implementing-wcag-guidelines#location) example | +| Level AAA| [Location](https://www.w3.org/TR/WCAG21/#location) | Breadcrumbs are allowed on a web page. [Location](/docs/storefront/stencil/themes/accessibility/implementing-wcag-guidelines#location) example | Understandable | Level | Guideline 3.1: Readable | Cornerstone technique | | -- | -- | -- | -| Level A | [Language of Page](https://www.w3.org/TR/WCAG21/#language-of-page) | The ability to customize your display in any one [language](/stencil-docs/localization/localization-tutorial) of your choice by using the lang attribute on the HTML element. | -| Level AA | [Language of Parts](https://www.w3.org/TR/WCAG21/#language-of-parts) | The option to translate your theme into [multiple displayed languages](/stencil-docs/localization/multi-language-checkout). | -| Level AAA| [Unusual Words](https://www.w3.org/TR/WCAG21/#unusual-words) | A mechanism is available for users to perceive content as a single control for a distinct function. [Unusual words](https://developer.bigcommerce.com/stencil-docs/accessibility/implementing-wcag-guidelines#unusual-words) example. | +| Level A | [Language of Page](https://www.w3.org/TR/WCAG21/#language-of-page) | The ability to customize your display in any one [language](/docs/storefront/stencil/themes/localization/tutorial) of your choice by using the lang attribute on the HTML element. | +| Level AA | [Language of Parts](https://www.w3.org/TR/WCAG21/#language-of-parts) | The option to translate your theme into [multiple displayed languages](/docs/storefront/cart-checkout/localization). | +| Level AAA| [Unusual Words](https://www.w3.org/TR/WCAG21/#unusual-words) | A mechanism is available for users to perceive content as a single control for a distinct function. [Unusual words](/docs/storefront/stencil/themes/accessibility/implementing-wcag-guidelines#unusual-words) example. | | Level | Guideline 3.2: Predictable | Cornerstone technique | diff --git a/docs/stencil-docs/storefront-customization/custom-sass-functions.mdx b/docs/stencil-docs/storefront-customization/custom-sass-functions.mdx index eee05e800c..35e9c571aa 100644 --- a/docs/stencil-docs/storefront-customization/custom-sass-functions.mdx +++ b/docs/stencil-docs/storefront-customization/custom-sass-functions.mdx @@ -15,7 +15,7 @@ #### Note - The [config.json](/stencil-docs/storefront-customization/directory-structure#configjson) file is the main configuration file for Stencil themes and exists in the theme root directory. Use Stencil CLI to edit this file. + The [config.json](/docs/storefront/stencil/themes/foundations/directory-structure#configjson) file is the main configuration file for Stencil themes and exists in the theme root directory. Use Stencil CLI to edit this file. ## Compiling custom Sass files diff --git a/docs/stencil-docs/storefront-customization/custom-templates.mdx b/docs/stencil-docs/storefront-customization/custom-templates.mdx index d60c8f2eca..65d8346d0a 100644 --- a/docs/stencil-docs/storefront-customization/custom-templates.mdx +++ b/docs/stencil-docs/storefront-customization/custom-templates.mdx @@ -128,7 +128,7 @@ In addition to mapping a single array to a URL you can also map an array of URLs ## Specifying custom front matter -You can add front matter directly to a custom template. For more information on using front matter, see [Using Front Matter](/stencil-docs/storefront-customization/using-front-matter) +You can add front matter directly to a custom template. For more information on using front matter, see [Using Front Matter](/docs/storefront/stencil/themes/context/frontmatter) The following example shows how to add front matter data to the `templates/pages/custom/brand/custom-brand.html` file. @@ -152,7 +152,7 @@ The following example shows how to add front matter data to the `templates/pages ## Uploading a theme -Before you can apply your custom template to pages you need to bundle and push the theme to BigCommerce. For detailed instructions, see [Bundling and Pushing a Theme](/stencil-docs/deploying-a-theme/bundling-and-pushing). +Before you can apply your custom template to pages you need to bundle and push the theme to BigCommerce. For detailed instructions, see [Bundling and Pushing a Theme](/docs/storefront/stencil/deployment/upload). ## Applying custom templates to pages @@ -185,7 +185,7 @@ If you have an old version of Stencil CLI installed, custom templates may not be ### Related Articles -* [Blueprint and Developer Mode](https://developer.bigcommerce.com/legacy/blueprint-themes/blueprint-and-developer-mode) +* [Blueprint and Developer Mode](/archive/storefront/blueprint/themes/blueprint-and-developer-mode) * [Applying a Custom Template](https://support.bigcommerce.com/s/article/Stencil-Themes#custom-templates) (BigCommerce Knowledge Base) diff --git a/docs/stencil-docs/storefront-customization/early-hints.mdx b/docs/stencil-docs/storefront-customization/early-hints.mdx index b0d841bc07..69b67d9253 100644 --- a/docs/stencil-docs/storefront-customization/early-hints.mdx +++ b/docs/stencil-docs/storefront-customization/early-hints.mdx @@ -30,9 +30,9 @@ Assets loaded through the `{{stylesheet}}` or `{{getFontsCollection}}` Handlebar ### Theme scripts loaded using the cdn Handlebars helper -JavaScript files within themes, such as the primary JavaScript bundle, are typically loaded using the [cdn helper](https://developer.bigcommerce.com/stencil-docs/ZG9jOjIyMDcxOA-handlebars-helpers-reference#cdn). +JavaScript files within themes, such as the primary JavaScript bundle, are typically loaded using the [cdn helper](/docs/storefront/stencil/themes/context/handlebars-reference#cdn). -To take advantage of Early Hints, theme developers must mark the highest-priority resources within their theme for preloading by adding the `resourceHint`, `rel`, and `cors` arguments to the `{{cdn}}` helper. For detailed information, see `{{cdn}}` on the [Handlebars helpers reference](https://developer.bigcommerce.com/stencil-docs/ZG9jOjIyMDcxOA-handlebars-helpers-reference#cdn). +To take advantage of Early Hints, theme developers must mark the highest-priority resources within their theme for preloading by adding the `resourceHint`, `rel`, and `cors` arguments to the `{{cdn}}` helper. For detailed information, see `{{cdn}}` on the [Handlebars helpers reference](/docs/storefront/stencil/themes/context/handlebars-reference#cdn). The following is an example of using the Early Hints arguments on the `{{cdn}}` helper: diff --git a/docs/stencil-docs/storefront-customization/localizing-variation-descriptions.mdx b/docs/stencil-docs/storefront-customization/localizing-variation-descriptions.mdx index 1d461ee13b..88f1ec7b88 100644 --- a/docs/stencil-docs/storefront-customization/localizing-variation-descriptions.mdx +++ b/docs/stencil-docs/storefront-customization/localizing-variation-descriptions.mdx @@ -89,5 +89,5 @@ The language code must follow a set format of two lowercase letters for a two-le ## Resources -* [Directory Structure](/stencil-docs/storefront-customization/directory-structure) +* [Directory Structure](/docs/storefront/stencil/themes/foundations/directory-structure) * [The BigCommerce Theme Marketplace](https://support.bigcommerce.com/s/article/The-Bigcommerce-Themes-Marketplace?language=en_US) diff --git a/docs/stencil-docs/storefront-customization/using-custom-fonts-and-icons.mdx b/docs/stencil-docs/storefront-customization/using-custom-fonts-and-icons.mdx index 5dcef4ad77..a1521fa762 100644 --- a/docs/stencil-docs/storefront-customization/using-custom-fonts-and-icons.mdx +++ b/docs/stencil-docs/storefront-customization/using-custom-fonts-and-icons.mdx @@ -3,7 +3,7 @@ #### Custom fonts unavailable on Page Builder * BigCommerce widgets come with a list of pre-defined fonts and do not support custom fonts at this time. - * Third-party widgets can support any font available in the theme. To learn more about third-party widgets, see [Third-Party Widgets](/stencil-docs/page-builder/third-party-widgets). + * Third-party widgets can support any font available in the theme. To learn more about third-party widgets, see [Third-Party Widgets](/docs/storefront/stencil/content/widgets). @@ -97,7 +97,7 @@ Files that do not contain font-overriding CSS code will use the CSS settings in ## Sass stylesheet support for theme fonts -To support Page Builder, your theme's Sass stylesheet must call [Stencil's custom Sass functions](/stencil-docs/storefront-customization/custom-sass-functions) to transform fonts specified in the theme's `config.json` file. You must call these functions on each `config.json` font key whose value you want to make available to Sass variables. +To support Page Builder, your theme's Sass stylesheet must call [Stencil's custom Sass functions](/docs/storefront/stencil/themes/style/sass) to transform fonts specified in the theme's `config.json` file. You must call these functions on each `config.json` font key whose value you want to make available to Sass variables. The default Stencil theme includes these function calls in the following stylesheet @@ -175,7 +175,7 @@ Simply add your new icon SVG file to the `assets/icons/ `folder. Then, from your ## Resources ### Additional resources -* [Stencil Custom Sass Functions](/stencil-docs/storefront-customization/custom-sass-functions) +* [Stencil Custom Sass Functions](/docs/storefront/stencil/themes/style/sass) * [Custom Icons Video Tutorial (BigCommerce YouTube)](https://youtube.com/watch?v=ZwrVN5QrEZY) * [Custom Fonts Video Tutorial (BigCommerce YouTube)](https://youtube.com/watch/-w7Hbn_p_pw) * [Google Fonts (Google)](https://fonts.google.com/) diff --git a/docs/stencil-docs/storefront-customization/using-front-matter.mdx b/docs/stencil-docs/storefront-customization/using-front-matter.mdx index f4b9acc7de..97e5deb190 100644 --- a/docs/stencil-docs/storefront-customization/using-front-matter.mdx +++ b/docs/stencil-docs/storefront-customization/using-front-matter.mdx @@ -52,7 +52,7 @@ products: limit: 6 ``` -Most keys have a default value, as listed in the [front matter attributes reference](/stencil-docs/reference-docs/front-matter-reference). Specifying the key without a value will call that default value. The default value for `similar_by_views:limit:` happens to be `4`, so inserting `limit` with no integer will display four products: +Most keys have a default value, as listed in the [front matter attributes reference](/docs/storefront/stencil/themes/context/frontmatter-reference). Specifying the key without a value will call that default value. The default value for `similar_by_views:limit:` happens to be `4`, so inserting `limit` with no integer will display four products: ```yml filename="Example: Filtering attributes" showLineNumbers products: @@ -84,7 +84,7 @@ products: #### Reading the Handlebars - In the above HTML, the `{{name}}` identifier calls an attribute of Stencil’s common product card model, which consolidates details about a given product. For this and other objects that you can access through HTML, please see our [reference](/stencil-docs/reference-docs/handlebars-helpers-reference#Front-Matter-overview_declaring-objects) section on Handlebars objects. + In the above HTML, the `{{name}}` identifier calls an attribute of Stencil’s common product card model, which consolidates details about a given product. For this and other objects that you can access through HTML, please see our [reference](/docs/storefront/stencil/themes/context/handlebars-reference#Front-Matter-overview_declaring-objects) section on Handlebars objects. @@ -117,4 +117,4 @@ product: ``` ## Resources -* [Front Matter Reference](/stencil-docs/reference-docs/front-matter-reference) +* [Front Matter Reference](/docs/storefront/stencil/themes/context/frontmatter-reference)