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
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
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
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
source_id
NUMERIC
source_type
STRING
processed_at
TIMESTAMP
collects
Purpose: This table retrieves a list of collects associated with the shopify store
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/collect
Replication: Full Replication
Replication Key: N/A
Fields
id
NUMERIC
collection_id
NUMERIC
product_id
NUMERIC
created_at
TIMESTAMP
updated_at
TIMESTAMP
position
NUMERIC
sort_value
STRING
custom_collections
Purpose: This table retrieves a list of custom collections.
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/customcollection#get-custom-collections?ids=395646240,691652237,841564295
Replication: Key Based Incremental
Replication Key: updated_at_min, updated_at_max
Fields
id
NUMERIC
handle
STRING
title
STRING
updated_at
TIMESTAMP
body_html
STRING
published_at
TIMESTAMP
sort_order
STRING
published_scope
STRING
admin_graphql_api_id
STRING
image
RECORD
smart_collections
Purpose: This table retrieves a list of smart collections.
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/smartcollection#get-smart-collections?since-id=482865238
Replication: Key Based Incremental
Replication Key: updated_at_min, updated_at_max
Fields
id
NUMERIC
handle
STRING
title
STRING
updated_at
TIMESTAMP
published_at
TIMESTAMP
sort_order
STRING
disjunctive
BOOLEAN
rules
RECORD
published_scope
STRING
admin_graphql_api_id
STRING
abandoned_checkouts
Purpose: This table retrieves a count of checkouts from the past 90 days
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/abandoned-checkouts#get-checkouts?created-at-max=2013-10-12T07:05:27-02:00
Replication: Key Based Incremental
Replication Key: updated_at_min, updated_at_max
Fields
id
NUMERIC
token
STRING
cart_token
STRING
STRING
buyer_accepts_marketing
BOOLEAN
created_at
TIMESTAMP
updated_at
TIMESTAMP
landing_site
STRING
note
STRING
note_attributes
RECORD
referring_site
STRING
shipping_lines
RECORD
taxes_included
BOOLEAN
total_weight
NUMERIC
currency
STRING
completed_at
TIMESTAMP
line_items
RECORD
name
STRING
abandoned_checkout_url
STRING
source_name
STRING
presentment_currency
STRING
buyer_accepts_sms_marketing
BOOLEAN
total_discounts
STRING
total_line_items_price
STRING
total_price
STRING
total_tax
STRING
subtotal_price
STRING
billing_address
RECORD
shipping_address
RECORD
customer
RECORD
policies
Purpose: You can use the Policy resource to access the policies that a merchant has configured for their shop, such as their refund and privacy policies.
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/policy
Replication: Full Replication
Replication Key: N/A
Fields
body
STRING
created_at
TIMESTAMP
updated_at
TIMESTAMP
handle
STRING
title
STRING
url
STRING
countries
Purpose: The Country resource represents the tax rates applied to orders from the different countries where a shop sells its products.
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/country
Replication: Full Replication
Replication Key: N/A
Fields
id
NUMERIC
name
STRING
code
STRING
tax_name
STRING
tax
NUMERIC
provinces
RECORD
shop
Purpose: The Shop resource is a collection of general business and store management settings and information about the store. The resource lets you retrieve information about the store, but it doesn't let you update any information.
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/shop
Replication: Full Replication
Replication Key: N/A
Fields
address1
STRING
zip
STRING
city
STRING
phone
STRING
latitude
NUMERIC
longitude
NUMERIC
primary_locale
STRING
address2
STRING
created_at
TIMESTAMP
updated_at
TIMESTAMP
country_code
STRING
country_name
STRING
currency
STRING
customer_email
STRING
timezone
STRING
iana_timezone
STRING
shop_owner
STRING
money_format
STRING
money_with_currency_format
STRING
weight_unit
STRING
province_code
STRING
county_taxes
BOOLEAN
plan_display_name
STRING
plan_name
STRING
has_discounts
BOOLEAN
has_gift_cards
BOOLEAN
myshopify_domain
STRING
money_in_emails_format
STRING
money_with_currency_in_emails_format
STRING
eligible_for_payments
BOOLEAN
requires_extra_payments_agreement
BOOLEAN
password_enabled
BOOLEAN
has_storefront
BOOLEAN
finances
BOOLEAN
primary_location_id
NUMERIC
cookie_consent_level
STRING
visitor_tracking_consent_preference
STRING
checkout_api_supported
BOOLEAN
multi_location_enabled
BOOLEAN
setup_required
BOOLEAN
pre_launch_enabled
BOOLEAN
enabled_presentment_currencies
STRING
transactional_sms_disabled
BOOLEAN
marketing_sms_consent_enabled_at_checkout
BOOLEAN
locations
Purpose: A location represents a geographical location where your stores, pop-up stores, headquarters, and warehouses exist. This table retrieves a list of locations
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/location#get-locations
Replication: Full Replication
Replication Key: N/A
Fields
id
NUMERIC
name
STRING
address1
STRING
city
STRING
zip
STRING
province
STRING
country
STRING
created_at
TIMESTAMP
updated_at
TIMESTAMP
country_code
STRING
country_name
STRING
province_code
STRING
legacy
BOOLEAN
active
BOOLEAN
admin_graphql_api_id
STRING
localized_country_name
STRING
localized_province_name
STRING
inventory_levels
Purpose: An inventory level represents the quantities of an inventory item for a location. Each inventory level belongs to one inventory item and has one location. This table fetches all the inventory_levels in all locations
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/inventorylevel#get-inventory-levels?location-ids=655441491
Replication: Full Replication
Replication Key: N/A
Fields
inventory_item_id
NUMERIC
location_id
NUMERIC
available
NUMERIC
updated_at
TIMESTAMP
admin_graphql_api_id
STRING
inventory_items
Purpose: An inventory item represents a physical good. It holds essential information about the physical good, including its SKU and whether its inventory is tracked. There is a 1:1 relationship between a product variant and an inventory item. This table fetches all the inventory_items
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/inventoryitem#get-inventory-items?ids=808950810,39072856,457924702
Replication: Full Replication
Replication Key: N/A
Fields
id
NUMERIC
sku
STRING
created_at
TIMESTAMP
updated_at
TIMESTAMP
requires_shipping
BOOLEAN
cost
STRING
tracked
BOOLEAN
admin_graphql_api_id
STRING
gift_cards
Purpose: In order to use this API, you need to reach out to the Merchant Success Manager and ask them to enable the gift cards API. This table fetches all the gift cards associated with the store
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/gift-card
Replication: Full Replication
Replication Key: N/A
Fields
id
NUMERIC
balance
STRING
created_at
TIMESTAMP
updated_at
TIMESTAMP
currency
STRING
initial_value
STRING
disabled_at
TIMESTAMP
line_item_id
NUMERIC
api_client_id
NUMERIC
user_id
NUMERIC
customer_id
NUMERIC
note
STRING
template_suffix
STRING
expires_on
DATE
last_characters
STRING
order_id
NUMERIC
carrier_services
Purpose: A carrier service (also known as a carrier calculated service or shipping service) provides real-time shipping rates to Shopify. Some common carrier services include Canada Post, FedEx, UPS, and USPS.
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/carrierservice#get-carrier-services
Replication: Full Replication
Replication Key: N/A
Fields
id
NUMERIC
name
STRING
active
BOOLEAN
service_discovery
BOOLEAN
carrier_service_type
STRING
admin_graphql_api_id
STRING
price_rules
Purpose: This table lists all the price_rules associated with the entered shopify store
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/pricerule#get-price-rules
Replication: Full Replication
Replication Key: N/A
Fields
id
NUMERIC
value_type
STRING
value
STRING
customer_selection
STRING
target_type
STRING
target_selection
STRING
allocation_method
STRING
once_per_customer
BOOLEAN
starts_at
TIMESTAMP
ends_at
TIMESTAMP
created_at
TIMESTAMP
updated_at
TIMESTAMP
title
STRING
admin_graphql_api_id
STRING
disputes
Purpose: This table lists all the disputes associated with the entered shopify store
Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-04/resources/dispute#get-shopify-payments-disputes?initiated-at=2013-05-03
Replication: Full Replication
Replication Key: N/A
Fields
id
NUMERIC
order_id
NUMERIC
type
STRING
amount
STRING
currency
STRING
reason
STRING
network_reason_code
STRING
status
STRING
evidence_due_by
TIMESTAMP
evidence_sent_on
TIMESTAMP
finalized_on
TIMESTAMP
initiated_at
TIMESTAMP
Last updated