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

Singer Community

Stitch plan

Standard

API availability

Available

Singer GitHub repository

singer-io/tap-bigcommerce

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:


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

 Click to enlarge. The BigCommerce Create API Account page, with required permissions highlighted.

  1. Sign into your BigCommerce store as the store owner.
  2. Click Advanced Settings > API Accounts. This will display the Store API Accounts page.
  3. Click the Create API Account button.
  4. In the Name field, enter Stitch.
  5. 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
  6. 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:


Click to enlarge. A BigCommerce API credentials text file. The store has portion of the API path is highlighted.

A BigCommerce API credentials text file. The highlighted portion of the API path is the store hash.

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 be 123456.

Step 2: Add BigCommerce as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the BigCommerce icon.

  4. 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.

  5. In the Client ID field, paste the client ID from the .txt file you opened in Step 1.2.
  6. In the Access Token field, paste the access token from the .txt file you opened in Step 1.2.
  7. 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 between stores/ and /v3/ in the API path is your store hash. For example: If the API path were https://api.bigcommerce.com/stores/123456/v3/, the store hash would be 123456.

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:

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:

  1. Individual tables and columns

  2. All tables and columns

Click the tabs to view instructions for each selection method.

  1. In the integration’s Tables to Replicate tab, locate a table you want to replicate.
  2. To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.

  3. To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.

  4. Repeat this process for all the tables and columns you want to replicate.
  5. When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
  1. Click into the integration from the Stitch Dashboard page.
  2. Click the Tables to Replicate tab.

  3. In the list of tables, click the box next to the Table Names column.
  4. In the menu that displays, click Track all Tables and Fields:

    The Track all Tables and Fields menu in the Tables to Replicate tab

  5. 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.

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

coupons

The coupons table contains info about the coupons in your BigCommerce store.

Replication Method

Full Table

Primary Key

id

Useful links

coupons schema on GitHub

BigCommerce API method

Join coupons with on
orders
coupons.id = orders.coupons.coupon_id
coupons.id = orders.products.applied_discounts.id

amount

NUMBER

applies_to

OBJECT

entity

STRING

ids

ARRAY

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.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

date_modified

Useful links

customers schema on GitHub

BigCommerce API method

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

email

STRING

first_name

STRING

form_fields

ARRAY

name

STRING

value

STRING

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.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

date_modified

Useful links

orders schema on GitHub

BigCommerce API method

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

city

STRING

company

STRING

country

STRING

country_iso2

STRING

email

STRING

first_name

STRING

form_fields

ARRAY

name

STRING

value

STRING

last_name

STRING

phone

STRING

state

STRING

street_1

STRING

street_2

STRING

zip

STRING

cart_id

STRING

channel_id

INTEGER

coupon_discount

NUMBER

coupons

ARRAY

amount

NUMBER

code

STRING

coupon_id

INTEGER

discount

NUMBER

id

INTEGER

order_id

INTEGER

type

STRING

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

name

STRING

value

STRING

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

applied_discounts

ARRAY

amount

NUMBER

code

STRING

id

STRING

name

STRING

type

STRING

base_cost_price

NUMBER

base_price

NUMBER

base_total

NUMBER

base_wrapping_cost

NUMBER

bin_picking_number

STRING

cost_price_ex_tax

NUMBER

cost_price_inc_tax

NUMBER

cost_price_tax

NUMBER

depth

STRING

ebay_item_id

STRING

ebay_transaction_id

STRING

event_date

DATE-TIME

event_name

STRING

external_id

INTEGER, STRING

fixed_shipping_cost

NUMBER

height

STRING

id

INTEGER

is_bundled_product

BOOLEAN

is_refunded

BOOLEAN

name

STRING

option_set_id

INTEGER

order_address_id

INTEGER

order_id

INTEGER

parent_order_product_id

INTEGER

price_ex_tax

NUMBER

price_inc_tax

NUMBER

price_tax

NUMBER

product_id

INTEGER

product_options

ARRAY

display_name

STRING

display_style

STRING

display_value

STRING

id

INTEGER

name

STRING

option_id

INTEGER

order_product_id

INTEGER

product_option_id

INTEGER

type

STRING

value

NUMBER

quantity

INTEGER

quantity_refunded

INTEGER

quantity_shipped

INTEGER

refund_amount

NUMBER

return_id

INTEGER

sku

STRING

total_ex_tax

NUMBER

total_inc_tax

NUMBER

total_tax

NUMBER

type

STRING

weight

NUMBER

width

STRING

wrapping_cost_ex_tax

NUMBER

wrapping_cost_inc_tax

NUMBER

wrapping_cost_tax

NUMBER

wrapping_message

STRING

wrapping_name

STRING

refunded_amount

NUMBER

shipping_address_count

INTEGER

shipping_addresses

ARRAY

base_cost

NUMBER

base_handling_cost

NUMBER

city

STRING

company

STRING

cost_ex_tax

NUMBER

cost_inc_tax

NUMBER

cost_tax

NUMBER

cost_tax_class_id

INTEGER

country

STRING

country_iso2

STRING

email

STRING

first_name

STRING

form_fields

ARRAY

name

STRING

value

STRING

handling_cost_ex_tax

NUMBER

handling_cost_inc_tax

NUMBER

handling_cost_tax

NUMBER

handling_cost_tax_class_id

INTEGER

id

INTEGER

items_shipped

INTEGER

items_total

INTEGER

last_name

STRING

order_id

INTEGER

phone

STRING

shipping_method

STRING

shipping_zone_id

INTEGER

shipping_zone_name

STRING

state

STRING

street_1

STRING

street_2

STRING

zip

STRING

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.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

date_modified

Useful links

products schema on GitHub

BigCommerce API method

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

amount

NUMBER

id

INTEGER

quantity_max

INTEGER

quantity_min

INTEGER

type

STRING

calculated_price

NUMBER

categories

ARRAY

condition

STRING

cost_price

NUMBER

custom_fields

OBJECT

id

INTEGER

name

STRING

value

STRING

custom_url

OBJECT

is_customized

BOOLEAN

url

STRING

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

date_modified

DATE-TIME

description

STRING

id

INTEGER

image_file

STRING

is_thumbnail

BOOLEAN

product_id

INTEGER

sort_order

INTEGER

url_standard

STRING

url_thumbnail

STRING

url_tiny

STRING

url_zoom

STRING

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

bin_picking_number

STRING

calculated_price

NUMBER

cost_price

NUMBER

depth

NUMBER

fixed_cost_shipping_price

NUMBER

height

NUMBER

id

INTEGER

image_url

STRING

inventory_level

INTEGER

inventory_warning_level

INTEGER

is_free_shipping

BOOLEAN

map_price

NUMBER

option_values

ARRAY

id

INTEGER

label

STRING

option_display_name

STRING

option_id

INTEGER

price

NUMBER

product_id

INTEGER

purchasing_disabled

BOOLEAN

purchasing_disabled_message

STRING

sale_price

NUMBER

sku

STRING

sku_id

INTEGER

upc

STRING

weight

NUMBER

width

NUMBER

videos

ARRAY

description

STRING

id

INTEGER

length

STRING

product_id

INTEGER

sort_order

INTEGER

title

STRING

type

STRING

video_id

STRING

view_count

INTEGER

warranty

STRING

weight

NUMBER

width

NUMBER


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.