Matillion ETL Data Model for Shopify
Version - 21.0.8137.0

Note: Data models are true for the latest version of Matillion ETL. If you are on an older version or using a component from an old job, your experience may differ.



Connection String OptionsBack To Top

  1. AuthScheme
  2. AppId
  3. ShopURL
  4. Password
  5. InitiateOAuth
  6. OAuthClientId
  7. OAuthClientSecret
  8. OAuthAccessToken
  9. OAuthSettingsLocation
  10. CallbackURL
  11. OAuthVerifier
  12. OAuthExpiresIn
  13. OAuthTokenTimestamp
  14. SSLServerCert
  15. FirewallType
  16. FirewallServer
  17. FirewallPort
  18. FirewallUser
  19. FirewallPassword
  20. ProxyAutoDetect
  21. ProxyServer
  22. ProxyPort
  23. ProxyAuthScheme
  24. ProxyUser
  25. ProxyPassword
  26. ProxySSLType
  27. ProxyExceptions
  28. Logfile
  29. Verbosity
  30. LogModules
  31. MaxLogFileSize
  32. MaxLogFileCount
  33. Location
  34. BrowsableSchemas
  35. Tables
  36. Views
  37. Schema
  38. AutoCache
  39. CacheDriver
  40. CacheConnection
  41. CacheLocation
  42. CacheTolerance
  43. Offline
  44. CacheMetadata
  45. BatchSize
  46. ConnectionLifeTime
  47. ConnectOnOpen
  48. IncludeCustomFields
  49. MaxPointsPerCall
  50. MaxRows
  51. Other
  52. PoolIdleTimeout
  53. PoolMaxSize
  54. PoolMinSize
  55. PoolWaitTime
  56. PseudoColumns
  57. Readonly
  58. RowScanDepth
  59. RTK
  60. SupportEnhancedSQL
  61. Timeout
  62. UseConnectionPooling

AuthScheme

Data Type

string

Default Value

"OAuth"

Remarks



AppId

Data Type

string

Default Value

""

Remarks

AppId for the admin API.



ShopURL

Data Type

string

Default Value

""

Remarks

The full URL of your Shopify shop.



Password

Data Type

string

Default Value

""

Remarks

The User and Password are together used to authenticate with the server.



InitiateOAuth

Data Type

string

Default Value

"OFF"

Remarks

The following options are available:

  1. OFF: Indicates that the OAuth flow will be handled entirely by the user. An OAuthAccessToken will be required to authenticate.
  2. GETANDREFRESH: Indicates that the entire OAuth Flow will be handled by the driver. If no token currently exists, it will be obtained by prompting the user via the browser. If a token exists, it will be refreshed when applicable.
  3. REFRESH: Indicates that the driver will only handle refreshing the OAuthAccessToken. The user will never be prompted by the driver to authenticate via the browser. The user must handle obtaining the OAuthAccessToken and OAuthRefreshToken initially.



OAuthClientId

Data Type

string

Default Value

""

Remarks

As part of registering an OAuth application, you will receive the OAuthClientId value, sometimes also called a consumer key, and a client secret, the OAuthClientSecret.



OAuthClientSecret

Data Type

string

Default Value

""

Remarks

As part of registering an OAuth application, you will receive the OAuthClientId, also called a consumer key. You will also receive a client secret, also called a consumer secret. Set the client secret in the OAuthClientSecret property.



OAuthAccessToken

Data Type

string

Default Value

""

Remarks

The OAuthAccessToken property is used to connect using OAuth. The OAuthAccessToken is retrieved from the OAuth server as part of the authentication process. It has a server-dependent timeout and can be reused between requests.

The access token is used in place of your user name and password. The access token protects your credentials by keeping them on the server.



OAuthSettingsLocation

Data Type

string

Default Value

"%APPDATA%\\CData\\Shopify Data Provider\\OAuthSettings.txt"

Remarks

When InitiateOAuth is set to GETANDREFRESH or REFRESH, the driver saves OAuth values to avoid requiring the user to manually enter OAuth connection properties and allowing the credentials to be shared across connections or processes.

Alternatively to specifying a file path, memory storage can be used instead. Memory locations are specified by using a value starting with 'memory://' followed by a unique identifier for that set of credentials (ex: memory://user1). The identifier can be anything you choose but should be unique to the user. Unlike with the file based storage, you must manually store the credentials when closing the connection with memory storage to be able to set them in the connection when the process is started again. The OAuth property values can be retrieved with a query to the sys_connection_props system table. If there are multiple connections using the same credentials, the properties should be read from the last connection to be closed.

If left unspecified, the default location is "%APPDATA%\\CData\\Shopify Data Provider\\OAuthSettings.txt" with %APPDATA% being set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Mac ~/Library/Application Support
Linux ~/.config



CallbackURL

Data Type

string

Default Value

""

Remarks

During the authentication process, the OAuth authorization server redirects the user to this URL. This value must match the callback URL you specify in your app settings.



OAuthVerifier

Data Type

string

Default Value

""

Remarks

The verifier code returned from the OAuth authorization URL. This can be used on systems where a browser cannot be launched such as headless systems.

Authentication on Headless Machines

See Establishing a Connection to obtain the OAuthVerifier value.

Set OAuthSettingsLocation along with OAuthVerifier. When you connect, the driver exchanges the OAuthVerifier for the OAuth authentication tokens and saves them, encrypted, to the specified file. Set InitiateOAuth to GETANDREFRESH automate the exchange.

Once the OAuth settings file has been generated, you can remove OAuthVerifier from the connection properties and connect with OAuthSettingsLocation set.

To automatically refresh the OAuth token values, set OAuthSettingsLocation and additionally set InitiateOAuth to REFRESH.



OAuthExpiresIn

Data Type

string

Default Value

""

Remarks

Pair with OAuthTokenTimestamp to determine when the AccessToken will expire.



OAuthTokenTimestamp

Data Type

string

Default Value

""

Remarks

Pair with OAuthExpiresIn to determine when the AccessToken will expire.



SSLServerCert

Data Type

string

Default Value

""

Remarks

If using a TLS/SSL connection, this property can be used to specify the TLS/SSL certificate to be accepted from the server. Any other certificate that is not trusted by the machine is rejected.

This property can take the following forms:

Description Example
A full PEM Certificate (example shortened for brevity) -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----
A path to a local file containing the certificate C:\cert.cer
The public key (example shortened for brevity) -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY-----
The MD5 Thumbprint (hex values can also be either space or colon separated) ecadbdda5a1529c58a1e9e09828d70e4
The SHA1 Thumbprint (hex values can also be either space or colon separated) 34a929226ae0819f2ec14b4a3d904f801cbb150d

If not specified, any certificate trusted by the machine is accepted.

Certificates are validated as trusted by the machine based on the System's trust store. The trust store used is the 'javax.net.ssl.trustStore' value specified for the system. If no value is specified for this property, Java's default trust store is used (for example, JAVA_HOME\lib\security\cacerts).

Use '*' to signify to accept all certificates. Note that this is not recommended due to security concerns.



FirewallType

Data Type

string

Default Value

"NONE"

Remarks

This property specifies the protocol that the driver will use to tunnel traffic through the FirewallServer proxy. Note that by default, the driver connects to the system proxy; to disable this behavior and connect to one of the following proxy types, set ProxyAutoDetect to false.

Type Default Port Description
TUNNEL 80 When this is set, the driver opens a connection to Shopify and traffic flows back and forth through the proxy.
SOCKS4 1080 When this is set, the driver sends data through the SOCKS 4 proxy specified by FirewallServer and FirewallPort and passes the FirewallUser value to the proxy, which determines if the connection request should be granted.
SOCKS5 1080 When this is set, the driver sends data through the SOCKS 5 proxy specified by FirewallServer and FirewallPort. If your proxy requires authentication, set FirewallUser and FirewallPassword to credentials the proxy recognizes.

To connect to HTTP proxies, use ProxyServer and ProxyPort. To authenticate to HTTP proxies, use ProxyAuthScheme, ProxyUser, and ProxyPassword.



FirewallServer

Data Type

string

Default Value

""

Remarks

This property specifies the IP address, DNS name, or host name of a proxy allowing traversal of a firewall. The protocol is specified by FirewallType: Use FirewallServer with this property to connect through SOCKS or do tunneling. Use ProxyServer to connect to an HTTP proxy.

Note that the driver uses the system proxy by default. To use a different proxy, set ProxyAutoDetect to false.



FirewallPort

Data Type

int

Default Value

0

Remarks

This specifies the TCP port for a proxy allowing traversal of a firewall. Use FirewallServer to specify the name or IP address. Specify the protocol with FirewallType.



FirewallUser

Data Type

string

Default Value

""

Remarks

The FirewallUser and FirewallPassword properties are used to authenticate against the proxy specified in FirewallServer and FirewallPort, following the authentication method specified in FirewallType.



FirewallPassword

Data Type

string

Default Value

""

Remarks

This property is passed to the proxy specified by FirewallServer and FirewallPort, following the authentication method specified by FirewallType.



ProxyAutoDetect

Data Type

bool

Default Value

false

Remarks

This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.

NOTE: When this property is set to True, the proxy used is determined as follows:

To connect to an HTTP proxy, see ProxyServer. For other proxies, such as SOCKS or tunneling, see FirewallType.



ProxyServer

Data Type

string

Default Value

""

Remarks

The hostname or IP address of a proxy to route HTTP traffic through. The driver can use the HTTP, Windows (NTLM), or Kerberos authentication types to authenticate to an HTTP proxy.

If you need to connect through a SOCKS proxy or tunnel the connection, see FirewallType.

By default, the driver uses the system proxy. If you need to use another proxy, set ProxyAutoDetect to false.



ProxyPort

Data Type

int

Default Value

80

Remarks

The port the HTTP proxy is running on that you want to redirect HTTP traffic through. Specify the HTTP proxy in ProxyServer. For other proxy types, see FirewallType.



ProxyAuthScheme

Data Type

string

Default Value

"BASIC"

Remarks

This value specifies the authentication type to use to authenticate to the HTTP proxy specified by ProxyServer and ProxyPort.

Note that the driver will use the system proxy settings by default, without further configuration needed; if you want to connect to another proxy, you will need to set ProxyAutoDetect to false, in addition to ProxyServer and ProxyPort. To authenticate, set ProxyAuthScheme and set ProxyUser and ProxyPassword, if needed.

The authentication type can be one of the following:

If you need to use another authentication type, such as SOCKS 5 authentication, see FirewallType.



ProxyUser

Data Type

string

Default Value

""

Remarks

The ProxyUser and ProxyPassword options are used to connect and authenticate against the HTTP proxy specified in ProxyServer.

You can select one of the available authentication types in ProxyAuthScheme. If you are using HTTP authentication, set this to the user name of a user recognized by the HTTP proxy. If you are using Windows or Kerberos authentication, set this property to a user name in one of the following formats:

user@domain

domain\user



ProxyPassword

Data Type

string

Default Value

""

Remarks

This property is used to authenticate to an HTTP proxy server that supports NTLM (Windows), Kerberos, or HTTP authentication. To specify the HTTP proxy, you can set ProxyServer and ProxyPort. To specify the authentication type, set ProxyAuthScheme.

If you are using HTTP authentication, additionally set ProxyUser and ProxyPassword to HTTP proxy.

If you are using NTLM authentication, set ProxyUser and ProxyPassword to your Windows password. You may also need these to complete Kerberos authentication.

For SOCKS 5 authentication or tunneling, see FirewallType.

By default, the driver uses the system proxy. If you want to connect to another proxy, set ProxyAutoDetect to false.



ProxySSLType

Data Type

string

Default Value

"AUTO"

Remarks

This property determines when to use SSL for the connection to an HTTP proxy specified by ProxyServer. This value can be AUTO, ALWAYS, NEVER, or TUNNEL. The applicable values are the following:

AUTODefault setting. If the URL is an HTTPS URL, the driver will use the TUNNEL option. If the URL is an HTTP URL, the component will use the NEVER option.
ALWAYSThe connection is always SSL enabled.
NEVERThe connection is not SSL enabled.
TUNNELThe connection is through a tunneling proxy. The proxy server opens a connection to the remote host and traffic flows back and forth through the proxy.



ProxyExceptions

Data Type

string

Default Value

""

Remarks

The ProxyServer is used for all addresses, except for addresses defined in this property. Use semicolons to separate entries.

Note that the driver uses the system proxy settings by default, without further configuration needed; if you want to explicitly configure proxy exceptions for this connection, you need to set ProxyAutoDetect = false, and configure ProxyServer and ProxyPort. To authenticate, set ProxyAuthScheme and set ProxyUser and ProxyPassword, if needed.



Logfile

Data Type

string

Default Value

""

Remarks

Once this property is set, the driver will populate the log file as it carries out various tasks, such as when authentication is performed or queries are executed. If the specified file doesn't already exist, it will be created.

Connection strings and version information are also logged, though connection properties containing sensitive information are masked automatically.

If a relative filepath is supplied, the location of the log file will be resolved based on the path found in the Location connection property.

For more control over what is written to the log file, you can adjust the Verbosity property.

Log contents are categorized into several modules. You can show/hide individual modules using the LogModules property.

To edit the maximum size of a single logfile before a new one is created, see MaxLogFileSize.

If you would like to place a cap on the number of logfiles generated, use MaxLogFileCount.

Java Logging

Java logging is also supported. To enable Java logging, set Logfile to:

Logfile=JAVALOG://myloggername

As in the above sample, JAVALOG:// is a required prefix to use Java logging, and you will substitute your own Logger.

The supplied Logger's getLogger method is then called, using the supplied value to create the Logger instance. If a logging instance already exists, it will reference the existing instance.

When Java logging is enabled, the Verbosity will now correspond to specific logging levels.



Verbosity

Data Type

string

Default Value

"1"

Remarks

The verbosity level determines the amount of detail that the driver reports to the Logfile. Verbosity levels from 1 to 5 are supported. These are detailed in the Logging page.



LogModules

Data Type

string

Default Value

""

Remarks

Only the modules specified (separated by ';') will be included in the log file. By default all modules are included.

See the Logging page for an overview.



MaxLogFileSize

Data Type

string

Default Value

"100MB"

Remarks

When the limit is hit, a new log is created in the same folder with the date and time appended to the end. The default limit is 100 MB. Values lower than 100 kB will use 100 kB as the value instead.

Adjust the maximum number of logfiles generated with MaxLogFileCount.



MaxLogFileCount

Data Type

int

Default Value

-1

Remarks

When the limit is hit, a new log is created in the same folder with the date and time appended to the end and the oldest log file will be deleted.

The minimum supported value is 2. A value of 0 or a negative value indicates no limit on the count.

Adjust the maximum size of the logfiles generated with MaxLogFileSize.



Location

Data Type

string

Default Value

"%APPDATA%\\CData\\Shopify Data Provider\\Schema"

Remarks

The path to a directory which contains the schema files for the driver (.rsd files for tables and views, .rsb files for stored procedures). The folder location can be a relative path from the location of the executable. The Location property is only needed if you want to customize definitions (for example, change a column name, ignore a column, and so on) or extend the data model with new tables, views, or stored procedures.

Note: Given that this driver supports multiple schemas, the structure for Shopify custom schema files is as follows:

If left unspecified, the default location is "%APPDATA%\\CData\\Shopify Data Provider\\Schema" with %APPDATA% being set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Mac ~/Library/Application Support
Linux ~/.config



BrowsableSchemas

Data Type

string

Default Value

""

Remarks

Listing the schemas from databases can be expensive. Providing a list of schemas in the connection string improves the performance.



Tables

Data Type

string

Default Value

""

Remarks

Listing the tables from some databases can be expensive. Providing a list of tables in the connection string improves the performance of the driver.

This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.

Specify the tables you want in a comma-separated list. Each table should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.

Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.



Views

Data Type

string

Default Value

""

Remarks

Listing the views from some databases can be expensive. Providing a list of views in the connection string improves the performance of the driver.

This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.

Specify the views you want in a comma-separated list. Each view should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.

Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.



Schema

Data Type

string

Default Value

"REST"

Remarks

Set this property to REST to use the Shopify REST API or GRAPHQL to use the Shopify GraphQL API.



AutoCache

Data Type

bool

Default Value

false

Remarks

When AutoCache = true, the driver automatically maintains a cache of your table's data in the database of your choice. By default, the driver incrementally updates the cache, retrieving only changes since the last SELECT query was run if the length of time since the last run has exceeded the CacheTolerance. After the cache is updated, the query is executed against the cached data.

Setting the Caching Database

When AutoCache = true, the driver caches to a simple, file-based cache. You can configure its location or cache to a different database with the following properties:

See Also



CacheDriver

Data Type

string

Default Value

""

Remarks

You can cache to any database for which you have a JDBC driver, including CData JDBC drivers.

The cache database is determined based on the CacheDriver and CacheConnection properties. The CacheDriver is the name of the JDBC driver class that you want to use to cache data.

Note that you must also add the CacheDriver JAR file to the classpath.

The following examples show how to cache to several major databases. Refer to CacheConnection for more information on the JDBC URL syntax and typical connection properties.

Derby and Java DB

The driver simplifies Derby configuration. Java DB is the Oracle distribution of Derby. The JAR file is shipped in the JDK. You can find the JAR file, derby.jar, in the db subfolder of the JDK installation. In most caching scenarios, you need to specify only the following, after adding derby.jar to the classpath:

jdbc:shopify:CacheLocation='c:/Temp/cachedir';InitiateOAuth=GETANDREFRESH;ShopUrl=https://yourshopname.myshopify.com;
To customize the Derby JDBC URL, use CacheDriver and CacheConnection. For example, to cache to an in-memory database, use a JDBC URL like the following:
jdbc:shopify:CacheDriver=org.apache.derby.jdbc.EmbeddedDriver;CacheConnection='jdbc:derby:memory';InitiateOAuth=GETANDREFRESH;ShopUrl=https://yourshopname.myshopify.com;
SQLite

The following is a JDBC URL for the SQLite JDBC driver:

jdbc:shopify:CacheDriver=org.sqlite.JDBC;CacheConnection='jdbc:sqlite:C:/Temp/sqlite.db';InitiateOAuth=GETANDREFRESH;ShopUrl=https://yourshopname.myshopify.com;
MySQL

The following is a JDBC URL for the included CData JDBC Driver for MySQL:

  jdbc:shopify:Cache Driver=cdata.jdbc.mysql.MySQLDriver;Cache Connection='jdbc:mysql:Server=localhost;Port=3306;Database=cache;User=root;Password=123456';InitiateOAuth=GETANDREFRESH;ShopUrl=https://yourshopname.myshopify.com;

  
SQL Server

The following JDBC URL uses the Microsoft JDBC Driver for SQL Server:

jdbc:shopify:Cache Driver=com.microsoft.sqlserver.jdbc.SQLServerDriver;Cache Connection='jdbc:sqlserver://localhost\sqlexpress:7437;user=sa;password=123456;databaseName=Cache';InitiateOAuth=GETANDREFRESH;ShopUrl=https://yourshopname.myshopify.com;
Oracle

The following is a JDBC URL for the Oracle Thin Client:

jdbc:shopify:Cache Driver=oracle.jdbc.OracleDriver;CacheConnection='jdbc:oracle:thin:scott/tiger@localhost:1521:orcldb';InitiateOAuth=GETANDREFRESH;ShopUrl=https://yourshopname.myshopify.com;
NOTE: If using a version of Oracle older than 9i, the cache driver will instead be oracle.jdbc.driver.OracleDriver .
PostgreSQL

The following JDBC URL uses the official PostgreSQL JDBC driver:

jdbc:shopify:CacheDriver=cdata.jdbc.postgresql.PostgreSQLDriver;CacheConnection='jdbc:postgresql:User=postgres;Password=admin;Database=postgres;Server=localhost;Port=5432;';InitiateOAuth=GETANDREFRESH;ShopUrl=https://yourshopname.myshopify.com;



CacheConnection

Data Type

string

Default Value

""

Remarks

The cache database is determined based on the CacheDriver and CacheConnection properties. Both properties are required to use the cache database. Examples of common cache database settings can be found below. For more information on setting the caching database's driver, refer to CacheDriver.

The connection string specified in the CacheConnection property is passed directly to the underlying CacheDriver. Consult the documentation for the specific JDBC driver for more information on the available properties. Make sure to include the JDBC driver in your application's classpath.

Derby and Java DB

The driver simplifies caching to Derby, only requiring you to set the CacheLocation property to make a basic connection.

Alternatively, you can configure the connection to Derby manually using CacheDriver and CacheConnection. The following is the Derby JDBC URL syntax:

jdbc:derby:[subsubprotocol:][databaseName][;attribute=value[;attribute=value] ... ]
For example, to cache to an in-memory database, use the following:
jdbc:derby:memory

SQLite

To cache to SQLite, you can use the SQLite JDBC driver. The following is the syntax of the JDBC URL:

jdbc:sqlite:dataSource

MySQL

The installation includes the CData JDBC Driver for MySQL. The following is an example JDBC URL:

jdbc:mysql:User=root;Password=root;Server=localhost;Port=3306;Database=cache
The following are typical connection properties:

SQL Server

The JDBC URL for the Microsoft JDBC Driver for SQL Server has the following syntax:

jdbc:sqlserver://[serverName[\instance][:port]][;database=databaseName][;property=value[;property=value] ... ]
For example:
jdbc:sqlserver://localhost\sqlexpress:1433;integratedSecurity=true
The following are typical SQL Server connection properties:
Oracle

The following is the conventional JDBC URL syntax for the Oracle JDBC Thin driver:

jdbc:oracle:thin:[userId/password]@[//]host[[:port][:sid]]
For example:
jdbc:oracle:thin:scott/tiger@myhost:1521:orcl
The following are typical connection properties:
PostgreSQL

The following is the JDBC URL syntax for the official PostgreSQL JDBC driver:

jdbc:postgresql:[//[host[:port]]/]database[[?option=value][[&option=value][&option=value] ... ]]
For example, the following connection string connects to a database on the default host (localhost) and port (5432):
jdbc:postgresql:postgres
The following are typical connection properties:



CacheLocation

Data Type

string

Default Value

"%APPDATA%\\CData\\Shopify Data Provider"

Remarks

The CacheLocation is a simple, file-based cache. The driver uses Java DB, Oracle's distribution of the Derby database. To cache to Java DB, you will need to add the Java DB JAR file to the classpath. The JAR file, derby.jar, is shipped in the JDK and located in the db subfolder of the JDK installation.

If left unspecified, the default location is "%APPDATA%\\CData\\Shopify Data Provider" with %APPDATA% being set to the user's configuration directory:

Platform %APPDATA%
Windows The value of the APPDATA environment variable
Mac ~/Library/Application Support
Linux ~/.config

See Also



CacheTolerance

Data Type

int

Default Value

600

Remarks

The tolerance for stale data in the cache specified in seconds. This only applies when AutoCache is used. The driver checks with the data source for newer records after the tolerance interval has expired. Otherwise, it returns the data directly from the cache.



Offline

Data Type

bool

Default Value

false

Remarks

When Offline = true, all queries execute against the cache as opposed to the live data source. In this mode, certain queries like INSERT, UPDATE, DELETE, and CACHE are not allowed.



CacheMetadata

Data Type

bool

Default Value

false

Remarks

As you execute queries with this property set, table metadata in the Shopify catalog are cached to the file store specified by CacheLocation if set or the user's home directory otherwise. A table's metadata will be retrieved only once, when the table is queried for the first time.

When to Use CacheMetadata

The driver automatically persists metadata in memory for up to two hours when you first discover the metadata for a table or view and therefore, CacheMetadata is generally not required. CacheMetadata becomes useful when metadata operations are expensive such as when you are working with large amounts of metadata or when you have many short-lived connections.

When Not to Use CacheMetadata



BatchSize

Data Type

int

Default Value

0

Remarks

When BatchSize is set to a value greater than 0, the batch operation will split the entire batch into separate batches of size BatchSize. The split batches will then be submitted to the server individually. This is useful when the server has limitations on the size of the request that can be submitted.

Setting BatchSize to 0 will submit the entire batch as specified.



ConnectionLifeTime

Data Type

int

Default Value

0

Remarks

The maximum lifetime of a connection in seconds. Once the time has elapsed, the connection object is disposed. The default is 0 which indicates there is no limit to the connection lifetime.



ConnectOnOpen

Data Type

bool

Default Value

false

Remarks

When set to true, a connection will be made to Shopify when the connection is opened. This property enables the Test Connection feature available in various database tools.

This feature acts as a NOOP command as it is used to verify a connection can be made to Shopify and nothing from this initial connection is maintained.

Setting this property to false may provide performance improvements (depending upon the number of times a connection is opened).



IncludeCustomFields

Data Type

bool

Default Value

false

Remarks

Set whether to include custom fields in the query to the Products table. When off, performance will increase, but you can not get and change Products custom fields.



MaxPointsPerCall

Data Type

string

Default Value

"50"

Remarks

The total cost of your queries cannot exceed 1,000 points at any given time, and that room is created in the app's bucket at a rate of 50 points per second.



MaxRows

Data Type

int

Default Value

-1

Remarks

Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.



Other

Data Type

string

Default Value

""

Remarks

The properties listed below are available for specific use cases. Normal driver use cases and functionality should not require these properties.

Specify multiple properties in a semicolon-separated list.

Caching Configuration

CachePartial=TrueCaches only a subset of columns, which you can specify in your query.
QueryPassthrough=TruePasses the specified query to the cache database instead of using the SQL parser of the driver.

Integration and Formatting

DefaultColumnSizeSets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000.
ConvertDateTimeToGMTDetermines whether to convert date-time values to GMT, instead of the local time of the machine.
RecordToFile=filenameRecords the underlying socket data transfer to the specified file.



PoolIdleTimeout

Data Type

int

Default Value

60

Remarks

The allowed idle time a connection can remain in the pool until the connection is closed. The default is 60 seconds.



PoolMaxSize

Data Type

int

Default Value

100

Remarks

The maximum connections in the pool. The default is 100. To disable this property, set the property value to 0 or less.



PoolMinSize

Data Type

int

Default Value

1

Remarks

The minimum number of connections in the pool. The default is 1.



PoolWaitTime

Data Type

int

Default Value

60

Remarks

The max seconds to wait for a connection to become available. If a new connection request is waiting for an available connection and exceeds this time, an error is thrown. By default, new requests wait forever for an available connection.



PseudoColumns

Data Type

string

Default Value

""

Remarks

This setting is particularly helpful in Entity Framework, which does not allow you to set a value for a pseudo column unless it is a table column. The value of this connection setting is of the format "Table1=Column1, Table1=Column2, Table2=Column3". You can use the "*" character to include all tables and all columns; for example, "*=*".



Readonly

Data Type

bool

Default Value

false

Remarks

If this property is set to true, the driver will allow only SELECT queries. INSERT, UPDATE, DELETE, and stored procedure queries will cause an error to be thrown.



RowScanDepth

Data Type

int

Default Value

50

Remarks

The columns in a table must be determined by scanning table rows. This value determines the maximum number of rows that will be scanned.

Setting a high value may decrease performance. Setting a low value may prevent the data type from being determined properly, especially when there is null data.



RTK

Data Type

string

Default Value

""

Remarks

The RTK property may be used to license a build. See the included licensing file to see how to set this property. The runtime key is only available if you purchased an OEM license.



SupportEnhancedSQL

Data Type

bool

Default Value

true

Remarks

When SupportEnhancedSQL = true, the driver offloads as much of the SELECT statement processing as possible to Shopify and then processes the rest of the query in memory. In this way, the driver can execute unsupported predicates, joins, and aggregation.

When SupportEnhancedSQL = false, the driver limits SQL execution to what is supported by the Shopify API.

Execution of Predicates

The driver determines which of the clauses are supported by the data source and then pushes them to the source to get the smallest superset of rows that would satisfy the query. It then filters the rest of the rows locally. The filter operation is streamed, which enables the driver to filter effectively for even very large datasets.

Execution of Joins

The driver uses various techniques to join in memory. The driver trades off memory utilization against the requirement of reading the same table more than once.

Execution of Aggregates

The driver retrieves all rows necessary to process the aggregation in memory.



Timeout

Data Type

int

Default Value

60

Remarks

If Timeout = 0, operations do not time out. The operations run until they complete successfully or until they encounter an error condition.

If Timeout expires and the operation is not yet complete, the driver throws an exception.



UseConnectionPooling

Data Type

bool

Default Value

false

Remarks

This property enables connection pooling. The default is false. See Connection Pooling for information on using connection pools.





TablesBack To Top

  1. ApplicationCharges
  2. ApplicationCredit
  3. Articles
  4. Assets
  5. Blogs
  6. CollectionListings
  7. Collects
  8. Comments
  9. Countries
  10. CustomCollections
  11. CustomerAddresses
  12. Customers
  13. DiscountCodes
  14. DraftOrders
  15. FulfillmentEvents
  16. Fulfillments
  17. FulfillmentServices
  18. InventoryItems
  19. InventoryLevels
  20. MarketingEvents
  21. Metafields
  22. OrderRisks
  23. Orders
  24. OrderTransactions
  25. Pages
  26. PriceRules
  27. ProductImages
  28. ProductListings
  29. Products
  30. ProductVariants
  31. Provinces
  32. RecurringApplicationCharges
  33. Redirects
  34. Refunds
  35. ScriptTags
  36. SmartCollections
  37. Themes
  38. UsageCharges

ApplicationCharges

Create or view Application Charges for Billing.

Table-Specific Information
Select

The driver processes all filters client-side within the driver. The following queries are the only ones processed server side:

SELECT * FROM ApplicationCharges



SELECT * FROM ApplicationCharges WHERE Id='123'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.
Columns

Name Type ReadOnly Description
Id [KEY] Long False

The Unique Identifier of the Application Charge

Name String False

The Order Number

ApiClientId Long False

The API Client ID

Price Decimal False

The price of the application charge

Status String False

The status of the application charge. Valid Values are: pending, active, declined, expired

ReturnUrl String False

The URL where the merchant is redirected after accepting a charge.

Test String False

Whether the application charge is a test transaction. Valid values:true,null

CreatedAt Datetime False

The date and time (ISO 8601 format) when the application charge was created.

UpdatedAt Datetime False

The date and time (ISO 8601 format) when the application charge was last updated.

ChargeType String False

The type of the application charge

DecoratedReturnUrl String False

The decorated return url



ApplicationCredit

Create or view Application Credit for Billing.

Table-Specific Information
Select

The driver processes all filters client-side within the driver. The following queries are the only ones processed server side:

SELECT * FROM ApplicationCredit



SELECT * FROM ApplicationCredit WHERE Id='123'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.
Columns

Name Type ReadOnly Description
Id [KEY] Long False

The ID of the application credit.

Amount Decimal False

The amount refunded by the application credit.

Description String False

The description of the application credit.

Test String False

Whether the application credit is a test transaction. Valid values: true,null



Articles

Create, read, update or delete articles

Table-Specific Information
Select

The driver processes all filters client-side within the driver. The following queries are the only ones processed server side:

SELECT * FROM Articles



SELECT * FROM Articles WHERE Id='123'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.


Columns

Name Type ReadOnly Description
Id [KEY] Long True

The ID of the article.

BlogId [KEY] Long False

The ID of the blog containing the article.

AdminGraphqlApiId String True

Displays the Admin Graphql API id.

Author String False

The name of the author of the article.

BodyHtml String False

The text of the body of the article, complete with HTML markup.

CreatedAt Datetime True

The date and time (ISO 8601 format) when the article was created.

Handle String False

A human-friendly unique string for the article that's automatically generated from the article's title. The handle is used in the article's URL.

Image.alt String False

Alternative text that describes the image.

Image.createdAt Datetime True

The date and time when image is created.

Image.height Integer False

Height of the image.

Image.src String False

A source URL that specifies the location of the image.

Image.width Integer False

Width of the image.

Image.attachment String False

An image attached to article returned as Base64-encoded binary data.

PublishedAt Datetime False

The date and time (ISO 8601 format) when the article was published.

SummaryHtml String False

A summary of the article, complete with HTML markup.

Tags String False

Tags are additional short descriptors formatted as a string of comma-separated values.

Template_suffix String False

The name of the template an article is using if it's using an alternate template. If an article is using the default article.liquid template, then the value returned is null.

Title String False

The title of the article.

UpdatedAt Datetime True

The date and time (ISO 8601 format) when the article was last updated.

UserId Long True

A unique numeric identifier for the author of the article.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
published_status String

Filter articles by their publish status. Valid values are: published, unpublished and any ; default: any.



Assets

Create, read, update or delete assets

Table-Specific Information
Select

The driver processes all filters client-side within the driver. The following queries are the only ones processed server side:

SELECT * FROM Assets



SELECT * FROM Assets WHERE Key='assets/abc.gif'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

Columns

Name Type ReadOnly Description
Key [KEY] String False

The path to the asset within a theme.

ThemeId Long True

The ID for the theme that an asset belongs to.

Attachment String False

A base64-encoded image.

Checksum String True

The MD5 representation of the content, consisting of a string of 32 hexadecimal digits. May be null if an asset has not been updated recently.

ContentType String True

The MIME representation of the content, consisting of the type and subtype of the asset.

CreatedAt Datetime True

The date and time (ISO 8601 format) when the asset was created.

PublicUrl String True

The public-facing URL of the asset.

Size Integer True

The asset size in bytes.

UpdatedAt Datetime True

The date and time (ISO 8601 format) when an asset was last updated.

Value String False

The text content of the asset, such as the HTML and Liquid markup of a template file.



Blogs

Create, read, update or delete blogs

Table-Specific Information
Select

The driver processes all filters client-side within the driver. The following queries are the only ones processed server side:

SELECT * FROM Blogs



SELECT * FROM Blogs WHERE Id='123'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.


Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the blog.

AdminGraphqlApiId String True

Displays the Admin Graphql API id.

Commentable String False

Indicates whether readers can post comments to the blog and if comments are moderated or not.

The allowed values are no, yes, moderate.

The default value is no.

CreatedAt Datetime True

The date and time when the blog was created.

Feedburner String False

Feedburner is a web feed management provider and can be enabled to provide custom RSS feeds for Shopify bloggers. This property will default to blank or null unless feedburner is enabled through the shop admin.

FeedburnerLocation String False

URL to the feedburner location for blogs that have enabled feedburner through their store admin. This property will default to blank or null unless feedburner is enabled through the shop admin.

Handle String False

A human-friendly unique string for a blog automatically generated from its title.

Metafields String True

Attaches additional metadata to a store's resources.

Tags String False

Tags are additional short descriptors formatted as a string of comma-separated values.

TemplateSuffix String False

States the name of the template a blog is using if it is using an alternate template. If a blog is using the default blog.liquid template, the value returned is null.

Title String False

The title of the blog.

UpdatedAt Datetime True

The date and time when changes were last made to the blog's properties.



CollectionListings

Query and delete information regarding different collects.

Table-Specific Information
Select

The driver processes all filters client-side within the driver. The following queries are the only ones processed server side:

SELECT * FROM CollectionListings



SELECT * FROM CollectionListings WHERE Id='123'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.
Columns

Name Type ReadOnly Description
Id [KEY] Long False

The Id of the collection this listing belongs to.

Title String True

The titke of the collection listing.

BodyHtml String True

The HTML body/description for this listing.

DefaultProductImage String True

The default product image in this listing.

ImageCreatedAt String True

The date and time the image for this listing was created at.

ImageSource String True

The source/link of the image for this listing.

Handle String True

The handle of this listing.

UpdatedAt Datetime True

The date and time when the collection listing was last modified.

PublishedAt Datetime True

The date and time when the collection listing was created.



Collects

Query, insert, or delete information regarding different collects.

Table-Specific Information
Select

The driver processes all filters client-side within the driver. The following queries are the only ones processed server side:

SELECT * FROM Collects



SELECT * FROM Collects WHERE Id='123'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the collect.

CollectionId Long False

The Id of the collection this collection is linked with.

ProductId Long False

The Id of the product this collection is linked with.

Position Int True

The position of this product in a manually sorted custom collection. The first position is 1. This value is applied only when the custom collection is sorted manually.

SortValue String True

This is the same value as position but padded with leading zeroes to make it alphanumeric-sortable.

CreatedAt Datetime True

The date and time when the collect was created.

UpdatedAt Datetime True

The date and time when the collect was last modified.



Comments

Create, read, update and delete the comments.

Table-Specific Information
Select

The driver processes all filters client-side within the driver. The following queries are the only ones processed server side:

SELECT * FROM Comments



SELECT * FROM Comments WHERE Id='123'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.


Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the comment.

BlogId Long False

A unique numeric identifier for the blog containing the article that the comment belongs to.

ArticleId Long False

A unique numeric identifier for the article that the comment belongs to.

Author String False

The name of the author of the comment.

Body String False

The basic Textile markup of a comment.

BodyHtml String False

The text of the comment, complete with HTML markup.

CreatedAt Datetime True

The date and time (ISO 8601 format) when the comment was created.

Email String False

The email address of the author of the comment.

Ip String False

The IP address from which the comment was posted.

PublishedAt String False

The date and time (ISO 8601 format) when the comment was published.

Status String True

The status of the comment.

The allowed values are pending, approved, unapproved, spam, published, removed.

UpdatedAt Datetime True

The date and time (ISO 8601 format) when the comment was last modified.

UserAgent String False

The user agent string provided by the software used to create the comment.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
published_status String

Filter comments by their publish status. Valid values are: published, unpublished and any ; default: any.

status String

Filter comments by their status. Valid values are: published, pending and unapproved



Countries

Create, select, update, and delete information regarding countries.

Table-Specific Information
Select

The driver processes all filters client-side within the driver. The following queries are the only ones processed server side:

SELECT * FROM Countries



SELECT * FROM Countries WHERE Id='123'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.


Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the country.

Name String True

The name of the country.

Code String False

The code of the country.

Tax Decimal False

The amount of tax which should be applied for this country.

Provinces String False

The sub-regions of a country, such as its provinces or states. Each sub-region has the following properties: code: The two letter province or state code, country_id: The ID for the country to which this sub-region belongs, id: The ID for the particular sub-region, name: The name of the sub-region, tax: The tax value in decimal format, tax_name: The name of the tax as it is referred to in the applicable sub-region. For example, in Canada, the sales tax in the province Ontario is referred to as HST, tax_type: The tax type. Valid values: null, normal, or harmonized. If the value is harmonized, then the tax is compounded of the provincial and federal sales taxes, tax_percentage: The tax value in percent format



CustomCollections

Query, insert, update, or delete information regarding different custom collections.

Table-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the Id, ProductId, Title, Handle, PublishedStatus, UpdatedAt, and PublishedAt columns. The supported SQL operators are '=' and 'IN' for Id, '=' for the ProductId, Title, Handle, and PublishedStatus columns, and '>' and '<' for UpdatedAt and PublishedAt. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

For example, the following queries are processed server side.

SELECT * FROM CustomCollections



SELECT * FROM CustomCollections WHERE Id='123'



SELECT * FROM CustomCollections WHERE Id IN ('123','456')



SELECT * FROM CustomCollections WHERE ProductId='123'



SELECT * FROM CustomCollections WHERE Title='Ducks'



SELECT * FROM CustomCollections WHERE Handle='frontpage'



SELECT * FROM CustomCollections WHERE PublishedStatus='published'



SELECT * FROM CustomCollections WHERE UpdatedAt > '2018-05-02'



SELECT * FROM CustomCollections WHERE PublishedAt < '2017-08-15'




Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the custom collection.

Title String False

The title of the custom collection.

BodyHtml String False

The body/description of the custom collection.

Image String False

A JSON aggregate with information regarding the image of custom collection.

Metafields String False

Attaches additional metadata to a shop's resources: key: An identifier for the metafield. (maximum: 30 characters), namespace: A container for a set of metadata. Namespaces help distinguish between metadata created by different apps. (maximum: 20 characters), value: Information to be stored as metadata, value_type: The information type being stored. Valid values: string or integer, description (optional): Additional information about the metafield .

Handle String False

A human-friendly unique string for the custom collection automatically generated from its title.

SortOrder String False

The order in which products in the custom collection appear.

TemplateSuffix String False

The suffix of the liquid template being used.

PublishedScope String False

The sales channels in which the custom collection is visible.

UpdatedAt Datetime True

The date and time when the custom collection was last modified.

PublishedAt Datetime True

The date and time when the custom collection was published to the Online Store channel.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
ProductId String

Show custom collections that include a given product.

PublishedStatus String

Show custom collection with a given published status: published: show only published custom collections, unpublished: show only unpublished custom collections, any: show custom collections of any published status. (default: any).



CustomerAddresses

Create, update, delete, and query customer addresses.

Table-Specific Information
Select

The driver uses the Shopify API to process WHERE clause conditions built with the following column and operator. The driver processes other filters client-side within the driver.

For example, the following queries are processed server side:

SELECT * FROM CustomerAddresses



SELECT * FROM CustomerAddresses WHERE CustomerId='123'



SELECT * FROM CustomerAddresses WHERE CustomerId IN ('123','456')



SELECT * FROM CustomerAddresses WHERE CustomerUpdatedAt = '2018-05-04'



SELECT * FROM CustomerAddresses WHERE FirstName='abc'



SELECT * FROM CustomerAddresses WHERE LastName='xyz'



SELECT * FROM CustomerAddresses WHERE Company='cdata'



SELECT * FROM CustomerAddresses WHERE Address1='Electronic city'



SELECT * FROM CustomerAddresses WHERE City='Bangalore'



SELECT * FROM CustomerAddresses WHERE Country='India'



SELECT * FROM CustomerAddresses WHERE Phone='9769879890'

You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.


Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the address.

CustomerId [KEY] Long False

A unique numeric identifier for the customer.

CustomerUpdatedAt Datetime True

The date and time when the customer information was last updated.

Name String False

The customer's name.

FirstName String False

The customer's first name.

LastName String False

The customer's last name.

Company String False

The customer's company.

Address1 String False

The customer's mailing address.

Address2 String False

An additional field for the customer's mailing address.

City String False

The customer's city.

Province String False

The customer's province or state name.

Country String False

The customer's country.

Zip String False

The customer's zip or postal code.

Phone String False

The customer's phone number for this mailing address.

ProvinceCode String False

The two-letter pcode for the customer's province or state.

CountryCode String False

The two-letter country code corresponding to the customer's country.

CountryName String False

The customer's normalized country name.

Default Boolean True

Indicates whether this address is the default address for the customer.



Customers

Create, update, delete, and query customers.

Table-Specific Information
Select

The driver uses the Shopify API to process WHERE clause conditions built with the following column and operator. The driver processes other filters client-side within the driver.

For example, the following queries are processed server side.
SELECT * FROM Customers



SELECT * FROM Customers WHERE Id = '123'



SELECT * FROM Customers WHERE Id IN ('123', '456')



SELECT * FROM Customers WHERE CreatedAt >= '2017-10-25'



SELECT * FROM Customers WHERE CreatedAt <= '2017-10-25'



SELECT * FROM Customers WHERE UpdatedAt <= '2017-10-25'



SELECT * FROM Customers WHERE UpdatedAt >= '2017-10-25'



SELECT * FROM Customers WHERE FirstName = 'abc'



SELECT * FROM Customers WHERE LastName = 'xyz'



SELECT * FROM Customers WHERE Email = 'abcxyz@gmail.com'



SELECT * FROM Customers WHERE OrdersCount = 5



SELECT * FROM Customers WHERE Phone = '999999999'



SELECT * FROM Customers WHERE VerifiedEmail = true



SELECT * FROM Customers WHERE UpdatedAt = '2017-10-25'

You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.


Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the customer.

LastOrderId Long True

The id of the customer's last order.

LastOrderName String True

The name of the customer's last order.

FirstName String False

The customer's first name.

LastName String False

The customer's last name.

Email String False

The unique email address of the customer.

Phone String False

The unique phone number for this customer.

TaxExempt Boolean False

Indicates whether the customer should be charged taxes when placing orders.

TotalSpent Decimal True

The total amount of money that the customer has spent at the shop.

OrdersCount Integer True

The number of orders associated with this customer.

AcceptsMarketing Boolean True

Indicates whether the customer has consented to be sent marketing material via email.

MultipassIdentifier String True

The customer's identifier used with Multipass login.

Note String False

A note about the customer.

State String True

The state of the customer's account in a shop.

Tags String False

The tags for this customer. Separate with comma for multiple tags.

VerifiedEmail Boolean True

States whether or not the email address has been verified.

CreatedAt Datetime True

The date and time when the customer was created.

UpdatedAt Datetime True

The date and time when the customer information was updated.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
Password String

Password of the customer

PasswordConfirmation String

Password confirmation of the customer.

SendEmailWelcome Boolean

Whether to send a welcome email to the customer or not.

SendEmailInvite Boolean

Whether to send an invite email to the customer or not.



DiscountCodes

Create, select, update, and delete information regarding discount codes.

Table-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the PriceRuleId and Id columns. The supported SQL operator is '='. The driver processes other filters client-side within the driver.

For example, the following queries are processed server side:

SELECT * FROM DiscountCodes



SELECT * FROM DiscountCodes WHERE PriceRuleId='123'



SELECT * FROM DiscountCodes WHERE PriceRuleId='123' AND Id='456'

You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false. The Shopify APIs require that queries filter on PriceRuleId, and search criteria that refer to other columns will cause an error.


Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the discount code.

PriceRuleId [KEY] Long False

The Id for the price rule that this discount code belongs to.

Code String False

The case-insensitive discount code that customers use at checkout.

UsageCount Int True

The number of times that the discount code has been redeemed.

CreatedAt Datetime True

The date and time when the discount code was created.

UpdatedAt Datetime True

The date and time when the discount code was last modified.



DraftOrders

Create, update, delete, and query draft orders.

Table-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the Id, Status, and UpdatedAt columns. The supported SQL operators are "=" and "IN" for Id, "=" for Status, and ">" and "<" for UpdatedAt. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

For example, the following queries are processed server side:


SELECT * FROM DraftOrders



SELECT * FROM DraftOrders WHERE Id='123'



SELECT * FROM DraftOrders WHERE Id IN ('123', '456')



SELECT * FROM DraftOrders WHERE Status='completed'



SELECT * FROM DraftOrders WHERE UpdatedAt > '2018-02-05'




Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the order.

CustomerId Long False

A unique numeric identifier for the customer.

Currency String False

The three letter code (ISO 4217) for the currency used for the payment.

Email String False

The customer's email address.

Name String True

The customer's order name as represented by a number.

TotalPrice Decimal True

The sum of all the prices of all the items in the order, taxes and discounts included.

SubtotalPrice Decimal True

Price of the order before shipping and taxes.

TotalTax Decimal False

The sum of all the taxes applied to the order.

TaxesIncluded Boolean False

States whether or not taxes are included in the order subtotal.

InvoiceSentAt Datetime True

This auto-generated property is the date and time when the invoice was emailed to the customer. Only available for draft orders.

Note String False

The text of an optional note that a shop owner can attach to the order.

Tags String False

Additional short descriptors.

InvoiceUrl String True

The URL for the invoice. Only available for draft orders.

TaxExempt Boolean True

States whether or not taxes are exempt for this order. Only available for draft orders.

Status String True

The status of the order. Valid values: open: all open orders (default), invoice_sent: show only closed orders, completed: Show only cancelled orders.

LineAggregate String False

A JSON aggregate of line items associated with the draft order.

BillingAddressFirstName String False

The first name of the person associated with the payment method.

BillingAddressLastName String False

The last name of the person associated with the payment method.

BillingAddressAddress1 String False

The street address of the billing address.

BillingAddressAddress2 String False

An optional additional field for the street address of the billing address.

BillingAddressPhone String False

The phone number at the billing address.

BillingAddressCity String False

The city of the billing address.

BillingAddressCompany String False

The company of the person associated with the billing address.

BillingAddressZip String False

The zip or postal code of the billing address.

BillingAddressProvince String False

The name of the state or province of the billing address.

BillingAddressCountry String False

The name of the country of the billing address.

BillingAddressLatitude Double False

The latitude of the billing address.

BillingAddressLongitude Double False

The longitude of the billing address.

BillingAddressName String False

The full name of the person associated with the payment method.

BillingAddressCountryCode String False

The two-letter code for the country of the billing address.

BillingAddressProvinceCode String False

The two-letter abbreviation of the state or province of the billing address.

BillingAddressDefault Boolean False

Whether this address is the default one or not.

ShippingAddressFirstName String False

The first name of the person associated with the shipping method.

ShippingAddressLastName String False

The last name of the person associated with the shipping method.

ShippingAddressAddress1 String False

The street address of the shipping address.

ShippingAddressAddress2 String False

An optional additional field for the street address of the shipping address.

ShippingAddressPhone String False

The phone number at the shipping address.

ShippingAddressCity String False

The city of the shipping address.

ShippingAddressCompany String False

The company of the person associated with the shipping address.

ShippingAddressZip String False

The zip or postal code of the shipping address.

ShippingAddressProvince String False

The name of the state or province of the shipping address.

ShippingAddressCountry String False

The name of the country of the shipping address.

ShippingAddressLatitude Double False

The latitude of the shipping address.

ShippingAddressLongitude Double False

The longitude of the shipping address.

ShippingAddressName String False

The full name of the person associated with the shipping method.

ShippingAddressCountryCode String False

The two-letter code for the country of the shipping address.

ShippingAddressProvinceCode String False

The two-letter abbreviation of the state or province of the shipping address.

ShippingAddressDefault Boolean False

Whether this address is the default one or not.

AppliedDiscountTitle String False

The title of the applied discount for this order. Only available for draft orders.

AppliedDiscountDescription String False

The description of the applied discount for order. Only available for draft orders.

AppliedDiscountValue Decimal False

The value of the applied discount for this order. Only available for draft orders.

AppliedDiscountValueType String False

The value type of the applied discount for order. Only available for draft orders.

AppliedDiscountAmount Decimal False

The amount of the applied discount for this order. Only available for draft orders.

CreatedAt Datetime True

The date and time when the order was created.

UpdatedAt Datetime True

The date and time when the order was last modified.

CompletedAt Datetime True

The date and time when the order was completed at.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
UseCustomerDefaultAddress Boolean

Optional boolean that you can send as part of a draft order object to load customer shipping information. Valid values: true or false.



FulfillmentEvents

Create, delete, and query information regarding fulfillment events.

Table-Specific Information
Select

The OrderId and FulfillmentId are required to query this table.

The driver uses the Shopify API to process search criteria that refer to the OrderId, FulfillmentId, and Id columns. The supported SQL operator is '='. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

For example, the following queries are processed server side:


SELECT * FROM FulfillmentEvents WHERE OrderId='123' AND FulfillmentId='456'



SELECT * FROM FulfillmentEvents WHERE OrderId='123' AND FulfillmentId='456' AND Id='789'



Columns

Name Type ReadOnly Description
Id [KEY] Long True

A numeric unique identifier for the fulfillment event.

OrderId [KEY] Long False

The id of the order the fulfillment event belongs to.

FulfillmentId [KEY] Long False

A numeric unique identifier for the fulfillment to which the fulfillment event belongs.

ShopId Long True

A numeric unique identifier for the shop to which the fulfillment event belongs.

Status String False

The status of the fulfillment event. Valid values are: confirmed, in_transit, out_for_delivery, delivered, failure.

EstimatedDeliveryAt Datetime False

The status of the fulfillment event. Valid values are: confirmed, in_transit, out_for_delivery, delivered, failure.

Message String False

An arbitrary message describing the status. Can be provided by a shipping carrier.

City String False

The city in which the fulfillment event occurred.

Province String False

The province in which the fulfillment event occurred.

Zip String False

The zip code in the location in which the fulfillment event occurred.

Country String False

The country in which the fulfillment event occurred.

Address1 String False

The fulfillment event's street address.

Latitude Double False

Geographic coordinate specifying the north/south location of a fulfillment event.

Longitude Double False

Geographic coordinate specifying the east/west location of a fulfillment event.

CreatedAt Datetime True

The date and time when the fulfillment event was created.

UpdatedAt Datetime True

The date and time when the fulfillment event was updated.

HappenedAt Datetime True

The date and time when the fulfillment event occurred.



Fulfillments

Create, update, and query fulfillments.

Table-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the Id, OrderId, CreatedAt, and UpdatedAt columns. The driver processes other filters client-side within the driver.

For example, the following queries are processed server side.

You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false. When SupportEnhancedSQL is false, you must specify at least OrderId. The Shopify API requires that queries contain this filter.

Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the fulfillment.

OrderId [KEY] Long False

A unique numeric identifier for the order.

LocationId [KEY] Long False

A unique numeric identifier for the Location.

NotifyCustomer Boolean False

A flag indicating whether the customer should be notified

Status String True

The status of the fulfillment.

Receipt String True

Provides information about the receipt of this fulfillment.

TrackingCompany String False

The name of the tracking company.

TrackingNumbers String False

A list of comma-separated tracking numbers, provided by the shipping company.

TrackingUrls String True

The sum of all the prices of all the items in the fulfillment.

VariantInventoryManagement String True

States the name of the inventory management service.

CreatedAt Datetime True

The date and time when the fulfillment was created.

UpdatedAt Datetime True

The date and time when the fulfillment was last modified.

LineAggregate String False

A JSON aggregate of line items associated with the fulfillment.

OrderUpdatedAt Datetime True

The date and time when the order was last modified.

OrderCreatedAt Datetime True

The date and time when the order was last created.

Operation String False

An operation to apply to the fulfillment. Complete, Open, or Cancel.

The allowed values are Complete, Open, Cancel.



FulfillmentServices

Query, create, update, and delete information regarding different fulfillment services.

Table-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the Id column. The supported SQL operator is '='. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

For example, the following queries are processed server side:

SELECT * FROM FulfillmentServices



SELECT * FROM FulfillmentServices WHERE Id='123'




Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the fulfillment service.

LocationId Long True

The unique identifier of the location tied to the fulfillment service.

ProviderId String True

A unique identifier for the fulfillment service provider.

Name String False

The name of the fulfillment service as seen by merchants and their customers.

Handle String True

A human-friendly unique string for the fulfillment service generated from its title.

ServiceName String True

The name of the fulfillment service.

Email String False

The email of the fulfillment service.

IncludePendingStock Boolean False

States if the fulfillment service includes a pending stock.

RequiresShippingMethod Boolean False

States if the fulfillment service requires products to be physically shipped. Valid values are 'true' and 'false'.

TrackingSupport Boolean False

States if the fulfillment service provides tracking numbers for packages. Valid values are

InventoryManagement Boolean False

States if the fulfillment service tracks product inventory and provides updates to Shopify. Valid values are

FulfillmentOrdersOptIn Boolean True

States if the fulfillment orders is opt in.

CallbackUrl String False

States the URL endpoint that Shopify needs to retrieve inventory and tracking updates. This field is necessary if either inventory_management or tracking_support is set to

Format String False

Specifies the format of the API output. Valid values are json and xml.



InventoryItems

Query and update information regarding different inventory items.

Table-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the Id column. The supported SQL operators are '=' and 'IN'. The driver processes other filters client-side within the driver.

For example, the following queries are processed server side:

SELECT * FROM InventoryItems



SELECT * FROM InventoryItems WHERE Id='123'



SELECT * FROM InventoryItems WHERE Id IN ('123','456')

You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false; the Shopify APIs require Id in the search criteria, and any other search criteria will cause an error.
Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the fulfillment.

Cost Decimal False

The unit cost of the inventory item.

CountryCodeOfOrigin String False

The two-digit code for the country where the inventory item was made.

CountryHarmonizedSystemCodes String False

An array of country-specific Harmonized System (HS) codes for the item.

HarmonizedSystemCode String False

The general Harmonized System (HS) code for the inventory item. Used if a country-specific HS code is not available.

ProvinceCodeOfOrigin String False

The two-digit code for the province where the inventory item was made. Used only if the shipping provider for the inventory item is Canada Post.

SKU String False

The unique SKU (stock keeping unit) of the inventory item.

Tracked Boolean False

Whether the inventory item is tracked. If true, then inventory quantity changes are tracked by Shopify.

RequiresShipping Boolean True

Whether a customer needs to provide a shipping address when placing an order containing the inventory item.

CreatedAt Datetime True

The date and time when the inventory item was created.

UpdatedAt Datetime True

The date and time when the inventory item was last updated.



InventoryLevels

Query, create, and update information regarding different inventory levels.

Table-Specific Information
Select

To query this table InventoryItemId, LocationId or both should be specified. The supported SQL operators are '=' and 'IN'. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

For example, the following queries are processed server side:


SELECT * FROM InventoryLevels WHERE InventoryItemId='123' 



SELECT * FROM InventoryLevels WHERE InventoryItemId='123' AND LocationId='456'



SELECT * FROM InventoryLevels WHERE InventoryItemId IN ('123','456) AND LocationId IN ('123','456')



Columns

Name Type ReadOnly Description
InventoryItemId [KEY] Long False

The ID of the inventory item that the inventory level belongs to.

LocationId [KEY] Long False

The ID of the location that the inventory level belongs to. To find the ID of the location, use the Locations view.

Available Int False

The quantity of inventory items available for sale. Returns null if the inventory item is not tracked.

UpdatedAt Datetime True

The date and time (ISO 8601 format) when the inventory level was last modified.

Operation String False

An operation to apply to the InventoryLevel. Valid values for order: Adjust, Connect, Set.

The allowed values are Adjust, Connect, Set.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
RelocateIfNecessary Boolean

Whether inventory for any previously connected locations will be relocated. This property is ignored when no fulfillment service location is involved. Used in insertions.

DisconnectIfNecessary Boolean

Whether inventory for any previously connected locations will be set to 0 and the locations disconnected. This property is ignored when no fulfillment service is involved. Used in insertions.



MarketingEvents

Create, update, delete, and query marketing events.

Table-Specific Information
Select

The driver processes all filters client-side within the driver. The following queries are the only ones processed server side:

SELECT * FROM MarketingEvents



SELECT * FROM MarketingEvents WHERE Id='123'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.


Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the marketing event.

RemoteId String False

An optional remote identifier for a marketing event.

BreadcrumbId String True

An optional identifier for the breadcrumb of a marketing event.

UTMCampaign String True

A unique name for the UTM campaign.

UTMSource String True

The source of the UTM campaign.

UTMMedium String True

The medium of the UTM campaign.

UTMContent String True

The content of the UTM campaign.

UTMTerm String True

The term of the UTM campaign.

EventTarget String True

The target of the event.

Description String True

A description for the marketing event.

MarketingChannel String False

A broader marketing event type that is focused only on the channel. Must be one of the allowed values (`search`, `display`, `social`, `email`, `referral`).

EventType String False

The specific type of marketing event. Must be one of the allowed values (`ad`, `post`, `message`, `retargeting`, `transactional`, `affiliate`, `loyalty`, `newsletter`, `abandoned_cart`, `receipt`).

Budget Decimal False

The budget of the ad campaign.

Paid Boolean False

A boolean field to specify whether this event is paid or organic.

BudgetType String False

The type of the budget; must be either `daily` or `lifetime`.

Currency String False

The currency for the budget.

ManageUrl String True

A link to manage the marketing event, generally in the Shopify app's interface.

PreviewUrl String True

A link to view the live version of the post/ad, or to view a rendered preview of the post/ad/email in the Shopify app.

ReferringDomain String False

The destination domain of the marketing event. Required unless MarketingChannel is one of email/referral/display.

MarketedResources String True

A list of the items that were marketed in the marketing event. It's a list of dictionaries with type keys and id keys. Valid values for type are: (`product`, `collection`, `price_rule`, `page`, `article`, `homepage`). All types, other than homepage, also require an id.

StartedAt Datetime False

The timestamp when the marketing action was started, or when the email was sent, or when the Facebook post was made live, etc.

EndedAt Datetime False

For events with a duration, when the event actually ended. This may differ from ScheduledToEndAt, if the ad was stopped early, etc.

ScheduledToEndAt Datetime False

For events with a duration, when the event was supposed to end.



Metafields

Retrieves a list of metafields that belong to a resource.

View-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the Id, OwnerId and OwnerResource columns. The supported SQL operators are '=,IN' for the Id, OwnerResource and OwnerId columns. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

For example, the following queries are processed server side:

SELECT * FROM Metafields



SELECT * FROM Metafields where Id = 721389482



Select * from Metafields where ID IN (Select Id from Customers)



Select * from Metafields where ID IN (19422939054103,19422939185175,19422939250711,19431415152663,19431415185431)



SELECT * FROM Metafields where OwnerId = 64146833431 and OwnerResource = 'product'



SELECT * FROM Metafields where OwnerId = 64146833431 and OwnerResource IN ('product', 'customer')



SELECT * FROM Metafields where OwnerId IN (64146833430, 64146833431) and OwnerResource = 'product'



SELECT * FROM Metafields WHERE OwnerResource = 'customer' and OwnerId in (SELECT Id from Customers);



Columns

Name Type ReadOnly Description
Id [KEY] Long True

The unique ID of the metafield.

Namespace String False

A container for a set of metafields. You need to define a custom namespace for your metafields to distinguish them from the metafields used by other apps.

Key String False

The name of the metafield.

Value String False

The information to be stored as metadata.

Type String False

The metafield's information type.

Description String False

A description of the information that the metafield contains.

OwnerId Long True

The unique ID of the resource that the metafield is attached to.

OwnerResource String True

The type of resource that the metafield is attached to.

CreatedAt Datetime True

The date and time (ISO 8601 format) when the metafield was created.

UpdatedAt Datetime True

The date and time (ISO 8601 format) when the metafield was last updated.

AdminGraphqlApiId String True

The admin graphql api id



OrderRisks

Create, update, delete, and query order risks.

Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the order risk.

CauseCancel Boolean False

Whether this order risk is severe enough to force the cancellation of the order.

CheckoutId Long True

The ID of the checkout that the order risk belongs to.

Display Boolean False

Whether the order risk is displayed on the order details page in the Shopify admin.

Message String False

The message that's displayed to the merchant to indicate the results of the fraud check.

OrderId Long True

The ID of the order that the order risk belongs to.

Recommendation String False

The recommended action given to the merchant.

The allowed values are cancel, investigate, accept.

Score Decimal False

For internal use only. A number between 0 and 1 that's assigned to the order. The closer the score is to 1, the more likely it is that the order is fraudulent.

Source String False

The source of the order risk.



Orders

Create, update, delete, and query orders.

Table-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the Id, CustomerId, FinancialStatus, FulfillmentStatus, CreatedAt, ProcessedAt and UpdatedAt columns. The supported SQL operators are '=' and 'IN' for Id, '=' for CustomerId, FinancialStatus, and FulfillmentStatus, and '>' and '<' for the CreatedAt, ProcessedAt, and UpdatedAt columns. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

For example, the following queries are processed server side:

SELECT * FROM Orders



SELECT * FROM Orders WHERE Id='123'



SELECT * FROM Orders WHERE CustomerId='123'



SELECT * FROM Orders WHERE FinancialStatus = 'pending'



SELECT * FROM Orders WHERE CreatedAt > '2017-10-25'




Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the order.

Number Long True

A unique identifier for the order, used by the shop owner and customer.

CustomerId Long False

A unique numeric identifier for the customer.

CustomerFirstName String False

The first name of the customer.

CustomerLastName String False

The last name of the customer.

Currency String False

The three letter code (ISO 4217) for the currency used for the payment.

Email String False

The customer's email address.

Name String True

The customer's order name as represented by a number.

TotalDiscounts Decimal True

The total amount of the discounts to be applied to the price of the order.

TotalOrderItemsPrice Decimal True

The sum of all the prices of all the items in the order.

TotalPrice Decimal True

The sum of all the prices of all the items in the order, taxes and discounts included.

SubtotalPrice Decimal True

Price of the order before shipping and taxes.

TotalTax Decimal False

The sum of all the taxes applied to the order.

TotalWeight Integer True

The sum of all the weights of the line items in the order, in grams.

BrowserIp String True

The IP address of the browser used by the customer when placing the order.

BuyerAcceptsMarketing Boolean False

Indicates whether or not the person who placed the order would like to receive email updates from the shop.

CancelReason String True

The reason why the order was canceled.

CartToken String True

Unique identifier for a particular cart that is attached to a particular order.

OrderStatusUrl String True

The URL pointing to the order status web page.

Token String True

Unique identifier for a particular order.

TaxesIncluded Boolean False

States whether or not taxes are included in the order subtotal.

SourceName String True

Where the order originated.

ReferringSite String True

The website that the customer clicked on to come to the shop.

ProcessingMethod String True

States the type of payment processing method.

Phone String False

The customer's phone number.

Note String False

The text of an optional note that a shop owner can attach to the order.

LocationId Long True

The unique numeric identifier for the physical location at which the order was processed.

LandingSite String True

The URL for the page where the buyer landed when entering the shop.

Tags String False

Additional short descriptors.

FulfillmentStatus String False

The fulfillment status of the order.

FinancialStatus String False

The financial status of the order.

CustomerLocale String True

The customer locale of the order.

InvoiceSentAt Datetime True

This auto-generated property is the date and time when the invoice was emailed to the customer. Only available for draft orders.

InvoiceUrl String True

The URL for the invoice. Only available for draft orders.

TaxExempt Boolean True

States whether or not taxes are exempt for this order. Only available for draft orders.

DiscountCodes String True

Applicable discount codes that can be applied to the order.

LineAggregate String False

A JSON aggregate of line items associated with the order.

TaxAggregate String False

A JSON aggregate of tax line items associated with the order. Note, these taxes are applied on the order, not on individual items. If you want them to be applied on individual items, use them in LineAggregate. Tax lines must be associated with either order or line item but not both.

ShippingAggregate String False

A JSON aggregate of shipping line items associated with the order.

NoteAttributesAggregate String False

A JSON aggregate of note attributes associated with the order.

DiscountApplicationsAggregate String True

An ordered list of stacked discount applications.

BillingAddressFirstName String False

The first name of the person associated with the payment method.

BillingAddressLastName String False

The last name of the person associated with the payment method.

BillingAddressAddress1 String False

The street address of the billing address.

BillingAddressAddress2 String False

An optional additional field for the street address of the billing address.

BillingAddressPhone String False

The phone number at the billing address.

BillingAddressCity String False

The city of the billing address.

BillingAddressCompany String False

The company of the person associated with the billing address.

BillingAddressZip String False

The zip or postal code of the billing address.

BillingAddressProvince String False

The name of the state or province of the billing address.

BillingAddressCountry String False

The name of the country of the billing address.

BillingAddressLatitude Double False

The latitude of the billing address.

BillingAddressLongitude Double False

The longitude of the billing address.

BillingAddressName String False

The full name of the person associated with the payment method.

BillingAddressCountryCode String False

The two-letter code for the country of the billing address.

BillingAddressProvinceCode String False

The two-letter abbreviation of the state or province of the billing address.

BillingAddressDefault Boolean False

Whether this address is the default one or not.

ShippingAddressFirstName String False

The first name of the person associated with the shipping method.

ShippingAddressLastName String False

The last name of the person associated with the shipping method.

ShippingAddressAddress1 String False

The street address of the shipping address.

ShippingAddressAddress2 String False

An optional additional field for the street address of the shipping address.

ShippingAddressPhone String False

The phone number at the shipping address.

ShippingAddressCity String False

The city of the shipping address.

ShippingAddressCompany String False

The company of the person associated with the shipping address.

ShippingAddressZip String False

The zip or postal code of the shipping address.

ShippingAddressProvince String False

The name of the state or province of the shipping address.

ShippingAddressCountry String False

The name of the country of the shipping address.

ShippingAddressLatitude Double False

The latitude of the shipping address.

ShippingAddressLongitude Double False

The longitude of the shipping address.

ShippingAddressName String False

The full name of the person associated with the shipping method.

ShippingAddressCountryCode String False

The two-letter code for the country of the shipping address.

ShippingAddressProvinceCode String False

The two-letter abbreviation of the state or province of the shipping address.

ShippingAddressDefault Boolean False

Whether this address is the default one or not.

AppliedDiscountTitle String False

The title of the applied discount for this order. Only available for draft orders.

AppliedDiscountDescription String False

The description of the applied discount for order. Only available for draft orders.

AppliedDiscountValue Decimal False

The value of the applied discount for this order. Only available for draft orders.

AppliedDiscountValueType String False

The value type of the applied discount for order. Only available for draft orders.

AppliedDiscountAmount Decimal False

The amount of the applied discount for this order. Only available for draft orders.

PaymentTermsAmount Long True

The amount that is owed according to the payment terms.

PaymentTermsCurrency String True

The presentment currency for the payment.

PaymentTermsPaymentTermsName String True

The name of the selected payment terms template for the order.

PaymentTermsPaymentTermsType String True

The type of selected payment terms template for the order.

PaymentTermsDueInDays Integer True

The number of days between the invoice date and due date that is defined in the selected payment terms template.

PaymentTermsPaymentSchedules String True

An array of schedules associated to the payment terms.

ProcessedAt Datetime True

The date and time when the order was imported, in ISO 8601 format.

CreatedAt Datetime True

The date and time when the order was created.

ClosedAt Datetime True

The date and time when the order was closed.

CancelledAt Datetime True

The date and time when the order was canceled.

UpdatedAt Datetime True

The date and time when the order was last modified.

SendReceipt Boolean False

Determines whether an order confirmation will be sent to the customer.

The default value is false.

SendFulfillmentReceipt Boolean False

Determines whether a fulfillment confirmation will be sent to the customer.

The default value is false.

InventoryBehaviour String False

Determines which inventory updating behavior is used. The following values are available: default, decrement_ignoring_policy, decrementobeying_policy

The allowed values are default, decrement_ignoring_policy, decrementobeying_policy.

The default value is default.

Operation String False

An operation to apply to the Order. Valid values for order: Close, Open, or Cancel.

The allowed values are Close, Open, Cancel.

TotalShippingPriceSetShopMoneyAmount Double True

The amount of the shop money in the total shipping price set.

TotalShippingPriceSetShopMoneyCurrencyCode String True

The currency code of the shop money in the total shipping price set.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
Status String

Filter orders by their status. Valid values are: open: show only open orders, closed: show only closed orders, cancelled: show only canceled orders, any: show orders of any status,default: open.



OrderTransactions

Create and query transactions.

Table-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the OrderId column. The driver processes other filters client-side within the driver.

The Shopify APIs requires the search criteria to contain OrderId. For example, the following query is processed server side.

SELECT * FROM OrderTransactions WHERE OrderId = '123'
When performing a query without a filter or a filter other then the OrderId column, the driver will retrieve the entire list of transactions and perform the filters client-side. The Shopify API requires that an OrderId be specified when retrieving transactions. Therefore to retrieve all the transactions, the driver will first retrieve all the OrderIds from the Orders table (essentially performing the query: SELECT Id FROM Orders). Once the OrderId values have been retrieved, the driver will issue individual requests to the Shopify API to retrieve all the transactions for each OrderId to build the result set.
SELECT * FROM OrderTransactions



SELECT * FROM OrderTransactions WHERE Kind='Capture'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false. Other search criteria will be ignored and an unfiltered response will be returned.
Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the transaction.

OrderId Long False

A unique numeric identifier for the order.

UserId Long True

The unique identifier for the user.

LocationId Long True

The ID of the physical location where the transaction was processed.

Amount Decimal False

The amount of money that the transaction was for.

Authorization String True

The authorization code associated with the transaction.

Currency String True

The three letter code (ISO 4217) for the currency used for the payment.

DeviceId String True

The unique identifier for the device.

Gateway String False

The name of the gateway the transaction was issued through.

SourceName String True

The origin of the transaction.

Kind String False

The kind of transaction. Can be any of the following: Authorization, Capture, Sale, Void, Refund.

The allowed values are Authorization, Capture, Sale, Void, Refund.

Message String True

The message associated with this transaction.

ErrorCode String True

A standardized error code, independent of the payment provider.

Status String False

The status of the transaction.

Test Boolean True

The option to use the transaction for testing purposes.

AVSResultCode String True

The Response code from the address verification system.

CreditCardBin String True

The issuer identification number (IIN).

CVVResultCode String True

The Response code from the credit card company.

CreditCardNumber String True

The customer's credit card number, with most of the leading digits redacted with Xs.

CreditCardCompany String True

The name of the company who issued the customer's credit card.

CreatedAt Datetime True

The date and time when the customer was created.

PaymentsRefundsAttributesStatus String True

The current status of the refund

The allowed values are pending, faliure, success, error.

PaymentsRefundsAttributesAcquirerReferenceNumber String True

A unique number associated with the transaction that can be used to track the refund.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
TransactionItemAmount Decimal

The amount of money that the transaction was for. Use this when inserting transactions into an order or refund.

TransactionItemGateway String

The name of the gateway the transaction was issued through. Use this when inserting transactions into an order or refund.

TransActionItemKind String

The kind of transaction. Can be any of the following: Authorization, Capture, Sale, Void, Refund. Use this when inserting transactions into an order or refund.

The allowed values are Authorization, Capture, Sale, Void, Refund.

TransactionItemStatus String

The status of the transaction. Use this when inserting transactions into an order or refund.

TransactionItemParentId String

The parent id of the transaction. Use this when inserting transactions into a refund.

UpdatedAt Datetime

The last time the order is updated.



Pages

Create, read, update or delete pages

Table-Specific Information
Select

The driver processes all filters client-side within the driver. The following queries are the only ones processed server side:

SELECT * FROM Pages



SELECT * FROM Pages WHERE Id='123'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.


Columns

Name Type ReadOnly Description
Id [KEY] Long True

The unique numeric identifier for the page.

AdminGraphqlApiId String True

Displays the Admin Graphql API id.

Author String False

The name of the person who created the page.

BodyHtml String False

The text content of the page, complete with HTML markup.

CreatedAt Datetime True

The date and time (ISO 8601 format) when the page was created.

Handle String False

A unique, human-friendly string for the page, generated automatically from its title. In online store themes, the Liquid templating language refers to a page by its handle.

Metafields String True

Additional information attached to the Page object.

PublishedAt Datetime False

The date and time (ISO 8601 format) when the page was published. Returns null when the page is hidden.

ShopId Long True

The ID of the shop to which the page belongs.

TemplateSuffix String False

The suffix of the Liquid template being used.

Title String False

The page's title.

UpdatedAt Datetime True

The date and time (ISO 8601 format) when the page was last updated.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
published_status String

Filter comments by their publish status. Valid values are: published, unpublished and any ; default: any.



PriceRules

Create, update, delete, and query price rules.

Table-Specific Information
Select

The driver processes all filters client-side within the driver. The following queries are the only ones processed server side:

SELECT * FROM PriceRules



SELECT * FROM PriceRules WHERE id='123'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.


Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the price rule.

AllocationMethod String False

The allocation method of the price rule. Valid values: each: The discount is applied to each of the entitled items. across: The calculated discount amount will be applied across the entitled items.

The allowed values are each, across.

CustomerSelection String False

The customer selection for the price rule. Valid values: all: The price rule is valid for all customers. prerequisite: The customer must either belong to one of the customer saved searches specified by PrerequisiteSavedSearchIds.

The allowed values are all, prerequisite.

EntitledCollectionIds String False

A list of Ids of collections whose products will be eligible to the discount. It can be used only with TargetType set to line_item and TargetSelection set to entitled. It can't be used in combination with EntitledProductIds or EntitledVariantIds.

EntitledCountryIds String False

A list of Ids of shipping countries that will be entitled to the discount. It can be used only with TargetType set to shipping_line and TargetSelection set to entitled.

EntitledProductIds String False

A list of Ids of products that will be entitled to the discount. It can be used only with TargetType set to line_item and TargetSelection set to entitled.

EntitledVariantIds String False

A list of Ids of product variants that will be entitled to the discount. It can be used only with TargetType set to line_item and TargetSelection set to entitled.

OncePerCustomer Boolean False

Whether the generated discount code will be valid only for a single use per customer. This is tracked using customer Id.

PrerequisiteCustomerIds String False

A list of customer Ids which for the price rule to be applicable, the customer must match one of the specified customers. If PrerequisiteCustomerIds is populated, then PrerequisiteSavedSearchIds must be empty.

PrerequisiteQuantityRange String False

The minimum number of items for the price rule to be applicable. It has the following property: greater_than_or_equal_to: The quantity of an entitled cart item must be greater than or equal to this value.

PrerequisiteSavedSearchIds String False

A list of customer saved search Ids. For the price rule to be applicable, the customer must be in the group of customers matching a customer saved search. If PrerequisiteSavedSearchIds is populated, then PrerequisiteCustomerIds must be empty.

PrerequisiteShippingPriceRange String False

The maximum shipping price for the price rule to be applicable. It has the following property: less_than_or_equal_to: The shipping price must be less than or equal to this value.

PrerequisiteSubtotalRange String False

The minimum subtotal for the price rule to be applicable. It has the following property: greater_than_or_equal_to: The subtotal of the entitled cart items must be greater than or equal to this value for the discount to apply.

TargetSelection String False

The target selection method of the price rule. Valid values: all: The price rule applies the discount to all line items in the checkout, entitled: The price rule applies the discount to selected entitlements only.

TargetType String False

The target type that the price rule applies to. Valid values: line_item: The price rule applies to the cart's line items, shipping_line: The price rule applies to the cart's shipping lines.

UsageLimit Integer False

The maximum number of times the price rule can be used, per discount code.

PrerequisiteProductIds String False

List of product ids that will be a prerequisites for a Buy X Get Y type discount. The PrerequisiteProductIds can be used only with: TargetType set to line_item, TargetSelection set to entitled, AllocationMethod set to each and PrerequisiteToEntitlementQuantityRatio defined. Caution: If a product variant is included in PrerequisiteVariantIds, then PrerequisiteProductIds can't include the ID of the product associated with that variant.

PrerequisiteVariantIds String False

List of variant ids that will be a prerequisites for a Buy X Get Y type discount. The EntitledVariantIds can be used only with: TargetType set to line_item, TargetSelection set to entitled, AllocationMethod set to each and PrerequisiteToEntitlementQuantityRatio defined. Caution: If a product is included in PrerequisiteProductIds, then PrerequisiteVariantIds can't include the ID of any variants associated with that product.

PrerequisiteCollectionIds String False

List of collection ids that will be a prerequisites for a Buy X Get Y discount. The EntitledCollectionIds can be used only with: TargetType set to line_item, TargetSelection set to entitled, AllocationMethod set to each and PrerequisiteToEntitlementQuantityRatio defined. Cannot be used in combination with PrerequisiteProductIds or PrerequisiteVariantIds.

Value Decimal False

The value of the price rule. If if the value of target_type is shipping_line, then only -100 is accepted. The value must be negative.

ValueType String False

The value type of the price rule. Valid values: fixed_amount: Applies a discount of value as a unit of the store's currency. For example, if value is -30 and the store's currency is USD, then $30 USD is deducted when the discount is applied, percentage: Applies a percentage discount of value. For example, if value is -30, then 30% will be deducted when the discount is applied. If TargetType is shipping_line, then only percentage is accepted.

PrerequisiteToEntitlementQuantityRatio String False

Buy/Get ratio for a Buy X Get Y discount. prerequisite_quantity defines the necessary 'buy' quantity and entitled_quantity the offered 'get' quantity. The PrerequisiteToEntitlementQuantityRatio can be used only with: ValueType set to percentage, TargetType set to line_item, TargetSelection set to entitled, AllocationMethod set to each, PrerequisiteProductIds or PrerequisiteVariantIds or PrerequisiteCollectionIds defined and EntitledProductIds or EntitledVariantIds or EntitledCollectionIds defined.

Images String False

A list of image objects.

ProductType String False

A categorization that a product can be tagged with, commonly used for filtering and searching.

Options String True

Custom product property names.

PublishedScope String False

Indicates whether the product is published to the Point of Sale channel.

Tags String False

A categorization that a product can be tagged with. Use commas to separate categories.

TemplateSuffix String True

The suffix of the liquid template being used.

Title String False

The name of the product.

Vendor String False

The name of the vendor of the product.

StartsAt Datetime False

The date and time when the price rule starts.

EndsAt Datetime False

The date and time when the price rule ends. Must be after StartsAt.

PublishedAt Datetime True

The date and time when the product was published to the Online Store channel.

CreatedAt Datetime True

The date and time when the price rule was created.

UpdatedAt Datetime True

The date and time when the price rule was last modified.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
Published Boolean

Set to true to publish the product or to false to not publish it

MetafieldsGlobalTitleTag String

The name of the product, to be used for SEO purposes.

MetafieldsGlobalDescriptionTag String

The description of the product, to be used for SEO purposes.



ProductImages

Query, Update and Delete Product Images

View-Specific Information

The driver uses the Shopify API to process search criteria that refer to the ProductId and ImageId. The supported SQL operators are '=' for ProductId and '=' for ImageId. The driver processes other filters client-side within the driver. For example, the following queries are processed server side.

Select
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.
SELECT * FROM ProductImages WHERE ProductId = '123'



SELECT * FROM ProductImages WHERE ProductId = '123' AND ImageId = '2342'



Columns

Name Type ReadOnly Description
ImageId [KEY] Long True

A unique numeric identifier for the product image.

ProductId Long True

The id of the product associated with the image.

VariantIds String False

The array of variant ids associated with the image.

Position Integer False

The order of the product image in the list.

FilePath String False

Full path to the image. Can be locally or online. Example: http://example.com/rails_logo.gif. Either this or Base64Content are required.

Width Integer True

The width of the image.

Height Integer True

The height of the image.

CreatedAt Datetime True

The datetime when the image was created.

UpdatedAt Datetime True

The datetime when the image was updated.

Alt String False

The Alt content of the image.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
FileName String

The name that the image will be displayed in the application.

Attachment String

Base64 encoded bytes of the image. Either this or FilePath are required.



ProductListings

Query and delete product listings.

Table-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the ProductId, UpdatedAt, and Handle columns. The supported SQL operators are '=' and 'IN' for ProductId, '=' for Handle, and '>' for the UpdatedAt column. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

For example, the following queries are processed server side:

SELECT * FROM ProductListings



SELECT * FROM ProductListings WHERE ProductId='123'



SELECT * FROM ProductListings WHERE ProductId IN ('123','456')



SELECT * FROM ProductListings WHERE UpdatedAt>'2018-02-21'



SELECT * FROM ProductListings WHERE Handle='ipod-nano'


Columns

Name Type ReadOnly Description
ProductId [KEY] Long False

The unique identifer of the product this listing is for. The primary key for this resource.

Title String False

The name of the product.

BodyHtml String False

The description of the product, complete with HTML formatting.

Handle String True

A human-friendly unique string for the Product automatically generated from its title.

Variants String True

A list of variant objects, each one representing a slightly different version of the product.

Images String False

A list of image objects, each one representing an image associated with the product.

ProductType String False

A categorization that a product can be tagged with, commonly used for filtering and searching.

Options String True

Custom product property names like 'Size', 'Color', and 'Material'.

Tags String False

A categorization that a product can be tagged with, commonly used for filtering.

Vendor String False

The name of the vendor of the product.

PublishedAt Datetime True

The date and time when the product was published to the Online Store channel.

CreatedAt Datetime True

The date and time when the product was created.

UpdatedAt Datetime True

The date and time when the product was last modified.



Products

Create, update, delete, and query products.

Table-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the following columns: Id, Title, Vendor, Handle, ProductType, PublishedStatus, CreatedAt, PublishedAt, and UpdatedAt. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

For example, the following queries are processed server side.

SELECT * FROM Products



SELECT * FROM Products WHERE Id = '123'



SELECT * FROM Products WHERE Id IN ('123','456')



SELECT * FROM Products WHERE CreatedAt > '2017-10-25'



SELECT * FROM Products WHERE Title = 'just a title'



SELECT * FROM Products WHERE Vendor = 'just a vendor'



Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the product.

BodyHtml String False

The description of the product, complete with HTML formatting.

Handle String True

A human-friendly unique string for the Product automatically generated from its title.

Images String False

A list of image objects.

ProductType String False

A categorization that a product can be tagged with, commonly used for filtering and searching.

Options String True

Custom product property names.

PublishedScope String False

Indicates whether the product is published to the Point of Sale channel.

Tags String False

A categorization that a product can be tagged with. Use commas to separate categories.

Status String False

The status of the product.

The allowed values are active, archived, draft.

TemplateSuffix String True

The suffix of the liquid template being used.

Title String False

The name of the product.

Vendor String False

The name of the vendor of the product.

PublishedAt Datetime True

The date and time when the product was published to the Online Store channel.

CreatedAt Datetime True

The date and time when the product was created.

UpdatedAt Datetime True

The date and time when the product was last modified.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
PublishedStatus String

Return products by their published status: published: show only published products;unpublished: show only unpublished products; any: show all products.

Published Boolean

Set to true to publish the product or to false to not publish it

MetafieldsGlobalTitleTag String

The name of the product, to be used for SEO purposes.

MetafieldsGlobalDescriptionTag String

The description of the product, to be used for SEO purposes.



ProductVariants

Query and delete product listings.

Table-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the Id and ProductId column. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

For example, the following queries are processed server side.

SELECT * FROM ProductVariants



SELECT * FROM ProductVariants WHERE Id = '123'



SELECT * FROM ProductVariants WHERE Id IN ('123','456)



SELECT * FROM ProductVariants WHERE ProductId = '456'



Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the product variant.

ProductId Long False

A unique numeric identifier for the product this variant belongs to.

InventoryItemId String False

The unique identifier for the inventory item, which is used in the Inventory API to query for inventory information.

ImageId Long False

A unique numeric identifier for the image this variant belongs to.

Price Decimal False

The price of the product variant.

CompareAtPrice String False

The competitors prices for the same item.

Title String False

The name of the product.

Grams Integer False

The weight of the product variant in grams.

Barcode String False

A human-friendly unique string for the Product automatically generated from its title.

Weight Double False

The weight of the product variant in the unit system specified.

WeightUnit String True

The unit of measurement that applies to the product's variant weight.

FulfillmentService String False

Service which is doing the fulfillment.

InventoryManagement String False

Specifies whether or not Shopify tracks the number of items in stock for this product variant.

InventoryPolicy String True

Specifies whether or not customers are allowed to place an order for a product variant when it's out of stock. Valid values are deny or continue.

InventoryQuantity Integer True

The number of items in stock for this product variant. Default value 1.

Option1 String False

Custom properties that a shop owner can use to define product variants.

Option2 String False

Custom properties that a shop owner can use to define product variants.

Option3 String False

Custom properties that a shop owner can use to define product variants.

Position Integer False

The order of the product variant in the list of product variants.

RequiresShipping Boolean False

Specifies whether or not a customer needs to provide a shipping address when placing an order for this product variant.

Sku String False

A unique identifier for the product in the shop.

Taxable Boolean False

Specifies whether or not a tax is charged when the product variant is sold.

CreatedAt Datetime True

The date and time when the product variant was created.

UpdatedAt Datetime True

The date and time when the product was last modified.



Provinces

Query and update information regarding different provinces.

Table-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the ProductId, UpdatedAt, and Handle columns. The supported SQL operators are '=' and 'IN' for ProductId, '=' for Handle, and '>' for the CreatedAt column. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria that refers to other columns will cause an error.

For example, the following queries are processed server side:

SELECT * FROM Provinces



SELECT * FROM Provinces WHERE CountryId='123'


Columns

Name Type ReadOnly Description
Id [KEY] Long True

The ID for the province.

CountryId [KEY] Long True

The ID for the country that the province belongs to.

Name String False

The full name of the province.

Code String False

The standard abbreviation for the province.

Tax Decimal False

The sales tax rate to be applied to orders made by customers from this province..

TaxPercentage Double False

The province's tax in percent format.

TaxName String False

The name of the tax for this province.

TaxType String False

The tax type. Valid values: normal, null, or harmonized. If the value is harmonized, then the tax is compounded of the provincial and federal sales taxes.

ShippingZoneId Long True

The ID for the shipping zone that the province belongs to.



RecurringApplicationCharges

Create, update, delete, and query Recurring Application Charges.

Table-Specific Information
Select

The driver processes all filters client-side within the driver. The following queries are the only ones processed server side:

SELECT * FROM RecurringApplicationCharges



SELECT * FROM RecurringApplicationCharges WHERE Id = '123'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

Columns

Name Type ReadOnly Description
Id [KEY] Long False

The ID of the recurring application charge.

Name String False

The name of the recurring application charge.

ApiClientId String False

The API Client Id

Price Decimal False

The price of the recurring application charge. The maximum price is 10,000.

Status String False

The status of the recurring charge

ReturnUrl String False

The URL where the merchant is redirected after accepting the charge.

BillingOn Date False

The date and time (ISO 8601 format) when the customer was billed.

Test String False

Whether the application charge is a test transaction.

CreatedAt Datetime False

The date and time (ISO 8601 format) when the recurring application charge was created.

UpdatedAt Datetime False

The date and time (ISO 8601 format) when the recurring application charge was last updated.

ActivatedOn Datetime False

The date and time (ISO 8601 format) when the customer activated the recurring application charge.

CancelledOn Datetime False

The date and time (ISO 8601 format) when the merchant canceled their recurring application charge.

TrialDays Integer False

The number of days that the customer is eligible for a free trial.

TrialEndsOn Datetime False

The date and time (ISO 8601 format) when the free trial ends.

DecoratedReturnUrl String False

The decorated return url.

CappedAmount String False

The limit a customer can be charged for usage based billing. If this property is provided, then you must also provide the terms property.

ConfirmationUrl String False

The URL where the merchant accepts or declines the recurring application charge.

Terms String False

The terms and conditions of usage based billing charges. Must be present in order to create usage charges,



Redirects

Create, read, update or delete redirects.

Table-Specific Information
Select

The driver processes all filters client-side within the driver. The following queries are the only ones processed server side:

SELECT * FROM Redirects



SELECT * FROM Redirects WHERE Id='123'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.


Columns

Name Type ReadOnly Description
Id [KEY] Long True

The ID for the redirect.

Path String False

The old path to be redirected.

Target String False

The target location where the user will be redirected.



Refunds

Create and query refunds.

Table-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the OrderId column. The driver processes other filters client-side within the driver.

For example, the following queries are processed server side. If you specify the unique identifier of the Order, then this view will only list refund information concerning that order.

SELECT * FROM Refunds



SELECT * FROM Refunds WHERE OrderId = '179098550295'



SELECT * FROM Refunds WHERE OrderId='179098550295' AND Id='7382073367'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false. When SupportEnhancedSQL is false, you must specify at least OrderId. The Shopify APIs require that queries contain this filter. Search criteria that refers to other columns will cause an error.
Columns

Name Type ReadOnly Description
Id [KEY] Long True

The unique identifier for the refund.

OrderId Long False

The id of the order.

OrderUpdatedAt Datetime True

The date and time when the order was last modified.

Note String False

The optional note attached to a refund.

Restock Boolean True

Whether or not the line items were added back to the store inventory.

UserId Long True

The unique identifier of the user who performed the refund.

CreatedAt Datetime True

The date and time when the refund was created.

ProcessedAt Datetime True

The date and time when the refund was imported.

LineAggregate String False

A JSON aggregate of line items associated with the refund.

OrderTransactionAggregate String False

A JSON aggregate of transactions associated with the refund.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
Notify Boolean

Whether or not to send a refund notification to the customer.

DiscrepancyReason String

An optional comment, used if there is a discrepancy between calculated and actual refund amounts (one of: restock, damage, customer, other)

ShippingAmount Decimal

Set specific amount of shipping to refund. Takes precedence over FullRefund.

ShippingFullRefund Boolean

Whether or not to to refund all remaining shipping.

CalculateRefund Boolean

Set to true to simply calculate the refund but not process it

The default value is false.



ScriptTags

Create, read, update or delete script tags.

Table-Specific Information
Select

The driver processes all filters client-side within the driver. The following queries are the only ones processed server side:

SELECT * FROM ScriptTags



SELECT * FROM ScriptTags WHERE Id='123'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.


Columns

Name Type ReadOnly Description
Id [KEY] Long True

The ID for the script tag.

Cache Boolean False

Whether the Shopify CDN can cache and serve the script tag.

CreatedAt Datetime True

The date and time (ISO 8601) when the script tag was created.

DisplayScope String False

The page or pages on the online store where the script should be included.

The allowed values are online_store, order_status, all.

Event String False

The DOM event that triggers the loading of the script. Valid values: onload.

Src String False

The URL of the remote script.

UpdatedAt Datetime True

The date and time (ISO 8601) when the script tag was last updated.



SmartCollections

Query, insert, update, or delete information regarding different smart collections.

Table-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the Id, ProductId, Title, Handle, PublishedStatus, UpdatedAt, PublishedAt columns. The supported SQL operators are '=' and 'IN' for Id, '=' for the ProductId, Title, Handle, and PublishedStatus columns and '>' and '<' for the UpdatedAt and PublishedAt columns. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

For example, the following queries are processed server side.

SELECT * FROM SmartCollections



SELECT * FROM SmartCollections WHERE Id='123'



SELECT * FROM SmartCollections WHERE Id IN ('123','456')



SELECT * FROM SmartCollections WHERE ProductId='123'



SELECT * FROM SmartCollections WHERE Title='Ducks'



SELECT * FROM SmartCollections WHERE Handle='frontpage'



SELECT * FROM SmartCollections WHERE PublishedStatus='published'



SELECT * FROM SmartCollections WHERE UpdatedAt > '2018-05-02'



SELECT * FROM SmartCollections WHERE PublishedAt < '2017-08-15'




Columns

Name Type ReadOnly Description
Id [KEY] Long True

The ID of the smart collection.

Title String False

The name of the smart collection. Maximum length: 255 characters.

BodyHtml String False

The description of the smart collection. Includes HTML markup. Many shop themes display this on the smart collection page.

Image String False

A JSON aggregate with information regarding the image of smart collection.

Rules String False

A JSON aggregate with the list of rules that define what products go into the smart collection. Valid values for each rule field: column: tag, title, type, vendor, variant_price, variant_compare_at_price, variant_weight, variant_inventory, variant_title; relation: equals, greater_than, less_than, starts_with, ends_with, contains; condition: any string

Handle String False

A human-friendly unique string for the smart collection. Automatically generated from the title. Used in shop themes by the Liquid templating language to refer to the smart collection. (maximum: 255 characters)

Disjunctive Boolean False

Whether the product must match all the rules to be included in the smart collection. Valid values: true: products only need to match one or more of the rules to be included in the smart collection, false: products must match all of the rules to be included in the smart collection.

SortOrder String False

The order in which products in the smart collection appear.

TemplateSuffix String False

The suffix of the Liquid template that the shop uses. By default, the original template is called product.liquid, and additional templates are called product.suffix.liquid.

PublishedScope String False

Whether the smart collection is published to Point of Sale. Valid values: web: The smart collection is published to the shop's online channels and not published to the Point of Sale channel, global: The smart collection is published to both the online channels and the Point of Sale channel.

UpdatedAt Datetime True

The date and time when the smart collection was last modified.

PublishedAt Datetime True

The date and time when the smart collection was published. Returns null when the collection is hidden.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
ProductId String

Show smart collections that include a given product.

PublishedStatus String

Show smart collection with a given published status: published: show only published smart collections, unpublished: show only unpublished smart collections, any: show all smart collections. (default: any).



Themes

Create, read, update or delete themes

Table-Specific Information
Select

The driver processes all filters client-side within the driver. The following queries are the only ones processed server side:

SELECT * FROM Themes



SELECT * FROM Themes WHERE Id='123'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.


Columns

Name Type ReadOnly Description
Id [KEY] Long True

A unique numeric identifier for the theme.

AdminGraphqlApiId String True

Displays the Admin Graphql API id.

CreatedAt Datetime True

The date and time (ISO 8601 format) when the theme was created.

Name String False

The name of the theme.

Previewable Boolean True

Whether the theme can currently be previewed.

Processing Boolean True

Whether files are still being copied into place for this theme.

Role String False

Specifies how the theme is being used within the shop.

The allowed values are main, published, demo.

ThemeStoreId Long True

A unique identifier applied to Shopify-made themes that are installed from the Shopify Theme Store Theme Store.

UpdatedAt Datetime True

The date and time ( ISO 8601 format) when the theme was last updated.



UsageCharges

Create or view Usage Charges for Recurring Application Charges.

Table-Specific Information
Select

The driver processes all filters client-side within the driver. The following queries are the only ones processed server side:

SELECT * FROM UsageCharges



SELECT * FROM UsageCharges WHERE Id = 123



SELECT * FROM UsageCharges WHERE RecurringApplicationId = 5569619



SELECT * FROM UsageCharges WHERE RecurringApplicationId = 5569619 and Id = 123

You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.
Columns

Name Type ReadOnly Description
Id [KEY] Long False

The ID of the usage charge.

Description String False

The name of the usage charge.

Price Decimal False

The price of the usage charge.

CreatedAt Datetime False

The date and time (ISO 8601 format) when the usage charge was created.

BillingOn Date False

The date and time (ISO 8601 format) when the customer is billed.

BalanceUsed Decimal False

The used balance

BalanceRemaining Decimal False

The remaining balance

RiskLevel Integer False

The risk Level

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
RecurringApplicationId Long

The Id of the RecurringApplication Charge





ViewsBack To Top

  1. AbandonedCheckouts
  2. AbandonedCheckoutsItems
  3. AssignedFulfillmentOrders
  4. DiscountApplications
  5. DraftOrderItemProperties
  6. DraftOrderItems
  7. DraftOrderItemTaxLines
  8. Events
  9. FulfillmentOrders
  10. Locations
  11. NoteAttributes
  12. OrderDiscountCodes
  13. OrderItemDiscountAllocations
  14. OrderItemProperties
  15. OrdersItems
  16. Payouts
  17. PayoutTransactions
  18. ProductOptions
  19. RefundAdjustments
  20. RefundsItems
  21. RefundTransactions
  22. Reports
  23. ShippingItemDiscountAllocations
  24. ShippingItems
  25. ShippingZones
  26. Shop
  27. TaxItems

AbandonedCheckouts

Query abandoned checkouts.

View-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the CreatedAt and UpdatedAt columns. The driver processes other filters client-side within the driver. For example, the following queries are processed server side.

SELECT * FROM AbandonedCheckouts



SELECT * FROM AbandonedCheckouts WHERE CreatedAt > '2017-10-25'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.
Columns

Name Type Description
Id Long The unique numeric identifier for the order.
AbandonedCheckoutUrl String The full recovery URL to be sent to a customer to recover their abandoned checkout.
BuyerAcceptsMarketing Boolean Indicates whether or not the person who placed the order would like to receive email updates from the shop.
CancelReason String The reason why the order was cancelled.
CartToken String Unique identifier for a particular cart that is attached to a particular order.
Currency String The three letter code (ISO 4217) for the currency used for the payment.
CustomerId Long A unique numeric identifier for the customer.
DiscountCodes String Applicable discount codes that can be applied to the order.
Email String The customer's email address.
Note String The text of an optional note that a shop owner can attach to the order.
LandingSite String The URL for the page where the buyer landed when entering the shop.
ReferringSite String The website that the customer clicked on to come to the shop.
SourceName String Where the order originated.
SubtotalPrice Decimal Price of the order before shipping and taxes.
TotalDiscounts Decimal The total amount of the discounts to be applied to the price of the order.
TotalLineItemsPrice Decimal The sum of all the prices of all the items in the order.
TotalPrice Decimal The sum of all the prices of all the items in the order, taxes and discounts included.
TotalTax Decimal The sum of all the taxes applied to the order.
TotalWeight Double The sum of all the weights of the line items in the order, in grams.
TaxesIncluded Boolean States whether or not taxes are included in the order subtotal.
Token String Unique identifier for a particular order.
BillingAddressFirstName String The first name of the person associated with the payment method.
BillingAddressLastName String The last name of the person associated with the payment method.
BillingAddressAdress1 String The street address of the billing address.
BillingAddressAdress2 String An optional additional field for the street address of the billing address.
BillingAddressPhone String The phone number at the billing address.
BillingAddressCity String The city of the billing address.
BillingAddressCompany String The company of the person associated with the billing address.
BillingAddressZip String The zip or postal code of the billing address.
BillingAddressProvince String The name of the state or province of the billing address.
BillingAddressCountry String The name of the country of the billing address.
BillingAddressLatitude Double The latitude of the billing address.
BillingAddressLongitude Double The longitude of the billing address.
BillingAddressName String The full name of the person associated with the payment method.
BillingAddressCountryCode String The two-letter code for the country of the billing address.
BillingAddressProvinceCode String The two-letter abbreviation of the state or province of the billing address.
BillingAddressDefault Boolean Whether this address is the default one or not.
ShippingAddressFirstName String The first name of the person associated with the shipping address.
ShippingAddressLastName String The last name of the person associated with the shipping address.
ShippingAddressAdress1 String The street address of the shipping address.
ShippingAddressAdress2 String An optional additional field for the street address of the shipping address.
ShippingAddressPhone String The phone number at the shipping address.
ShippingAddressCity String The city of the shipping address.
ShippingAddressCompany String The company of the person associated with the shipping address.
ShippingAddressZip String The zip or postal code of the shipping address.
ShippingAddressProvince String The name of the state or province of the shipping address.
ShippingAddressCountry String The name of the country of the shipping address.
ShippingAddressLatitude Double The latitude of the shipping address.
ShippingAddressLongitude Double The longitude of the shipping address.
ShippingAddressName String The full name of the person associated with the shipping address.
ShippingAddressCountryCode String The two-letter code for the country of the shipping address.
ShippingAddressProvinceCode String The two-letter abbreviation of the state or province of the shipping address.
ShippingAddressDefault Boolean Whether this address is the default one or not.
ClosedAt Datetime The date and time when the order was closed.
CompletedAt Datetime
CreatedAt Datetime The date and time when the order was created.
UpdatedAt Datetime The date and time when the order was last modified.



AbandonedCheckoutsItems

Query abandoned checkouts items.

View-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the CreatedAt and UpdatedAt columns. The driver processes other filters client-side within the driver. For example, the following queries are processed server side.

SELECT * FROM AbandonedCheckoutsItems



SELECT * FROM AbandonedCheckoutsItems WHERE CreatedAt > '2017-10-25'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.
Columns

Name Type Description
AbandonedCheckoutId Long The unique numeric identifier for the order.
ProductId Long The product ID od the item.
ItemVariantId Long The product variant ID of item.
ItemTitle String The title of the product.
ItemQuantity Integer The number of products that were purchased.
ItemPrice Decimal The price of the item in presentment currency.
ItemGrams Integer The weight of the item in grams.
SKU String A unique identifier for the item in the shop.
VariantTitle String The title of the product variant.
Vendor String The name of the item's supplier.
FulFillmentsService String The fulfillment service provider for the item.
CreatedAt Datetime The date and time when the order was created.
UpdatedAt Datetime The date and time when the order was last modified.



AssignedFulfillmentOrders

The AssignedFulfillmentOrder resource allows you to retrieve all the fulfillment orders that are assigned to an app at the shop level.

View-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the AssignedLocationId and RequestStatus columns. The driver processes other filters client-side within the driver. For example, the following queries are processed server side.

SELECT * FROM AssignedFulfillmentOrders



SELECT * from AssignedFulfillmentOrders where AssignedLocationId IN (1,2)



SELECT * from AssignedFulfillmentOrders where RequestStatus='cancellation_requested'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.
Columns

Name Type Description
Id [KEY] Long The ID of the fulfillment order.
ShopId Long The ID of the shop that's associated with the fulfillment order.
OrderId Long The ID of the order that's associated with the fulfillment order.
AssignedLocationId Long The ID of the location that has been assigned to do the work.
FulfillmentServiceHandle String A unique numeric identifier for the order.
RequestStatus String The status of the fulfillment.
DestinationId String The ID of the fulfillment order destination.
DestinationAddress1 String The first line of the address of the destination.
DestinationAddress2 String The second line of the address of the destination.
DestinationCity String The city of the destination.
DestinationCompany String The company of the destination.
DestinationFirstName String The first name of the customer at the destination.
DestinationLastName String The last name of the customer at the destination.
DestinationPhone String The phone number of the customer at the destination.
LineItems String Represents line items belonging to a fulfillment order.
Status String The status of the fulfillment order.
Operation String An operation to apply to the fulfillment. Complete, Open, or Cancel.

The allowed values are Complete, Open, Cancel.



DiscountApplications

Query note attributes belonging to an order or draft order.

View-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the OrderId and OrderUpdatedAt columns. The driver processes other filters client-side within the driver. For example, the following queries are processed server side.

SELECT * from DiscountApplications



SELECT * from DiscountApplications where OrderId='1'



SELECT * from DiscountApplications where OrderId IN ('1', '2')



SELECT * from DiscountApplications where OrderUpdatedAt <= '2020-07-20 08:28:03.0'



SELECT * from DiscountApplications where OrderUpdatedAt > '2020-07-20 08:28:03.0'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.
Columns

Name Type Description
OrderId Long The id of the order.
OrderUpdatedAt Datetime The date and time when the order was last modified.
Type String The name of the note attribute.
Title String The value of the note attribute.
Description String The value of the note attribute.
Value String The value of the note attribute.
ValueType String The value of the note attribute.
AllocationMethod String The value of the note attribute.
TargetSelection String The value of the note attribute.
TargetType String The value of the note attribute.



DraftOrderItemProperties

Query order item properties.

View-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the DraftOrderId column. The supported SQL operators are '=' for DraftOrderId. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

For example, the following queries are processed server side.

SELECT * FROM DraftOrderItemProperties WHERE DraftOrderId = '123'
Columns

Name Type Description
ItemId Long The id of the order item.
DraftOrderId Long The id of the draft.
Name String The name of the item property.
Value String The value of the item property.



DraftOrderItems

Query draft order items.

View-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the DraftOrderId. The supported SQL operators are '=' for DraftOrderId. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

For example, the following queries are processed server side.

SELECT * FROM DraftOrderItems



SELECT * FROM DraftOrderItems WHERE DraftOrderId = '123'
Columns

Name Type Description
ItemId Long The id of the line item.
DraftOrderId Long The id of the draft.
ProductId Long The ID of the product corresponding to the line item product variant.
Custom Boolean States whether this is a custom line item or a product variant line item
FulfillableQuantity Integer The amount available to fulfill.
FulFillmentsService String Service provider responsible for fulfillment.
ItemGrams Integer The weight of the item in grams.
ItemPrice Decimal The price of the item before discounts have been applied.
ItemQuantity Integer The number of products that were purchased.
RequiresShipping Boolean States whether or not the fulfillment requires shipping.
SKU String A unique identifier of the item in the fulfillment.
ItemTitle String The title of the product or variant.
ItemVariantId Long The id of the product variant.
VariantTitle String The title of the product variant.
Vendor String The name of the supplier of the item.
Name String The name of the product variant.
GiftCard Boolean States whether or not the product is a gift card.
Properties String Shows custom properties for this order item.
Taxable Boolean States whether or not the product was taxable.
TaxLines String Shows tax lines for this order item.
AppliedDiscountTitle String The title of the applied discount for this order. Only available for draft orders.
AppliedDiscountDescription String The description of the applied discount for order. Only available for draft orders.
AppliedDiscountValue Decimal The value of the applied discount for this order. Only available for draft orders.
AppliedDiscountValueType String The value type of the applied discount for order. Only available for draft orders.
AppliedDiscountAmount Decimal The amount of the applied discount for this order. Only available for draft orders.



DraftOrderItemTaxLines

Query draft order items tax lines.

Columns

Name Type Description
ItemId Long The id of the draft line item.
DraftOrderId Long The id of the draft.
TaxTitle String The name of the tax.
TaxRate Decimal The rate of tax to be applied.
TaxPrice Decimal The amount of tax to be charged.



Events

Retrieve events which have happened in your shop.

View-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the Id, ProductId, OrderId, Verb, and CreatedAt columns. The supported SQL operators are '=' for the Id, ProductId, OrderId, and Verb columns and ">" and "<" for CreatedAt. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

For example, the following queries are processed server side:

SELECT * FROM Events



SELECT * FROM Events WHERE Id='123'



SELECT * FROM Events WHERE ProductId='123'



SELECT * FROM Events WHERE OrderId='123'



SELECT * FROM Events WHERE Verb='Confirmed'



SELECT * FROM Events WHERE CreatedAt > '2018-05-02' 
Columns

Name Type Description
Id [KEY] Long The ID of the event.
Description String A human readable description of the event.
Message String A human readable description of the event. Can contain some HTML formatting.
Body String A text field containing information about the event.
Path String A relative URL to the resource the event is for, if applicable.
SubjectId Long The ID of the resource that generated the event.
SubjectType String he type of the resource that generated the event. Valid values: Article, Blog, Collection, Comment, Order, Page, Product, ApiPermission.
Verb String The type of event that occurred. Different resources generate different types of event.
Author String The author of the event.
Arguments String Refers to a certain event and its resources.
CreatedAt Datetime The date and time when the event was created.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
OrderId Long The ID of the Order to retrieve events from.
ProductId Long The ID of the Product to retrieve events from.



FulfillmentOrders

Query fulfillment orders.

View-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the OrderId and Id columns. The driver processes other filters client-side within the driver. For example, the following queries are processed server side.

SELECT * from FulfillmentOrders where OrderId='1'



SELECT * from FulfillmentOrders where Id='1'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.
Columns

Name Type Description
Id [KEY] Long An ID for the fulfillment order.
ShopId Long The ID of the shop that's associated with the fulfillment order.
OrderId [KEY] Long The ID of the order that's associated with the fulfillment order.
AssignedLocationId Long The ID of the location that has been assigned to do the work.
DestinationId String The ID of the fulfillment order destination.
DestinationAddress1 String The first line of the address of the destination.
DestinationAddress2 String The second line of the address of the destination.
DestinationCity String The city of the destination.
DestinationCompany String The company of the destination.
DestinationFirstName String The first name of the customer at the destination.
DestinationLastName String The last name of the customer at the destination.
DestinationPhone String The phone number of the customer at the destination.
FullfillAt Datetime The datetime (in UTC) when the fulfillment order is ready for fulfillment.
LineItems String Represents line items belonging to a fulfillment order.
RequestStatus String The status of the fulfillment.
Status String The status of the fulfillment order.
SupportedActions String The actions that can be performed on this fulfillment order.
MerchantRequests String A list of requests sent by the merchant to the fulfillment service for this fulfillment order..
FulfillmentHolds String Represents the fulfillment holds applied on the fulfillment order.
InternationalDuties String The international duties relevant to the fulfillment order.
AssignedLocationAddress1 String The street address of the assigned location
AssignedLocationAddress2 String An optional additional field for the street address of the assigned location.
AssignedLocationCity String The city of the assigned location.
AssignedLocationCountryCode String The two-letter code for the country of the assigned location
AssignedLocationName String The name of the assigned location.
AssignedLocationPhone String The phone number of the assigned location.



Locations

Retrieve information regarding store locations.

View-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the Id column. The supported SQL operator is '='. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

For example, the following queries are processed server side:

SELECT * FROM Locations



SELECT * FROM Locations WHERE Id='123'

Columns

Name Type Description
Id [KEY] Long The ID for the location.
Name String The name of the location.
Legacy Boolean Whether this is a fulfillment service location. If true, then the location is a fulfillment service location. If false, then the location was created by the merchant and isn't tied to a fulfillment service.
Address1 String The first line of the address.
Address2 String The second line of the address.
City String The city the location is in.
Zip String The zip or postal code.
Province String The province the location is in.
Country String The country the location is in.
Phone String The phone number of the location. This value can contain special characters like - and +.
CountryCode String The two-letter code (ISO 3166-1 alpha-2 format) corresponding to country the location is in.
CountryName String The name of the country the location is in.
CreatedAt Datetime The date and time when the location was created.
UpdatedAt Datetime The date and time when the location was last updated.
DeletedAt Datetime The date and time when the location was deleted.



NoteAttributes

Query note attributes belonging to an order or draft order.

View-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the OrderId and OrderUpdatedAt columns. The supported SQL operators are '=' for OrderId and '>' and '<' for OrderUpdatedAt. The driver processes other filters client-side within the driver. For example, the following queries are processed server side.

SELECT * FROM NoteAttributes WHERE OrderId='123'



SELECT * FROM NoteAttributes WHERE OrderUpdatedAt > '2018-05-05'
Columns

Name Type Description
OrderId Long The id of the order.
OrderUpdatedAt Datetime The date and time when the order was last modified.
Name String The name of the note attribute.
Value String The value of the note attribute.



OrderDiscountCodes

Query note attributes belonging to an order or draft order.

View-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the OrderId and OrderUpdatedAt columns. The driver processes other filters client-side within the driver. For example, the following queries are processed server side.

SELECT * from OrderDiscountCodes



SELECT * from OrderDiscountCodes where OrderId='1'



SELECT * from OrderDiscountCodes where OrderId in ('1', '2')



SELECT * from OrderDiscountCodes where OrderUpdatedAt <= '2019-05-13 09:23:06.0'



SELECT * from OrderDiscountCodes where OrderUpdatedAt >= '2019-05-13 09:23:06.0'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.
Columns

Name Type Description
OrderId Long The id of the order.
OrderUpdatedAt Datetime The date and time when the order was last modified.
Code String The name of the note attribute.
Amount String The value of the note attribute.
Type String The value of the note attribute.



OrderItemDiscountAllocations

Query order item discount allocations.

Columns

Name Type Description
ItemId Long The id of the order item. Only available for orders.
OrderId Long The id of the order.
amount String The Amount of the item discount allocations.
ApplicationIndex Int The ApplicationIndex of the item discount allocations.
ShopMoneyAmount Decimal The ShopMoneyAmount of the item discount allocations.
ShopMoneyCurrencyCode String The ShopMoneyCurrencyCode of the item discount allocations.
PresentmentMoneyAmount Decimal The PresentmentMoneyAmount of the item discount allocations.
PresentmentMoneyCurrencyCode String The PresentmentMoneyCurrencyCode of the item discount allocations.
OrderUpdatedAt Datetime The date and time when the order was last modified.



OrderItemProperties

Query order item properties.

View-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the OrderId column. The supported SQL operators are '=' for OrderId. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

For example, the following queries are processed server side. You can set the Type pseudo column to "DraftOrder" to list order items belonging to draft orders instead of orders, or you can set Type to "AbandonedCheckout" to list order items belonging to abandoned checkouts.

SELECT * FROM OrderItemProperties WHERE OrderId = '123'
Columns

Name Type Description
ItemId Long The id of the order item. Only available for orders.
OrderId Long The id of the order.
Name String The name of the item property.
Value String The value of the item property.



OrdersItems

Query order items.

Columns

Name Type Description
ItemId Long The id of the order item. Only available for orders.
OrderId Long The id of the order.
OrderUpdatedAt Datetime The date and time when the order was last modified.
ProductId Long The id of the of the product beloning to the order item.
ItemVariantId Long The id of the product variant.
ItemTitle String The title of the product.
Name String The name of the product variant.
ItemQuantity Integer The number of products that were purchased.
ItemPrice Decimal The price of the item before discounts have been applied.
ItemGrams Integer The weight of the item in grams.
SKU String A unique identifier of the item in the fulfillment.
VariantTitle String The title of the product variant.
Properties String Shows custom properties for this order item.
Vendor String The name of the supplier of the item.
FulFillmentsService String Service provider who is doing the fulfillment.
RequiresShipping Boolean States whether or not the fulfillment requires shipping.
Taxable Boolean States whether or not the product was taxable.
GiftCard Boolean States whether or not the order item is a gift card.
FulfillableQuantity Integer The amount available to fulfill.
TotalDiscount Decimal The total discount amount applied to this order item.
FulfillmentStatus String How far along an order is in terms order items fulfilled.
AppliedDiscountTitle String The title of the applied discount for this order. Only available for draft orders.
AppliedDiscountDescription String The description of the applied discount for order. Only available for draft orders.
AppliedDiscountValue Decimal The value of the applied discount for this order. Only available for draft orders.
AppliedDiscountValueType String The value type of the applied discount for order. Only available for draft orders.
AppliedDiscountAmount Decimal The amount of the applied discount for this order. Only available for draft orders.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
Type String The type of order item, can be one of the following(Order, DraftOrder, AbandonedCheckout).

The allowed values are Order, DraftOrder, AbandonedCheckout.

The default value is Order.

Status String Filter orders by their status. Valid values are: open: show only open orders, closed: show only closed orders, cancelled: show only canceled orders, any: show orders of any status,default: open.



Payouts

Retrieves a list of all payouts ordered by payout date, with the most recent being first.

Table-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the Id, Status and Date columns. The supported SQL operator is '=' for Id, Status and Date columns. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

For example, the following queries are processed server side:

SELECT * FROM Payouts



SELECT * FROM Payouts WHERE Id='123'



SELECT * FROM Payouts WHERE Status='pending'



SELECT * FROM Payouts WHERE Date = '2018-10-30'

Columns

Name Type Description
Id [KEY] Long The unique identifier of the payout.
Status String The transfer status of the payout.
Currency String The ISO 4217 currency code of the payout.
Amount Decimal The total amount of the payout, in a decimal formatted string.
Date Datetime The date the payout was issued.



PayoutTransactions

Retrieves a list of all balance transactions ordered by processing time, with the most recent being first.

Columns

Name Type Description
Id [KEY] Long The unique identifier of the transaction.
Type String The type of the balance transaction.
Test Boolean If the transaction was created for a test mode Order or payment.
PayoutId Long The id of the payout the transaction was paid out in.
PayoutStatus String The status of the payout the transaction was paid out in, or pending if the transaction has not yet been included in a payout.
Currency String The ISO 4217 currency code of the transaction.
Amount Decimal The gross amount of the transaction, in a decimal formatted string.
Fee Decimal The total amount of fees deducted from the transaction amount.
Net Decimal The net amount of the transaction.
SourceId Long The id of the resource leading to the transaction.
SourceType String The type of the resource leading to the transaction.
SourceOrderTransactionId String The id of the Order Transaction that resulted in this balance transaction.
SourceOrderId String The id of the Order that this transaction ultimately originated from.
ProcessedAt Datetime The time the transaction was processed.



ProductOptions

Query product options.

View-Specific Information

The driver uses the Shopify API to process search criteria that refer to the ProductId and ProductUpdatedAt columns. The supported SQL operators are '=' for ProductId and '>' and '<' for ProductUpdatedAt. The driver processes other filters client-side within the driver. For example, the following queries are processed server side.

Select

SELECT * FROM ProductOptions



SELECT * FROM ProductOptions WHERE ProductId='123'



SELECT * FROM ProductOptions WHERE ProductUpdatedAt > '2018-05-10'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.
Columns

Name Type Description
Id [KEY] Long The id of the product option.
ProductId Long The id of the product.
ProductUpdatedAt Datetime The date and time when the product was last modified.
Name String The name of the product option.
Position Integer The position of the product option.
Values String The values of the product option.



RefundAdjustments

Create and query transactions.

Table-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the OrderId and RefundId column. The driver processes other filters client-side within the driver.

The Shopify APIs requires the search criteria to contain OrderId. For example, the following query is processed server side.

SELECT * FROM RefundAdjustments WHERE OrderId = '123'
When performing a query without a filter or a filter other then the OrderId column, the driver will retrieve the entire list of refunds and perform the filters client-side. The Shopify API requires that an OrderId be specified when retrieving refunds. Therefore to retrieve all the refunds, the driver will first retrieve all the OrderIds from the Orders table (essentially performing the query: SELECT Id FROM Orders). Once the OrderId values have been retrieved, the driver will issue individual requests to the Shopify API to retrieve all the refunds for each OrderId to build the result set.
SELECT * FROM RefundAdjustments



SELECT * FROM RefundAdjustments WHERE OrderId = '123' AND RefundId = '123'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false. Other search criteria will be ignored and an unfiltered response will be returned.
Columns

Name Type Description
Id [KEY] Long A unique numeric identifier for the refund adjustment.
OrderId Long The unique identifier for the order that the order adjustment is associated with.
RefundId Long The unique identifier for the refund that the order adjustment is associated with.
Amount Decimal The value of the discrepancy between the calculated refund and the actual refund.
TaxAmount Decimal The taxes that are added to amount, such as applicable shipping taxes added to a shipping refund.
Kind String The order adjustment type.
Reason String The reason for the order adjustment.
AmountShopMoney Decimal The amount of the order adjustment in shop.
AmountShopCurrency String The currency of the order adjustment in shop.
AmountPresentmentMoney Decimal The amount of the order adjustment in presentment.
AmountPresentmentCurrency String The currency of the order adjustment in presentment.
TaxAmountShopMoney Decimal The tax amount of the order adjustment in shop.
TaxAmountShopCurrency String The tax currency of the order adjustment in shop.
TaxAmountPresentmentMoney Decimal The tax amount of the order adjustment in presentment.
TaxAmountPresentmentCurrency String The tax currency of the order adjustment in presentment.



RefundsItems

Get data on OrdersItems that have been refunded.

Columns

Name Type Description
ItemId [KEY] Long The id of the order item. Only available for orders.
OrderID [KEY] Long The id of the refund this refunded item belongs to.
RefundId [KEY] Long The id of the refund this refunded item belongs to.
LocationId Long The unique identifier of the location tied to the refund item
ProductId Long The id of the of the product beloning to the order item.
ItemVariantId Long The id of the product variant.
ItemTitle String The title of the product.
Name String The name of the product variant.
ItemQuantity Integer The number of products that were purchased.
ItemPrice Decimal The price of the item before discounts have been applied.
ItemGrams Integer The weight of the item in grams.
SKU String A unique identifier of the item in the fulfillment.
VariantTitle String The title of the product variant.
Properties String Shows custom properties for this order item.
Vendor String The name of the supplier of the item.
FulFillmentsService String Service provider who is doing the fulfillment.
RequiresShipping Boolean States whether or not the fulfillment requires shipping.
Taxable Boolean States whether or not the product was taxable.
GiftCard Boolean States whether or not the order item is a gift card.
FulfillableQuantity Integer The amount available to fulfill.
TotalDiscount Decimal The total discount amount applied to this order item.
FulfillmentStatus String How far along an order is in terms order items fulfilled.
RefundSubtotal Decimal The refunded amount for this item. This is calculated by multiplying ItemPrice with RefundQuantity.
RefundQuantity Integer The quantity of the item refunded.
RefundRestockType String The type of the restock action.
RefundSubtotalPresentmentAmount Decimal The total amount of the presentment money.
RefundSubtotalPresentmentCurrencyCode String The currency code of the presentment money.
RefundSubtotalShopAmount Decimal The total amount of the shop money.
RefundSubtotalShopCurrencyCode String The currency code of the shop money.
RefundTotalTax Decimal Total tax for the refunded item.
RefundTotalTaxPresentmentAmount Decimal Total tax amount for the presentment money.
RefundTotalTaxPresentmentCurrencyCode String Currency code for the tax on presentment money.
RefundTotalTaxShopAmount Decimal Total tax amount for the shop money.
RefundTotalTaxShopCurrencyCode String Currency code for the tax on shop money.
AppliedDiscountTitle String The title of the applied discount for this order. Only available for draft orders.
AppliedDiscountDescription String The description of the applied discount for order. Only available for draft orders.
AppliedDiscountValue Decimal The value of the applied discount for this order. Only available for draft orders.
AppliedDiscountValueType String The value type of the applied discount for order. Only available for draft orders.
AppliedDiscountAmount Decimal The amount of the applied discount for this order. Only available for draft orders.

Pseudo-Columns

Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.

Name Type Description
Status String Filter orders by their status. Valid values are: open: show only open orders, closed: show only closed orders, cancelled: show only canceled orders, any: show orders of any status,default: open.



RefundTransactions

Query transactions for Refund Object.

Table-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the OrderId and RefundId column. The driver processes other filters client-side within the driver.

The Shopify APIs requires the search criteria to contain OrderId. For example, the following query is processed server side.

SELECT * FROM RefundTransactions WHERE OrderId = '123'
When performing a query without a filter or a filter other then the OrderId column, the driver will retrieve the entire list of refunds and perform the filters client-side. The Shopify API requires that an OrderId be specified when retrieving refunds. Therefore to retrieve all the refunds, the driver will first retrieve all the OrderIds from the Orders table (essentially performing the query: SELECT Id FROM Orders). Once the OrderId values have been retrieved, the driver will issue individual requests to the Shopify API to retrieve all the refunds for each OrderId to build the result set.
SELECT * FROM RefundTransactions



SELECT * FROM RefundTransactions WHERE OrderId = '123' AND RefundId = '123'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false. Other search criteria will be ignored and an unfiltered response will be returned.
Columns

Name Type Description
TransactionsId [KEY] Long The ID for the refund transaction.
OrderId Long The ID for the order that the transaction is associated with.
RefundId Long The unique identifier for the refund associated with.
Amount Decimal The amount of money included in the transaction.
Authorization String The authorization code associated with the transaction..
CreatedAt Datetime The date and time (ISO 8601 format) when the transaction was created.
Currency String The three-letter code (ISO 4217 format) for the currency used for the payment.
DeviceId String The ID for the device.
ErrorCode String A standardized error code, independent of the payment provider.
GraphqlAPIId String The order adjustment type.
Gateway String The name of the gateway the transaction was issued through.
Kind String The transaction's type.
LocationId String The ID of the physical location where the transaction was processed.
Message String A string generated by the payment provider with additional information about why the transaction succeeded or failed.
ParentId Long The ID of an associated transaction..
ProcessedAt Datetime The date and time (ISO 8601 format) when a transaction was processed.
Status String The status of the transaction.
SourceName String The origin of the transaction.
Test Boolean Whether the transaction is a test transaction.
UserId String The ID for the user who was logged into the Shopify POS device when the order was processed, if applicable.



Reports

To query all the Reports.

View-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the Id and UpdatedAt columns. The driver processes other filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria that refers to other columns will cause an error.

For example, the following queries are processed server side.

SELECT * FROM Reports



SELECT * FROM Reports WHERE Id = '123'



SELECT * FROM Reports WHERE UpdatedAt > '2017-10-25'
Columns

Name Type Description
Id [KEY] Long The unique numeric identifier for the report.
Name String The name of the report.
ShopifyQl String The ShopifyQL query that generates the report.
UpdatedAt Datetime The date and time (ISO 8601) when the report was last modified.
Category String The category for the report. When you create a report, the API will return custom_app_reports.



ShippingItemDiscountAllocations

Query Shipping item discount allocations.

Columns

Name Type Description
ItemId Long The id of the shipping item. Only available for orders.
OrderId Long The id of the order.
Amount String The Amount of the item discount allocations.
ShopMoneyAmount Decimal The ShopMoneyAmount of the item discount allocations.
ShopMoneyCurrencyCode String The ShopMoneyCurrencyCode of the item discount allocations.
PresentmentMoneyAmount Decimal The PresentmentMoneyAmount of the item discount allocations.
PresentmentMoneyCurrencyCode String The PresentmentMoneyCurrencyCode of the item discount allocations.
DiscountApplicationIndex Integer The Discount application index for an order.
OrderUpdatedAt Datetime The date and time when the order was last modified.



ShippingItems

Query order shipping.

View-Specific Information
Select

The driver uses the Shopify API to process search criteria that refer to the OrderId and OrderUpdatedAt columns. The supported SQL operators are '=' for OrderId and '>' and '<' for OrderUpdatedAt. The driver processes other filters client-side within the driver. For example, the following queries are processed server side.

SELECT * FROM ShippingItems



SELECT * FROM ShippingItems WHERE OrderId='123'



SELECT * FROM ShippingItems WHERE OrderUpdatedAt > '2018-05-05'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.
Columns

Name Type Description
Id [KEY] Long The id of the shipping item.
OrderId [KEY] Long The id of the order.
OrderUpdatedAt Datetime The date and time when the order was last modified.
Price Decimal The price of this shipping method.
Code String A reference to the shipping method.
Title String The title of the shipping method.
Source String The source of the shipping method.
CarrierIdentifier String A reference to the carrier service that provided the rate.
RequestedFulfillmentServiceId String A reference to the fulfillment service that is being requested for the shipping method.



ShippingZones

Retrieve information regarding shipping zones.

View-Specific Information
Select

The driver processes all filters client-side within the driver. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.

The following query is the only one processed server side:

SELECT * FROM ShippingZones
Columns

Name Type Description
Id [KEY] Long The unique numeric identifier for the shipping zone.
Name String The name of the shipping zone, specified by the user.
ProfileId String The ID of the shipping zone's delivery profile. Shipping profiles allow merchants to create product-based or location-based shipping rates.
LocationGroupId String The ID of the shipping zone's location group. Location groups allow merchants to create shipping rates that apply only to the specific locations in the group.
Countries String A list of countries that belong to the shipping zone.
CarrierShippingRateProviders String Information about carrier shipping providers and the rates used.
PriceBasedShippingRates String Information about price based shipping rates used.
WeightBasedShippingRates String Information about weight based shipping rates used.



Shop

Contains general settings and information about the shop.

View-Specific Information
Select

The driver processes the WHERE clause client-side within the driver for all queries to this table. You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned. For example, the following query is the only query processed server side:

SELECT * FROM Shop
Columns

Name Type Description
Id Long A unique numeric identifier for the shop.
Name String The name of the shop.
Email String The contact email address for the shop.
Address1 String The shop's street address.
Address2 String The shop's additional street address (apt, suite, etc.).
City String The city in which the shop is located.
Country String The shop's country (by default equal to the two-letter country code).
CountryCode String The two-letter country code corresponding to the shop's country.
CountryName String The shop's normalized country name.
CustomerEmail String The customer's email.
Currency String The three-letter code for the currency that the shop accepts.
Domain String The shop's domain.
GoogleAppsDomain String The URL of the domain if the shop has a google apps domain.
GoogleAppsLoginEnabled String Indicated whether the shop has google apps login enabled.
Latitude Double Geographic coordinate specifying the north/south location of a shop.
Longitude Double Geographic coordinate specifying the east/west location of a shop.
MoneyFormat String A string representing the way currency is formatted when the currency isn't specified.
MoneyWithCurrencyFormat String A string representing the way currency is formatted when the currency is specified.
WeightUnit String A string representing the default unit of weight measurement for the shop.
MyshopifyDomain String The shop's 'myshopify.com' domain.
PlanName String The name of the Shopify plan the shop is on.
HasDiscounts Boolean Indicates if any active discounts exist for the shop.
HasGiftCards Boolean Indicates if any active gift cards exist for the shop.
PlanDisplayName String The display name of the Shopify plan the shop is on.
PasswordEnabled Boolean Indicates whether the Storefront password protection is enabled.
Phone String The contact phone number for the shop.
PrimaryLocale String The shop's primary locale.
Province String The shop's normalized province or state name.
ProvinceCode String The two-letter code for the shop's province or state.
ShopOwner String The username of the shop owner.
Source String
ForceSSL Boolean Indicates whether the shop forces requests made to its resources to be made over SSL.
TaxShipping Boolean Specifies whether or not taxes were charged for shipping.
TaxesIncluding Boolean The setting for whether applicable taxes are included in product prices.
CountryTaxes Boolean The setting for whether the shop is applying taxes on a per-county basis or not (US-only).
Timezone String The name of the timezone the shop is in.
IANATimezone String The named timezone assigned by the IANA.
Zip String The zip or postal code of the shop's address.
HasStorefront Boolean Indicates whether the shop has web-based storefront or not.
CreatedAt Datetime The date and time when the shop was created.
UpdatedAt Datetime The date and time when the shop was last updated.
SetupRequired Boolean Indicates whether the shop has any outstanding setup steps or not.



TaxItems

Query order taxes.

View-Specific Information

The driver uses the Shopify API to process search criteria that refer to the OrderId and OrderUpdatedAt columns. The supported SQL operators are '=' for OrderId and '>' and '<' for OrderUpdatedAt. The driver processes other filters client-side within the driver. For example, the following queries are processed server side.

Select

SELECT * FROM TaxItems



SELECT * FROM TaxItems WHERE OrderId = '123'



SELECT * FROM TaxItems WHERE OrderUpdatedAt > '2018-05-21'
You can turn off the client-side execution of the query by setting SupportEnhancedSQL to false in which case any search criteria will be ignored and an unfiltered response will be returned.
Columns

Name Type Description
OrderId Long The id of the order.
OrderUpdatedAt Datetime The date and time when the order was last modified.
ChannelLiable Boolean Whether the channel that submitted the tax line is liable for remitting.
TaxItemPrice Decimal The amount of tax to be charged.
TaxItemRate Decimal The rate of tax to be applied.
TaxItemTitle String The name of the tax.