Shopify Connector
Documentation
Version: 1
Documentation

Shopify Example - Generic Query using Shopify admin GraphQL API


This example shows how to invoke GraphQL query for very generic data read/write. For more information on GraphQL API visit this link https://shopify.dev/docs/api/admin/getting-started

The ZappySys API Driver is a user-friendly interface designed to facilitate the seamless integration of various applications with the Shopify API. With its intuitive design and robust functionality, the ZappySys API Driver simplifies the process of configuring specific API endpoints to efficiently read or write data from Shopify.

Following examples shows how to Generic Query using Shopify admin GraphQL API from Shopify using ZappySys API Driver. You can explore additional examples for the Azure DevOps Connector here.

SELECT * FROM generic_request 
WITH (
    URL='/graphql.json'
  --OR Use full URL
  --URL='https://MY-STORE-HERE.myshopify.com/admin/api/2023-10/graphql.json'
  
  , RequestMethod='POST'
  , Filter='$.data.products.nodes' --change table name here e.g. products
  , Headers='Content-Type: application/json'
  --change table name and columns below here e.g. products... and id, title etc
  -- change pagesize if needed (i.e. max 250)
  , Body='{
 "query" : "<<{
 
 products(first: 250 [$tag$])
 {
    nodes {
      id
      title
      createdAt
    }
    
    pageInfo {
      hasNextPage
      endCursor
    }
    
  }
  
},FUN_JSONENC>>"
}'
	, NextUrlAttributeOrExpr='$.data.products.pageInfo.endCursor' --change table name 
	, NextUrlEndIndicator='false'
	, StopIndicatorAttributeOrExpr='$.data.products.pageInfo.hasNextPage' --change table name 
	, UseConnection='True'
	, EnablePageTokenForBody='True'
	, HasDifferentNextPageInfo='True'
	, NextPageBodyPart='after: \"[$pagetoken$]\"'
	--Use metadata to speed up execution. To get Metadata Run query without Meta clause. 
	-- Then click View Metadata button found in Botttom Result Grid Toolbar. Get Compact format and paste below
	--, Meta='id:String(255); title:String(255); createdAt:DateTime; '
)

Microsoft SQL Server OPENQUERY Query - Shopify Example

Following examples shows how to Generic Query using Shopify admin GraphQL API in Microsoft SQL Server using OPENQUERY Query. This command facilitates the execution of pass-through queries on remote servers. Below example is demonstrating the usage of OPENQUERY.

SELECT * FROM OPENQUERY([MY_LINKED_SERVER_NAME], 
'SELECT * FROM generic_request 
WITH (
    URL=''/graphql.json''
  --OR Use full URL
  --URL=''https://MY-STORE-HERE.myshopify.com/admin/api/2023-10/graphql.json''
  
  , RequestMethod=''POST''
  , Filter=''$.data.products.nodes'' --change table name here e.g. products
  , Headers=''Content-Type: application/json''
  --change table name and columns below here e.g. products... and id, title etc
  -- change pagesize if needed (i.e. max 250)
  , Body=''{
 "query" : "<<{
 
 products(first: 250 [$tag$])
 {
    nodes {
      id
      title
      createdAt
    }
    
    pageInfo {
      hasNextPage
      endCursor
    }
    
  }
  
},FUN_JSONENC>>"
}''
	, NextUrlAttributeOrExpr=''$.data.products.pageInfo.endCursor'' --change table name 
	, NextUrlEndIndicator=''false''
	, StopIndicatorAttributeOrExpr=''$.data.products.pageInfo.hasNextPage'' --change table name 
	, UseConnection=''True''
	, EnablePageTokenForBody=''True''
	, HasDifferentNextPageInfo=''True''
	, NextPageBodyPart=''after: \"[$pagetoken$]\"''
	--Use metadata to speed up execution. To get Metadata Run query without Meta clause. 
	-- Then click View Metadata button found in Botttom Result Grid Toolbar. Get Compact format and paste below
	--, Meta=''id:String(255); title:String(255); createdAt:DateTime; ''
)');

Microsoft SQL Server EXEC Query - Shopify Example (Handling larger SQL text)

The major drawback of OPENQUERY is its inability to incorporate variables within SQL statements, which often leads to the use of cumbersome dynamic SQL (with numerous ticks and escape characters).

Fortunately, there is a solution. Starting with SQL 2005 and onwards, you can utilize the EXEC (your_sql) AT your_linked_server syntax. Following examples shows how to Generic Query using Shopify admin GraphQL API in Microsoft SQL Server using EXEC Query.

