BigCommerce is the leading e-commerce platform for running an online store.

Data integration: Skyvia supports importing data to and from BigCommerce, exporting BigCommerce data to CSV files, replicating BigCommerce data to relational databases, and synchronizing BigCommerce data with other cloud apps and relational databases.

Backup: Skyvia Backup supports BigCommerce backup.

Query: Skyvia Query supports BigCommerce.

BigCommerce-Specific Features and Limitations

Skyvia has the following limitations for BigCommerce:

  • Synchronization and Replication with Incremental Updates enabled are not supported for objects without DateCreated and DateModified fields. Replication with incremental updates requires at least one of the fields. Both fields must be present for synchronization. Thus, synchronization is supported only for Customers, Products, and Orders objects.

  • Skyvia supports only the Insert operation for ProductVideos and only Insert and Delete operations for ProductImages.

  • The following BigCommerce objects are read-only: BlogTags, Countries, CustomerAddressCustomFields*, CustomerCustomFields*, OrderCoupons, OrderMessages, OrderProductOptions*, OrderProducts*, OrderShippingAddresses*, OrderStatuses, OrderTaxes, PaymentMethods, ProductConfigurableFields, ProductGoogleProductSearch, ProductOptions, ProductReviews, States, Store, TaxClasses.

  • Some of the BigCommerce objects can be accessed only via their parent objects. For example, to query ProductCustomFields, BigCommerce API requires the id of the corresponding Product.

    Skyvia does not require this id of the parent object from user. If you don’t specify the ids of the parent objects (for example, in a filter), Skyvia queries all the parent object records first, takes their ids, and then queries child object records for each parent object record. This allows querying child objects without knowing their parents, but this method takes much time and consumes many API calls. It uses at least one API call for every parent object record (for example, product). Thus, working, for example, with ProductCustomFields can be slow.

    Because of this, it is recommended to use filters on the parent object fields when querying data from such child objects. This reduces the number of parent object records, for which child object data must be queried.

  • Some of the BigCommerce tables store complex structured data. These are the following objects: Orders, OrderShipments, objects that can have custom fields and some other objects. For example, an order can have several lines and several shipping addresses. Skyvia represents this information in such tables as fields in the JSON format. In case of Orders, the fields are named Products and ShippingAddresses. Here is an example of the Products field value from the Orders table:

          "Id": 37,
          "ProductId": 77,
          "Name": "[Sample] Fog Linen Chambray Towel - Beige Stripe",
          "Sku": "SLCTBS-70D1759E",
          "PriceExTax": 49,
          "PriceIncTax": 49,
          "Quantity": 1,
          "ProductOptions": [
              "Id": 29,
              "OptionId": 18,
              "OrderProductId": 37,
              "ProductOptionId": 108,
              "DisplayName": "Size",
              "DisplayValue": "L",
              "Value": "71",
              "Type": "Multiple choice",
              "Name": "Apparel sizes",
              "DisplayStyle": "Rectangle"
              "Id": 30,
              "OptionId": 3,
              "OrderProductId": 37,
              "ProductOptionId": 133,
              "DisplayName": "Color",
              "DisplayValue": "Yellow",
              "Value": "12",
              "Type": "Swatch",
              "Name": "Colors"
          "OrderId": 128,
          "OrderAddressId": 36,
          "Type": "physical",
          "BasePrice": 49,
          "PriceTax": 0,
          "BaseTotal": 0,
          "TotalExTax": 49,
          "TotalIncTax": 49,
          "TotalTax": 0,
          "Weight": 0,
          "BaseCostPrice": 0,
          "CostPriceIncTax": 0,
          "CostPriceExTax": 0,
          "CostPriceTax": 0,
          "IsRefunded": false,
          "RefundAmount": 0,
          "ReturnId": 0,
          "BaseWrappingCost": 0,
          "WrappingCostExTax": 0,
          "WrappingCostIncTax": 0,
          "WrappingCostTax": 0,
          "QuantityShipped": 0,
          "FixedShippingCost": 0,
          "OptionSetId": 14

    For user convenience, lines of these objects are also available as separate records via read-only tables with names, containing the name of the corresponding parent table and its JSON fields: OrderShippingAddresses, OrderProducts, OrderProductOptions, CustomerCustomFields, etc.

    Since these tables (presenting JSON data in table form) are read-only, they are not available in Import packages as a target or in Synchronization packages. To modify lines or shipping addresses of an order, etc. you need to provide values in JSON format for the corresponding field of the corresponding main table — Orders, etc.

    These tables are available in backup packages, but you cannot restore data to these tables, because they are read-only. Since they store the same information as the corresponding field of the corresponding main tables, you don’t actually need to backup them. All the information in such tables is present in the corresponding main tables, and you can backup and restore data in the main table only.

  • BigCommerce Wishlists object also has a similar field Items with a JSON array of wishlist items. When you create a new record in this table, you need to specify a value for it as a JSON array as well as for the previously mentioned tables. However, the table of its items - WishlistItems is not read only, and you can update existing wishlists by adding or deleting records to the WishlistItems table. The Items field of the Wishlists object is not available for the UPDATE operation.

BigCommerce API Versions Support

Skyvia supports both BigCommerce API v2 and API v3 connections. Please note that the lists of objects and their structure is different for BigCommerce API v2 and API v3. The main differences are connected with objects, storing data about products, their variants, options, prices, brands, etc.

Here are the lists of objects that are supported via API v3 and, thus, have different data structure in API v2 and v3 connections:

API v3 API v2
Brands Brands
Categories Categories
ProductsBulkPricingRules ProductsBulkPricingRules
ProductCustomFields ProductCustomFields
ProductImages ProductImages
ProductReviews ProductReviews
ProductComplexRules ProductRules
Products Products
ProductVariants ProductSkus
ProductVideos ProductVideos
ProductVariantOptionValues OptionSets
ProductVariantOptions Options
VariantOptionValues OptionSetsOptions
BrandMetafields ProductConfigurableFields
CategoryMetafields ProductGoogleProductSearch

Part of the objects (the first list) have clear counterparts in API v3 and v2 and have just different internal structure. However, product options have completely different structure, and the objects, storing them, do not have such clear counterparts. Besides, BigCommerce API v3 provides access to new objects, not available via API v2, for example, metafields for brands, categories, products, and product variants, etc.

Other BigCommerce objects are accessed via API v2 in both API v2 and API v3 connections.

Creating BigCommerce Connections

Skyvia supports connecting to BigCommerce both using legacy Basic authentication and OAuth authentication (using Store Credentials). Connections with OAuth authentication, using App Credentials cannot be manually created by the user.

Note that Basic authentication is not supported for API v3 connections. BigCommerce strongly recommends using OAuth authentication, and Basic authentication support is left in Skyvia for compatibility purposes for API v2 connections.

OAuth Authentication

To connect to BigCommerce, using OAuth authentication (Store Credentials), you need to set the following parameters:

  • BigCommerce API Version to use — v2 or v3.
  • Authentication — select Store Credentials for OAuth authentication.
  • Store Id — store hash from the API Path. For example, when you log in to your BigCommerce store Control Panel, an URL, similar to the following, opens in your browser: . The part of the URL highlighted with bold is the store Id required.
  • Client Id — Client Id of your API account. Check how to find it below.
  • Access Token — OAuth access token to log in with. Check how to find it below.

    Connection Editor window

Creating a connection, using App Credentials authentication manually is not possible.

Basic Authentication

Note that Basic Authentication is considered deprecated. It uses BigCommerce legacy API accounts that cannot be created in new BigCommerce stores, created after July 31, 2018.

To connect to BigCommerce, using basic authentication you need to specify an url to connect to and user name and authentication token to log in with.

Connection Editor window

You need to specify the following parameters for a basic authentication connection:

  • API Version — only API v2 supports basic authentication.
  • Authentication — select Basic.
  • URL — API Path (the path where all XML requests to BigCommerce should be sent).
  • User Id — user name to log in with.
  • Authentication Token — an automatically generated key that is used and that must be included in the API requests to BigCommerce.

Metadata Cache and Use Custom Fields

Optionally, you can also change value for the Metadata Cache and Use Custom Fields connection parameter:

Metadata Cache — this parameter determines for how long the cached metadata for the connection are considered valid. By default, Skyvia caches metadata of available objects in cloud sources. Whenever necessary, you can reset metadata cache for a connection manually in the Connection Editor by clicking the Clear now link. Read Metadata Cache for more information. The following values are available for this parameter:

  • Disabled — metadata cache is not created; metadata are queried automatically whenever required.
  • One Hour — metadata cache expires one hour after the last refresh.
  • One Day — metadata cache expires one day after the last refresh.
  • One Week — metadata cache expires one week after the last refresh.
  • One Month — metadata cache expires one month after the last refresh.
  • Infinite — cache never expires/resets automatically. Default value. Use Custom Fields — this checkbox is available only for BigCommerce API v3 connections. It determines whether you will be able to get product custom fields via the CustomFields field of the Products object through this connection. If this checkbox is selected, this field returns a JSON array, containing information about custom fields and their values for products, if such are available. Otherwise, it always returns null values.

This checkbox does not affect working with custom fields for customers and customer addresses, and it also does not affect access to product custom fields via the ProductCustomFields object.

Please note that processing custom fields may take an additional time and API calls, so it’s recommended to select this checkbox only if you need to work with product custom fields via this connection.

Obtaining Connection Parameters

Parameters for OAuth (Store Credentials) Authentication

To get parameters for OAuth authentication using Store Credentials, you need to create an API user. For this, perform the following actions:

  1. Sign in to your BigCommerce Control Panel.
  2. In the menu on the left, click Settings.

    Settings in BigCommerce

  3. Scroll the settings page down and click API Accounts.

    API Accounts of BigCommerce

  4. A list of API accounts, displaying the assigned scopes, opens. Note that the required parameters are displayed only once, when creating an API account. It’s not possible to view these parameters for an already created account. If you do not have the parameters for an existing account stored anywhere, the only way to obtain them is to create a new API account.

    Store API Accounts

    To create a new account, click Create API Account.

  5. Specify the API user name and select the necessary OAuth scopes to allow the Skyvia access. You can find available OAuth scopes in the BigCommerce documentation.

    Create API Account

  6. Click Save. The necessary connection parameter are displayed and automatically downloaded as a text file. In Skyvia, you will need client ID and access token from there. Be sure to store these parameters somewhere, as you won’t be able to see them for this API account any more.

    BigCommerce API Credentials

Parameters for Basic Authentication

You can get parameters for basic authentication by viewing them for your legacy API accounts. To do it, perform the following steps:

  1. Sign in to your BigCommerce Control Panel.
  2. In the menu on the left, click Settings.

    Settings in BigCommerce

  3. Scroll the settings page down and click API Accounts.

    API Accounts of BigCommerce

  4. A list of API accounts, displaying the assigned scopes, opens. Scroll it down to the bottom. At the bottom of this list click the Click here link in “Click here to access existing legacy API accounts.”.

    Store API Accounts

  5. A list of legacy accounts open. Click the three-dotted button for the required account, and then click Edit.

  6. Copy the required API Path and API Token.

    Legacy API Account Details

Supported Actions and Actions Specifics

BigCommerce connector supports the following actions: