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

Snapshot

Tables/APIs Supported

Integrate Shopify with Daton

  1. Sign in to your existing Daton account.

  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.

Workflow

  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

Table level scope

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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_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

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

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

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

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

order_customerjourneysummary

Purpose: This table has all the data related to customer's visiting activities on a shop's online store associated with the orders placed.

Note: The Sessions data is huge so currently, we only provide support for a 60-day history for this specific table. If you require data from a period before these 60 days, you will need to have the "read_all_orders" scope. Feel free to contact us if you require access to a longer history of data.

Scope: This table fetches

Source API Documentation: https://shopify.dev/docs/api/admin-graphql/2023-07/objects/Order

Replication: Key Based Incremental

Replication Key: created_at

product_sessiondata

Purpose: This table has data to analyse about product performance. This dataset combines sales and sessions data at a product_id grain to provide a holistic view of product performance.

Note: The Sessions data is huge so currently we only provide support for a 60-day history for this specific table. Reach out to us if you require access to a longer history of data.

Source API Documentation: https://shopify.dev/docs/api/shopifyql/datasets/products-dataset

Replication: Key Based Incremental

Replication Key: date of product sold(since, until)

users

Purpose: This table provides all users for the shopify store.In order to use this API, you need to reach out to the Merchant Success Manager and ask them to enable the read_users scope

Source API Documentation: https://shopify.dev/docs/api/admin-rest/2023-07/resources/user#get-users

Replication: Full Replication

Replication Key: NA Fields

Last updated