This integration is powered by Singer's Shopify tap and certified by Stitch. Check out and contribute to the repo on GitHub.
For support, contact Support.
Shopify integration summary
Stitch’s Shopify integration replicates data using the Shopify REST Admin API (v2024-01). Refer to the Schema section for a list of objects available for replication.
Shopify feature snapshot
A high-level look at Stitch's Shopify (v1) integration, including release status, useful links, and the features supported in Stitch.
STITCH | |||
Release status |
Released on January 2, 2019 |
Supported by |
[Stitch] (https://community.qlik.com/t5/Support/ct-p/qlikSupport) |
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 Shopify
Shopify setup requirements
To set up Shopify in Stitch, you need:
-
Admin access in Shopify. This is required to allow Stitch to replicate data.
Note: If you’re on a Shopify Plus plan, the permissions required may differ. Store owners can grant users permissions to export orders, draft orders, products, inventory, and customer data. In general, view-level permissions should be sufficient.
Refer to the Shopify Staff permissions documentation for more information.
Step 1: Add Shopify as a Stitch data source
- Sign into your Stitch account.
-
On the Stitch Dashboard page, click the Add Integration button.
-
Click the Shopify 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 Shopify” would create a schema called
stitch_shopify
in the destination. Note: Schema names cannot be changed after you save the integration. - In the Shopify Shop field, enter the name of the shop you want to connect to Stitch. For example: If the shop URL was
stitch-data.shopify.com
, you’d enterstitch-data
into this field.
Step 2: Define the historical replication start date
The Sync Historical Data setting defines the starting date for your Shopify 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 Shopify’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.
Step 3: 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.
Shopify 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 4: Authorize Stitch to access Shopify
- Next, you’ll be prompted to sign into your Shopify account. Enter your Shopify credentials.
- Click Log in.
- After the authorization process is successfully completed, you’ll be directed back to Stitch.
- Click All Done.
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 Shopify 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 Shopify, 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.
Shopify replication
Replicating order refunds
To extract order refund data, Stitch queries every order in your account. If you have the order_refunds
table selected for replication, the process can potentially be very slow depending on how many orders and refunds exist in your Shopify account. As tables are extracted one at a time, this could cause extraction to not proceed for days at a time. To ensure timely replication of your other selected tables, consider creating a separate integration for only the order_refunds
table.
Note: Creating a separate integration for your order_refunds
table may negatively affect your Shopify API quota.
Shopify 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 Shopify 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.
abandoned_checkouts
The abandoned_checkouts
table contains info about abandoned checkouts. Shopify considers a checkout to be abandoned when a customer has entered billing and shipping details, but hasn’t completed the purchase.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
updated_at |
Useful links |
Join abandoned_checkouts with | on |
---|---|
customers |
abandoned_checkouts.customer.default_address.customer_id = customers.id abandoned_checkouts.customer.id = customers.id abandoned_checkouts.customer.addresses.customer_id = customers.id abandoned_checkouts.customer.default_address.customer_id = customers.addresses.id abandoned_checkouts.customer.id = customers.addresses.id abandoned_checkouts.customer.addresses.customer_id = customers.addresses.id abandoned_checkouts.customer.last_order_id = customers.last_order_id |
order_refunds |
abandoned_checkouts.customer.last_order_id = order_refunds.order_id abandoned_checkouts.line_items.product_id = order_refunds.refund_line_items.line_item.product_id |
orders |
abandoned_checkouts.customer.last_order_id = orders.id abandoned_checkouts.customer.last_order_id = orders.refunds.order_adjustments.order_id abandoned_checkouts.line_items.product_id = orders.fulfillments.line_items.product_id abandoned_checkouts.line_items.product_id = orders.refunds.refund_line_items.line_item.product_id abandoned_checkouts.line_items.product_id = orders.line_items.product_id |
transactions |
abandoned_checkouts.customer.last_order_id = transactions.order_id |
collects |
abandoned_checkouts.line_items.product_id = collects.product_id |
products |
abandoned_checkouts.line_items.product_id = products.id abandoned_checkouts.line_items.product_id = products.options.product_id |
abandoned_checkout_url STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
billing_address OBJECT
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
buyer_accepts_marketing BOOLEAN |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
buyer_accepts_sms_marketing BOOLEAN |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cart_token STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
closed_at DATE-TIME |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
completed_at DATE-TIME |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
created_at DATE-TIME |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
currency STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
customer OBJECT
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
customer_locale STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
device_id INTEGER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
discount_codes ARRAY
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gateway STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
id INTEGER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
landing_site STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
line_items ARRAY
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
location_id INTEGER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
note STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
note_attributes ARRAY
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
phone STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
presentment_currency STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
referring_site STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shipping_address OBJECT
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shipping_lines ARRAY
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sms_marketing_phone STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
source STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
source_identifier STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
source_name STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
source_url STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
subtotal_price NUMBER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tax_lines ARRAY
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxes_included BOOLEAN |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
token STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total_discounts NUMBER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total_duties NUMBER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total_line_items_price NUMBER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total_price NUMBER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total_tax NUMBER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total_weight INTEGER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
updated_at DATE-TIME |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
user_id INTEGER |
collects
The collects
table contains info about collects, which are used to manage relationships between products and custom collections. For every product in a custom collection, there’s a collect that tracks the ID of both the product and the custom collection.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
updated_at |
Useful links |
Join collects with | on |
---|---|
custom_collections |
collects.collection_id = custom_collections.id |
abandoned_checkouts |
collects.product_id = abandoned_checkouts.line_items.product_id |
order_refunds |
collects.product_id = order_refunds.refund_line_items.line_item.product_id |
orders |
collects.product_id = orders.fulfillments.line_items.product_id collects.product_id = orders.refunds.refund_line_items.line_item.product_id collects.product_id = orders.line_items.product_id |
products |
collects.product_id = products.id collects.product_id = products.options.product_id |
collection_id INTEGER |
created_at DATE-TIME |
id INTEGER |
position INTEGER |
product_id INTEGER |
sort_value STRING |
updated_at DATE-TIME |
custom_collections
The custom_collections
table contains info about custom collections. A custom collection is a grouping of products that a merchant creates to make their store easier to browse.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
updated_at |
Useful links |
Join custom_collections with | on |
---|---|
collects |
custom_collections.id = collects.collection_id |
admin_graphql_api_id STRING |
|||||
body_html STRING |
|||||
handle STRING |
|||||
id INTEGER |
|||||
image OBJECT
|
|||||
published_at STRING |
|||||
published_scope STRING |
|||||
sort_order STRING |
|||||
template_suffix STRING |
|||||
title STRING |
|||||
updated_at STRING |
customers
The customers
table contains info about the shop’s customers. This includes their contact details, order history, and email marketing preferences.
Customer metafield data
To replicate customer metafield data, you must set this table and the metafields
table to replicate.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
updated_at |
Useful links |
Join customers with | on |
---|---|
abandoned_checkouts |
customers.id = abandoned_checkouts.customer.default_address.customer_id customers.addresses.id = abandoned_checkouts.customer.default_address.customer_id customers.id = abandoned_checkouts.customer.id customers.addresses.id = abandoned_checkouts.customer.id customers.id = abandoned_checkouts.customer.addresses.customer_id customers.addresses.id = abandoned_checkouts.customer.addresses.customer_id customers.last_order_id = abandoned_checkouts.customer.last_order_id |
order_refunds |
customers.last_order_id = order_refunds.order_id |
orders |
customers.last_order_id = orders.id customers.last_order_id = orders.refunds.order_adjustments.order_id |
transactions |
customers.last_order_id = transactions.order_id |
addresses ARRAY
|
|||||||||||||||||
admin_graphql_api_id STRING |
|||||||||||||||||
created_at DATE-TIME |
|||||||||||||||||
default_address OBJECT
|
|||||||||||||||||
STRING |
|||||||||||||||||
email_marketing_consent OBJECT
|
|||||||||||||||||
first_name STRING |
|||||||||||||||||
id INTEGER |
|||||||||||||||||
last_name STRING |
|||||||||||||||||
last_order_id INTEGER |
|||||||||||||||||
last_order_name STRING |
|||||||||||||||||
multipass_identifier STRING |
|||||||||||||||||
note STRING |
|||||||||||||||||
orders_count INTEGER |
|||||||||||||||||
phone STRING |
|||||||||||||||||
sms_marketing_consent OBJECT
|
|||||||||||||||||
state STRING |
|||||||||||||||||
tags STRING |
|||||||||||||||||
tax_exempt BOOLEAN |
|||||||||||||||||
tax_exemptions ARRAY |
|||||||||||||||||
total_spent STRING |
|||||||||||||||||
updated_at DATE-TIME |
|||||||||||||||||
verified_email BOOLEAN |
events
The events
table contains info about events in the shop.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
created_at |
Useful links |
arguments
ARRAY STRING |
author STRING |
body STRING |
created_at DATE-TIME |
description STRING |
id INTEGER |
message STRING |
path STRING |
subject_id INTEGER |
subject_type STRING |
verb STRING |
inventory_items
The inventory_items
table contains info about items in a shop.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
updated_at |
Useful links |
admin_graphql_api_id STRING |
||
cost NUMBER |
||
country_code_of_origin STRING |
||
country_harmonized_system_codes ARRAY
|
||
created_at DATE-TIME |
||
harmonized_system_code INTEGER |
||
id INTEGER |
||
province_code_of_origin STRING |
||
requires_shipping BOOLEAN |
||
sku STRING |
||
tracked BOOLEAN |
||
updated_at DATE-TIME |
inventory_levels
The inventory_levels
table contains info about quantities of an inventory item for a location.
Key-based Incremental |
|
Primary Keys |
inventory_item_id location_id |
Replication Key |
updated_at |
Useful links |
admin_graphql_api_id STRING |
available INTEGER |
inventory_item_id INTEGER |
location_id INTEGER |
updated_at DATE-TIME |
locations
The locations
table contains info about .
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
updated_at |
Useful links |
active BOOLEAN |
address1 STRING |
address2 STRING |
admin_graphql_api_id STRING |
city STRING |
country STRING |
country_code STRING |
country_name STRING |
created_at DATE-TIME |
id INTEGER |
legacy BOOLEAN |
localized_country_name STRING |
localized_province_name STRING |
name STRING |
phone STRING |
province STRING |
province_code STRING |
updated_at DATE-TIME |
zip STRING |
metafields
The metafields
table contains info about resource metafields. These are arbitrary fields used to store additional information about resources.
Metafield replication and resource types
By default, this table will include only shop-level metafield data. To replicate the metafields for a given resource type, this table and the table for the resource must be set to replicate.
For example: To replicate metafield data for Orders, the orders
table must also be set to replicate.
Metafield data is available for customers
, products
, and orders
.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
updated_at |
Useful links |
admin_graphql_api_id STRING |
created_at DATE-TIME |
description STRING |
id INTEGER |
key STRING |
namespace STRING |
owner_id INTEGER |
owner_resource STRING |
type STRING |
updated_at DATE-TIME |
value INTEGER, OBJECT, STRING |
value_type STRING |
order_refunds
The order_refunds
table contains info about refunds associated with orders.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
created_at |
Useful links |
Join order_refunds with | on |
---|---|
abandoned_checkouts |
order_refunds.order_id = abandoned_checkouts.customer.last_order_id order_refunds.refund_line_items.line_item.product_id = abandoned_checkouts.line_items.product_id |
customers |
order_refunds.order_id = customers.last_order_id |
orders |
order_refunds.order_id = orders.id order_refunds.order_id = orders.refunds.order_adjustments.order_id order_refunds.id = orders.refunds.id order_refunds.id = orders.refunds.order_adjustments.refund_id order_refunds.refund_line_items.line_item.product_id = orders.fulfillments.line_items.product_id order_refunds.refund_line_items.line_item.product_id = orders.refunds.refund_line_items.line_item.product_id order_refunds.refund_line_items.line_item.product_id = orders.line_items.product_id |
transactions |
order_refunds.order_id = transactions.order_id |
collects |
order_refunds.refund_line_items.line_item.product_id = collects.product_id |
products |
order_refunds.refund_line_items.line_item.product_id = products.id order_refunds.refund_line_items.line_item.product_id = products.options.product_id |
admin_graphql_api_id STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
created_at DATE-TIME |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
id INTEGER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
note STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
order_adjustments ARRAY
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
order_id INTEGER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
processed_at STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
refund_line_items ARRAY
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
restock BOOLEAN |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
transactions ARRAY
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
user_id INTEGER |
orders
The orders
table contains info about a shop’s completed orders.
Order metafield data
To replicate order metafield data, you must set this table and the metafields
table to replicate.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
updated_at |
Useful links |
Join orders with | on |
---|---|
abandoned_checkouts |
orders.id = abandoned_checkouts.customer.last_order_id orders.refunds.order_adjustments.order_id = abandoned_checkouts.customer.last_order_id orders.fulfillments.line_items.product_id = abandoned_checkouts.line_items.product_id orders.refunds.refund_line_items.line_item.product_id = abandoned_checkouts.line_items.product_id orders.line_items.product_id = abandoned_checkouts.line_items.product_id |
customers |
orders.id = customers.last_order_id orders.refunds.order_adjustments.order_id = customers.last_order_id |
order_refunds |
orders.id = order_refunds.order_id orders.refunds.order_adjustments.order_id = order_refunds.order_id orders.refunds.id = order_refunds.id orders.refunds.order_adjustments.refund_id = order_refunds.id orders.fulfillments.line_items.product_id = order_refunds.refund_line_items.line_item.product_id orders.refunds.refund_line_items.line_item.product_id = order_refunds.refund_line_items.line_item.product_id orders.line_items.product_id = order_refunds.refund_line_items.line_item.product_id |
transactions |
orders.id = transactions.order_id orders.refunds.order_adjustments.order_id = transactions.order_id |
collects |
orders.fulfillments.line_items.product_id = collects.product_id orders.refunds.refund_line_items.line_item.product_id = collects.product_id orders.line_items.product_id = collects.product_id |
products |
orders.fulfillments.line_items.product_id = products.id orders.refunds.refund_line_items.line_item.product_id = products.id orders.line_items.product_id = products.id orders.fulfillments.line_items.product_id = products.options.product_id orders.refunds.refund_line_items.line_item.product_id = products.options.product_id orders.line_items.product_id = products.options.product_id |
admin_graphql_api_id STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
app_id INTEGER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
billing_address OBJECT
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
browser_ip STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
buyer_accepts_marketing BOOLEAN |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cancel_reason STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cancelled_at DATE-TIME |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cart_token STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
checkout_id INTEGER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
checkout_token STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
client_details OBJECT
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
closed_at DATE-TIME |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
confirmed BOOLEAN |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
contact_email STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
created_at DATE-TIME |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
currency STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
current_subtotal_price NUMBER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
current_subtotal_price_set OBJECT |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
current_total_additional_fees_set OBJECT
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
current_total_discounts NUMBER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
current_total_discounts_set OBJECT |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
current_total_duties_set OBJECT |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
current_total_price NUMBER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
current_total_price_set OBJECT |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
current_total_tax NUMBER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
current_total_tax_set OBJECT |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
customer OBJECT
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
customer_locale STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
device_id INTEGER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
discount_applications ARRAY
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
discount_codes ARRAY
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
estimated_taxes BOOLEAN |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
financial_status STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fulfillment_status STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fulfillments ARRAY
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
id INTEGER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
landing_site STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
landing_site_ref STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
line_items ARRAY
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
location_id INTEGER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
merchant_of_record_app_id INTEGER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
note STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
note_attributes ARRAY
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
number INTEGER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
order_adjustments ARRAY
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
order_number INTEGER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
order_status_url STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
original_total_additional_fees_set OBJECT
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
original_total_duties_set OBJECT |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
payment_gateway_names ARRAY |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
payment_terms OBJECT
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
phone STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
poNumber STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
presentment_currency STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
processed_at DATE-TIME |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
reference STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
referring_site STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
refunds ARRAY
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shipping_address OBJECT
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shipping_lines ARRAY
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
source_identifier STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
source_name STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
source_url STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
subtotal_price NUMBER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tags STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxExempt BOOLEAN |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tax_lines ARRAY
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
taxes_included BOOLEAN |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
test BOOLEAN |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
token STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total_discounts NUMBER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total_line_items_price NUMBER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total_outstanding NUMBER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total_price NUMBER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total_tax NUMBER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total_tip_received STRING |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total_weight INTEGER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
updated_at DATE-TIME |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
user_id INTEGER |
products
The products
table contains info about a shop’s products.
Product metafield data
To replicate product metafield data, you must set this table and the metafields
table to replicate.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
updated_at |
Useful links |
Join products with | on |
---|---|
abandoned_checkouts |
products.id = abandoned_checkouts.line_items.product_id products.options.product_id = abandoned_checkouts.line_items.product_id |
collects |
products.id = collects.product_id products.options.product_id = collects.product_id |
order_refunds |
products.id = order_refunds.refund_line_items.line_item.product_id products.options.product_id = order_refunds.refund_line_items.line_item.product_id |
orders |
products.id = orders.fulfillments.line_items.product_id products.options.product_id = orders.fulfillments.line_items.product_id products.id = orders.refunds.refund_line_items.line_item.product_id products.options.product_id = orders.refunds.refund_line_items.line_item.product_id products.id = orders.line_items.product_id products.options.product_id = orders.line_items.product_id |
admin_graphql_api_id STRING |
|||||||||||||||||||||||||||
body_html STRING |
|||||||||||||||||||||||||||
created_at DATE-TIME |
|||||||||||||||||||||||||||
handle STRING |
|||||||||||||||||||||||||||
id INTEGER |
|||||||||||||||||||||||||||
image OBJECT
|
|||||||||||||||||||||||||||
images ARRAY
|
|||||||||||||||||||||||||||
options ARRAY
|
|||||||||||||||||||||||||||
product_type STRING |
|||||||||||||||||||||||||||
published_at DATE-TIME |
|||||||||||||||||||||||||||
published_scope STRING |
|||||||||||||||||||||||||||
status STRING |
|||||||||||||||||||||||||||
tags STRING |
|||||||||||||||||||||||||||
template_suffix STRING |
|||||||||||||||||||||||||||
title STRING |
|||||||||||||||||||||||||||
updated_at DATE-TIME |
|||||||||||||||||||||||||||
variants ARRAY
|
|||||||||||||||||||||||||||
vendor STRING |
transactions
The transactions
table contains info about transactions.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
created_at |
Useful links |
Join transactions with | on |
---|---|
abandoned_checkouts |
transactions.order_id = abandoned_checkouts.customer.last_order_id |
customers |
transactions.order_id = customers.last_order_id |
order_refunds |
transactions.order_id = order_refunds.order_id |
orders |
transactions.order_id = orders.id transactions.order_id = orders.refunds.order_adjustments.order_id |
admin_graphql_api_id STRING |
|||||||||
amount NUMBER |
|||||||||
authorization STRING |
|||||||||
created_at STRING |
|||||||||
currency STRING |
|||||||||
device_id INTEGER |
|||||||||
error_code STRING |
|||||||||
gateway STRING |
|||||||||
id INTEGER |
|||||||||
kind STRING |
|||||||||
location_id INTEGER |
|||||||||
message STRING |
|||||||||
order_id INTEGER |
|||||||||
parent_id INTEGER |
|||||||||
payment_details OBJECT
|
|||||||||
payment_id STRING |
|||||||||
payments_refund_attributes OBJECT
|
|||||||||
processed_at STRING |
|||||||||
receipt OBJECT
|
|||||||||
source_name STRING |
|||||||||
status STRING |
|||||||||
test BOOLEAN |
|||||||||
total_unsettled_set OBJECT
|
|||||||||
user_id INTEGER |
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.