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.
Table mapping between V1 and V2
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
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
Snapshot
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
Tables/APIs Supported
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
Integrate Shopify with Daton
Sign in to your existing Daton account.
Search for Shopify in the list of Connectors and click on the 'Configure' button.
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.
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.)
Post successful authentication, you will be prompted to choose from the list of available tables. Add the required Tables and click on 'Next.'
Select all the fields you require for each table and Submit the integration.
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.
Workflow
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.
Users would be able to edit/pause/re-activate/delete integration anytime
Users can view job status and process logs from the integration details page by clicking on the integration name from the active list
Table level scope
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
Shopify Data
orders
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
Fields
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
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
transactions
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
Fields
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
refunds
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
Fields
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
fulfillment_orders
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.
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/fulfillmentorder#get-orders-order-id-fulfillment-orders
Replication: Key Based Incremental
Replication Key: updated_at_min, updated_at_max
Fields
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
fulfillment_events
Purpose: This table retrieves a list of fulfillment events for a specific fulfillment
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/fulfillmentevent#get-orders-order-id-fulfillments-fulfillment-id-events
Replication: Key Based Incremental
Replication Key: updated_at_min, updated_at_max
Fields
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
tender_transactions
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
Fields
id
NUMERIC
order_id
NUMERIC
amount
STRING
currency
STRING
test
BOOLEAN
processed_at
TIMESTAMP
remote_reference
STRING
payment_method
STRING
customers
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
Fields
id
NUMERIC
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
customer_address
Purpose: This table retrieves the list of address stored for all the customers
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/customer-address#get-customers-customer-id-addresses?limit=1
Replication: Key Based Incremental
Replication Key: updated_at_min, updated_at_max
Fields
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
events
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
Fields
products
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
Fields
id
NUMERIC
subject_id
NUMERIC
created_at
TIMESTAMP
subject_type
STRING
verb
STRING
arguments
STRING
message
STRING
author
STRING
description
STRING
path
STRING
payouts
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
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/payouts
Replication: Full Replication
Replication Key: N/A
Fields
id
NUMERIC
status
STRING
date
DATE
currency
STRING
amount
STRING
summary
RECORD
balance_transactions
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.
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/transactions
Replication: Full Replication
Replication Key: N/A
Fields
id
NUMERIC
type
STRING
test
BOOLEAN
payout_id
NUMERIC
payout_status
STRING
currency
STRING
amount
STRING
fee
STRING
net
STRING