Shopify Connector for SSIS

Shopify Connector can be used to integrate Shopify REST API in your App / BI Tools. You can read/write data about Customers, Orders, OrderItems, Products and more.
You can use this connector to integrate Shopify data inside SSIS and SQL Server. Let's take a look at the steps below to see how exactly to accomplish that.

Download Documentation

Video Tutorial - Integrate Shopify data in SSIS

This video covers following and more so watch carefully. After watching this video follow the steps described in this article.

  • How to download / install required driver for Shopify integration in SSIS
  • How to configure connection for Shopify
  • Features about API Source (Authentication / Query Language / Examples / Driver UI)
  • Using Shopify Connection in SSIS

Prerequisites

Before we perform steps listed in this article, you will need to make sure following prerequisites are met:
  1. SSIS designer installed. Sometimes it is referred as BIDS or SSDT (download it from Microsoft site).
  2. Basic knowledge of SSIS package development using Microsoft SQL Server Integration Services.
  3. Make sure ZappySys SSIS PowerPack is downloaded and installed (download it). Check Getting started section for more information.
  4. Optional (If you want to Deploy and Schedule ) - Deploy and Schedule SSIS Packages

How to read data from Shopify in SSIS (Export data)

In this section we will learn how to configure and use Shopify Connector in API Source to extract data from Shopify.

  1. Begin with opening Visual Studio and Create a New Project.

  2. Select Integration Service Project and in new project window set the appropriate name and location for project. And click OK.

  3. In the new SSIS project screen you will find the following:

    1. SSIS ToolBox on left side bar
    2. Solution Explorer and Property Window on right bar
    3. Control flow, data flow, event Handlers, Package Explorer in tab windows
    4. Connection Manager Window in the bottom
    SSIS Project Screen
    Note: If you don't see ZappySys SSIS PowerPack Task or Components in SSIS Toolbox, please refer to this help link.

  4. Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox. Double click on the Data Flow Task to see Data Flow designer.
    SSIS Data Flow Task - Drag and Drop

  5. From the SSIS toolbox drag and API Source (Predefined Templates) on the data flow designer surface, and double click on it to edit it:
    SSIS API Source (Predefined Templates) - Drag and Drop

  6. Select New Connection to create a new connection:
    API Source - New Connection

  7. Use a preinstalled Shopify Connector from Popular Connector List or press Search Online radio button to download Shopify Connector. Once downloaded simply use it in the configuration:

    Shopify
    Shopify Connector Selection

  8. Proceed with selecting the desired Authentication Type. Then select API Base URL (in most cases default one is the right one). Finally, fill in all the required parameters and set optional parameters if needed. You may press a link Steps to Configure which will help set certain parameters. More info is available in Authentication section.

    Steps to get Shopify Credentials : Access Token [Http]
    Setting up your Shopify store account for API access involves creating an "app" for your store. The "app" is installed into the Shopify account and configured with the appropriate access levels for your data integration needs.
    1. Visit https://accounts.shopify.com and log into your Shopify store account.
    2. After logging in, select the store to connect to with the ZappySys Shopify Connector.
    3. Select the Settings link (usually in the lower-left corner) to launch the Settings screen.
    4. On the left menu panel, select Apps and sales channels.
    5. On the Apps and sales channels screen, select Develop apps (near the top of the screen).
    6. On the App development screen, select Create an app (near the upper-right corner of the screen).
    7. Give the app that will be used to provide Shopify API access a name, select the appropriate developer from the App developer drop-down, and then select Create app.
    8. Select Configure Admin API scopes and the Admin API access scopes screen will appear.
    9. In the Admin API access scopes screen, select every access scope checkbox that applies to your integration needs. It is generally not a good idea to allow more access than what is needed in order to fulfill your integration needs.
      • To enable the reading of customer information, select read_customers.
      • To enable the writing of customer information, select write_customers.
      • To enable the reading of inventory item information, select read_inventory.
      • To enable the writing of inventory item information, select write_inventory.
      • To enable the reading of order information, select read_orders.
      • To enable the writing of order information, select write_orders.
      After selecting all applicable access scopes, select Save.
    10. Install the app by selecting the Install app button (near the upper-right corner of the screen). If any other prompts for installation appears, select Install.
    11. After the app is installed, the Admin API access token will be available in the API credentials tab of the page. It can only be revealed ONCE for security purposes. Select Reveal token once to show the new Admin API access token. SAVE THE ADMIN API ACCESS TOKEN IN A SAFE PLACE WHERE YOU HAVE IT CONFIDENTIAL, SECURE, AND NOT ACCESSIBLE TO UNAUTHORIZED INDIVIDUALS. The Admin API access token will be needed in this process later.
    12. In the ZappySys connector API screen, enter the subdomain of your Shopify store into the Subdomain parameter textbox. For example, if your Shopify URL is https://acmetoys.myshopify.com, the subdomain would be acmetoys.
    13. In the same screen, enter the Admin API access token saved from step 11 above into the Admin API Access Token textbox. In order to edit the text in this field, select the ellipses (...) button that appears when the textbox is clicked and edit the access token with the dialog box that appears.
    14. Select the Test Connection button at the bottom of the window to verify proper connectivity with the Shopify store.
    15. If the connection test succeeds, select OK.
    Shopify
    Access Token [Http]
    https://[$Subdomain$].myshopify.com/admin/api/2023-01
    Required Parameters
    Sub-domain Fill in the parameter...
    Admin API Access Token Fill in the parameter...
    Optional Parameters
    RetryMode Fill in the parameter...
    RetryStatusCodeList Fill in the parameter...
    RetryCountMax Fill in the parameter...
    RetryMultiplyWaitTime Fill in the parameter...
    ZappySys Http Connection

  9. Select the desired endpoint, change/pass the properties values, and click on Preview Data button to make the API call.

    API Source - Shopify
    Shopify Connector can be used to integrate Shopify REST API in your App / BI Tools. You can read/write data about Customers, Orders, OrderItems, Products and more.
    API Source - Select Endpoint

  10. That's it! We are done! Just in a few clicks we configured the call to Shopify using Shopify Connector.

    You can load the source data into your desired destination using the Upsert Destination, which supports SQL Server, PostgreSQL, and Amazon Redshift. We also offer other destinations such as CSV, Excel, Azure Table, Salesforce, and more. You can check out our SSIS PowerPack Tasks and components for more options. (*loaded in Trash Destination)

    Execute Package - Reading data from Shopify and load into target

Load Shopify data in SQL Server using Upsert Destination (Insert or Update)

Once you read data from the desired source, now let's see how to Load Shopify data in SQL Server using Upsert Destination. Upsert Destination can Merge/Synchronize data from source to target for Microsoft SQL Server, PostgreSql and Redshift. It supports very fast Bulk Upsert (Update or Insert) operation along and Bulk delete.

  1. From the SSIS toolbox drag and drop Upsert Destination on the dataflow designer surface

  2. Connect our Source component to Upsert Destination

  3. Double click on Upsert Destination component to configure it.

  4. Select the desired Microsoft SQL Server/PostgreSql/Redshift Target Connection or click NEW to create new connection. Select Target Table or click NEW to create new table based on source columns.
    Configure SSIS Upsert Destination Connection - Loading data (REST / SOAP / JSON / XML /CSV) into SQL Server or other target using SSIS
    Configure SSIS Upsert Destination Connection - Loading data (REST / SOAP / JSON / XML /CSV) into SQL Server or other target using SSIS

  5. Set Action to Upsert => (insert if not matching in target else update). Select Target Connection and Target Table. Check on Insert and Update. Click on Map All to Mappings all columns and check on Only Primary Key columns.
    SSIS SQL Upsert option

  6. Click on OK to save Upsert Destination settings UI.

  7. That's it. Run the SSIS Package and it will read the data from the Shopify and load the data in the SQL Server/PostgreSql/Redshift using Upsert Destination.

    Execute Package - Reading data from API Source and load into target

