This integration is powered by Singer's BigCommerce tap. For support, visit the GitHub repo or join the Singer Slack.
BigCommerce integration summary
Stitch’s BigCommerce integration replicates data using the BigCommerce REST API . Refer to the Schema section for a list of objects available for replication.
BigCommerce feature snapshot
A high-level look at Stitch's BigCommerce (v1) integration, including release status, useful links, and the features supported in Stitch.
STITCH | |||
Release status |
Released on March 12, 2019 |
Supported by | |
Stitch plan |
Standard |
API availability |
Available |
Singer GitHub repository | |||
REPLICATION SETTINGS | |||
Anchor Scheduling |
Supported |
Advanced Scheduling |
Supported |
Table-level reset |
Unsupported |
Configurable Replication Methods |
Unsupported |
DATA SELECTION | |||
Table selection |
Supported |
Column selection |
Supported |
Select all |
Supported |
||
TRANSPARENCY | |||
Extraction Logs |
Supported |
Loading Reports |
Supported |
Connecting BigCommerce
BigCommerce setup requirements
To set up BigCommerce in Stitch, you need:
-
Store owner privileges in BigCommerce. This is required to create an API account, which will generate BigCommerce API credentials. In BigCommerce, only store owners can create API accounts.
Step 1: Generate BigCommerce API credentials
In this step, you’ll create an API account and generate read-only API credentials for the BigCommerce store you want to connect to Stitch.
Step 1.1: Create an API account for the store
- Sign into your BigCommerce store as the store owner.
- Click Advanced Settings > API Accounts. This will display the Store API Accounts page.
- Click the Create API Account button.
- In the Name field, enter
Stitch
. -
In the OAuth Scopes section, you’ll set the permissions that Stitch has. Define the following fields:
- Customers - Set to Read-only
- Marketing - Set to Read-only
- Orders - Set to Read-only
- Products - Set to Read-only
- When finished, click the Save button.
Step 1.2: Retrieve your API credentials
After the API account has been successfully created, a pop-up will display and you’ll be prompted to download a .txt
file containing the API credentials. If you aren’t prompted to download the .txt
file or you encounter other issues, contact BigCommerce support.
Download the file to your computer, and then open it. It’ll look similar to the following:
You’ll need the following credentials from this file:
- Client ID
- Access Token
-
API Path. This contains your store hash. The value between
stores/
and/v3/
in the API path is your store hash - this is highlighted in the image above.For example: If the API path were
https://api.bigcommerce.com/stores/123456/v3/
, the store hash would be123456
.
Step 2: Add BigCommerce as a Stitch data source
- Sign into your Stitch account.
-
On the Stitch Dashboard page, click the Add Integration button.
-
Click the BigCommerce icon.
-
Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.
For example, the name “Stitch BigCommerce” would create a schema called
stitch_bigcommerce
in the destination. Note: Schema names cannot be changed after you save the integration. - In the Client ID field, paste the client ID from the
.txt
file you opened in Step 1.2. - In the Access Token field, paste the access token from the
.txt
file you opened in Step 1.2. -
In the Store Hash field, paste the store hash from the
.txt
file you opened in Step 1.2.To find your store hash, locate the API Path in the
.txt
file. The value betweenstores/
and/v3/
in the API path is your store hash. For example: If the API path werehttps://api.bigcommerce.com/stores/123456/v3/
, the store hash would be123456
.
Step 3: Define the historical replication start date
The Sync Historical Data setting defines the starting date for your BigCommerce integration. This means that data equal to or newer than this date will be replicated to your data warehouse.
Change this setting if you want to replicate data beyond BigCommerce’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.
Step 4: Create a replication schedule
In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.
BigCommerce integrations support the following replication scheduling methods:
-
Advanced Scheduling using Cron (Advanced or Premium plans only)
To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.
Step 5: Set objects to replicate
The last step is to select the tables and columns you want to replicate. Learn about the available tables for this integration.
Note: If a replication job is currently in progress, new selections won’t be used until the next job starts.
For BigCommerce integrations, you can select:
-
Individual tables and columns
-
All tables and columns
Click the tabs to view instructions for each selection method.
- In the integration’s Tables to Replicate tab, locate a table you want to replicate.
-
To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.
-
To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.
- Repeat this process for all the tables and columns you want to replicate.
- When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
- Click into the integration from the Stitch Dashboard page.
-
Click the Tables to Replicate tab.
- In the list of tables, click the box next to the Table Names column.
-
In the menu that displays, click Track all Tables and Fields:
- Click the Finalize Your Selections button at the bottom of the page to save your data selections.
Initial and historical replication jobs
After you finish setting up BigCommerce, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.
For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.
Initial replication jobs with Anchor Scheduling
If using Anchor Scheduling, an initial replication job may not kick off immediately. This depends on the selected Replication Frequency and Anchor Time. Refer to the Anchor Scheduling documentation for more information.
Free historical data loads
The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.
BigCommerce table reference
Schemas and versioning
Schemas and naming conventions can change from version to version, so we recommend verifying your integration’s version before continuing.
The schema and info displayed below is for version 1 of this integration.
This is the latest version of the BigCommerce integration.
Table and column names in your destination
Depending on your destination, table and column names may not appear as they are outlined below.
For example: Object names are lowercased in Redshift (CusTomERs
> customers
), while case is maintained in PostgreSQL destinations (CusTomERs
> CusTomERs
). Refer to the Loading Guide for your destination for more info.
coupons
The coupons
table contains info about the coupons in your BigCommerce store.
Full Table |
|
Primary Key |
id |
Useful links |
Join coupons with | on |
---|---|
orders |
coupons.id = orders.coupons.coupon_id coupons.id = orders.products.applied_discounts.id |
amount NUMBER |
||
applies_to OBJECT
|
||
code STRING |
||
date_created DATE-TIME |
||
enabled BOOLEAN |
||
expires DATE-TIME |
||
id INTEGER |
||
max_uses INTEGER |
||
max_uses_per_customer INTEGER |
||
min_purchase NUMBER |
||
name STRING |
||
num_uses INTEGER |
||
restricted_to ARRAY
|
||
shipping_methods ARRAY |
||
type STRING |
customers
The customers
table contains info about the customers in your BigCommerce store.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
date_modified |
Useful links |
Join customers with | on |
---|---|
orders |
customers.id = orders.customer_id |
accepts_marketing BOOLEAN |
||
company STRING |
||
customer_group_id INTEGER |
||
date_created DATE-TIME |
||
date_modified DATE-TIME |
||
STRING |
||
first_name STRING |
||
form_fields ARRAY
|
||
id INTEGER |
||
last_name STRING |
||
notes STRING |
||
phone STRING |
||
registration_ip_address STRING |
||
reset_pass_on_login BOOLEAN |
||
store_credit NUMBER |
||
tax_exempt_category STRING |
orders
The orders
table contains info about the orders in your BigCommerce store.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
date_modified |
Useful links |
Join orders with | on |
---|---|
coupons |
orders.coupons.coupon_id = coupons.id orders.products.applied_discounts.id = coupons.id |
customers |
orders.customer_id = customers.id |
products |
orders.products.product_id = products.id orders.products.parent_order_product_id = products.id orders.products.product_id = products.images.product_id orders.products.parent_order_product_id = products.images.product_id orders.products.product_id = products.related_products.items orders.products.parent_order_product_id = products.related_products.items orders.products.product_id = products.variants.product_id orders.products.parent_order_product_id = products.variants.product_id |
base_handling_cost NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
base_shipping_cost NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
base_wrapping_cost NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
billing_address OBJECT
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cart_id STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
channel_id INTEGER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
coupon_discount NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
coupons ARRAY
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
currency_code STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
currency_exchange_rate NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
currency_id INTEGER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
custom_status STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
customer_id INTEGER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
customer_message STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
date_created DATE-TIME |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
date_modified DATE-TIME |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
date_shipped DATE-TIME |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
default_currency_code STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
default_currency_id INTEGER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
discount_amount STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ebay_order_id STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
external_id STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
external_merchant_id STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
external_source STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
form_fields ARRAY
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
geoip_country STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
geoip_country_iso2 STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gift_certificate_amount NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
handling_cost_ex_tax NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
handling_cost_inc_tax NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
handling_cost_tax NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
handling_cost_tax_class_id INTEGER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
id INTEGER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ip_address STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
is_deleted BOOLEAN |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
is_email_opt_in BOOLEAN |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
items_shipped INTEGER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
items_total INTEGER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
order_is_digital BOOLEAN |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
order_source STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
payment_method STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
payment_provider_id STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
payment_status STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
products ARRAY
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
refunded_amount NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shipping_address_count INTEGER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shipping_addresses ARRAY
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shipping_cost_ex_tax NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shipping_cost_inc_tax NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shipping_cost_tax NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shipping_cost_tax_class_id INTEGER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
staff_notes STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
status STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
status_id INTEGER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
store_credit_amount NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
subtotal_ex_tax NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
subtotal_inc_tax NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
subtotal_tax NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tax_provider_id STRING |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total_ex_tax NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total_inc_tax NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total_tax NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wrapping_cost_ex_tax NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wrapping_cost_inc_tax NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wrapping_cost_tax NUMBER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wrapping_cost_tax_class_id INTEGER |
products
The products
table contains info about the products in your BigCommerce store.
Note: During the initial replication job for a BigCommerce integration, all products will be replicated. On subsequent replication jobs, only new and updated product records will be replicated.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
date_modified |
Useful links |
Join products with | on |
---|---|
orders |
products.id = orders.products.product_id products.images.product_id = orders.products.product_id products.related_products.items = orders.products.product_id products.variants.product_id = orders.products.product_id products.id = orders.products.parent_order_product_id products.images.product_id = orders.products.parent_order_product_id products.related_products.items = orders.products.parent_order_product_id products.variants.product_id = orders.products.parent_order_product_id |
availability STRING |
|||||||||||||||||||||||||||
availability_description STRING |
|||||||||||||||||||||||||||
base_variant_id INTEGER |
|||||||||||||||||||||||||||
bin_picking_number STRING |
|||||||||||||||||||||||||||
brand_id INTEGER |
|||||||||||||||||||||||||||
brand_name STRING |
|||||||||||||||||||||||||||
bulk_pricing_rules ARRAY
|
|||||||||||||||||||||||||||
calculated_price NUMBER |
|||||||||||||||||||||||||||
categories ARRAY |
|||||||||||||||||||||||||||
condition STRING |
|||||||||||||||||||||||||||
cost_price NUMBER |
|||||||||||||||||||||||||||
custom_fields OBJECT
|
|||||||||||||||||||||||||||
custom_url OBJECT
|
|||||||||||||||||||||||||||
date_created DATE-TIME |
|||||||||||||||||||||||||||
date_modified DATE-TIME |
|||||||||||||||||||||||||||
depth NUMBER |
|||||||||||||||||||||||||||
description STRING |
|||||||||||||||||||||||||||
fixed_cost_shipping_price NUMBER |
|||||||||||||||||||||||||||
gift_wrapping_options_list ARRAY |
|||||||||||||||||||||||||||
gift_wrapping_options_type STRING |
|||||||||||||||||||||||||||
gtin STRING |
|||||||||||||||||||||||||||
height NUMBER |
|||||||||||||||||||||||||||
id INTEGER |
|||||||||||||||||||||||||||
images ARRAY
|
|||||||||||||||||||||||||||
inventory_level INTEGER |
|||||||||||||||||||||||||||
inventory_tracking STRING |
|||||||||||||||||||||||||||
inventory_warning_level INTEGER |
|||||||||||||||||||||||||||
is_condition_shown BOOLEAN |
|||||||||||||||||||||||||||
is_featured BOOLEAN |
|||||||||||||||||||||||||||
is_free_shipping BOOLEAN |
|||||||||||||||||||||||||||
is_preorder_only BOOLEAN |
|||||||||||||||||||||||||||
is_price_hidden BOOLEAN |
|||||||||||||||||||||||||||
is_visible BOOLEAN |
|||||||||||||||||||||||||||
layout_file STRING |
|||||||||||||||||||||||||||
map_price NUMBER |
|||||||||||||||||||||||||||
meta_description STRING |
|||||||||||||||||||||||||||
meta_keywords STRING |
|||||||||||||||||||||||||||
mpn STRING |
|||||||||||||||||||||||||||
name STRING |
|||||||||||||||||||||||||||
open_graph_description STRING |
|||||||||||||||||||||||||||
open_graph_title STRING |
|||||||||||||||||||||||||||
open_graph_type STRING |
|||||||||||||||||||||||||||
open_graph_use_image BOOLEAN |
|||||||||||||||||||||||||||
open_graph_use_meta_description BOOLEAN |
|||||||||||||||||||||||||||
open_graph_use_product_name BOOLEAN |
|||||||||||||||||||||||||||
option_set_display STRING |
|||||||||||||||||||||||||||
option_set_id INTEGER |
|||||||||||||||||||||||||||
order_quantity_maximum INTEGER |
|||||||||||||||||||||||||||
order_quantity_minimum INTEGER |
|||||||||||||||||||||||||||
page_title STRING |
|||||||||||||||||||||||||||
preorder_message STRING |
|||||||||||||||||||||||||||
preorder_release_date STRING |
|||||||||||||||||||||||||||
price NUMBER |
|||||||||||||||||||||||||||
price_hidden_label STRING |
|||||||||||||||||||||||||||
product_tax_code STRING |
|||||||||||||||||||||||||||
related_products ARRAY |
|||||||||||||||||||||||||||
retail_price NUMBER |
|||||||||||||||||||||||||||
reviews_count INTEGER |
|||||||||||||||||||||||||||
reviews_rating_sum INTEGER |
|||||||||||||||||||||||||||
sale_price NUMBER |
|||||||||||||||||||||||||||
search_keywords STRING |
|||||||||||||||||||||||||||
sku STRING |
|||||||||||||||||||||||||||
sort_order INTEGER |
|||||||||||||||||||||||||||
tax_class_id INTEGER |
|||||||||||||||||||||||||||
total_sold INTEGER |
|||||||||||||||||||||||||||
type STRING |
|||||||||||||||||||||||||||
upc STRING |
|||||||||||||||||||||||||||
variants ARRAY
|
|||||||||||||||||||||||||||
videos ARRAY
|
|||||||||||||||||||||||||||
view_count INTEGER |
|||||||||||||||||||||||||||
warranty STRING |
|||||||||||||||||||||||||||
weight NUMBER |
|||||||||||||||||||||||||||
width NUMBER |
Related | Troubleshooting |
Questions? Feedback?
Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.