From 7e78c73397c5695503170f3256ca02b74b63ee69 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Tue, 12 Dec 2023 08:58:38 -0600 Subject: [PATCH 1/8] DEVDOCS-5619: [Update] becoming-a-partner.mdx (#2112) --- docs/api-docs/partner/becoming-a-partner.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api-docs/partner/becoming-a-partner.mdx b/docs/api-docs/partner/becoming-a-partner.mdx index 31cbd0949..b463464a5 100644 --- a/docs/api-docs/partner/becoming-a-partner.mdx +++ b/docs/api-docs/partner/becoming-a-partner.mdx @@ -48,7 +48,7 @@ Once approved, you will receive one or more emails listing your partner credenti BigCommerce offers training modules to help you get up to speed with the BigCommerce platform. You will need to complete these training modules to become a BigCommerce Certified Partner. -To access the training modules, log into the [Partner Portal](https://partners.bigcommerce.com/), hover over the **Training** tab (top navigation), and select **eLearning Modules**. This path will take you to the [Training & Enablement](https://partners.bigcommerce.com/English/Solutions/training/training_and_enablement.aspx) page. +To access the training modules, log into the [Partner Portal](https://partners.bigcommerce.com/), hover over the **Education** tab (top navigation), and select **Training & Certification**. This path will take you to the [Trainings](https://partners.bigcommerce.com/English/Solutions/training/training_and_enablement.aspx) page. #### Certifications and the BigDev Bootcamp From 99d34641b0cd376ead7862d47e44394b7c8159d1 Mon Sep 17 00:00:00 2001 From: bc-andreadao <96258747+bc-andreadao@users.noreply.github.com> Date: Wed, 13 Dec 2023 13:00:09 -0800 Subject: [PATCH 2/8] DEVDOCS-2944 [new]: Non-Store Owners can install/uninstall apps (#2080) --- docs/api-docs/apps/guide/apps-05-oauth.mdx | 16 ++++++++++++---- docs/api-docs/apps/guide/apps-06-callbacks.mdx | 10 +++++----- docs/api-docs/apps/guide/apps-07-users.mdx | 4 ++-- docs/api-docs/apps/guide/apps-13-publishing.mdx | 4 ++-- .../getting-started/api-status-codes.mdx | 2 +- .../getting-started/rest-api-authentication.mdx | 2 +- .../partner/subscriptions/foundation-guide.mdx | 2 +- 7 files changed, 24 insertions(+), 16 deletions(-) diff --git a/docs/api-docs/apps/guide/apps-05-oauth.mdx b/docs/api-docs/apps/guide/apps-05-oauth.mdx index e7e660bed..b48f99abf 100644 --- a/docs/api-docs/apps/guide/apps-05-oauth.mdx +++ b/docs/api-docs/apps/guide/apps-05-oauth.mdx @@ -7,7 +7,7 @@ It may be more appropriate for your application to use an API client to handle t #### Store owner access_token constraint - Typically, only [store owners](https://support.bigcommerce.com/s/article/Store-API-Accounts#creating) can create API accounts and `access_token`s for a store. However, when an app is approved to be publicly available for additional stores to install, it can generate `access_token`s *on behalf* of store owners. + Typically, only [store owners](https://support.bigcommerce.com/s/article/Store-API-Accounts#creating) and authorized users can create API accounts and `access_token`s for a store. However, when an app is approved to be publicly available for additional stores to install, it can generate `access_token`s *on behalf* of store owners. ## Overview @@ -123,6 +123,11 @@ BigCommerce responds to the access_token request with JSON that contains a perma "username": "merchant@example.com", "email": "merchant@example.com" }, + "owner": { + "id": 12345, + "username": "owner@example.com", + "email": "owner@example.com" + }, "context": "stores/g5cd38", "account_uuid": "12345678-90ab-cdef-1234-567890abcdef" } @@ -134,9 +139,12 @@ BigCommerce responds to the access_token request with JSON that contains a perma |:---------|:-----|:------------| | `access_token` | string | The semi-permanent security token that your app can use to make requests on behalf of the store. Save this value securely for future requests. | | `scope` | string | A space-separated list of the OAuth scopes this `access_token` authorizes access to. | -| `user.id` | integer | BigCommerce’s unique identifier for the merchant or authorized user. Save this value to identify the user in future requests. | -| `user.username` | string | The username that the initiating user has on file with BigCommerce. | -| `user.email` | string | The email address that the owner or authorized user has on file with BigCommerce. Save this value for future requests. | +| `user.id` | integer | BigCommerce’s unique identifier for the authorized user. Save this value to identify the user in future requests. | +| `user.username` | string | The username that the authorized user has on file with BigCommerce. | +| `user.email` | string | The email address that the authorized user has on file with BigCommerce. Save this value for future requests. | +| `owner.id` | integer | BigCommerce’s unique identifier for the store owner. Save this value to identify the user in future requests. | +| `owner.username` | string | The username that the store owner has on file with BigCommerce. | +| `owner.email` | string | The email address that the store owner has on file with BigCommerce. Save this value for future requests. | | `context` | string | 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` | string, UUID | The ID of the Developer Portal account that registered the app profile. | diff --git a/docs/api-docs/apps/guide/apps-06-callbacks.mdx b/docs/api-docs/apps/guide/apps-06-callbacks.mdx index 57f3b8fc8..7caa35a26 100644 --- a/docs/api-docs/apps/guide/apps-06-callbacks.mdx +++ b/docs/api-docs/apps/guide/apps-06-callbacks.mdx @@ -1,6 +1,6 @@ # Single-Click App Callback Handlers -After a store owner installs your single-click app, they and their authorized users will need to use it and configure any settings. In turn, your app will likely need to store and manage information about the stores and users you're supporting. +After a store owner or authorized user installs your single-click app, they and other authorized users will need to use it and configure any settings. In turn, your app will likely need to store and manage information about the stores and users you're supporting. This article is a reference for endpoints to which we send event-driven callbacks, and a guide to writing handlers that verify and use our JWT payloads. It also describes the payload schema of the `signed_payload_jwt`. @@ -21,12 +21,12 @@ The following table lists the app management callbacks that BigCommerce stores s |:---------|:--------:|:---------------|:--------|:-----------------|:------------------| | `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 /uninstall{:http}` | no | server | JWT | JSON | The store owner or authorized user clicks to uninstall the app. | | `GET /remove_user{:http}` | no | server | JWT | JSON | The store owner revokes a user's access to the app. | ## Render the app with load -Once the store owner installs your app, it appears on the **Apps** sub-menu list in their store control panel, as well as their authorized users' control panels. When a user clicks your app's listing or another referring UI component, BigCommerce dispatches a request to your app's `GET /load{:http}` endpoint. The following is an example request: +Once the store owner or authorized user installs your app, it appears on the **Apps** sub-menu list in their store control panel, as well as their authorized users' control panels. When a user clicks your app's listing or another referring UI component, BigCommerce dispatches a request to your app's `GET /load{:http}` endpoint. The following is an example request: ```http filename="Example request: /load callback from BigCommerce" GET https://your_app.example.com/load?signed_payload_jwt={header_b64.payload_claims_b64.signature_b64} @@ -37,7 +37,7 @@ After your app [verifies the payload](#decode-and-verify-signed_payload_jwt), [i ## Deactivate stores with uninstall -When the store owner clicks the **Uninstall** button on your app's card in the store control panel, BigCommerce dispatches a request to the app's `GET /uninstall{:http}` endpoint. The following is an example request: +When the store owner or authorized user clicks the **Uninstall** button on your app's card in the store control panel, BigCommerce dispatches a request to the app's `GET /uninstall{:http}` endpoint. The following is an example request: ```http filename="Example request: uninstall callback from BigCommerce" GET https://your_app.example.com/uninstall?signed_payload_jwt={header_b64.payload_claims_b64.signature_b64} @@ -74,7 +74,7 @@ Use the payload claim data to identify the store and user. What your app should | Endpoint | Multiple Users Enabled | Multiple Users Not Enabled | |:---------|:-----------------------|:---------------------------| | `GET /load{:http}` | Compare user to store owner or existing user; if no match, it's a new user; add them to the app's database. | Matches store owner | -| `GET /uninstall{:http}` | Compare user to store owner or existing user; only store owner can uninstall an app. | Matches store owner | +| `GET /uninstall{:http}` | Compare user to store owner or existing user; only store owner or authorized users can uninstall an app. | Matches store owner | | `GET /remove_user{:http}` | Compare user to users stored in app database; remove matching user from database. | N/A | diff --git a/docs/api-docs/apps/guide/apps-07-users.mdx b/docs/api-docs/apps/guide/apps-07-users.mdx index 701259a75..f46454d61 100644 --- a/docs/api-docs/apps/guide/apps-07-users.mdx +++ b/docs/api-docs/apps/guide/apps-07-users.mdx @@ -22,8 +22,8 @@ Use your draft app and your sandbox store to review this behavior. Apps with **Multiple Users** enabled can expect the `email` and `ID` of the user that initiated the callback in addition to the owner's `email` and `ID` in the JSON object sent in the `load` request. If a `load` request is sent with information for a user you haven't seen, provision the user account and associate it with the store in your database. -Because you know the store owner's `email` and `ID` from the app installation sequence, your app can distinguish store owners from other users. This allows you to provide different user experiences based on the information in the load request. Here is a summary of the two types of users: -- **Store owner**: Can `install`, `uninstall`, and `load` apps. +Because you know the store owner or user's `email` and `ID` from the app installation sequence, your app can distinguish store owners from other users. This allows you to provide different user experiences based on the information in the load request. Here is a summary of the two types of users: +- **Store owner** and **authorized users**: Can `install`, `uninstall`, and `load` apps. Store owners must grant permissions so that authorized users can install or uninstall apps. - **Users**: Cannot `install` or `uninstall` apps. Users are permitted only to `load` the apps that a store owner authorized. ## The remove user request diff --git a/docs/api-docs/apps/guide/apps-13-publishing.mdx b/docs/api-docs/apps/guide/apps-13-publishing.mdx index 4b41fd627..6daa12baf 100644 --- a/docs/api-docs/apps/guide/apps-13-publishing.mdx +++ b/docs/api-docs/apps/guide/apps-13-publishing.mdx @@ -50,9 +50,9 @@ Specify app type, multiple users support, callback URLs, and OAuth scopes; and, |:-----------------------|:---------------------------------------------------------------------------| | Multiple Users | Optionally allow your app to be accessible to store users other than owner | | App Type | Type of app; single-click recommended | -| Auth Callback URL | Requested when `install` clicked | +| Auth Callback URL | Requested when store owner or authorized user clicks `install` | | Load Callback URL | Requested when user launches app | -| Uninstall Callback URL | Requested when store owner clicks uninstall | +| Uninstall Callback URL | Requested when store owner or authorized user clicks `uninstall` | | OAuth Scopes | OAuth scopes the app requires | | Test Instructions | Instructions needed to test the app thoroughly | diff --git a/docs/api-docs/getting-started/api-status-codes.mdx b/docs/api-docs/getting-started/api-status-codes.mdx index 465f13ced..77e1090eb 100644 --- a/docs/api-docs/getting-started/api-status-codes.mdx +++ b/docs/api-docs/getting-started/api-status-codes.mdx @@ -71,7 +71,7 @@ This article covers [REST](#rest-api-http-status-codes) and [GraphQL](#graphql-a |**400**|Invalid syntax, required data missing, `content-type` header missing|Double-check request body for syntax errors and missing data; check `content-type` header.| |**401** |API credentials are missing or invalid.|Double-check the `access_token` and `client_id`.| |||Send cURL request with the same credentials to rule app or config issues.| -|**403**| App lacks required OAuth scopes, a store-owner account changed, operations resulting from API request exceed a platform limit, or URL requested is incorrect.|Double-check OAuth Scopes in **control panel** > **API Accounts** or in **Developer Portal** > **My Apps**.| +|**403**| App lacks required OAuth scopes, a store-owner account changed, operations resulting from API request exceed a platform limit, or URL requested is incorrect. User does not have app install or uninstall permissions. |Double-check OAuth Scopes in **control panel** > **API Accounts** or in **Developer Portal** > **My Apps**.| |||Check the URL. Are the endpoint and store hash correct?| |||Ensure [platform limits](https://support.bigcommerce.com/s/article/Platform-Limits#product-catalog-limits) have not been reached.| |**415**| Request headers specify an unsupported `content-type` (or header is missing).|Double-check `content-type` request header.| diff --git a/docs/api-docs/getting-started/rest-api-authentication.mdx b/docs/api-docs/getting-started/rest-api-authentication.mdx index 953350e7d..aa5ea1482 100644 --- a/docs/api-docs/getting-started/rest-api-authentication.mdx +++ b/docs/api-docs/getting-started/rest-api-authentication.mdx @@ -61,7 +61,7 @@ To delete a store-level API account, consult our Knowledge Base article on [Dele ## App-level API accounts -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. +You can [create app-level API accounts](#creating-app-level-api-credentials) in the [Developer Portal](https://devtools.bigcommerce.com). After a store owner or authorized user 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](/docs/start/authentication). diff --git a/docs/api-docs/partner/subscriptions/foundation-guide.mdx b/docs/api-docs/partner/subscriptions/foundation-guide.mdx index e2346c00a..730727bc2 100644 --- a/docs/api-docs/partner/subscriptions/foundation-guide.mdx +++ b/docs/api-docs/partner/subscriptions/foundation-guide.mdx @@ -97,7 +97,7 @@ During development, you'll work with two Stripe accounts. You'll create them bot #### Multi-tenant setup - Prior to installing the app, add the merchant account to the sandbox store as a payment method. When the app is installed, the UI prompts the store owner to give the app permission to make charges on behalf of the store. Upon consent, the app initiates an OAuth code grant flow to link the merchant's Stripe account with the app's Stripe Connect-enabled account. The diagram below shows the configuration and the integration process. + Prior to installing the app, add the merchant account to the sandbox store as a payment method. When the app is installed, the UI prompts the store owner or authorized user to give the app permission to make charges on behalf of the store. Upon consent, the app initiates an OAuth code grant flow to link the merchant's Stripe account with the app's Stripe Connect-enabled account. The diagram below shows the configuration and the integration process. ![platform-configuration](https://storage.googleapis.com/bigcommerce-production-dev-center/images/platform-configuration.png "Multi-Tenant Stripe Platform Configuration") From 4194fa3b23641792cfaec123b50819c29583a174 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Thu, 14 Dec 2023 08:23:33 -0600 Subject: [PATCH 3/8] DEVDOCS-5596: [Update] theme variation limit (#2113) --- docs/stencil-docs/page-builder/configuration.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/stencil-docs/page-builder/configuration.mdx b/docs/stencil-docs/page-builder/configuration.mdx index 2e7937590..873e1cdfc 100644 --- a/docs/stencil-docs/page-builder/configuration.mdx +++ b/docs/stencil-docs/page-builder/configuration.mdx @@ -14,7 +14,7 @@ The basic division of labor is as follows: * `config.json` assigns and updates a default value for each of the editable settings. * Each `schema.json` entry has an ID element that maps it to its corresponding `config.json` entry. The ID value identifies the relevant `config.json` key name. * Keys located in both configuration files'`settings` define the theme's look, feel, and functionality. -* Keys located in the `variations` object of `config.json` define variations of the theme. There is no limit to the number of variations each theme can include. +* Keys located in the `variations` object of `config.json` define variations of the theme. There is a limit of four variations each theme can include. * For front-matter properties to be editable, your theme's Handlebars template must call certain Handlebars helpers to transform the `config.json` entries into JavaScript values. * For fonts to be editable, a Sass stylesheet must call certain custom Sass functions to transform the `config.json` font entries into CSS values. * For styles to be editable, a Sass stylesheet must call certain custom Handlebars helpers to transform the `config.json` entries into CSS values. From 7850ebb19be7d148f7e292a2232d6c0c4021d417 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Fri, 15 Dec 2023 08:42:36 -0600 Subject: [PATCH 4/8] DEVDOCS-5645: [update] add webhook requirements (#2114) Co-authored-by: Vitya Chyzhyk <33040515+6juara9@users.noreply.github.com> Co-authored-by: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Co-authored-by: Andrei K --- docs/api-docs/webhooks/about-webhooks.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/api-docs/webhooks/about-webhooks.mdx b/docs/api-docs/webhooks/about-webhooks.mdx index 928f20e7f..5c4156bca 100644 --- a/docs/api-docs/webhooks/about-webhooks.mdx +++ b/docs/api-docs/webhooks/about-webhooks.mdx @@ -79,6 +79,18 @@ To acknowledge a callback has been received without issue, the destination serve Need to set up a quick webhook destination URL for testing? See [Tools for Debugging and Testing Webhooks](#tools). +### Response requirements + +BigCommerce doesn't recommend sending bodies or headers in response to webhooks. It may interfere with the webhook delivery acknowledgment. + +BigCommerce has the following webhook response requirements: + +If you send response headers, they must conform to the following limitations for the webhook delivery to be successfully acknowledged: +* The header value should not exceed 8 kilobytes (10 by 1 kilobytes is OK). +* The header name should not exceed 64 characters (bytes). +* The total number of headers shouldn't exceed 64. + + ## Callback retry mechanism The webhooks service will do its best to deliver events to the destination callback URI. It is best practice for the application to respond to the callback before taking any other action that would slow its response. Doing otherwise triggers BigCommerce's callback retry mechanism. From 348e8634dc7de74b62a63c8fafd3e0d5d1400e33 Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Mon, 18 Dec 2023 12:17:52 -0600 Subject: [PATCH 5/8] DEVDOCS-5675: [update] add graphQL behavior (#2116) --- docs/api-docs/storefront/graphql/graphql-api-overview.mdx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/api-docs/storefront/graphql/graphql-api-overview.mdx b/docs/api-docs/storefront/graphql/graphql-api-overview.mdx index 8e9c76911..411f31867 100644 --- a/docs/api-docs/storefront/graphql/graphql-api-overview.mdx +++ b/docs/api-docs/storefront/graphql/graphql-api-overview.mdx @@ -697,7 +697,9 @@ BigCommerce has limits on certain portions of the platform. | 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 +## FAQ: + +### Querying for channels other than Stencil storefronts and querying from external systems If you wish to use the GraphQL Storefront API from an external system, there are a few considerations. @@ -708,6 +710,10 @@ If you wish to use the GraphQL Storefront API from an external system, there are As a best practice, you should create tokens that expire and rotate them regularly before their expiry. However, you are also permitted to create long-lived tokens. +### Can I hide the display of a field, such as the product's price, on the storefront by toggling the setting in the control panel? + +You can toggle off the `show_product_price` field in the control panel to prevent the display in GraphQL. The `prices` field returns `null` in the GraphQL response. + ### I want to run requests in the context of the store's default channel (channel ID 1) There are two public URLs you can use to run requests: From b990c670da789beadf0e702ddd239ee05b04f193 Mon Sep 17 00:00:00 2001 From: Tina Gomez <94003415+bc-tgomez@users.noreply.github.com> Date: Mon, 18 Dec 2023 13:06:42 -0600 Subject: [PATCH 6/8] [DEVDOCS-5647]: [deprecate] BigCommerce for WordPress, Remove MSF references in BigCommerce for WP (#2117) --- .../getting-started/install.mdx | 4 - .../setup/multi-site.mdx | 100 ------------------ 2 files changed, 104 deletions(-) delete mode 100644 docs/bigcommerce-for-wordpress/setup/multi-site.mdx diff --git a/docs/bigcommerce-for-wordpress/getting-started/install.mdx b/docs/bigcommerce-for-wordpress/getting-started/install.mdx index 9f133c908..089da2fa0 100644 --- a/docs/bigcommerce-for-wordpress/getting-started/install.mdx +++ b/docs/bigcommerce-for-wordpress/getting-started/install.mdx @@ -18,8 +18,4 @@ For a walkthrough on installing and activating the plugin, see [Using BigCommerc Once connected, you will set up a new [channel name](https://support.bigcommerce.com/s/article/BigCommerce-for-WordPress#installation). This name will be used to identify this specific WordPress instance in BigCommerce when checking orders or listing products. -### Multisite Instructions - -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/setup/multi-site.mdx b/docs/bigcommerce-for-wordpress/setup/multi-site.mdx deleted file mode 100644 index 4d0791439..000000000 --- a/docs/bigcommerce-for-wordpress/setup/multi-site.mdx +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: Multi-site Setup -keywords: wordpress, multi-site, currency, currencies, inventory, fulfillment, headless, storefronts, ---- -

BigCommerce for WordPress

- -# Multi-site Setup - -When connecting more than one WordPress site to your BigCommerce store, you need to use an API account to link them. If you try to connect using the 'connect your store' flow, which uses a BigCommerce app to streamline the connection, your first WordPress site will lose its connection to BigCommerce. - -### Multi-site and subdirectories - -Multiple sites can share the same API credentials, or you can choose to create a new set of credentials for each site. - -| Configuration Method | Is Supported | -|:----------------------|:-----------:| -| Subdirectories | No | -| Subdomains | Yes | -| Separate Domains | Yes* | - -Note that embedded checkout is only supported on a single domain at a time. See the [BigCommerce for WordPress](https://support.bigcommerce.com/s/article/BigCommerce-for-WordPress-Checkout?language=en_US#subdomain-setup) documentation.* - -### Getting your API credentials - -1. To get your store’s API credentials, sign in to your active MSF-enabled BigCommerce store and head to **Settings > API > API accounts**. - -![Click 'Create API Account' to get credentials](https://storage.googleapis.com/bigcommerce-production-dev-center/images/store_api_accounts.png "Click 'Create API Account' to get credentials") - -2. Click the blue `Create API Account` button on the top left-hand side. This opens up a screen that will ask you to enter a name and select scopes for the API account. - -![Fill in the Name and OAuth Scopes](https://storage.googleapis.com/bigcommerce-production-dev-center/images/WP-create-store_api_accounts.png "Fill in the Name and OAuth Scopes") - - - #### API account name field - 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](/docs/storefront/wordpress/platform-integration/product-import) page. - - Set the OAuth scope settings to the following defaults according to your import options. - -| OAuth Scope | Full Import | Fast Headless | -|:------------------|:----------------------|:------------------| -| Content | None | None | -| Checkout content | None | None | -| Customers | Modify | Modify | -| Customers login | Login | Login | -| Information & settings | Modify | Modify | -| Marketing | Read-Only | Read-Only | -| Orders | Read-Only | Read-Only | -| Order transactions| Read-Only | Read-Only | -| Create payments | None | None | -| Get payment methods | Read-Only | Read-Only | -| Stored payment instruments| None | None | -| Products | Read-Only | Read-Only | -| Themes | None | None | -| Carts | Modify | Modify | -| Checkouts | Modify | Modify | -| Sites & routes | Modify | Modify | -| Channel settings | Modify | Modify | -| Channel listings | Modify | Modify | -| Storefront API tokens | None | Manage | -| Storefront API customer impersonation tokens | None | Manage | -| Store logs | None | None | -| Store locations | None | None | -| Store inventory | None | None | -| Fulfillment methods | None | None | -| Order fulfillment | None | None | - -4. After you have finished setting a name and selecting scopes, click `Save`. You will then see a modal that contains the `Client ID`, `Client Secret` and `Access Token` necessary for the remaining fields in the WordPress API Credentials settings. - -![API credentials](https://storage.googleapis.com/bigcommerce-production-dev-center/images/BC-api-credentials.png "API Credentials") - - - #### .txt file download - You'll also see a `.txt` file download in your browser that contains the same information in an easy-to-read format, once again including your API Path in case you didn't copy it before. - - -![.txt file download](https://storage.googleapis.com/bigcommerce-production-dev-center/images/txt_file_download.png ".txt file download") - -## Setting up a WordPress site using API account credentials - -1. To set up a WordPress site using this method, click `Enter your API credentials` on the welcome screen in the plugin. - -![WordPress Plugin Welcome Screen](https://storage.googleapis.com/bigcommerce-production-dev-center/images/welcome_screen.png "WordPress Plugin Welcome Screen") - -![Next](https://storage.googleapis.com/bigcommerce-production-dev-center/images/next.png) - -2. Enter your API credentials on your WordPress site. - -Saving the API credentials on your WordPress site will direct you to name the channel that the plugin will create. This allows you to list product to the channel from within BigCommerce and link orders back to the channel that comes from the WordPress site. You can also link to an existing channel. - -_Congratulations, you're done setting up your additional site!_ - - - #### WordPress currency processing - The WordPress sites you connect to your BigCommerce store will process in the same currency as the BigCommerce store. - - - From 6e0fa10ffc5fb3158e31432b21475841b4eda69e Mon Sep 17 00:00:00 2001 From: Traci Porter Date: Tue, 19 Dec 2023 09:11:54 -0600 Subject: [PATCH 7/8] DEVDOCS-5689:[update] fix broken link (#2119) Co-authored-by: Tina Gomez --- .../installing-stencil-cli/incompatible-directives.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/stencil-docs/installing-stencil-cli/incompatible-directives.mdx b/docs/stencil-docs/installing-stencil-cli/incompatible-directives.mdx index cf8872fbc..abca08e9e 100644 --- a/docs/stencil-docs/installing-stencil-cli/incompatible-directives.mdx +++ b/docs/stencil-docs/installing-stencil-cli/incompatible-directives.mdx @@ -9,7 +9,7 @@ keywords: if, stencil This article covers the known divergent behavior and describes how to avoid unexpected compiler errors due to the Stencil CLI and BigCommerce's servers running different versions of node-sass. -To ensure that your storefront is up to date, review the [Deprecation and Sunset Support for Node-Sass](/docs/stencil-docs/installing-stencil-cli/node-sass.mdx#deprecation-and-sunset-support-for-node-sass) information to learn about the two possible options for updating your node-sass compiler. +To ensure that your storefront is up to date, review the [Deprecation and Sunset Support for Node-Sass](/docs/storefront/stencil/cli/node-sass) information to learn about the two possible options for updating your node-sass compiler. ## Examples From 835a5c1722ef5028f85fe957fe7c1bf91d7ec98a Mon Sep 17 00:00:00 2001 From: Sarah Riehl Date: Thu, 21 Dec 2023 12:14:01 -0600 Subject: [PATCH 8/8] (revert) DEVDOCS-5647: [deprecate] BigCommerce for WordPress, Remove MSF references in BigCommerce for WP (#2120) --- .../getting-started/install.mdx | 4 + .../setup/multi-site.mdx | 100 ++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 docs/bigcommerce-for-wordpress/setup/multi-site.mdx diff --git a/docs/bigcommerce-for-wordpress/getting-started/install.mdx b/docs/bigcommerce-for-wordpress/getting-started/install.mdx index 089da2fa0..9f133c908 100644 --- a/docs/bigcommerce-for-wordpress/getting-started/install.mdx +++ b/docs/bigcommerce-for-wordpress/getting-started/install.mdx @@ -18,4 +18,8 @@ For a walkthrough on installing and activating the plugin, see [Using BigCommerc Once connected, you will set up a new [channel name](https://support.bigcommerce.com/s/article/BigCommerce-for-WordPress#installation). This name will be used to identify this specific WordPress instance in BigCommerce when checking orders or listing products. +### Multisite Instructions + +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/setup/multi-site.mdx b/docs/bigcommerce-for-wordpress/setup/multi-site.mdx new file mode 100644 index 000000000..4d0791439 --- /dev/null +++ b/docs/bigcommerce-for-wordpress/setup/multi-site.mdx @@ -0,0 +1,100 @@ +--- +title: Multi-site Setup +keywords: wordpress, multi-site, currency, currencies, inventory, fulfillment, headless, storefronts, +--- +

BigCommerce for WordPress

+ +# Multi-site Setup + +When connecting more than one WordPress site to your BigCommerce store, you need to use an API account to link them. If you try to connect using the 'connect your store' flow, which uses a BigCommerce app to streamline the connection, your first WordPress site will lose its connection to BigCommerce. + +### Multi-site and subdirectories + +Multiple sites can share the same API credentials, or you can choose to create a new set of credentials for each site. + +| Configuration Method | Is Supported | +|:----------------------|:-----------:| +| Subdirectories | No | +| Subdomains | Yes | +| Separate Domains | Yes* | + +Note that embedded checkout is only supported on a single domain at a time. See the [BigCommerce for WordPress](https://support.bigcommerce.com/s/article/BigCommerce-for-WordPress-Checkout?language=en_US#subdomain-setup) documentation.* + +### Getting your API credentials + +1. To get your store’s API credentials, sign in to your active MSF-enabled BigCommerce store and head to **Settings > API > API accounts**. + +![Click 'Create API Account' to get credentials](https://storage.googleapis.com/bigcommerce-production-dev-center/images/store_api_accounts.png "Click 'Create API Account' to get credentials") + +2. Click the blue `Create API Account` button on the top left-hand side. This opens up a screen that will ask you to enter a name and select scopes for the API account. + +![Fill in the Name and OAuth Scopes](https://storage.googleapis.com/bigcommerce-production-dev-center/images/WP-create-store_api_accounts.png "Fill in the Name and OAuth Scopes") + + + #### API account name field + 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](/docs/storefront/wordpress/platform-integration/product-import) page. + + Set the OAuth scope settings to the following defaults according to your import options. + +| OAuth Scope | Full Import | Fast Headless | +|:------------------|:----------------------|:------------------| +| Content | None | None | +| Checkout content | None | None | +| Customers | Modify | Modify | +| Customers login | Login | Login | +| Information & settings | Modify | Modify | +| Marketing | Read-Only | Read-Only | +| Orders | Read-Only | Read-Only | +| Order transactions| Read-Only | Read-Only | +| Create payments | None | None | +| Get payment methods | Read-Only | Read-Only | +| Stored payment instruments| None | None | +| Products | Read-Only | Read-Only | +| Themes | None | None | +| Carts | Modify | Modify | +| Checkouts | Modify | Modify | +| Sites & routes | Modify | Modify | +| Channel settings | Modify | Modify | +| Channel listings | Modify | Modify | +| Storefront API tokens | None | Manage | +| Storefront API customer impersonation tokens | None | Manage | +| Store logs | None | None | +| Store locations | None | None | +| Store inventory | None | None | +| Fulfillment methods | None | None | +| Order fulfillment | None | None | + +4. After you have finished setting a name and selecting scopes, click `Save`. You will then see a modal that contains the `Client ID`, `Client Secret` and `Access Token` necessary for the remaining fields in the WordPress API Credentials settings. + +![API credentials](https://storage.googleapis.com/bigcommerce-production-dev-center/images/BC-api-credentials.png "API Credentials") + + + #### .txt file download + You'll also see a `.txt` file download in your browser that contains the same information in an easy-to-read format, once again including your API Path in case you didn't copy it before. + + +![.txt file download](https://storage.googleapis.com/bigcommerce-production-dev-center/images/txt_file_download.png ".txt file download") + +## Setting up a WordPress site using API account credentials + +1. To set up a WordPress site using this method, click `Enter your API credentials` on the welcome screen in the plugin. + +![WordPress Plugin Welcome Screen](https://storage.googleapis.com/bigcommerce-production-dev-center/images/welcome_screen.png "WordPress Plugin Welcome Screen") + +![Next](https://storage.googleapis.com/bigcommerce-production-dev-center/images/next.png) + +2. Enter your API credentials on your WordPress site. + +Saving the API credentials on your WordPress site will direct you to name the channel that the plugin will create. This allows you to list product to the channel from within BigCommerce and link orders back to the channel that comes from the WordPress site. You can also link to an existing channel. + +_Congratulations, you're done setting up your additional site!_ + + + #### WordPress currency processing + The WordPress sites you connect to your BigCommerce store will process in the same currency as the BigCommerce store. + + +