Video Tutorial - Write or lookup data to Shopify using SSIS

This video covers following and more so watch carefully. After watching this video follow the steps described in this article.

  • How to download SSIS PowerPack for Shopify integration in SSIS
  • How to configure connection for Shopify
  • How to Write or lookup data to Shopify
  • Features about SSIS API Destination
  • Using Shopify Connector in SSIS

How to write or lookup data to Shopify in SSIS (Import data)

In upper section we learned how to read data, now in this section we will learn how to configure Shopify in the API Source to Post data to the Shopify.

  1. Read the data from the source, being any desired source component. In example we will use ZappySys Dummy Data Source component.

  2. From the SSIS Toolbox drag and drop API Destination (Predefined Templates) on the Data Flow Designer surface and connect source component with it, and double click to edit it.
    SSIS API Destination (Predefined Templates) - Drag and Drop

  3. Select New Connection to create a new connection:

    API Destination - Shopify
    Shopify Connector can be used to integrate Shopify REST API in your App / BI Tools. You can read/write data about Customers, Orders, OrderItems, Products and more.
    API Destination - New Connection

  4. Use a preinstalled Shopify Connector from Popular Connector List or press Search Online radio button to download Shopify Connector. Once downloaded simply use it in the configuration:

    Shopify
    Shopify Connector Selection

  5. Proceed with selecting the desired Authentication Type. Then select API Base URL (in most cases default one is the right one). Finally, fill in all the required parameters and set optional parameters if needed. You may press a link Steps to Configure which will help set certain parameters. More info is available in Authentication section.

    Steps to get Shopify Credentials : Access Token [Http]
    Setting up your Shopify store account for API access involves creating an "app" for your store. The "app" is installed into the Shopify account and configured with the appropriate access levels for your data integration needs.
    1. Visit https://accounts.shopify.com and log into your Shopify store account.
    2. After logging in, select the store to connect to with the ZappySys Shopify Connector.
    3. Select the Settings link (usually in the lower-left corner) to launch the Settings screen.
    4. On the left menu panel, select Apps and sales channels.
    5. On the Apps and sales channels screen, select Develop apps (near the top of the screen).
    6. On the App development screen, select Create an app (near the upper-right corner of the screen).
    7. Give the app that will be used to provide Shopify API access a name, select the appropriate developer from the App developer drop-down, and then select Create app.
    8. Select Configure Admin API scopes and the Admin API access scopes screen will appear.
    9. In the Admin API access scopes screen, select every access scope checkbox that applies to your integration needs. It is generally not a good idea to allow more access than what is needed in order to fulfill your integration needs.
      • To enable the reading of customer information, select read_customers.
      • To enable the writing of customer information, select write_customers.
      • To enable the reading of inventory item information, select read_inventory.
      • To enable the writing of inventory item information, select write_inventory.
      • To enable the reading of order information, select read_orders.
      • To enable the writing of order information, select write_orders.
      After selecting all applicable access scopes, select Save.
    10. Install the app by selecting the Install app button (near the upper-right corner of the screen). If any other prompts for installation appears, select Install.
    11. After the app is installed, the Admin API access token will be available in the API credentials tab of the page. It can only be revealed ONCE for security purposes. Select Reveal token once to show the new Admin API access token. SAVE THE ADMIN API ACCESS TOKEN IN A SAFE PLACE WHERE YOU HAVE IT CONFIDENTIAL, SECURE, AND NOT ACCESSIBLE TO UNAUTHORIZED INDIVIDUALS. The Admin API access token will be needed in this process later.
    12. In the ZappySys connector API screen, enter the subdomain of your Shopify store into the Subdomain parameter textbox. For example, if your Shopify URL is https://acmetoys.myshopify.com, the subdomain would be acmetoys.
    13. In the same screen, enter the Admin API access token saved from step 11 above into the Admin API Access Token textbox. In order to edit the text in this field, select the ellipses (...) button that appears when the textbox is clicked and edit the access token with the dialog box that appears.
    14. Select the Test Connection button at the bottom of the window to verify proper connectivity with the Shopify store.
    15. If the connection test succeeds, select OK.
    Shopify
    Access Token [Http]
    https://[$Subdomain$].myshopify.com/admin/api/2023-01
    Required Parameters
    Sub-domain Fill in the parameter...
    Admin API Access Token Fill in the parameter...
    Optional Parameters
    RetryMode Fill in the parameter...
    RetryStatusCodeList Fill in the parameter...
    RetryCountMax Fill in the parameter...
    RetryMultiplyWaitTime Fill in the parameter...
    ZappySys Http Connection

  6. Select the desired endpoint, change/pass the properties values, and go to the Mappings tab to map the columns.

    API Destination - Shopify
    Shopify Connector can be used to integrate Shopify REST API in your App / BI Tools. You can read/write data about Customers, Orders, OrderItems, Products and more.
    API Destination - Select Endpoint

  7. Finally, map the desired columns:

    API Destination - Shopify
    Shopify Connector can be used to integrate Shopify REST API in your App / BI Tools. You can read/write data about Customers, Orders, OrderItems, Products and more.
    API Destination - Columns Mapping

  8. That's it; we successfully configured the POST API Call. In a few clicks we configured the Shopify API call using ZappySys Shopify Connector

    Execute Package - Reading data from API Source and load into target

