Shopify V2
Shopify ETL connector for data replication
While we get the Shopify OAuth App ready to use on Daton, we request you create a Private Custom App and Generate a New Access Token from your Shopify Store.
If you are facing any issues with the Shopify OAuth flow, please click here to Generate a New Shopify Access Token.
- One of the major difference in V2 is that all tables that were dependent on parent will now be a separate table instead of a record column in parent table. For eg. fulfillment_orders is a dependent table on parents and it was available as a record in V1 but in V2 it will be a separate table.
- Some additional tables such as fulfillment_events, gift_cards, disputes have been added in V2 connector.Note - gift_cards table is available only for Shopify Plus users and you need to reach out to your merchant success manager to get the scopes
V1 | V2 |
---|---|
orders | orders
transactions
refunds
fulfillment_orders
fulfillment_events |
checkouts | abandoned_checkouts |
customers | customers
custome_address |
products | products
product_metafields |
tender_transactions | tender_transactions |
policies | policies |
countries | countries |
smart_collections | smart_collections |
custom_collections | custom_collections |
collects | collects |
locations | locations |
events | events |
price_rules | price_rules |
shop | shop |
carrier_services | carrier_services |
inventory | inventory_levels
inventory_items |
payouts | payouts |
transactions | balance_transactions |
- | disputes |
- | gift_cards |
- | users |
Features | Details |
Release Status | Released |
Table Selection | Yes |
Column Selection | Yes |
Edit Integration | Yes |
Replication Type Selection | No |
Authentication Parameters | Shopify Shopname
Shopify Access Token |
Replication Type | Key Based Incremental |
Replication Key | Date |
Suggested Replication Frequency | 1hr |
orders | transactions |
refunds | fulfillment_orders |
fulfillment_events | tender_transactions |
customers | customer_address |
events | products |
payouts | balance_transactions |
smart_collections | custom_collections |
collects | abandoned_checkouts |
policies | countries |
shops | locations |
inventory_levels | inventory_items |
gift_cards | carrier_services |
price_rules | disputes |
order_customerjourneysummary | product_sessiondata |
users | |
- 1.
- 2.Search for Shopify in the list of Connectors and click on the 'Configure' button.
- 3.Provide the necessary Integration Name, Replication Frequency, and Replication Start Date data and click on the 'Authenticate' button. Please Note, the Integration Name would be used in creating tables for the integration and cannot be changed later.
- 4.Provide your Shopify 'Shop Name' and the generated 'Access Token' and click on 'Next.' (Click here to read how to generate an Access Token in Shopify.)
- 5.Post successful authentication, you will be prompted to choose from the list of available tables. Add the required Tables and click on 'Next.'
- 6.Select all the fields you require for each table and Submit the integration.
- 7.Once submitted, you will be prompted to select the destination for your Shop. Select your favorite destination and click on 'Confirm.'You will now receive a popup saying 'Integration Successful.'Congrats! Your Shop has been integrated with Daton.
- 1.Integrations would be in the Pending state initially and will be moved to the Active state as soon as the first job loads data successfully onto the configured warehouse.
- 2.Users would be able to edit/pause/re-activate/delete integration anytime
- 3.Users can view job status and process logs from the integration details page by clicking on the integration name from the active list
TableName | Scope Required |
---|---|
orders | read_orders |
transactions | read_orders, read_shopify_payments_payouts |
refunds | read_orders |
fulfillment_orders | read_merchant_managed_fulfillment_orders/read_assigned_fulfillment_orders |
fulfillment_events | read_orders |
tender_transactions | read_orders |
draft_orders | read_draft_orders |
customers | read_customers |
customer_address | read_customers |
events | - |
products | read_products |
payouts | read_shopify_payments_payouts |
balance_transactions | read_shopify_payments_payouts |
collects | read_products |
custom_collections | read_products |
smart_collections | read_products |
abandoned_checkouts | read_orders |
policies | - |
countries | - |
shop | - |
locations | read_locations |
inventory_levels | read_inventory |
inventory_items | read_inventory |
gift_cards | read_gift_cards (Reach out to Shopify Merchant Success Manager) |
users | read_users (Reach out to Shopify Merchant Success Manager) |
carrier_services | read_shipping |
price_rules | read_price_rules |
disputes | read_shopify_payments_payouts |
order_customerjourneysummary | read_orders, read_marketplace_orders, read_all_orders(if you need data for orders placed before 2 months) |
product_sessiondata | |
Purpose: An order is a customer's completed request to purchase one or more products from a shop. An order is created when a customer completes the checkout process, during which time they provide an email address or phone number, billing address and payment information. This Retrieves a list of orders.
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/order#get-orders?status=any
Replication: Key Based Incremental
Replication Key: updated_at_min, updated_at_max
Name | Data Type |
---|---|
id | NUMERIC |
admin_graphql_api_id | STRING |
browser_ip | STRING |
buyer_accepts_marketing | BOOLEAN |
cart_token | STRING |
checkout_id | NUMERIC |
checkout_token | STRING |
client_details | RECORD |
confirmed | BOOLEAN |
contact_email | STRING |
created_at | TIMESTAMP |
currency | STRING |
current_subtotal_price | STRING |
current_subtotal_price_set | RECORD |
current_total_discounts | STRING |
current_total_discounts_set | RECORD |
current_total_price | STRING |
current_total_price_set | RECORD |
current_total_tax | STRING |
current_total_tax_set | RECORD |
discount_codes | RECORD |
email | STRING |
financial_status | STRING |
gateway | STRING |
landing_site | STRING |
landing_site_ref | STRING |
name | STRING |
note_attributes | RECORD |
number | NUMERIC |
order_number | NUMERIC |
order_status_url | STRING |
payment_gateway_names | STRING |
phone | STRING |
presentment_currency | STRING |
processed_at | TIMESTAMP |
processing_method | STRING |
reference | STRING |
referring_site | STRING |
source_identifier | STRING |
source_name | STRING |
subtotal_price | STRING |
subtotal_price_set | RECORD |
tags | STRING |
tax_lines | RECORD |
taxes_included | BOOLEAN |
test | BOOLEAN |
token | STRING |
total_discounts | STRING |
total_discounts_set | RECORD |
total_line_items_price | STRING |
total_line_items_price_set | RECORD |
total_outstanding | STRING |
total_price | STRING |
total_price_set | RECORD |
total_price_usd | STRING |
total_shipping_price_set | RECORD |
total_tax | STRING |
total_tax_set | RECORD |
total_tip_received | STRING |
total_weight | NUMERIC |
updated_at | TIMESTAMP |
billing_address | RECORD |
customer | RECORD |
discount_applications | RECORD |
fulfillments | RECORD |
line_items | RECORD |
payment_details | RECORD |
refunds | RECORD |
shipping_address | RECORD |
shipping_lines | RECORD |
Purpose: Transactions are created for every order that results in an exchange of money. This table retrieves a list of transactions.
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/transaction#get-orders-order-id-transactions
Replication: Key Based Incremental
Replication Key: updated_at_min, updated_at_max
Name | Data Type |
---|---|
id | NUMERIC |
order_id | NUMERIC |
kind | STRING |
gateway | STRING |
status | STRING |
created_at | TIMESTAMP |
test | BOOLEAN |
authorization | STRING |
parent_id | NUMERIC |
processed_at | TIMESTAMP |
source_name | STRING |
amount | STRING |
currency | STRING |
payment_id | STRING |
total_unsettled_set | RECORD |
admin_graphql_api_id | STRING |
Purpose: The Refund resource has two major components:
- Transaction records of money returned to the customer
- The line items included in the refund, along with restocking instructions
This table retrieves a list of refunds for an order
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/refund#get-orders-order-id-refunds
Replication: Key Based Incremental
Replication Key: updated_at_min, updated_at_max
Name | Data Type |
---|---|
id | NUMERIC |
order_id | NUMERIC |
created_at | TIMESTAMP |
note | STRING |
user_id | NUMERIC |
processed_at | TIMESTAMP |
restock | BOOLEAN |
admin_graphql_api_id | STRING |
refund_line_items | RECORD |
transactions | RECORD |
Purpose: The FulfillmentOrder resource represents either an item or a group of items in an order that are to be fulfilled from the same location. There can be more than one fulfillment order for an order at a given location.This table retrieves a list of fulfillment orders for a specific order.
Replication: Key Based Incremental
Replication Key: updated_at_min, updated_at_max
Name | Data Type |
---|---|
id | NUMERIC |
order_id | NUMERIC |
status | STRING |
created_at | TIMESTAMP |
service | STRING |
updated_at | TIMESTAMP |
tracking_company | STRING |
location_id | NUMERIC |
line_items | RECORD |
tracking_number | STRING |
tracking_numbers | STRING |
tracking_url | STRING |
tracking_urls | STRING |
receipt | RECORD |
name | STRING |
admin_graphql_api_id | STRING |
Purpose: This table retrieves a list of fulfillment events for a specific fulfillment
Replication: Key Based Incremental
Replication Key: updated_at_min, updated_at_max
Name | Data Type |
---|---|
id | NUMERIC |
fulfillment_id | NUMERIC |
status | STRING |
message | STRING |
happened_at | TIMESTAMP |
city | STRING |
province | STRING |
country | STRING |
zip | STRING |
address1 | STRING |
latitude | STRING |
longitude | STRING |
shop_id | NUMERIC |
created_at | TIMESTAMP |
updated_at | TIMESTAMP |
estimated_delivery_at | TIMESTAMP |
order_id | NUMERIC |
admin_graphql_api_id | STRING |
Purpose: Each tender transaction represents money passing between the merchant and a customer. A tender transaction with a positive amount represents a transaction where the customer paid money to the merchant. A negative amount represents a transaction where the merchant refunded money back to the customer. Tender transactions represent transactions that modify the shop's balance.
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/tendertransaction#get-tender-transactions
Replication: Key Based Incremental
Replication Key: processed_at_min, processed_at_max
Name | Data Type |
---|---|
id | NUMERIC |
order_id | NUMERIC |
amount | STRING |
currency | STRING |
test | BOOLEAN |
processed_at | TIMESTAMP |
remote_reference | STRING |
payment_method | STRING |
Purpose: The Customer resource stores information about a shop's customers, such as their contact details, their order history, and whether they've agreed to receive email marketing. This table retrieves a list of customers
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/customer#get-customers?ids=207119551,1073339465
Replication: Key Based Incremental
Replication Key: updated_at_min, updated_at_max
Name | Data Type |
---|---|
id | NUMERIC |
email | STRING |
accepts_marketing | BOOLEAN |
created_at | TIMESTAMP |
updated_at | TIMESTAMP |
first_name | STRING |
last_name | STRING |
orders_count | NUMERIC |
state | STRING |
total_spent | STRING |
verified_email | BOOLEAN |
tax_exempt | BOOLEAN |
tags | STRING |
currency | STRING |
phone | STRING |
addresses | RECORD |
accepts_marketing_updated_at | TIMESTAMP |
admin_graphql_api_id | STRING |
default_address | RECORD |
Purpose: This table retrieves the list of address stored for all the customers
Replication: Key Based Incremental
Replication Key: updated_at_min, updated_at_max
Name | Data Type |
---|---|
id | NUMERIC |
customer_id | NUMERIC |
address1 | STRING |
address2 | STRING |
city | STRING |
province | STRING |
country | STRING |
zip | STRING |
phone | STRING |
name | STRING |
province_code | STRING |
country_code | STRING |
country_name | STRING |
default | BOOLEAN |
Purpose: Events are generated by some Shopify resources when certain actions are completed, such as the creation of an article, the fulfillment of an order, or the addition of a product. This table retrieves the list of events
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/event#get-events
Replication: Key Based Incremental
Replication Key: updated_at_min, updated_at_max
Purpose: This table retrieves the list of products in the given shopify store
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/product#get-products?ids=632910392,921728736
Replication: Key Based Incremental
Replication Key: updated_at_min, updated_at_max
Name | Data Type |
---|---|
id | NUMERIC |
subject_id | NUMERIC |
created_at | TIMESTAMP |
subject_type | STRING |
verb | STRING |
arguments | STRING |
message | STRING |
author | STRING |
description | STRING |
path | STRING |
Purpose: Payouts represent the movement of money between a Shopify Payments account balance and a connected bank account. This table retrieves the list of all payouts
Replication: Full Replication
Replication Key: N/A
Name | Data Type |
---|---|
id | NUMERIC |
status | STRING |
date | DATE |
currency | STRING |
amount | STRING |
summary | RECORD |
Purpose: Balance Transactions make up the canonical "statement of account", or ledger for a Shopify Payments account. Every single movement of money in or out of the account is recorded here.
Replication: Full Replication
Replication Key: N/A
Name | Data Type |
---|---|
id |