DECLARE @MyQyery NVARCHAR(MAX) = 'SELECT * FROM generic_request 
WITH (
    URL=''/graphql.json''
  --OR Use full URL
  --URL=''https://MY-STORE-HERE.myshopify.com/admin/api/2023-10/graphql.json''
  
  , RequestMethod=''POST''
  , Filter=''$.data.products.nodes'' --change table name here e.g. products
  , Headers=''Content-Type: application/json''
  --change table name and columns below here e.g. products... and id, title etc
  -- change pagesize if needed (i.e. max 250)
  , Body=''{
 "query" : "<<{
 
 products(first: 250 [$tag$])
 {
    nodes {
      id
      title
      createdAt
    }
    
    pageInfo {
      hasNextPage
      endCursor
    }
    
  }
  
},FUN_JSONENC>>"
}''
	, NextUrlAttributeOrExpr=''$.data.products.pageInfo.endCursor'' --change table name 
	, NextUrlEndIndicator=''false''
	, StopIndicatorAttributeOrExpr=''$.data.products.pageInfo.hasNextPage'' --change table name 
	, UseConnection=''True''
	, EnablePageTokenForBody=''True''
	, HasDifferentNextPageInfo=''True''
	, NextPageBodyPart=''after: \"[$pagetoken$]\"''
	--Use metadata to speed up execution. To get Metadata Run query without Meta clause. 
	-- Then click View Metadata button found in Botttom Result Grid Toolbar. Get Compact format and paste below
	--, Meta=''id:String(255); title:String(255); createdAt:DateTime; ''
)';

EXE (@MyQyery) AT [MY_LINKED_SERVER_NAME];

Getting Started with Examples

ZappySys API Driver is a powerful software solution designed to facilitate the extraction and integration of data from a wide range of sources through APIs. Its intuitive design and extensive feature set make it an essential asset for any organization dealing with complex data integration tasks.

To get started with examples using ZappySys API Driver, please click on the following applications:

SQL Server Connect Shopify in SQL Server
Power BI Connect Shopify in Power BI
SSRS Connect Shopify in SSRS
Informatica Connect Shopify in Informatica
MS Access Connect Shopify in MS Access
MS Excel Connect Shopify in MS Excel
SSAS Connect Shopify in SSAS
C# Connect Shopify in C#
Python Connect Shopify in Python
JAVA Connect Shopify in JAVA
Tableau Connect Shopify in Tableau
SAP Crystal Reports Connect Shopify in SAP Crystal Reports
Azure Data Factory (Pipeline) Connect Shopify in Azure Data Factory (Pipeline)
Talend Studio Connect Shopify in Talend Studio
UiPath Connect Shopify in UiPath
PowerShell Connect Shopify in PowerShell
ODBC Connect Shopify in ODBC

Key features of the ZappySys API Driver include:

The API ODBC driver facilitates the reading and writing of data from numerous popular online services (refer to the complete list here) using familiar SQL language without learning complexity of REST API calls. The driver allows querying nested structure and output as a flat table. You can also create your own ODBC / Data Gateway API connector file and use it with this driver.

  1. Intuitive Configuration: The interface is designed to be user-friendly, enabling users to easily set up the specific API endpoints within Shopify without requiring extensive technical expertise or programming knowledge.

  2. Customizable Endpoint Setup: Users can conveniently configure the API endpoint settings, including the HTTP request method, endpoint URL, and any necessary parameters, to precisely target the desired data within Shopify.

  3. Data Manipulation Capabilities: The ZappySys API Driver allows for seamless data retrieval and writing, enabling users to fetch data from Shopify and perform various data manipulation operations as needed, all through an intuitive and straightforward interface.

  4. Secure Authentication Integration: The driver provides secure authentication integration, allowing users to securely connect to the Shopify API by inputting the necessary authentication credentials, such as API tokens or other authentication keys.

  5. Error Handling Support: The interface is equipped with comprehensive error handling support, ensuring that any errors or exceptions encountered during the data retrieval or writing process are efficiently managed and appropriately communicated to users for prompt resolution.

  6. Data Visualization and Reporting: The ZappySys API Driver facilitates the seamless processing and presentation of the retrieved data from Shopify, enabling users to generate comprehensive reports and visualizations for further analysis and decision-making purposes.

Overall, the ZappySys API Driver serves as a powerful tool for streamlining the integration of applications with Shopify, providing users with a convenient and efficient way to access and manage data, all through a user-friendly and intuitive interface.