Advanced topics

Actions supported by Shopify Connector

Shopify Connector support following actions for REST API integration. If some actions are not listed below then you can easily edit Connector file and enhance out of the box functionality.
 Get Customers
Gets a list of customers.    [Read more...]
Parameter Description
Customer Id(s) - Comma separated Restrict results to records specified by a comma-separated list of IDs. Max IDs per request controlled by BatchSize property (found in PaginationParams)
 Get Customer
Gets a specific customer.    [Read more...]
 Create a Customer
Creates a new customer.    [Read more...]
 Update a Customer
Updates an existing customer.    [Read more...]
 Delete a Customer
Deletes a specific customer.    [Read more...]
 Get Orders
Gets a list of orders by status, date and other search criteria. By default only Open orders returned. Change Status parameter to any to get all orders.    [Read more...]
Parameter Description
Order Id(s) - Comma separated Restrict results to records specified by a comma-separated list of IDs. Max IDs per request controlled by BatchSize property (found in PaginationParams)
 Get Order
Gets a specific order.    [Read more...]
 Create an Order
Creates a new order.    [Read more...]
 Update an Order
Updates an existing order.    [Read more...]
 Delete an Order
Deletes a specific order.    [Read more...]
 Get Order Items
Gets a list of line items for all orders or the specified order(s).    [Read more...]
Parameter Description
Order Id(s) - Comma separated Restrict results to records specified by a comma-separated list of IDs. Max IDs per request controlled by BatchSize property (found in PaginationParams)
 Get Products
Gets a list of products.    [Read more...]
Parameter Description
Product Id(s) - Comma separated Restrict results to records specified by a comma-separated list of IDs. Max IDs per request controlled by BatchSize property (found in PaginationParams)
 Get Product
Gets a specific product.    [Read more...]
 Get Product Variants
Gets a list of products with their variants.    [Read more...]
Parameter Description
Product Id(s) - Comma separated Restrict results to records specified by a comma-separated list of IDs. Max IDs per request controlled by BatchSize property (found in PaginationParams)
Since Product Id Restrict results created after the specified product ID.
Only Fields to Show Limit data retrieval to only the selected product-related fields.
Option Value
id id
title title
body_html body_html
vendor vendor
product_type product_type
created_at created_at
handle handle
updated_at updated_at
published_at published_at
template_suffix template_suffix
status status
published_scope published_scope
tags tags
admin_graphql_api_id admin_graphql_api_id
variants variants
options options
images images
image image
Created Before Restrict results to products created before a specified date. (format: 2014-04-25T16:15:47-04:00)
Created After Restrict results to products created after a specified date. (format: 2014-04-25T16:15:47-04:00)
Updated Before Restrict results to products last updated before a specified date. (format: 2014-04-25T16:15:47-04:00)
Updated After Restrict results to products last updated after a specified date. (format: 2014-04-25T16:15:47-04:00)
 Update a Product Variant
Updates an existing product variant.    [Read more...]
 Create a Product Variant
Creates a new product variant.    [Read more...]
Parameter Description
Product Id The ID of the product for which you like to create a new variant.
 Create a Product
Creates a new product.    [Read more...]
 Update a Product
Updates an existing product.    [Read more...]
 Delete a product
Deletes a specific product.    [Read more...]
 Delete a product variant
Deletes a specific product variant.    [Read more...]
 Get Payouts
Retrieves a list of all payouts ordered by payout date, with the most recent being first. Requires following permissions shopify_payments_payouts, shopify_payments for API Token.    [Read more...]
Parameter Description
Date (format: yyyy-MM-ddd) Filter the response to payouts made on the specified date.
Option Value
2023-12-31 2023-12-31
today today
yesterday yesterday
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
Date maximum (format: yyyy-MM-ddd) Filter the response to payouts made inclusively before the specified date.
Option Value
2023-12-31 2023-12-31
today today
yesterday yesterday
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
Date minimum(format: yyyy-MM-ddd) Filter the response to payouts made inclusively after the specified date.
Option Value
2023-12-31 2023-12-31
today today
yesterday yesterday
monthstart monthstart
monthend monthend
yearstart yearstart
yearend yearend
weekstart weekstart
weekend weekend
yearstart-1y yearstart-1y
yearend-1y yearend-1y
monthstart-1d monthstart-1d
monthend+1d monthend+1d
Payouts before this Id Filter the response to payouts made before the specified ID.
Payouts after this Id Filter the response to payouts made after the specified ID.
Status Filter the response to payouts made with the specified status.
Option Value
scheduled scheduled
in_transit in_transit
paid paid
failed failed
canceled canceled
 Get Locations
Gets a list of locations.    [Read more...]
 Get Location
Gets a specific location.    [Read more...]
Parameter Description
Location Id The ID of the location for which data should be read.
 Create a Location
Creates a new location.    [Read more...]
 Update a Location
Updates an existing location.    [Read more...]
 Delete a Location
Deletes a specific location.    [Read more...]
 Get Inventory Items
Gets a list of inventory items. Each Product Variant has Inventory Item Id .. Its one to one relationship with Product Variant and Inventory Item. Query get_product_variants to get InventoryItemId and use as Id in this endpoint.    [Read more...]
Parameter Description
Inventory Item Id(s) - Comma separated Restrict results to records specified by a comma-separated list of IDs. Max IDs per request controlled by BatchSize property (found in PaginationParams)
 Get Inventory Levels
Gets inventory level for a specific location and inventory item.    [Read more...]
Parameter Description
inventory_item_ids Inventory Item Id(s) - Comma separated
location_ids Location Id(s) - Comma separated
Updated at or after Show inventory levels updated at or after date (format: 2019-03-19T01:21:44-04:00).
 Update Inventory Levels
   [Read more...]
Parameter Description
Action
Option Value
Adjusts the inventory level adjust
Connects an inventory item to a location connect
Sets the inventory level for an inventory item at a location set
 Insert Inventory Levels
   [Read more...]
Parameter Description
 Get Inventory Item
Gets a specific inventory item.    [Read more...]
Parameter Description
Inventory Item Id(s) - Comma separated Restrict results to records specified by a comma-separated list of IDs. Max IDs per request controlled by BatchSize property (found in PaginationParams)
 Update Inventory Item
   [Read more...]
Parameter Description
Inventory Item Id
 Generic Request
This is generic endpoint. Use this endpoint when some actions are not implemented by connector. Just enter partial URL (Required), Body, Method, Header etc. Most parameters are optional except URL.    [Read more...]
Parameter Description
Url API URL goes here. You can enter full URL or Partial URL relative to Base URL. If it is full URL then domain name must be part of ServiceURL or part of TrustedDomains
Body Request Body content goes here
IsMultiPart Set this option if you want to upload file(s) (i.e. POST RAW file data) or send data using Multi-Part encoding method (i.e. Content-Type: multipart/form-data). Multi-Part request allows you to mix key/value and upload files in same request. On the other hand raw upload allows only single file upload (without any key/value) ==== Raw Upload (Content-Type: application/octet-stream) ===== To upload single file in raw mode check this option and specify full file path starting with @ sign in the Body (e.g. @c:\data\myfile.zip ) ==== Form-Data / Multipart Upload (Content-Type: multipart/form-data) ===== To treat your Request data as multi part fields you must specify key/value pairs separated by new lines into RequestData field (i.e. Body). Each key value pair is entered on new-line and key/value are separated using equal sign (=). Preceding and trailing spaces are ignored also blank lines are ignored. If field value has some any special character(s) then use escape sequence (e.g. For NewLine: \r\n, For Tab: \t, For at (@): \@). When value of any field starts with at sign (@) its automatically treated as File you want to upload. By default file content type is determined based on extension however you can supply content type manually for any field using this way [ YourFileFieldName.Content-Type=some-content-type ]. By default File Upload Field always includes Content-Type in the request (non file fields do not have content-type by default unless you supply manually). For some reason if you dont want to use Content-Type header in your request then supply blank Content-Type to exclude this header altogather [e.g. SomeFieldName.Content-Type= ]. In below example we have supplied Content-Type for file2 and SomeField1, all other fields are using default content-type. See below Example of uploading multiple files along with additional fields. If some API requires you to pass Content-Type: multipart/form-data rather than multipart/form-data then manually set Request Header => Content-Type: multipart/mixed (it must starts with multipart/ else will be ignored). file1=@c:\data\Myfile1.txt file2=@c:\data\Myfile2.json file2.Content-Type=application/json SomeField1=aaaaaaa SomeField1.Content-Type=text/plain SomeField2=12345 SomeFieldWithNewLineAndTab=This is line1\r\nThis is line2\r\nThis is \ttab \ttab \ttab SomeFieldStartingWithAtSign=\@MyTwitterHandle
Filter Enter filter to extract array from response. Example: $.rows[*] --OR-- $.customers[*].orders[*]. Check your response document and find out hierarchy you like to extract
Headers Headers for Request. To enter multiple headers use double pipe or new line after each {header-name}:{value} pair

Conclusion

In this article we discussed how to connect to Shopify in SSIS and integrate data without any coding. Click here to Download Shopify Connector for SSIS and try yourself see how easy it is. If you still have any question(s) then ask here or simply click on live chat icon below and ask our expert (see bottom-right corner of this page).

Download Shopify Connector for SSIS Documentation 

More integrations

Other application integration scenarios for Shopify

Other connectors for SSIS


Download Shopify Connector for SSIS Documentation

  • How to connect Shopify in SSIS?

  • How to get Shopify data in SSIS?

  • How to read Shopify data in SSIS?

  • How to load Shopify data in SSIS?

  • How to import Shopify data in SSIS?

  • How to pull Shopify data in SSIS?

  • How to push data to Shopify in SSIS?

  • How to write data to Shopify in SSIS?

  • How to POST data to Shopify in SSIS?

  • Call Shopify API in SSIS

  • Consume Shopify API in SSIS

  • Shopify SSIS Automate

  • Shopify SSIS Integration

  • Integration Shopify in SSIS

  • Consume real-time Shopify data in SSIS

  • Consume real-time Shopify API data in SSIS

  • Shopify ODBC Driver | ODBC Driver for Shopify | ODBC Shopify Driver | SSIS Shopify Source | SSIS Shopify Destination

  • Connect Shopify in SSIS

  • Load Shopify in SSIS

  • Load Shopify data in SSIS

  • Read Shopify data in SSIS

  • Shopify API Call in SSIS