Reference
Source code
<?xml version="1.0" encoding="utf-8"?>
<ApiConfig Name="Shopify"
Desc="Read and write Shopify data effortlessly. Integrate, manage, and automate customers, orders, products, and inventory — almost no coding required."
Slug="shopify-connector"
Id="705d3486-142a-4b38-a6ad-9dd886ff2a89"
Logo="data:image/png;base64,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"
Version="3"
EngineVersion="20">
<VersionHistory>
<Change Ver="3" Date="2026-02-02" Type="New">Added OAuth Authorization Code Grant (3-legged) authentication option for apps built in the Shopify Dev Dashboard.</Change>
<Change Ver="3" Date="2026-02-02" Type="Modified">Changed default API version to 2025-01 from 2023-01.</Change>
<Change Ver="2" Date="2025-12-12" Type="Modified">Updated Authentication Guide: Revised instructions to reflect Shopify's latest "Develop Apps" workflow for generating API Keys and Access Tokens.</Change>
<Change Ver="2" Date="2024-12-19" Type="New">Added support for get_products_count and get_orders_count endpoints</Change>
<Change Ver="2" Date="2024-12-19" Type="New">Added support for X-Shopify-Api-Features header</Change>
<Change Date="2024-06-18" Type="Fix">Fixed wrong label of get_inventory_item</Change>
<Change Date="2024-06-18" Type="Fix">Change LineItems to DT_NTEXT rather than DT_WSTR(4000) to avoid truncation errors in some BI/ETL tools like SSIS</Change>
<Change Date="2024-02-08" Type="Fix">Allow InventoryItem / InventoryLevel update for a specific Location (e.g. POS / Physical Store)</Change>
<Change Date="2023-12-08" Type="Fix">Product and ProductVariant table shows wrong datatypes</Change>
<Change Date="2023-12-08" Type="New">Add new tables Locations, InventoryItems, InventoryLevels, Payouts</Change>
<Change Date="2023-12-08" Type="New">New examples on how to call GraphQL API</Change>
<Change Date="2023-12-08" Type="New">Add Insert, Update and Delete operations for Product, ProductVariant</Change>
<Change Date="2023-12-08" Type="New">Add Bulk Lookup for Customers, Orders, Products</Change>
<Change Date="2023-12-08" Type="New">Allow Product Add, Update, Delete</Change>
<Change Date="2023-12-08" Type="Modified">By default include all orders (rather than just Open orders) to show POS orders.</Change>
<Change Date="2022-12-28" Type="New">Initial version</Change>
</VersionHistory>
<ServiceUrls>
<ServiceUrl Name="Shopify API (Ver 2025-01 - New Recommended)" Url="https://[$Subdomain$].myshopify.com/admin/api/2025-01" />
<ServiceUrl Name="Shopify API (Ver 2024-01 - Stable Legacy)" Url="https://[$Subdomain$].myshopify.com/admin/api/2024-01" />
<ServiceUrl Name="Shopify API (Ver 2023-01 **DEPRECATED**)" Url="https://[$Subdomain$].myshopify.com/admin/api/2023-01" />
</ServiceUrls>
<Auths>
<Auth
Name="AccessToken" Label="Admin Access Token (Custom App)" Type="Http" ConnStr="CredentialType=Token;AuthScheme={none};TokenAuthHeader=X-Shopify-Access-Token;" HelpLink="https://zappysys.com/blog/read-write-shopify-data-ssis-rest-api/" TestEndPoint="get_customers" TestParameters="limit=2">
<Notes>
<![CDATA[
<p><strong>Method: Admin API Access Token (Recommended for Single-Store Connections)</strong></p>
<p>This method uses a permanent <strong>Admin API Access Token</strong> generated from a "Custom App" within your Shopify Admin. This is the simplest way to connect if you are only integrating with your own store.</p>
<p><strong>Quick Setup Summary:</strong></p>
<ul>
<li>Log in to your Shopify Admin and click <strong>Settings</strong> (the gear icon in the bottom left).</li>
<li>Select <strong>Apps</strong> from the left-side settings menu.</li>
<li>Click the <strong>Develop apps</strong> button at the top right of the page.</li>
<li>Open your app (or create a new one) and configure the necessary <strong>Admin API access scopes</strong>.</li>
<li>Click <strong>Install app</strong>. Once installed, navigate to the <strong>API credentials</strong> tab.</li>
</ul>
<p><strong>Important:</strong> Your <strong>Admin API access token (shpat_xxx)</strong> is only revealed <strong>once</strong>. Please copy and store it securely immediately after clicking "Reveal token once."</p>
<p><em>Note: If you are using the <strong>Shopify Dev Dashboard</strong> (via a Partner Account), you must use the <strong>OAuth Authorization Code Grant</strong> method, as those apps do not issue permanent 'shpat' tokens.</em></p>
<p><strong>Video Tutorial:</strong> <a href="https://www.youtube.com/watch?v=f_Np46adGkI" target="_blank">How to Get Admin API Access Token in Shopify?</a></p>
<h3>Part 1: Create and Configure the Shopify App</h3>
<ol>
<li>Visit <a href="https://accounts.shopify.com/lookup" target="_blank">https://accounts.shopify.com</a> and log into your Shopify store account.</li>
<li>After logging in, select the store you wish to connect to.</li>
<li>Select <strong>Settings</strong> (gear icon in the lower-left corner) to launch the Settings screen.</li>
<li>On the left menu panel, select <strong>Apps</strong>. (Note: <em>Sales channels</em> are now managed in a separate menu item).</li>
<li>On the <strong>Apps</strong> page, select <strong>Develop apps</strong> (near the top right of the screen).<br>
<em><strong>Note:</strong> If this is your first time accessing this section, you may need to click "Allow custom app development" to proceed.</em></li>
<li>On the <strong>App development</strong> screen, select <strong>Create an app</strong>.</li>
<li>Give the app a name (e.g., "ZappySys Connector"), select the appropriate developer from the drop-down, and select <strong>Create app</strong>.</li>
<li>Click <strong>Configure Admin API scopes</strong>.</li>
<li>In the <strong>Admin API access scopes</strong> screen, select the checkboxes based on which features you plan to use:
<ul>
<li><strong>For Customers:</strong> <code>read_customers</code>, <code>write_customers</code></li>
<li><strong>For Orders:</strong> <code>read_orders</code>, <code>write_orders</code></li>
<li><strong>For Products:</strong> <code>read_products</code>, <code>write_products</code></li>
<li><strong>For Inventory:</strong> <code>read_inventory</code>, <code>write_inventory</code></li>
<li><strong>For Locations:</strong> <code>read_locations</code></li>
<li><strong>For Payouts/Analytics:</strong> <code>read_all_orders</code> or <code>read_analytics</code></li>
</ul>
<p><strong>Important:</strong> If you select fewer scopes than required, some connector features will not work. To ensure full functionality, select both <strong>read</strong> and <strong>write</strong> permissions for the resources you need to access.</p>
</li>
<li>After selecting your scopes, click <strong>Save</strong> at the top or bottom of the page.</li>
<li>Install the app by clicking the <strong>Install app</strong> button (upper-right corner). If prompted, confirm by selecting <strong>Install</strong>.</li>
</ol>
<h3>Part 2: Get Admin API Access Token</h3>
<ol start="12">
<li>Once the app is installed, you will be taken to the <strong>API credentials</strong> tab.</li>
<li>Look for the <strong>Admin API access token</strong> section. Select <strong>Reveal token once</strong> to show the token (it starts with <code>shpat_</code>).</li>
<li><p style="color: #d9534f; font-weight: bold;">IMPORTANT: Copy and save this token immediately in a secure location. You cannot view it again after leaving this page.</p>
<img src="https://zappysys.com/wp-content/uploads/2025/12/shopify-reveal-token.png" alt="Reveal Token Screenshot" />
<p><strong>Note:</strong> You may also see an <strong>API Key</strong> or <strong>Secret Key</strong> in this section; these are not required for this specific authentication method. Use only the <strong>Admin API access token</strong>.</p>
</li>
</ol>
<h3>Part 3: Configure the ZappySys Connector</h3>
<ol start="15">
<li>Open the ZappySys connector configuration screen.</li>
<li><strong>Enter Subdomain:</strong> Enter the unique subdomain of your Shopify store into the <strong>Subdomain</strong> parameter textbox.
<div class="quote-block" style="background: #f9f9f9; border-left: 5px solid #ccc; padding: 10px; margin: 10px 0;">
<h4 style="margin-top: 0;">How to find your Subdomain:</h4>
<p>If you use a custom domain (e.g., <code>www.my-store.com</code>), you must still use your internal Shopify subdomain:</p>
<ul>
<li><strong>Method 1 (Admin URL):</strong> While logged into Shopify, check your browser address bar.
<ul>
<li>If the URL is <code>admin.shopify.com/store/<strong>my-unique-slug</strong></code>, your subdomain is <strong>my-unique-slug</strong>.</li>
<li>If the URL is <code><strong>my-unique-slug</strong>.myshopify.com/admin</code>, your subdomain is <strong>my-unique-slug</strong>.</li>
</ul>
</li>
<li><strong>Method 2 (Domains Setting):</strong> Go to <strong>Settings > Domains</strong>. Look for the "Primary domain for the online store" or the fallback domain ending in <code>.myshopify.com</code>. The part before the dots is your subdomain.</li>
</ul>
</div>
</li>
<li><strong>Enter Access Token:</strong> Paste the <code>shpat_xxx</code> token you saved in Step 14 into the <strong>Admin API Access Token</strong> textbox.<br>
<em><strong>Tip:</strong> Click the ellipses (...) button inside the textbox to open a larger dialog for easier pasting.</em>
</li>
<li>Click <strong>Test Connection</strong> to verify the settings.</li>
<li>If the test is successful, click <strong>OK</strong> to save the configuration.</li>
</ol>]]>
</Notes>
<Params>
<Param Name="Subdomain" Label="Sub-domain" Desc="Your Shopify store sub-domain. Your sub-domain is the portion of the web address just before '.myshopify.com'. For example, the sub-domain for https://acmetoys.myshopify.com would be 'acmetoys'." Required="True" />
<Param Name="Password" Type="Property" Label="Admin API Access Token" Desc="The Admin API Access Token obtained from your Shopify store account at https://accounts.shopify.com." Secret="True" Required="True" />
<Param Name="RetryMode" Hidden="True" Value="RetryWhenStatusCodeMatch" />
<Param Name="RetryStatusCodeList" Hidden="True" Value="429" />
<Param Name="RetryCountMax" Value="5" Hidden="True" />
<Param Name="RetryMultiplyWaitTime" Value="True" Hidden="True" />
</Params>
</Auth>
<Auth Name="OAuthCode" Template="OAuthTemplate" Type="OAuth" Label="OAuth Authorization Code Grant (3-legged) - RECOMMENDED"
Desc="Authenticate using OAuth 2.0 Authorization Code Flow (3-legged). Use this for apps built in the Dev Dashboard (https://dev.shopify.com). This is the primary OAuth flow supported for public apps and apps created in the Dev Dashboard."
ConnStr="Provider=Custom;OAuthVersion=OAuth2;CustomAuthHeader=X-Shopify-Access-Token;CustomTokenPrefix=;GrantType=AuthorizationCode;AuthorizeInFullBrowser=True;AuthUrl=https://[$Subdomain$].myshopify.com/admin/oauth/authorize;TokenUrl=https://[$Subdomain$].myshopify.com/admin/oauth/access_token;ClientId=[$ClientId$];ClientSecret=[$ClientSecret$];ReturnUrl=[$RedirectUri$];AuthorizationUrl=https://[$Subdomain$].myshopify.com/admin/oauth/authorize"
TestEndPoint="get_customers" TestParameters="limit=2">
<Params>
<Param Name="RedirectUri" Label="Redirect URI (***Must match App Settings***)" Required="True" Value="https://zappysys.com/oauth" />
</Params>
</Auth>
</Auths>
<Template>
<Auth Name="OAuthTemplate">
<Params>
<Param Name="Subdomain" Label="Sub-domain" Required="True" Desc="Your Shopify store sub-domain. Your sub-domain is the portion of the web address just before '.myshopify.com'. For example, the sub-domain for https://acmetoys.myshopify.com would be 'acmetoys'." />
<Param Name="ClientId" Label="Client ID (API Key)" Required="True" Desc="OAuth Client ID (API Key) from your Shopify app configuration." />
<Param Name="ClientSecret" Label="Client Secret (API Secret)" Required="True" Secret="True" Desc="OAuth Client Secret (API Secret) from your Shopify app configuration." />
<Param Name="RetryMode" Value="RetryWhenStatusCodeMatch" Options="None;RetryAny;RetryWhenStatusCodeMatch;" Hidden="True" />
<Param Name="RetryStatusCodeList" Value="429" Hidden="True" />
<Param Name="RetryCountMax" Value="5" Hidden="True" />
<Param Name="RetryMultiplyWaitTime" Value="True" Hidden="True" />
</Params>
<Notes>
<![CDATA[
<p><strong>Method: OAuth Authorization Code Grant (3-Legged)</strong></p>
<p>This method is for apps built in the <a href="https://dev.shopify.com/dashboard" target="_blank">Shopify Dev Dashboard</a>. Use this if you are a Partner or developer building a multi-store integration.</p>
<p style="background-color: #fcf8e3; border: 1px solid #faebcc; padding: 10px; color: #8a6d3b;">
<strong>Note:</strong> If you are connecting to your own single store, the <strong>Admin Access Token</strong> method is significantly simpler. Use this OAuth method only if your integration specifically requires a Client ID and Secret.
</p>
<h3>Part 1: Create and Configure App in Dev Dashboard</h3>
<ol>
<li>Log in to the <a href="https://dev.shopify.com/dashboard" target="_blank">Shopify Dev Dashboard</a> using your Partner account.</li>
<li>Click <strong>Apps</strong> in the left menu, then click <strong>Create app</strong>.</li>
<li>Select <strong>Start from Dev Dashboard</strong> (manual setup) and give your app a name.</li>
<li><strong>Step 1: Configure Scopes and URLs via "Versions"</strong>
<ul>
<li>Click the <strong>Versions</strong> tab at the top of the app screen.</li>
<li>Click <strong>Create version</strong> (or edit the Draft).</li>
<li>In the <strong>URLs</strong> section, enter <code>https://zappysys.com/oauth</code> into <strong>Allowed redirection URL(s)</strong>.</li>
<li>Select your <strong>Admin API scopes</strong> based on which features you plan to use:
<ul>
<li><strong>For Customers:</strong> <code>read_customers</code>, <code>write_customers</code></li>
<li><strong>For Orders:</strong> <code>read_orders</code>, <code>write_orders</code></li>
<li><strong>For Products:</strong> <code>read_products</code>, <code>write_products</code></li>
<li><strong>For Inventory:</strong> <code>read_inventory</code>, <code>write_inventory</code></li>
<li><strong>For Locations:</strong> <code>read_locations</code></li>
<li><strong>For Payouts/Analytics:</strong> <code>read_all_orders</code> or <code>read_analytics</code></li>
</ul>
<p><strong>Important:</strong> If you select fewer scopes than required, some connector features will not work. To ensure full functionality, select both <strong>read</strong> and <strong>write</strong> permissions for the resources you need to access.</p>
</li>
<li>Click <strong>Release</strong> (top right). <em>Note: Settings only become active once a version is Released.</em></li>
</ul>
</li>
<li><strong>Step 2: Set Distribution Method</strong>
<ul>
<li>Click <strong>Distribution</strong> in the left-side menu.</li>
<li>Select <strong>Custom Distribution</strong>.</li>
<li>Enter your Shopify store URL (e.g., <code>your-store.myshopify.com</code>) and click <strong>Generate link</strong>.</li>
<li><strong>Action Required:</strong> Copy the generated install link, open it in your browser, and follow the prompts to install/unlock the app for your store. <strong>You must complete this step before testing the connection in ZappySys.</strong></li>
</ul>
</li>
</ol>
<h3>Part 2: Get Client Credentials</h3>
<ol start="6">
<li>Click on <strong>Settings</strong> in the left-side navigation of your app.</li>
<li>In the <strong>Client credentials</strong> section, copy the <strong>Client ID</strong> and <strong>Client Secret</strong> (click the eye icon to reveal).</li>
</ol>
<h3>Part 3: Configure the ZappySys Connector</h3>
<ol start="8">
<li>Open the ZappySys connector and select <strong>OAuth Authorization Code Grant (3-legged)</strong>.</li>
<li><strong>Subdomain:</strong> Enter your store handle (the part before <code>.myshopify.com</code>).</li>
<li><strong>Client ID / Secret:</strong> Paste the credentials from Steps 6 and 7.</li>
<li><strong>Redirect URI:</strong> Enter <code>https://zappysys.com/oauth</code>.</li>
<li>Click <strong>Test Connection</strong>. You will be prompted to authorize the app in your browser.</li>
</ol>
<p><strong>Note on Tokens:</strong> Successful authorization generates an "Offline" Access Token (starting with <code>shpca_</code>). This token does not expire and does not require a refresh token.</p>
<p><strong>Troubleshooting:</strong> If you see "App no longer available," ensure you have completed the <strong>Distribution</strong> step and followed the <strong>Install Link</strong> in Step 5 to unlock the app for your store.</p>
]]>
</Notes>
</Auth>
<!-- GENERAL TEMPLATES -->
<Param Name="IdParam"
IsKey="True"
ReadAs="Id"
Functions="{$rows$}"
DataType="DT_I8"
Desc="Restrict results to records specified by a comma-separated list of IDs. Max IDs per request controlled by BatchSize property (found in PaginationParams)" />
<EndPoint Name="ExtraFeatures">
<Params>
<Param Name="ExtraApiFeatures" Label="Extra Api Features (** SLOW **)" Key="X-Shopify-Api-Features" Options="None=;Output Presentment Prices (All Currencies)=include-presentment-prices" Type="Header" Hidden="True" />
</Params>
</EndPoint>
<EndPoint Name="DateParams" >
<Params>
<Param Name="created_at_max" Label="Created Before" Type="Query"
Desc="Restrict results to records created before a specified date. (format: 2014-04-25T16:15:47). Supported options are the following: now|today|yesterday|weekstart|weekend|monthstart|monthend|yearstart|yearend and supported intervals for add/subtract are ms|s|sec|min|h|hour|y|year|d|day|m|month|y|year. Example monthstart-3d (subtract 3 days from month start)"
Options="today;yesterday;monthstart;monthend;yearstart;yearend;weekstart;weekend;yearstart-1y;yearend-1y;monthstart-1d;monthend+1d;2014-04-25T16:15:47;2014-04-25T16:15:47-04:00"
ValueTemplate="<<{$value$}||yyyy-MM-ddTHH:mm:ss,FUN_TO_DATETIME>>"
/>
<Param Name="created_at_min" Label="Created After" Type="Query"
Desc="Restrict results to records created after a specified date. (format: 2014-04-25T16:15:47). Supported options are the following: now|today|yesterday|weekstart|weekend|monthstart|monthend|yearstart|yearend and supported intervals for add/subtract are ms|s|sec|min|h|hour|y|year|d|day|m|month|y|year. Example monthstart-3d (subtract 3 days from month start)"
Options="today;yesterday;monthstart;monthend;yearstart;yearend;weekstart;weekend;yearstart-1y;yearend-1y;monthstart-1d;monthend+1d;2014-04-25T16:15:47;2014-04-25T16:15:47-04:00"
ValueTemplate="<<{$value$}||yyyy-MM-ddTHH:mm:ss,FUN_TO_DATETIME>>"
/>
<Param Name="updated_at_max" Label="Updated Before" Type="Query"
Desc="Restrict results to records last updated before a specified date. (format: 2014-04-25T16:15:47). Supported options are the following: now|today|yesterday|weekstart|weekend|monthstart|monthend|yearstart|yearend and supported intervals for add/subtract are ms|s|sec|min|h|hour|y|year|d|day|m|month|y|year. Example monthstart-3d (subtract 3 days from month start)"
Options="today;yesterday;monthstart;monthend;yearstart;yearend;weekstart;weekend;yearstart-1y;yearend-1y;monthstart-1d;monthend+1d;2014-04-25T16:15:47;2014-04-25T16:15:47-04:00"
ValueTemplate="<<{$value$}||yyyy-MM-ddTHH:mm:ss,FUN_TO_DATETIME>>"
/>
<Param Name="updated_at_min" Label="Updated After" Type="Query"
Desc="Restrict results to records last updated after a specified date. (format: 2014-04-25T16:15:47). Supported options are the following: now|today|yesterday|weekstart|weekend|monthstart|monthend|yearstart|yearend and supported intervals for add/subtract are ms|s|sec|min|h|hour|y|year|d|day|m|month|y|year. Example monthstart-3d (subtract 3 days from month start)"
Options="today;yesterday;monthstart;monthend;yearstart;yearend;weekstart;weekend;yearstart-1y;yearend-1y;monthstart-1d;monthend+1d;2014-04-25T16:15:47;2014-04-25T16:15:47-04:00"
ValueTemplate="<<{$value$}||yyyy-MM-ddTHH:mm:ss,FUN_TO_DATETIME>>"
/>
</Params>
</EndPoint>
<!-- {$rows$} function rely on Csv format and BatchSize -->
<EndPoint Name="PaginationParams" RequestFormat="Csv" BatchSize="150">
<Params>
<Param Name="limit" Label="Page Size" Type="Query" Value="250" Desc="The maximum number of records to show." Hidden="True" />
<Param Name="PagingMode" Type="Property" Value="ByResponseHeaderRfc5988" />
<Param Name="PagingByUrlAttributeName" Type="Property" Value="Link" />
</Params>
</EndPoint>
<EndPoint Name="PostRecord">
<Body>
<![CDATA[{$rows$}]]>
</Body>
<Params>
<Param Name="DoNotOutputEmptyNestedProperty" Type="Property" Value="True" />
<Param Name="DoNotOutputEmptyArrayProperty" Type="Property" Value="True" />
</Params>
</EndPoint>
<EndPoint Name="PutRecord">
<Body>
<![CDATA[{$rows$}]]>
</Body>
<Params>
<Param Name="ContineOn404Error" Type="Property" Value="True" />
<Param Name="DoNotOutputEmptyNestedProperty" Type="Property" Value="True" />
<Param Name="DoNotOutputEmptyArrayProperty" Type="Property" Value="True" />
</Params>
<InputColumns>
<Column Name="Id" Key="True" DataType="DT_I8" MapToParam="True" Hidden="True" />
</InputColumns>
</EndPoint>
<EndPoint Name="DeleteRecord">
<Params>
<Param Name="ContineOn404Error" Type="Property" Value="True" />
<Param Name="RawOutputDataRowTemplate" Type="Property" Value="{}" ValueTemplate="{Response:'Deleted', Id:[$Id$]}" />
<Param Name="EnableRawOutputModeSingleRow" Type="Property" Value="True" />
</Params>
<InputColumns>
<Column Name="Id" Key="True" DataType="DT_I8" MapToParam="True" Hidden="True" />
</InputColumns>
<OutputColumns>
<Column Name="Id" DataType="DT_WSTR" />
<Column Name="Response" DataType="DT_WSTR" Length="255" />
</OutputColumns>
</EndPoint>
<!-- CUSTOMER-RELATED TEMPLATES -->
<EndPoint Name="GeneralCustomerReadOptions">
<Params>
<Param Name="fields" Label="Only Fields to Show" Type="Query" Desc="Limit data retrieval to only the selected customer-related fields." MultiSelect="True" MultiSelectSeparator=","
Options="id;email;accepts_marketing;created_at;updated_at;first_name;last_name;orders_count;state;total_spent;last_order_id;note;verified_email;multipass_identifier;tax_exempt;tags;last_order_name;currency;phone;accepts_marketing_updated_at;marketing_opt_in_level;sms_marketing_consent;admin_graphql_api_id" />
</Params>
</EndPoint>
<EndPoint Name="SingleCustomerReadParams" Template="GeneralCustomerReadOptions">
<Params>
<Param Name="Id" ReadAs="Id" Label="Customer Id" IsKey="True" Type="Placeholder" Desc="The ID of the customer for which data should be read." Required="True" />
</Params>
</EndPoint>
<EndPoint Name="CustomerPaginationParams" Template="PaginationParams, GeneralCustomerReadOptions, DateParams">
<Params>
<Param Name="since_id" Label="Since Customer Id" Type="Query" Desc="Restrict results to those created after the specified customer ID." />
</Params>
</EndPoint>
<EndPoint Name="CustomerInputColumns">
<InputColumns>
<Column Name="FirstName" DataType="DT_WSTR" Length="255" />
<Column Name="LastName" DataType="DT_WSTR" Length="255" />
<Column Name="Email" DataType="DT_WSTR" Length="255" />
<Column Name="Phone" DataType="DT_WSTR" Length="30" />
<Column Name="Password" DataType="DT_WSTR" Length="255" />
<Column Name="PasswordConfirmation" DataType="DT_WSTR" Length="255" />
<Column Name="SendWelcomeEmail" DataType="DT_BOOL" />
<Column Name="MultipassIdentifier" DataType="DT_WSTR" Length="255" />
<Column Name="Note" DataType="DT_NTEXT" />
<Column Name="Tags" DataType="DT_NTEXT" Example=""tag1", "tag2"" />
<Column Name="TaxExempt" DataType="DT_BOOL" />
<Column Name="TaxExemptions" DataType="DT_WSTR" Length="4000" Raw="True" Example="["CA_STATUS_CARD_EXEMPTION", "CA_BC_RESELLER_EXEMPTION"]" />
<Column Name="DefaultAddressFirstName" DataType="DT_WSTR" Length="255" />
<Column Name="DefaultAddressLastName" DataType="DT_WSTR" Length="255" />
<Column Name="DefaultAddressCompany" DataType="DT_WSTR" Length="255" />
<Column Name="DefaultAddressLine1" DataType="DT_WSTR" Length="255" />
<Column Name="DefaultAddressLine2" DataType="DT_WSTR" Length="255" />
<Column Name="DefaultAddressCity" DataType="DT_WSTR" Length="255" />
<Column Name="DefaultAddressProvince" DataType="DT_WSTR" Length="255" />
<Column Name="DefaultAddressCountry" DataType="DT_WSTR" Length="255" />
<Column Name="DefaultAddressZip" DataType="DT_WSTR" Length="255" />
<Column Name="DefaultAddressPhone" DataType="DT_WSTR" Length="255" />
<Column Name="DefaultAddressName" DataType="DT_WSTR" Length="255" />
<Column Name="DefaultAddressProvinceCode" DataType="DT_WSTR" Length="255" />
<Column Name="DefaultAddressCountryCode" DataType="DT_WSTR" Length="255" />
<Column Name="DefaultAddressCountryName" DataType="DT_WSTR" Length="255" />
</InputColumns>
</EndPoint>
<EndPoint Name="CustomerOutputColumns">
<OutputColumns>
<Column Name="id" Label="Id" DataType="DT_I8" />
<Column Name="email" Label="Email" DataType="DT_WSTR" Length="255" />
<Column Name="accepts_marketing" Label="AcceptsMarketing" DataType="DT_BOOL" />
<Column Name="created_at" Label="CreatedAt" DataType="DT_DBTIMESTAMP" />
<Column Name="updated_at" Label="UpdatedAt" DataType="DT_DBTIMESTAMP" />
<Column Name="first_name" Label="FirstName" DataType="DT_WSTR" Length="255" />
<Column Name="last_name" Label="LastName" DataType="DT_WSTR" Length="255" />
<Column Name="orders_count" Label="OrdersCount" DataType="DT_I4" />
<Column Name="state" Label="State" DataType="DT_WSTR" Length="255" />
<Column Name="total_spent" Label="TotalSpent" DataType="DT_WSTR" Length="50" />
<Column Name="last_order_id" Label="LastOrderId" DataType="DT_I8" />
<Column Name="note" Label="Note" DataType="DT_WSTR" Length="4000" />
<Column Name="verified_email" Label="VerifiedEmail" DataType="DT_BOOL" />
<Column Name="multipass_identifier" Label="MultipassIdentifier" DataType="DT_WSTR" Length="255" />
<Column Name="tax_exempt" Label="TaxExempt" DataType="DT_BOOL" />
<Column Name="tax_exemptions" Label="TaxExemptions" DataType="DT_WSTR" Length="4000" Raw="True" />
<Column Name="tags" Label="Tags" DataType="DT_WSTR" Length="4000" />
<Column Name="last_order_name" Label="LastOrderName" DataType="DT_WSTR" Length="255" />
<Column Name="currency" Label="Currency" DataType="DT_WSTR" Length="20" />
<Column Name="phone" Label="Phone" DataType="DT_WSTR" Length="30" />
<Column Name="accepts_marketing_updated_at" Label="AcceptsMarketingUpdatedAt" DataType="DT_DBTIMESTAMP" />
<Column Name="marketing_opt_in_level" Label="MarketingOptInLevel" DataType="DT_WSTR" Length="255" />
<Column Name="sms_marketing_consent" Label="SMSMarketingConsent" DataType="DT_WSTR" Length="255" />
<Column Name="admin_graphql_api_id" Label="AdminGraphQLApiId" DataType="DT_WSTR" Length="255" />
<Column Name="default_address.id" Label="DefaultAddressId" DataType="DT_WSTR" Length="255" />
<Column Name="default_address.customer_id" Label="DefaultAddressCustomerId" DataType="DT_WSTR" Length="255" />
<Column Name="default_address.first_name" Label="DefaultAddressFirstName" DataType="DT_WSTR" Length="255" />
<Column Name="default_address.last_name" Label="DefaultAddressLastName" DataType="DT_WSTR" Length="255" />
<Column Name="default_address.company" Label="DefaultAddressCompany" DataType="DT_WSTR" Length="255" />
<Column Name="default_address.address1" Label="DefaultAddressAddress1" DataType="DT_WSTR" Length="255" />
<Column Name="default_address.address2" Label="DefaultAddressAddress2" DataType="DT_WSTR" Length="255" />
<Column Name="default_address.city" Label="DefaultAddressCity" DataType="DT_WSTR" Length="255" />
<Column Name="default_address.province" Label="DefaultAddressProvince" DataType="DT_WSTR" Length="255" />
<Column Name="default_address.country" Label="DefaultAddressCountry" DataType="DT_WSTR" Length="255" />
<Column Name="default_address.zip" Label="DefaultAddressZip" DataType="DT_WSTR" Length="255" />
<Column Name="default_address.phone" Label="DefaultAddressPhone" DataType="DT_WSTR" Length="255" />
<Column Name="default_address.name" Label="DefaultAddressName" DataType="DT_WSTR" Length="255" />
<Column Name="default_address.province_code" Label="DefaultAddressProvinceCode" DataType="DT_WSTR" Length="255" />
<Column Name="default_address.country_code" Label="DefaultAddressCountryCode" DataType="DT_WSTR" Length="255" />
<Column Name="default_address.country_name" Label="DefaultAddressCountryName" DataType="DT_WSTR" Length="255" />
<Column Name="email_marketing_consent.state" Label="EmailMarketingConsentState" DataType="DT_WSTR" Length="255" />
<Column Name="email_marketing_consent.opt_in_level" Label="EmailMarketingConsentOptInLevel" DataType="DT_WSTR" Length="255" />
<Column Name="email_marketing_consent.consent_updated_at" Label="EmailMarketingConsentUpdatedAt" DataType="DT_DBTIMESTAMP" />
</OutputColumns>
</EndPoint>
<EndPoint Name="PutCustomerRecord" Template="PutRecord">
<Params>
<Param Name="Id" Label="Customer Id" Type="Placeholder" Desc="The ID of the customer to be updated." Required="True" IsKey="True" />
</Params>
</EndPoint>
<EndPoint Name="DeleteCustomerRecord" Template="DeleteRecord">
<Params>
<Param Name="Id" Label="Customer Id" Type="Placeholder" Desc="The ID of the customer to be deleted." Required="True" IsKey="True" />
</Params>
</EndPoint>
<!-- Inventory Items -->
<EndPoint Name="InventoryItemOutputColumns">
<OutputColumns>
<Column Name="id" Label="Id" DataType="DT_I8" />
<Column Name="sku" Label="Sku" DataType="DT_WSTR" Length="255" />
<Column Name="cost" Label="Cost" DataType="DT_WSTR" Length="255" />
<Column Name="tracked" Label="Tracked" DataType="DT_BOOL" />
<Column Name="requires_shipping" Label="RequiresShipping" DataType="DT_BOOL" />
<Column Name="country_code_of_origin" Label="CountryCodeOfOrigin" DataType="DT_WSTR" Length="50" />
<Column Name="province_code_of_origin" Label="ProvinceCodeOfOrigin" DataType="DT_WSTR" Length="50" />
<Column Name="country_harmonized_system_codes" Label="CountryHarmonizedSystemCodes" DataType="DT_WSTR" Length="4000" Raw="True" />
<Column Name="harmonized_system_code" Label="HarmonizedSystemCode" DataType="DT_I8" />
<Column Name="created_at" Label="CreatedAt" DataType="DT_DBTIMESTAMP" />
<Column Name="updated_at" Label="UpdatedAt" DataType="DT_DBTIMESTAMP" />
</OutputColumns>
</EndPoint>
<EndPoint Name="InventoryItemInputColumns">
<InputColumns>
<Column Name="inventory_item.sku" Label="Sku" DataType="DT_WSTR" Length="255" />
<Column Name="inventory_item.cost" Label="Cost" DataType="DT_WSTR" Length="255" />
<Column Name="inventory_item.tracked" Label="Tracked" DataType="DT_BOOL" />
<Column Name="inventory_item.requires_shipping" Label="RequiresShipping" DataType="DT_BOOL" />
<Column Name="inventory_item.country_code_of_origin" Label="CountryCodeOfOrigin" DataType="DT_WSTR" Length="50" />
<Column Name="inventory_item.province_code_of_origin" Label="ProvinceCodeOfOrigin" DataType="DT_WSTR" Length="50" />
<Column Name="inventory_item.country_harmonized_system_codes" Label="CountryHarmonizedSystemCodes" DataType="DT_WSTR" Length="4000" Raw="True" />
<Column Name="inventory_item.harmonized_system_code" Label="HarmonizedSystemCode" DataType="DT_I8" />
</InputColumns>
</EndPoint>
<EndPoint Name="PutInventoryItemRecord" Template="InventoryItemInputColumns" DotAsPath="True">
<Params>
<Param Name="Id" Label="Product Inventory Id" Type="Placeholder" Desc="The ID of the product inventory to be updated." Required="True" IsKey="True" />
</Params>
</EndPoint>
<!-- Locations -->
<EndPoint Name="LocationInputColumns" DotAsPath="True">
<InputColumns>
<Column Name="location.name" Label="Name" DataType="DT_WSTR" Length="255" />
<Column Name="location.active" Label="Active" DataType="DT_BOOL" />
<Column Name="location.address1" Label="Address1" DataType="DT_WSTR" Length="255" />
<Column Name="location.address2" Label="Address2" DataType="DT_WSTR" Length="255" />
<Column Name="location.city" Label="City" DataType="DT_WSTR" Length="255" />
<Column Name="location.province" Label="Province" DataType="DT_WSTR" Length="255" />
<Column Name="location.zip" Label="Zip" DataType="DT_WSTR" Length="255" />
<Column Name="location.country" Label="Country" DataType="DT_WSTR" Length="255" />
<Column Name="location.phone" Label="Phone" DataType="DT_WSTR" Length="255" />
<Column Name="location.province_code" Label="ProvinceCode" DataType="DT_WSTR" Length="255" />
<Column Name="location.country_code" Label="CountryCode" DataType="DT_WSTR" Length="255" />
<Column Name="location.country_name" Label="CountryName" DataType="DT_WSTR" Length="255" />
<Column Name="location.localized_province_name" Label="LocalizedProvinceName" DataType="DT_WSTR" Length="255" />
<Column Name="location.localized_country_name" Label="LocalizedCountryName" DataType="DT_WSTR" Length="255" />
</InputColumns>
</EndPoint>
<EndPoint Name="LocationOutputColumns">
<OutputColumns>
<Column Name="id" Label="Id" DataType="DT_I8" />
<Column Name="name" Label="Name" DataType="DT_WSTR" Length="255" />
<Column Name="active" Label="Active" DataType="DT_BOOL" />
<Column Name="address1" Label="Address1" DataType="DT_WSTR" Length="255" />
<Column Name="address2" Label="Address2" DataType="DT_WSTR" Length="255" />
<Column Name="city" Label="City" DataType="DT_WSTR" Length="255" />
<Column Name="province" Label="Province" DataType="DT_WSTR" Length="255" />
<Column Name="zip" Label="Zip" DataType="DT_WSTR" Length="255" />
<Column Name="country" Label="Country" DataType="DT_WSTR" Length="255" />
<Column Name="phone" Label="Phone" DataType="DT_WSTR" Length="255" />
<Column Name="province_code" Label="ProvinceCode" DataType="DT_WSTR" Length="255" />
<Column Name="country_code" Label="CountryCode" DataType="DT_WSTR" Length="255" />
<Column Name="country_name" Label="CountryName" DataType="DT_WSTR" Length="255" />
<Column Name="localized_province_name" Label="LocalizedProvinceName" DataType="DT_WSTR" Length="255" />
<Column Name="localized_country_name" Label="LocalizedCountryName" DataType="DT_WSTR" Length="255" />
<Column Name="legacy" Label="Legacy" DataType="DT_BOOL" />
<Column Name="created_at" Label="CreatedAt" DataType="DT_DBTIMESTAMP" />
<Column Name="updated_at" Label="UpdatedAt" DataType="DT_DBTIMESTAMP" />
</OutputColumns>
</EndPoint>
<EndPoint Name="PutLocationRecord" Template="PutRecord">
<Params>
<Param Name="Id" Label="Location Id" Type="Placeholder" Desc="The ID of the location to be updated." Required="True" IsKey="True" />
</Params>
</EndPoint>
<EndPoint Name="DeleteLocationRecord" Template="DeleteRecord">
<Params>
<Param Name="Id" Label="Location Id" Type="Placeholder" Desc="The ID of the location to be deleted." Required="True" IsKey="True" />
</Params>
</EndPoint>
<!-- ORDER-RELATED TEMPLATES -->
<EndPoint Name="GeneralOrderReadOptions">
<Params>
<Param Name="fields" Label="Only Fields to Show" Type="Query" Desc="Limit data retrieval to only the selected order-related fields." MultiSelect="True" MultiSelectSeparator=","
Options="app_id;browser_ip;buyer_accepts_marketing;cancel_reason;cancelled_at;cart_token;checkout_token;closed_at;created_at;currency;current_total_discounts;current_total_price;current_subtotal_price;current_total_tax;customer_locale;email;estimated_taxes;financial_status;fulfillment_status;gateway;id;landing_site;location_id;merchant_of_record_app_id;name;note;number;order_number;phone;presentment_currency;processed_at;processing_method;referring_site;source_name;source_identifier;source_url;subtotal_price;tags;taxes_included;test;token;total_discounts;total_line_items_price;total_outstanding;total_price;total_tax;total_tip_received;total_weight;updated_at;user_id" />
</Params>
</EndPoint>
<EndPoint Name="SingleOrderReadParams" Template="GeneralOrderReadOptions">
<Params>
<Param Name="Id" ReadAs="Id" Label="Order Id" IsKey="True" Type="Placeholder" Desc="The ID of the order for which data should be read." Required="True" />
</Params>
</EndPoint>
<EndPoint Name="OrderPaginationParams" Template="PaginationParams,GeneralOrderReadOptions">
<Params>
<Param Name="since_id" Label="Since Order Id" Type="Query" Desc="Restrict results created after the specified order ID." />
<Param Name="created_at_max" Label="Created Before" Type="Query" Desc="Restrict results to orders created before a specified date. (format: 2014-04-25T16:15:47-04:00)" />
<Param Name="created_at_min" Label="Created After" Type="Query" Desc="Restrict results to orders created after a specified date. (format: 2014-04-25T16:15:47-04:00)" />
<Param Name="updated_at_max" Label="Updated Before" Type="Query" Desc="Restrict results to orders last updated before a specified date. (format: 2014-04-25T16:15:47-04:00)" />
<Param Name="updated_at_min" Label="Updated After" Type="Query" Desc="Restrict results to orders last updated after a specified date. (format: 2014-04-25T16:15:47-04:00)" />
<Param Name="attribution_app_id" Label="Attribution App Id" Type="Query" Desc="Show orders attributed to a certain app, specified by the app ID. Set as current to show orders for the app currently consuming the API." />
<Param Name="financial_status" Label="Financial Status" Type="Query" Desc="Filter orders by their financial status. (Default: any)" MultiSelect="True" MultiSelectSeparator="," Options="any;authorized;pending;paid;partially_paid;refunded;voided;partially_refunded;unpaid" />
<Param Name="fulfillment_status" Label="Fulfillment Status" Type="Query" Desc="Filter orders by their fulfillment status. (Default: any)" MultiSelect="True" MultiSelectSeparator="," Options="any;shipped;partial;unshipped;unfulfilled" />
<Param Name="processed_at_max" Label="Imported Before" Type="Query" Desc="Show orders imported at or before date." />
<Param Name="processed_at_min" Label="Imported After" Type="Query" Desc="Show orders imported at or after date." />
<Param Name="status" Label="Status" Type="Query" Value="any" Desc="Filter orders by their status. (Default: open)" MultiSelect="True" MultiSelectSeparator="," Options="open;closed;cancelled;any" />
</Params>
</EndPoint>
<EndPoint Name="OrderInputColumns">
<InputColumns>
<Column Name="BillingAddressLine1" DataType="DT_WSTR" Length="255" />
<Column Name="BillingAddressLine2" DataType="DT_WSTR" Length="255" />
<Column Name="BillingAddressCity" DataType="DT_WSTR" Length="255" />
<Column Name="BillingAddressCompany" DataType="DT_WSTR" Length="255" />
<Column Name="BillingAddressCountry" DataType="DT_WSTR" Length="255" />
<Column Name="BillingAddressFirstName" DataType="DT_WSTR" Length="255" />
<Column Name="BillingAddressLastName" DataType="DT_WSTR" Length="255" />
<Column Name="BillingAddressPhone" DataType="DT_WSTR" Length="255" />
<Column Name="BillingAddressProvince" DataType="DT_WSTR" Length="255" />
<Column Name="BillingAddressZip" DataType="DT_WSTR" Length="255" />
<Column Name="BillingAddressName" DataType="DT_WSTR" Length="255" />
<Column Name="BillingAddressProvinceCode" DataType="DT_WSTR" Length="255" />
<Column Name="BillingAddressCountryCode" DataType="DT_WSTR" Length="255" />
<Column Name="BillingAddressLatitude" DataType="DT_WSTR" Length="255" />
<Column Name="BillingAddressLongitude" DataType="DT_WSTR" Length="255" />
<Column Name="BuyerAcceptsMarketing" DataType="DT_BOOL" />
<Column Name="LineItems" DataType="DT_NTEXT" Raw="True" />
<Column Name="CustomerId" DataType="DT_I8" />
<Column Name="Email" DataType="DT_WSTR" Length="255" />
<Column Name="EstimatedTaxes" DataType="DT_BOOL" />
<Column Name="FinancialStatus" DataType="DT_WSTR" Length="255" />
<Column Name="FulfillmentStatus" DataType="DT_WSTR" Length="255" />
<Column Name="LocationId" DataType="DT_I8" />
<Column Name="MerchantOfRecordAppId" DataType="DT_I8" />
<Column Name="Name" DataType="DT_WSTR" Length="255" />
<Column Name="Note" DataType="DT_NTEXT" />
<Column Name="Phone" DataType="DT_WSTR" Length="255" />
<Column Name="Currency" DataType="DT_WSTR" Length="255" />
<Column Name="PresentmentCurrency" DataType="DT_WSTR" Length="255" />
<Column Name="ProcessedAt" DataType="DT_WSTR" Length="255" />
<Column Name="ReferringSite" DataType="DT_WSTR" Length="255" />
<Column Name="ShippingAddressLine1" DataType="DT_WSTR" Length="255" />
<Column Name="ShippingAddressLine2" DataType="DT_WSTR" Length="255" />
<Column Name="ShippingAddressCity" DataType="DT_WSTR" Length="255" />
<Column Name="ShippingAddressCompany" DataType="DT_WSTR" Length="255" />
<Column Name="ShippingAddressCountry" DataType="DT_WSTR" Length="255" />
<Column Name="ShippingAddressFirstName" DataType="DT_WSTR" Length="255" />
<Column Name="ShippingAddressLastName" DataType="DT_WSTR" Length="255" />
<Column Name="ShippingAddressPhone" DataType="DT_WSTR" Length="255" />
<Column Name="ShippingAddressProvince" DataType="DT_WSTR" Length="255" />
<Column Name="ShippingAddressZip" DataType="DT_WSTR" Length="255" />
<Column Name="ShippingAddressName" DataType="DT_WSTR" Length="255" />
<Column Name="ShippingAddressProvinceCode" DataType="DT_WSTR" Length="255" />
<Column Name="ShippingAddressCountryCode" DataType="DT_WSTR" Length="255" />
<Column Name="ShippingAddressLatitude" DataType="DT_WSTR" Length="255" />
<Column Name="ShippingAddressLongitude" DataType="DT_WSTR" Length="255" />
<Column Name="SourceName" DataType="DT_WSTR" Length="255" />
<Column Name="SourceIdentifier" DataType="DT_WSTR" Length="255" />
<Column Name="SourceUrl" DataType="DT_WSTR" Length="255" />
<Column Name="Tags" DataType="DT_NTEXT" />
<Column Name="TaxesIncluded" DataType="DT_BOOL" />
<Column Name="TotalWeight" DataType="DT_DECIMAL" />
<Column Name="UserId" DataType="DT_I8" />
<Column Name="InventoryBehaviour" DataType="DT_WSTR" Length="255" />
<Column Name="SendReceipt" DataType="DT_BOOL" />
<Column Name="SendFulfillmentReceipt" DataType="DT_BOOL" />
</InputColumns>
</EndPoint>
<EndPoint Name="OrderOutputColumns">
<OutputColumns>
<Column Name="id" Label="Id" DataType="DT_I8" />
<Column Name="billing_address.address1" Label="BillingAddressLine1" DataType="DT_WSTR" Length="255" />
<Column Name="billing_address.address2" Label="BillingAddressLine2" DataType="DT_WSTR" Length="255" />
<Column Name="billing_address.city" Label="BillingAddressCity" DataType="DT_WSTR" Length="255" />
<Column Name="billing_address.company" Label="BillingAddressCompany" DataType="DT_WSTR" Length="255" />
<Column Name="billing_address.country" Label="BillingAddressCountry" DataType="DT_WSTR" Length="255" />
<Column Name="billing_address.first_name" Label="BillingAddressFirstName" DataType="DT_WSTR" Length="255" />
<Column Name="billing_address.last_name" Label="BillingAddressLastName" DataType="DT_WSTR" Length="255" />
<Column Name="billing_address.phone" Label="BillingAddressPhone" DataType="DT_WSTR" Length="255" />
<Column Name="billing_address.province" Label="BillingAddressProvince" DataType="DT_WSTR" Length="255" />
<Column Name="billing_address.zip" Label="BillingAddressZip" DataType="DT_WSTR" Length="255" />
<Column Name="billing_address.name" Label="BillingAddressName" DataType="DT_WSTR" Length="255" />
<Column Name="billing_address.province_code" Label="BillingAddressProvinceCode" DataType="DT_WSTR" Length="255" />
<Column Name="billing_address.country_code" Label="BillingAddressCountryCode" DataType="DT_WSTR" Length="255" />
<Column Name="billing_address.latitude" Label="BillingAddressLatitude" DataType="DT_WSTR" Length="255" />
<Column Name="billing_address.longitude" Label="BillingAddressLongitude" DataType="DT_WSTR" Length="255" />
<Column Name="browser_ip" Label="BrowserIp" DataType="DT_WSTR" Length="255" />
<Column Name="buyer_accepts_marketing" Label="BuyerAcceptsMarketing" DataType="DT_BOOL" />
<Column Name="line_items" Label="LineItems" DataType="DT_NTEXT" Raw="True" />
<Column Name="cancel_reason" Label="CancelReason" DataType="DT_WSTR" Length="255" />
<Column Name="cancelled_at" Label="CancelledAt" DataType="DT_WSTR" Length="255" />
<Column Name="cart_token" Label="CartToken" DataType="DT_WSTR" Length="255" />
<Column Name="checkout_token" Label="CheckoutToken" DataType="DT_WSTR" Length="255" />
<Column Name="client_details.accept_language" Label="ClientDetailsAcceptLanguage" DataType="DT_WSTR" Length="255" />
<Column Name="client_details.browser_height" Label="ClientDetailsBrowserHeight" DataType="DT_I4" />
<Column Name="client_details.browser_ip" Label="ClientDetailsBrowserIp" DataType="DT_WSTR" Length="255" />
<Column Name="client_details.browser_width" Label="ClientDetailsBrowserWidth" DataType="DT_I4" />
<Column Name="client_details.session_hash" Label="ClientDetailsSessionHash" DataType="DT_WSTR" Length="255" />
<Column Name="client_details.user_agent" Label="ClientDetailsUserAgent" DataType="DT_WSTR" Length="255" />
<Column Name="closed_at" Label="ClosedAt" DataType="DT_WSTR" Length="255" />
<Column Name="company.id" Label="CompanyId" DataType="DT_I8" />
<Column Name="company.location_id" Label="CompanyLocationId" DataType="DT_I8" />
<Column Name="created_at" Label="CreatedAt" DataType="DT_WSTR" Length="255" />
<Column Name="currency" Label="Currency" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_discounts" Label="CurrentTotalDiscounts" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_discounts_set.current_total_discounts_set.shop_money.amount" Label="CurrentTotalDiscountsShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_discounts_set.current_total_discounts_set.shop_money.currency_code" Label="CurrentTotalDiscountsShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_discounts_set.current_total_discounts_set.presentment_money.amount" Label="CurrentTotalDiscountsPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_discounts_set.current_total_discounts_set.presentment_money.currency_code" Label="CurrentTotalDiscountsPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_duties_set.current_total_duties_set.shop_money.amount" Label="CurrentTotalDutiesShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_duties_set.current_total_duties_set.shop_money.currency_code" Label="CurrentTotalDutiesShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_duties_set.current_total_duties_set.presentment_money.amount" Label="CurrentTotalDutiesPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_duties_set.current_total_duties_set.presentment_money.currency_code" Label="CurrentTotalDutiesPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_price" Label="CurrentTotalPrice" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_price_set.current_total_price_set.shop_money.amount" Label="CurrentTotalPriceShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_price_set.current_total_price_set.shop_money.currency_code" Label="CurrentTotalPriceShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_price_set.current_total_price_set.presentment_money.amount" Label="CurrentTotalPricePresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_price_set.current_total_price_set.presentment_money.currency_code" Label="CurrentTotalPricePresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="current_subtotal_price" Label="CurrentSubtotalPrice" DataType="DT_WSTR" Length="255" />
<Column Name="current_subtotal_price_set.current_subtotal_price_set.shop_money.amount" Label="CurrentSubtotalPriceShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="current_subtotal_price_set.current_subtotal_price_set.shop_money.currency_code" Label="CurrentSubtotalPriceShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="current_subtotal_price_set.current_subtotal_price_set.presentment_money.amount" Label="CurrentSubtotalPricePresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="current_subtotal_price_set.current_subtotal_price_set.presentment_money.currency_code" Label="CurrentSubtotalPricePresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_tax" Label="CurrentTotalTax" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_tax_set.current_total_tax_set.shop_money.amount" Label="CurrentTotalTaxShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_tax_set.current_total_tax_set.shop_money.currency_code" Label="CurrentTotalTaxShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_tax_set.current_total_tax_set.presentment_money.amount" Label="CurrentTotalTaxPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="current_total_tax_set.current_total_tax_set.presentment_money.currency_code" Label="CurrentTotalTaxPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="customer.id" Label="CustomerId" DataType="DT_I8" />
<Column Name="customer_locale" Label="CustomerLocale" DataType="DT_WSTR" Length="255" />
<Column Name="email" Label="Email" DataType="DT_WSTR" Length="255" />
<Column Name="estimated_taxes" Label="EstimatedTaxes" DataType="DT_BOOL" />
<Column Name="financial_status" Label="FinancialStatus" DataType="DT_WSTR" Length="255" />
<Column Name="fulfillment_status" Label="FulfillmentStatus" DataType="DT_WSTR" Length="255" />
<Column Name="landing_site" Label="LandingSite" DataType="DT_WSTR" Length="255" />
<Column Name="location_id" Label="LocationId" DataType="DT_I8" />
<Column Name="merchant_of_record_app_id" Label="MerchantOfRecordAppId" DataType="DT_I8" />
<Column Name="name" Label="Name" DataType="DT_WSTR" Length="255" />
<Column Name="note" Label="Note" DataType="DT_NTEXT" />
<Column Name="number" Label="Number" DataType="DT_I4" />
<Column Name="order_number" Label="OrderNumber" DataType="DT_I4" />
<Column Name="original_total_duties_set.original_total_duties_set.shop_money.amount" Label="OriginalTotalDutiesShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="original_total_duties_set.original_total_duties_set.shop_money.currency_code" Label="OriginalTotalDutiesShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="original_total_duties_set.original_total_duties_set.presentment_money.amount" Label="OriginalTotalDutiesPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="original_total_duties_set.original_total_duties_set.presentment_money.currency_code" Label="OriginalTotalDutiesPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="payment_terms.amount" Label="PaymentTermsAmount" DataType="DT_DECIMAL" />
<Column Name="payment_terms.currency" Label="PaymentTermsCurrency" DataType="DT_WSTR" Length="255" />
<Column Name="payment_terms.payment_terms_name" Label="PaymentTermsName" DataType="DT_WSTR" Length="255" />
<Column Name="payment_terms.payment_terms_type" Label="PaymentTermsType" DataType="DT_WSTR" Length="255" />
<Column Name="payment_terms.due_in_days" Label="PaymentTermsDueInDays" DataType="DT_I4" />
<Column Name="phone" Label="Phone" DataType="DT_WSTR" Length="255" />
<Column Name="presentment_currency" Label="PresentmentCurrency" DataType="DT_WSTR" Length="255" />
<Column Name="processed_at" Label="ProcessedAt" DataType="DT_WSTR" Length="255" />
<Column Name="processing_method" Label="ProcessingMethod" DataType="DT_WSTR" Length="255" />
<Column Name="referring_site" Label="ReferringSite" DataType="DT_WSTR" Length="255" />
<Column Name="shipping_address.address1" Label="ShippingAddressLine1" DataType="DT_WSTR" Length="255" />
<Column Name="shipping_address.address2" Label="ShippingAddressLine2" DataType="DT_WSTR" Length="255" />
<Column Name="shipping_address.city" Label="ShippingAddressCity" DataType="DT_WSTR" Length="255" />
<Column Name="shipping_address.company" Label="ShippingAddressCompany" DataType="DT_WSTR" Length="255" />
<Column Name="shipping_address.country" Label="ShippingAddressCountry" DataType="DT_WSTR" Length="255" />
<Column Name="shipping_address.first_name" Label="ShippingAddressFirstName" DataType="DT_WSTR" Length="255" />
<Column Name="shipping_address.last_name" Label="ShippingAddressLastName" DataType="DT_WSTR" Length="255" />
<Column Name="shipping_address.phone" Label="ShippingAddressPhone" DataType="DT_WSTR" Length="255" />
<Column Name="shipping_address.province" Label="ShippingAddressProvince" DataType="DT_WSTR" Length="255" />
<Column Name="shipping_address.zip" Label="ShippingAddressZip" DataType="DT_WSTR" Length="255" />
<Column Name="shipping_address.name" Label="ShippingAddressName" DataType="DT_WSTR" Length="255" />
<Column Name="shipping_address.province_code" Label="ShippingAddressProvinceCode" DataType="DT_WSTR" Length="255" />
<Column Name="shipping_address.country_code" Label="ShippingAddressCountryCode" DataType="DT_WSTR" Length="255" />
<Column Name="shipping_address.latitude" Label="ShippingAddressLatitude" DataType="DT_WSTR" Length="255" />
<Column Name="shipping_address.longitude" Label="ShippingAddressLongitude" DataType="DT_WSTR" Length="255" />
<Column Name="source_name" Label="SourceName" DataType="DT_WSTR" Length="255" />
<Column Name="source_identifier" Label="SourceIdentifier" DataType="DT_WSTR" Length="255" />
<Column Name="source_url" Label="SourceUrl" DataType="DT_WSTR" Length="255" />
<Column Name="subtotal_price" Label="SubtotalPrice" DataType="DT_DECIMAL" />
<Column Name="subtotal_price_set.shop_money.amount" Label="SubtotalPriceSetShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="subtotal_price_set.shop_money.currency_code" Label="SubtotalPriceSetShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="subtotal_price_set.presentment_money.amount" Label="SubtotalPriceSetPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="subtotal_price_set.presentment_money.currency_code" Label="SubtotalPriceSetPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="tags" Label="Tags" DataType="DT_NTEXT" />
<Column Name="taxes_included" Label="TaxesIncluded" DataType="DT_BOOL" />
<Column Name="test" Label="Test" DataType="DT_BOOL" />
<Column Name="token" Label="Token" DataType="DT_WSTR" Length="255" />
<Column Name="total_discounts" Label="TotalDiscounts" DataType="DT_WSTR" Length="255" />
<Column Name="total_discounts_set.shop_money.amount" Label="TotalDiscountsSetShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="total_discounts_set.shop_money.currency_code" Label="TotalDiscountsSetShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="total_discounts_set.presentment_money.amount" Label="TotalDiscountsSetPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="total_discounts_set.presentment_money.currency_code" Label="TotalDiscountsSetPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="total_line_items_price" Label="TotalLineItemsPrice" DataType="DT_WSTR" Length="255" />
<Column Name="total_line_items_price_set.shop_money.amount" Label="TotalLineItemsPriceSetShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="total_line_items_price_set.shop_money.currency_code" Label="TotalLineItemsPriceSetShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="total_line_items_price_set.presentment_money.amount" Label="TotalLineItemsPriceSetPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="total_line_items_price_set.presentment_money.currency_code" Label="TotalLineItemsPriceSetPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="total_outstanding" Label="TotalOutstanding" DataType="DT_WSTR" Length="255" />
<Column Name="total_price" Label="TotalPrice" DataType="DT_WSTR" Length="255" />
<Column Name="total_price_set.shop_money.amount" Label="TotalPriceSetShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="total_price_set.shop_money.currency_code" Label="TotalPriceSetShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="total_price_set.presentment_money.amount" Label="TotalPriceSetPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="total_price_set.presentment_money.currency_code" Label="TotalPriceSetPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="total_shipping_price_set.shop_money.amount" Label="TotalShippingPriceSetShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="total_shipping_price_set.shop_money.currency_code" Label="TotalShippingPriceSetShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="total_shipping_price_set.presentment_money.amount" Label="TotalShippingPriceSetPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="total_shipping_price_set.presentment_money.currency_code" Label="TotalShippingPriceSetPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="total_tax" Label="TotalTax" DataType="DT_WSTR" Length="255" />
<Column Name="total_tax_set.shop_money.amount" Label="TotalTaxSetShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="total_tax_set.shop_money.currency_code" Label="TotalTaxSetShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="total_tax_set.presentment_money.amount" Label="TotalTaxSetPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="total_tax_set.presentment_money.currency_code" Label="TotalTaxSetPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="total_tip_received" Label="TotalTipReceived" DataType="DT_WSTR" Length="255" />
<Column Name="total_weight" Label="TotalWeight" DataType="DT_DECIMAL" />
<Column Name="updated_at" Label="UpdatedAt" DataType="DT_WSTR" Length="255" />
<Column Name="user_id" Label="UserId" DataType="DT_I8" />
<Column Name="order_status_url.order_status_url" Label="OrderStatusUrl" DataType="DT_WSTR" Length="255" />
</OutputColumns>
</EndPoint>
<EndPoint Name="OrderItemsOutputColumns">
<OutputColumns>
<Column Name="id" Label="Id" DataType="DT_I8" />
<Column Name="P_orders_id" Label="OrderId" IsKey="True" DataType="DT_I8" />
<Column Name="P_orders_order_number" Label="OrderNumber" DataType="DT_I4" />
<Column Name="fulfillable_quantity" Label="FulfillableQuantity" DataType="DT_I4" />
<Column Name="fulfillment_service" Label="FulfillmentService" DataType="DT_WSTR" Length="255" />
<Column Name="fulfillment_status" Label="FulfillmentStatus" DataType="DT_WSTR" Length="255" />
<Column Name="grams" Label="Grams" DataType="DT_I4" />
<Column Name="price" Label="Price" DataType="DT_WSTR" Length="255" />
<Column Name="product_id" Label="ProductId" DataType="DT_I8" />
<Column Name="quantity" Label="Quantity" DataType="DT_I4" />
<Column Name="requires_shipping" Label="RequiresShipping" DataType="DT_BOOL" />
<Column Name="sku" Label="Sku" DataType="DT_WSTR" Length="255" />
<Column Name="name" Label="Name" DataType="DT_WSTR" Length="255" />
<Column Name="title" Label="Title" DataType="DT_WSTR" Length="255" />
<Column Name="variant_id" Label="VariantId" DataType="DT_I8" />
<Column Name="variant_title" Label="VariantTitle" DataType="DT_WSTR" Length="255" />
<Column Name="vendor" Label="Vendor" DataType="DT_WSTR" Length="255" />
<Column Name="product_exists" Label="ProductExists" DataType="DT_BOOL" />
<Column Name="gift_card" Label="GiftCard" DataType="DT_BOOL" />
<Column Name="price_set.shop_money.amount" Label="PriceSetShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="price_set.shop_money.currency_code" Label="PriceSetShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="price_set.presentment_money.amount" Label="PriceSetPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="price_set.presentment_money.currency_code" Label="PriceSetPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="properties" Label="Properties" DataType="DT_WSTR" Length="4000" Raw="True" />
<Column Name="taxable" Label="Taxable" DataType="DT_BOOL" />
<Column Name="tax_lines" Label="TaxLines" DataType="DT_WSTR" Length="4000" Raw="True" />
<Column Name="total_discount" Label="TotalDiscount" DataType="DT_WSTR" Length="255" />
<Column Name="total_discount_set.shop_money.amount" Label="TotalDiscountSetShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="total_discount_set.shop_money.currency_code" Label="TotalDiscountSetShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="total_discount_set.presentment_money.amount" Label="TotalDiscountSetPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="total_discount_set.presentment_money.currency_code" Label="TotalDiscountSetPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="discount_allocations" Label="DiscountAllocations" DataType="DT_WSTR" Length="4000" Raw="True" />
<Column Name="origin_location.id" Label="OriginLocationId" DataType="DT_WSTR" Length="255" />
<Column Name="origin_location.country_code" Label="OriginLocationCountryCode" DataType="DT_WSTR" Length="255" />
<Column Name="origin_location.province_code" Label="OriginLocationProvinceCode" DataType="DT_WSTR" Length="255" />
<Column Name="origin_location.name" Label="OriginLocationName" DataType="DT_WSTR" Length="255" />
<Column Name="origin_location.address1" Label="OriginLocationAddress1" DataType="DT_WSTR" Length="255" />
<Column Name="origin_location.address2" Label="OriginLocationAddress2" DataType="DT_WSTR" Length="255" />
<Column Name="origin_location.city" Label="OriginLocationCity" DataType="DT_WSTR" Length="255" />
<Column Name="origin_location.zip" Label="OriginLocationZip" DataType="DT_WSTR" Length="255" />
<Column Name="duties" Label="Duties" DataType="DT_WSTR" Length="4000" Raw="True" />
<Column Name="P_orders_billing_address.address1" Label="BillingAddressLine1" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_billing_address.address2" Label="BillingAddressLine2" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_billing_address.city" Label="BillingAddressCity" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_billing_address.company" Label="BillingAddressCompany" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_billing_address.country" Label="BillingAddressCountry" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_billing_address.first_name" Label="BillingAddressFirstName" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_billing_address.last_name" Label="BillingAddressLastName" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_billing_address.phone" Label="BillingAddressPhone" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_billing_address.province" Label="BillingAddressProvince" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_billing_address.zip" Label="BillingAddressZip" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_billing_address.name" Label="BillingAddressName" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_billing_address.province_code" Label="BillingAddressProvinceCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_billing_address.country_code" Label="BillingAddressCountryCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_billing_address.latitude" Label="BillingAddressLatitude" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_billing_address.longitude" Label="BillingAddressLongitude" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_browser_ip" Label="BrowserIp" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_buyer_accepts_marketing" Label="BuyerAcceptsMarketing" DataType="DT_BOOL" />
<Column Name="P_orders_line_items" Label="LineItems" DataType="DT_WSTR" Length="4000" Raw="True" />
<Column Name="P_orders_cancel_reason" Label="CancelReason" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_cancelled_at" Label="CancelledAt" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_cart_token" Label="CartToken" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_checkout_token" Label="CheckoutToken" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_client_details.accept_language" Label="ClientDetailsAcceptLanguage" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_client_details.browser_height" Label="ClientDetailsBrowserHeight" DataType="DT_I4" />
<Column Name="P_orders_client_details.browser_ip" Label="ClientDetailsBrowserIp" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_client_details.browser_width" Label="ClientDetailsBrowserWidth" DataType="DT_I4" />
<Column Name="P_orders_client_details.session_hash" Label="ClientDetailsSessionHash" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_client_details.user_agent" Label="ClientDetailsUserAgent" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_closed_at" Label="ClosedAt" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_company.id" Label="CompanyId" DataType="DT_I8" />
<Column Name="P_orders_company.location_id" Label="CompanyLocationId" DataType="DT_I8" />
<Column Name="P_orders_created_at" Label="CreatedAt" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_currency" Label="Currency" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_discounts" Label="CurrentTotalDiscounts" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_discounts_set.current_total_discounts_set.shop_money.amount" Label="CurrentTotalDiscountsShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_discounts_set.current_total_discounts_set.shop_money.currency_code" Label="CurrentTotalDiscountsShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_discounts_set.current_total_discounts_set.presentment_money.amount" Label="CurrentTotalDiscountsPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_discounts_set.current_total_discounts_set.presentment_money.currency_code" Label="CurrentTotalDiscountsPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_duties_set.current_total_duties_set.shop_money.amount" Label="CurrentTotalDutiesShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_duties_set.current_total_duties_set.shop_money.currency_code" Label="CurrentTotalDutiesShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_duties_set.current_total_duties_set.presentment_money.amount" Label="CurrentTotalDutiesPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_duties_set.current_total_duties_set.presentment_money.currency_code" Label="CurrentTotalDutiesPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_price" Label="CurrentTotalPrice" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_price_set.current_total_price_set.shop_money.amount" Label="CurrentTotalPriceShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_price_set.current_total_price_set.shop_money.currency_code" Label="CurrentTotalPriceShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_price_set.current_total_price_set.presentment_money.amount" Label="CurrentTotalPricePresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_price_set.current_total_price_set.presentment_money.currency_code" Label="CurrentTotalPricePresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_subtotal_price" Label="CurrentSubtotalPrice" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_subtotal_price_set.current_subtotal_price_set.shop_money.amount" Label="CurrentSubtotalPriceShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_subtotal_price_set.current_subtotal_price_set.shop_money.currency_code" Label="CurrentSubtotalPriceShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_subtotal_price_set.current_subtotal_price_set.presentment_money.amount" Label="CurrentSubtotalPricePresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_subtotal_price_set.current_subtotal_price_set.presentment_money.currency_code" Label="CurrentSubtotalPricePresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_tax" Label="CurrentTotalTax" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_tax_set.current_total_tax_set.shop_money.amount" Label="CurrentTotalTaxShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_tax_set.current_total_tax_set.shop_money.currency_code" Label="CurrentTotalTaxShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_tax_set.current_total_tax_set.presentment_money.amount" Label="CurrentTotalTaxPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_current_total_tax_set.current_total_tax_set.presentment_money.currency_code" Label="CurrentTotalTaxPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_customer.id" Label="CustomerId" DataType="DT_I8" />
<Column Name="P_orders_customer_locale" Label="CustomerLocale" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_email" Label="Email" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_estimated_taxes" Label="EstimatedTaxes" DataType="DT_BOOL" />
<Column Name="P_orders_financial_status" Label="FinancialStatus" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_fulfillment_status" Label="OrderFulfillmentStatus" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_landing_site" Label="LandingSite" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_location_id" Label="LocationId" DataType="DT_I8" />
<Column Name="P_orders_merchant_of_record_app_id" Label="MerchantOfRecordAppId" DataType="DT_I8" />
<Column Name="P_orders_name" Label="OrderName" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_note" Label="Note" DataType="DT_NTEXT" />
<Column Name="P_orders_number" Label="Number" DataType="DT_I4" />
<Column Name="P_orders_original_total_duties_set.original_total_duties_set.shop_money.amount" Label="OriginalTotalDutiesShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_original_total_duties_set.original_total_duties_set.shop_money.currency_code" Label="OriginalTotalDutiesShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_original_total_duties_set.original_total_duties_set.presentment_money.amount" Label="OriginalTotalDutiesPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_original_total_duties_set.original_total_duties_set.presentment_money.currency_code" Label="OriginalTotalDutiesPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_payment_terms.amount" Label="PaymentTermsAmount" DataType="DT_DECIMAL" />
<Column Name="P_orders_payment_terms.currency" Label="PaymentTermsCurrency" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_payment_terms.payment_terms_name" Label="PaymentTermsName" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_payment_terms.payment_terms_type" Label="PaymentTermsType" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_payment_terms.due_in_days" Label="PaymentTermsDueInDays" DataType="DT_I4" />
<Column Name="P_orders_phone" Label="Phone" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_presentment_currency" Label="PresentmentCurrency" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_processed_at" Label="ProcessedAt" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_processing_method" Label="ProcessingMethod" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_referring_site" Label="ReferringSite" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_shipping_address.address1" Label="ShippingAddressLine1" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_shipping_address.address2" Label="ShippingAddressLine2" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_shipping_address.city" Label="ShippingAddressCity" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_shipping_address.company" Label="ShippingAddressCompany" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_shipping_address.country" Label="ShippingAddressCountry" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_shipping_address.first_name" Label="ShippingAddressFirstName" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_shipping_address.last_name" Label="ShippingAddressLastName" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_shipping_address.phone" Label="ShippingAddressPhone" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_shipping_address.province" Label="ShippingAddressProvince" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_shipping_address.zip" Label="ShippingAddressZip" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_shipping_address.name" Label="ShippingAddressName" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_shipping_address.province_code" Label="ShippingAddressProvinceCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_shipping_address.country_code" Label="ShippingAddressCountryCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_shipping_address.latitude" Label="ShippingAddressLatitude" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_shipping_address.longitude" Label="ShippingAddressLongitude" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_source_name" Label="SourceName" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_source_identifier" Label="SourceIdentifier" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_source_url" Label="SourceUrl" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_subtotal_price" Label="SubtotalPrice" DataType="DT_DECIMAL" />
<Column Name="P_orders_subtotal_price_set.shop_money.amount" Label="SubtotalPriceSetShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_subtotal_price_set.shop_money.currency_code" Label="SubtotalPriceSetShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_subtotal_price_set.presentment_money.amount" Label="SubtotalPriceSetPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_subtotal_price_set.presentment_money.currency_code" Label="SubtotalPriceSetPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_tags" Label="Tags" DataType="DT_NTEXT" />
<Column Name="P_orders_taxes_included" Label="TaxesIncluded" DataType="DT_BOOL" />
<Column Name="P_orders_test" Label="Test" DataType="DT_BOOL" />
<Column Name="P_orders_token" Label="Token" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_discounts" Label="TotalDiscounts" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_discounts_set.shop_money.amount" Label="TotalDiscountsSetShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_discounts_set.shop_money.currency_code" Label="TotalDiscountsSetShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_discounts_set.presentment_money.amount" Label="TotalDiscountsSetPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_discounts_set.presentment_money.currency_code" Label="TotalDiscountsSetPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_line_items_price" Label="TotalLineItemsPrice" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_line_items_price_set.shop_money.amount" Label="TotalLineItemsPriceSetShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_line_items_price_set.shop_money.currency_code" Label="TotalLineItemsPriceSetShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_line_items_price_set.presentment_money.amount" Label="TotalLineItemsPriceSetPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_line_items_price_set.presentment_money.currency_code" Label="TotalLineItemsPriceSetPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_outstanding" Label="TotalOutstanding" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_price" Label="TotalPrice" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_price_set.shop_money.amount" Label="TotalPriceSetShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_price_set.shop_money.currency_code" Label="TotalPriceSetShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_price_set.presentment_money.amount" Label="TotalPriceSetPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_price_set.presentment_money.currency_code" Label="TotalPriceSetPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_shipping_price_set.shop_money.amount" Label="TotalShippingPriceSetShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_shipping_price_set.shop_money.currency_code" Label="TotalShippingPriceSetShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_shipping_price_set.presentment_money.amount" Label="TotalShippingPriceSetPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_shipping_price_set.presentment_money.currency_code" Label="TotalShippingPriceSetPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_tax" Label="TotalTax" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_tax_set.shop_money.amount" Label="TotalTaxSetShopMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_tax_set.shop_money.currency_code" Label="TotalTaxSetShopMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_tax_set.presentment_money.amount" Label="TotalTaxSetPresentmentMoneyAmount" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_tax_set.presentment_money.currency_code" Label="TotalTaxSetPresentmentMoneyCurrencyCode" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_tip_received" Label="TotalTipReceived" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_total_weight" Label="TotalWeight" DataType="DT_DECIMAL" />
<Column Name="P_orders_updated_at" Label="UpdatedAt" DataType="DT_WSTR" Length="255" />
<Column Name="P_orders_user_id" Label="UserId" DataType="DT_I8" />
<Column Name="P_orders_order_status_url.order_status_url" Label="OrderStatusUrl" DataType="DT_WSTR" Length="255" />
</OutputColumns>
</EndPoint>
<EndPoint Name="PutOrderRecord" Template="PutRecord">
<Params>
<Param Name="Id" Label="Order Id" Type="Placeholder" Desc="The ID of the order to be updated." Required="True" IsKey="True" />
</Params>
</EndPoint>
<EndPoint Name="DeleteOrderRecord" Template="DeleteRecord">
<Params>
<Param Name="Id" Label="Order Id" Type="Placeholder" Desc="The ID of the order to be deleted." Required="True" IsKey="True" />
</Params>
</EndPoint>
<!-- PRODUCT-RELATED TEMPLATES -->
<EndPoint Name="GeneralProductReadOptions">
<Params>
<Param Name="fields" Label="Only Fields to Show" Type="Query"
Desc="Limit data retrieval to only the selected product-related fields."
MultiSelect="True" MultiSelectSeparator=","
Options="id;title;body_html;vendor;product_type;created_at;handle;updated_at;published_at;template_suffix;status;published_scope;tags;admin_graphql_api_id;variants;options;images;image" />
</Params>
</EndPoint>
<EndPoint Name="SingleProductReadParams" Template="GeneralProductReadOptions">
<Params>
<Param Name="Id" ReadAs="Id" Label="Product Id" IsKey="True" Type="Placeholder"
Desc="The ID of the product for which data should be read." Required="True" />
</Params>
</EndPoint>
<EndPoint Name="ProductPaginationParams" Template="PaginationParams, GeneralProductReadOptions">
<Params>
<Param Name="since_id" Label="Since Product Id" Type="Query" Desc="Restrict results created after the specified product ID." />
<Param Name="created_at_max" Label="Created Before" Type="Query"
Desc="Restrict results to products created before a specified date. (format: 2014-04-25T16:15:47-04:00)" />
<Param Name="created_at_min" Label="Created After" Type="Query"
Desc="Restrict results to products created after a specified date. (format: 2014-04-25T16:15:47-04:00)" />
<Param Name="updated_at_max" Label="Updated Before" Type="Query"
Desc="Restrict results to products last updated before a specified date. (format: 2014-04-25T16:15:47-04:00)" />
<Param Name="updated_at_min" Label="Updated After" Type="Query"
Desc="Restrict results to products last updated after a specified date. (format: 2014-04-25T16:15:47-04:00)" />
</Params>
</EndPoint>
<EndPoint Name="ProductOutputColumns">
<OutputColumns>
<Column Name="id" DataType="DT_I8" Label="Id" />
<Column Name="title" DataType="DT_WSTR" Label="Title" Length="200" />
<Column Name="body_html" DataType="DT_NTEXT" Label="BodyHtml" />
<Column Name="vendor" DataType="DT_WSTR" Label="Vendor" Length="200" />
<Column Name="product_type" DataType="DT_WSTR" Label="ProductType" Length="200" />
<Column Name="created_at" DataType="DT_DBTIMESTAMP" Label="CreatedAt" />
<Column Name="handle" DataType="DT_WSTR" Label="UrlHandle" Length="200" />
<Column Name="updated_at" DataType="DT_DBTIMESTAMP" Label="UpdatedAt" />
<Column Name="published_at" DataType="DT_DBTIMESTAMP" Label="PublishedAt" />
<Column Name="template_suffix" DataType="DT_WSTR" Label="TemplateSuffix" Length="200" />
<Column Name="status" DataType="DT_WSTR" Label="Status" Length="200" />
<Column Name="published_scope" DataType="DT_WSTR" Label="PublishedScope" Length="200" />
<Column Name="tags" DataType="DT_WSTR" Label="Tags" Length="4000" />
<Column Name="admin_graphql_api_id" DataType="DT_WSTR" Label="AdminGraphqlApiId" Length="200" />
<Column Name="variants" DataType="DT_NTEXT" Label="Variants" />
<Column Name="options" DataType="DT_WSTR" Label="Options" Length="4000" />
<Column Name="images" DataType="DT_NTEXT" Label="Images" Length="4000" />
<Column Name="image" DataType="DT_WSTR" Label="Image" Length="4000" />
<Column Name="image.id" DataType="DT_I8" Label="ImageId" />
<Column Name="image.product_id" DataType="DT_I8" Label="ImageProductId" />
<Column Name="image.position" DataType="DT_I4" Label="ImagePosition" />
<Column Name="image.created_at" DataType="DT_DBTIMESTAMP" Label="ImageCreatedAt" />
<Column Name="image.updated_at" DataType="DT_DBTIMESTAMP" Label="ImageUpdatedAt" />
<Column Name="image.alt" DataType="DT_WSTR" Label="ImageAlt" Length="4000" />
<Column Name="image.width" DataType="DT_I4" Label="ImageWidth" />
<Column Name="image.height" DataType="DT_I4" Label="ImageHeight" />
<Column Name="image.src" DataType="DT_WSTR" Label="ImageSrc" Length="4000" />
<Column Name="image.variant_ids" DataType="DT_WSTR" Label="ImageVariantIds" Length="500" />
<Column Name="image.admin_graphql_api_id" DataType="DT_WSTR" Label="ImageAdminGraphqlApiId" Length="200" />
<Column Name="metafields" DataType="DT_NTEXT" Label="Metafields" />
</OutputColumns>
</EndPoint>
<!-- PRODUCT VARIANT-RELATED TEMPLATES -->
<EndPoint Name="ProductVariantOutputColumns">
<OutputColumns>
<Column Name="id" DataType="DT_I8" Label="Id" />
<Column Name="product_id" DataType="DT_I8" Label="ProductId" />
<Column Name="title" DataType="DT_WSTR" Label="Title" Length="100" />
<Column Name="sku" DataType="DT_WSTR" Label="Sku" Length="500" />
<Column Name="price" DataType="DT_WSTR" Label="Price" Length="100" />
<Column Name="compare_at_price" DataType="DT_WSTR" Label="CompareAtPrice" Length="100" />
<Column Name="position" DataType="DT_I4" Label="Position" />
<Column Name="option1" DataType="DT_WSTR" Label="Option1" Length="500" />
<Column Name="option2" DataType="DT_WSTR" Label="Option2" Length="500" />
<Column Name="option3" DataType="DT_WSTR" Label="Option3" Length="500" />
<Column Name="created_at" DataType="DT_DBTIMESTAMP" Label="CreatedAt" />
<Column Name="updated_at" DataType="DT_DBTIMESTAMP" Label="UpdatedAt" />
<Column Name="taxable" DataType="DT_BOOL" Label="Taxable" />
<Column Name="inventory_item_id" DataType="DT_I8" Label="InventoryItemId" />
<Column Name="inventory_quantity" DataType="DT_I4" Label="InventoryQuantity" />
<Column Name="old_inventory_quantity" DataType="DT_I4" Label="OldInventoryQuantity" />
<Column Name="inventory_policy" DataType="DT_WSTR" Label="InventoryPolicy" Length="50" />
<Column Name="inventory_management" DataType="DT_WSTR" Label="InventoryManagement" Length="100" />
<Column Name="fulfillment_service" DataType="DT_WSTR" Label="FulfillmentService" Length="100" />
<Column Name="barcode" DataType="DT_WSTR" Label="Barcode" Length="500" />
<Column Name="grams" DataType="DT_I4" Label="Grams" />
<Column Name="image_id" DataType="DT_WSTR" Label="ImageId" Length="500" />
<Column Name="weight" DataType="DT_R8" Label="Weight" />
<Column Name="weight_unit" DataType="DT_WSTR" Label="WeightUnit" Length="50" />
<Column Name="requires_shipping" DataType="DT_BOOL" Label="RequiresShipping" />
<Column Name="admin_graphql_api_id" DataType="DT_WSTR" Label="AdminGraphqlApiId" Length="500" />
<Column Name="presentment_prices" DataType="DT_WSTR" Label="PresentmentPrices" Length="4000" />
</OutputColumns>
</EndPoint>
<EndPoint Name="ProductVariantInputColumns" DotAsPath="True" Body="{$rows$}" >
<InputColumns>
<Column Name="variant.id" DataType="DT_I8" Label="Id" Key="True" MapToParam="True"/>
<Column Name="variant.product_id" DataType="DT_I8" Label="ProductId" />
<Column Name="variant.title" DataType="DT_WSTR" Label="Title" Length="500" />
<Column Name="variant.price" DataType="DT_WSTR" Label="Price" Length="100" />
<Column Name="variant.sku" DataType="DT_WSTR" Label="Sku" Length="500" />
<Column Name="variant.position" DataType="DT_I4" Label="Position" />
<Column Name="variant.inventory_policy" DataType="DT_WSTR" Label="InventoryPolicy" Length="50" />
<Column Name="variant.compare_at_price" DataType="DT_WSTR" Label="CompareAtPrice" Length="100" />
<Column Name="variant.fulfillment_service" DataType="DT_WSTR" Label="FulfillmentService" Length="100" />
<Column Name="variant.inventory_management" DataType="DT_WSTR" Label="InventoryManagement" Length="100" />
<Column Name="variant.option1" DataType="DT_WSTR" Label="Option1" Length="500" />
<Column Name="variant.option2" DataType="DT_WSTR" Label="Option2" Length="500" />
<Column Name="variant.option3" DataType="DT_WSTR" Label="Option3" Length="500" />
<Column Name="variant.taxable" DataType="DT_BOOL" Label="Taxable" />
<Column Name="variant.barcode" DataType="DT_WSTR" Label="Barcode" Length="500" />
<Column Name="variant.grams" DataType="DT_I4" Label="Grams" />
<Column Name="variant.image_id" DataType="DT_WSTR" Label="ImageId" Length="500" />
<Column Name="variant.weight" DataType="DT_R8" Label="Weight" />
<Column Name="variant.weight_unit" DataType="DT_WSTR" Label="WeightUnit" Length="50" />
<Column Name="variant.inventory_item_id" DataType="DT_I8" Label="InventoryItemId" />
<Column Name="variant.inventory_quantity" DataType="DT_I4" Label="InventoryQuantity" />
<Column Name="variant.old_inventory_quantity" DataType="DT_I4" Label="OldInventoryQuantity" />
<Column Name="variant.requires_shipping" DataType="DT_BOOL" Label="RequiresShipping" />
<Column Name="variant.admin_graphql_api_id" DataType="DT_WSTR" Label="AdminGraphqlApiId" Length="500" />
</InputColumns>
</EndPoint>
<EndPoint Name="PutProductVariantRecord" Template="PutRecord" DotAsPath="True">
<Params>
<Param Name="Id" Label="Product Variant Id" Type="Placeholder" Desc="The ID of the product variant to be updated." Required="True" IsKey="True" />
</Params>
</EndPoint>
<EndPoint Name="DeleteProductVariantRecord" Template="DeleteRecord">
<Params>
<Param Name="Id" Label="Product Variant Id" Type="Placeholder" Desc="The ID of the product variant to be deleted." Required="True" IsKey="True" />
</Params>
</EndPoint>
<EndPoint Name="ProductInputColumns" DotAsPath="True" Body="{$rows$}" >
<InputColumns>
<Column Name="product.title" DataType="DT_WSTR" Label="Title" Length="200"/>
<Column Name="product.body_html" DataType="DT_NTEXT" Label="BodyHtml" Desc="(maximum is 512 KB)"/>
<Column Name="product.handle" DataType="DT_WSTR" Label="UrlHandle" Length="500" />
<Column Name="product.product_type" DataType="DT_WSTR" Label="ProductType" Length="200" />
<Column Name="product.status" DataType="DT_WSTR" Label="Status" Length="200" />
<Column Name="product.vendor" DataType="DT_WSTR" Label="Vendor" Length="200" />
<Column Name="product.template_suffix" DataType="DT_WSTR" Label="TemplateSuffix" Length="200" />
<Column Name="product.published_scope" DataType="DT_WSTR" Label="PublishedScope" Length="200" />
<Column Name="product.tags" DataType="DT_WSTR" Label="Tags" Length="4000" Raw="True"/>
<Column Name="product.variants" DataType="DT_NTEXT" Label="Variants" Raw="True"/>
<Column Name="product.options" DataType="DT_WSTR" Label="Options" Length="4000" Raw="True"/>
<Column Name="product.images" DataType="DT_NTEXT" Label="Images" Raw="True" />
<Column Name="product.metafields" DataType="DT_NTEXT" Label="Metafields" Raw="True"/>
<Column Name="product.metafields_global_title_tag" DataType="DT_WSTR" Label="SEOTitle" Length="1000" />
<Column Name="product.metafields_global_description_tag" DataType="DT_WSTR" Label="SEODescription" Length="4000" />
</InputColumns>
</EndPoint>
<EndPoint Name="PutProductRecord" Template="ProductInputColumns" DotAsPath="True">
<Params>
<Param Name="Id" Label="Product Id" Type="Placeholder" Desc="The ID of the product to be updated." Required="True" IsKey="True" />
</Params>
</EndPoint>
<EndPoint Name="DeleteProductRecord" Template="DeleteRecord">
<Params>
<Param Name="Id" Label="Product Id" Type="Placeholder" Desc="The ID of the product to be deleted." Required="True" IsKey="True" />
</Params>
</EndPoint>
</Template>
<EndPoints>
<!-- GET CUSTOMERS *********************************************************************-->
<EndPoint Name="get_customers"
Label="Get Customers"
Url="/customers.json?ids=[$ids$]"
Method="GET"
Filter="$.customers[*]"
Template="CustomerPaginationParams, CustomerOutputColumns"
Desc="Gets a list of customers."
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/customer#get-customers">
<Params>
<Param Name="ids" Template="IdParam" ReadAs="Id" Label="Customer Id(s) - Comma separated" />
</Params>
<InputColumns>
<Column Name="ids" Label="CustomerId" MapToParam="True" DataType="DT_I8" />
</InputColumns>
</EndPoint>
<!-- GET CUSTOMER -->
<EndPoint Name="get_customer"
Label="Get Customer"
Url="/customers/[$Id$].json"
Method="GET"
Filter="$.customer"
Template="SingleCustomerReadParams, CustomerOutputColumns"
Desc="Gets a specific customer."
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/customer#get-customers-customer-id">
</EndPoint>
<!-- POST CUSTOMER *********************************************************************-->
<EndPoint Name="post_customer"
Label="Create a Customer"
Url="/customers.json"
Method="POST"
Filter="$.customer"
ContentType="application/json"
JsonRowFormat="Multicontent"
Template="PostRecord, CustomerOutputColumns, CustomerInputColumns"
Desc="Creates a new customer."
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/customer#post-customers">
<LayoutMap>
<![CDATA[<?xml version="1.0" encoding="utf-8"?>
<settings ver="3" singledataset="True">
<dataset id="root" main="True" readfrominput="True"></dataset>
<map name="customer">
<map src="FirstName" name="first_name" />
<map src="LastName" name="last_name" />
<map src="Email" name="email" />
<map src="Phone" name="phone" />
<map src="Password" name="password" />
<map src="PasswordConfirmation" name="password_confirmation" />
<map src="SendWelcomeEmail" name="send_email_welcome" datatype="Bool" />
<map src="MultipassIdentifier" name="multipass_identifier" />
<map src="Note" name="note" />
<map src="Tags" name="tags" />
<map src="TaxExempt" name="tax_exempt" datatype="Bool" />
<map src="TaxExemptions" name="tax_exemptions" fragment="True" />
<map name="addresses" dataset="root" parentdataset="root" maptype="DocArray">
<map src="DefaultAddressFirstName" name="first_name" />
<map src="DefaultAddressLastName" name="last_name" />
<map src="DefaultAddressCompany" name="company" />
<map src="DefaultAddressLine1" name="address1" />
<map src="DefaultAddressLine2" name="address2" />
<map src="DefaultAddressCity" name="city" />
<map src="DefaultAddressProvince" name="province" />
<map src="DefaultAddressCountry" name="country" />
<map src="DefaultAddressZip" name="zip" />
<map src="DefaultAddressPhone" name="phone" />
<map src="DefaultAddressName" name="name" />
<map src="DefaultAddressProvinceCode" name="province_code" />
<map src="DefaultAddressCountryCode" name="country_code" />
<map src="DefaultAddressCountryName" name="country_name" />
</map>
</map>
</settings>]]>
</LayoutMap>
</EndPoint>
<!-- PUT CUSTOMER -->
<EndPoint Name="put_customer"
Label="Update a Customer"
Url="/customers/[$Id$].json"
Method="PUT"
Filter="$.customer"
ContentType="application/json"
JsonRowFormat="Multicontent"
Template="PutCustomerRecord, CustomerOutputColumns, CustomerInputColumns"
Desc="Updates an existing customer."
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/customer#put-customers-customer-id">
<LayoutMap>
<![CDATA[<?xml version="1.0" encoding="utf-8"?>
<settings ver="3" singledataset="True">
<dataset id="root" main="True" readfrominput="True"></dataset>
<map name="customer">
<map src="FirstName" name="first_name" />
<map src="LastName" name="last_name" />
<map src="Email" name="email" />
<map src="Phone" name="phone" />
<map src="Password" name="password" />
<map src="PasswordConfirmation" name="password_confirmation" />
<map src="SendWelcomeEmail" name="send_email_welcome" datatype="Bool" />
<map src="MultipassIdentifier" name="multipass_identifier" />
<map src="Note" name="note" />
<map src="Tags" name="tags" />
<map src="TaxExempt" name="tax_exempt" datatype="Bool" />
<map src="TaxExemptions" name="tax_exemptions" fragment="True" />
<map name="addresses" dataset="root" parentdataset="root" maptype="DocArray">
<map src="DefaultAddressFirstName" name="first_name" />
<map src="DefaultAddressLastName" name="last_name" />
<map src="DefaultAddressCompany" name="company" />
<map src="DefaultAddressLine1" name="address1" />
<map src="DefaultAddressLine2" name="address2" />
<map src="DefaultAddressCity" name="city" />
<map src="DefaultAddressProvince" name="province" />
<map src="DefaultAddressCountry" name="country" />
<map src="DefaultAddressZip" name="zip" />
<map src="DefaultAddressPhone" name="phone" />
<map src="DefaultAddressName" name="name" />
<map src="DefaultAddressProvinceCode" name="province_code" />
<map src="DefaultAddressCountryCode" name="country_code" />
<map src="DefaultAddressCountryName" name="country_name" />
</map>
</map>
</settings>]]>
</LayoutMap>
</EndPoint>
<!-- DELETE CUSTOMER *******************************************************************-->
<EndPoint Name="delete_customer"
Label="Delete a Customer"
Url="/customers/[$Id$].json"
Method="DELETE"
ContentType="application/json"
Template="DeleteCustomerRecord"
Desc="Deletes a specific customer."
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/customer#delete-customers-customer-id">
</EndPoint>
<!-- GET ORDERS -->
<EndPoint Name="get_orders"
Label="Get Orders"
Desc="Gets a list of orders by status, date and other search criteria. By default only Open orders returned. Change Status parameter to any to get all orders."
Url="/orders.json?ids=[$ids$]"
Method="GET"
Filter="$.orders[*]"
Template="OrderPaginationParams, OrderOutputColumns"
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/order#get-orders">
<Params>
<Param Name="ids" Template="IdParam" ReadAs="Id" Label="Order Id(s) - Comma separated" />
</Params>
<InputColumns>
<Column Name="ids" Label="OrderId" MapToParam="True" DataType="DT_I8" />
</InputColumns>
</EndPoint>
<!-- GET ORDER -->
<EndPoint Name="get_order"
Label="Get Order"
Url="/orders/[$Id$].json"
Method="GET"
Filter="$.order"
Template="SingleOrderReadParams, OrderOutputColumns"
Desc="Gets a specific order."
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/order#get-orders-order-id">
</EndPoint>
<!-- POST ORDER -->
<EndPoint Name="post_order"
Label="Create an Order"
Url="/orders.json"
Method="POST"
Filter="$.order"
ContentType="application/json"
JsonRowFormat="Multicontent"
Template="PostRecord, OrderOutputColumns, OrderInputColumns"
Desc="Creates a new order."
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/order#post-orders">
<LayoutMap>
<![CDATA[<?xml version="1.0" encoding="utf-8"?>
<settings ver="3" singledataset="True">
<dataset id="root" main="True" readfrominput="True"></dataset>
<map name="order">
<map src="Id" name="id" />
<map name="billing_address">
<map src="BillingAddressLine1" name="address1" />
<map src="BillingAddressLine2" name="address2" />
<map src="BillingAddressCity" name="city" />
<map src="BillingAddressCompany" name="company" />
<map src="BillingAddressCountry" name="country" />
<map src="BillingAddressCountryCode" name="country_code" />
<map src="BillingAddressFirstName" name="first_name" />
<map src="BillingAddressLastName" name="last_name" />
<map src="BillingAddressPhone" name="phone" />
<map src="BillingAddressProvince" name="province" />
<map src="BillingAddressProvinceCode" name="province_code" />
<map src="BillingAddressLatitude" name="latitude" />
<map src="BillingAddressLongitude" name="longitude" />
</map>
<map src="BuyerAcceptsMarketing" name="buyer_accepts_marketing" />
<map src="LineItems" name="line_items" fragment="True" />
<map name="customer">
<map src="CustomerId" name="id" />
</map>
<map src="Email" name="email" />
<map src="EstimatedTaxes" name="estimated_taxes" />
<map src="FinancialStatus" name="financial_status" />
<map src="FulfillmentStatus" name="fulfillment_status" />
<map src="LocationId" name="location_id" />
<map src="MerchantOfRecordAppId" name="merchant_of_record_app_id" />
<map src="Name" name="name" />
<map src="Note" name="note" />
<map src="Phone" name="phone" />
<map src="Currency" name="currency" />
<map src="PresentmentCurrency" name="presentment_currency" />
<map src="ProcessedAt" name="processed_at" />
<map src="ReferringSite" name="referring_site" />
<map name="shipping_address">
<map src="ShippingAddressLine1" name="address1" />
<map src="ShippingAddressLine2" name="address2" />
<map src="ShippingAddressCity" name="city" />
<map src="ShippingAddressCompany" name="company" />
<map src="ShippingAddressCountry" name="country" />
<map src="ShippingAddressCountryCode" name="country_code" />
<map src="ShippingAddressFirstName" name="first_name" />
<map src="ShippingAddressLastName" name="last_name" />
<map src="ShippingAddressPhone" name="phone" />
<map src="ShippingAddressProvince" name="province" />
<map src="ShippingAddressProvinceCode" name="province_code" />
<map src="ShippingAddressLatitude" name="latitude" />
<map src="ShippingAddressLongitude" name="longitude" />
</map>
<map src="SourceName" name="source_name" />
<map src="SourceIdentifier" name="source_identifier" />
<map src="SourceUrl" name="source_url" />
<map src="Tags" name="tags" />
<map src="TaxesIncluded" name="taxes_included" />
<map src="TotalWeight" name="total_weight" />
<map src="UserId" name="user_id" />
<map src="InventoryBehaviour" name="inventory_behaviour" />
<map src="SendReceipt" name="send_receipt" />
<map src="SendFulfillmentReceipt" name="send_fulfillment_receipt" />
</map>
</settings>]]>
</LayoutMap>
</EndPoint>
<!-- PUT ORDER -->
<EndPoint Name="put_order"
Label="Update an Order"
Url="/orders/[$Id$].json"
Method="PUT"
Filter="$.order"
ContentType="application/json"
JsonRowFormat="Multicontent"
Template="PutOrderRecord, OrderOutputColumns, OrderInputColumns"
Desc="Updates an existing order."
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/order#put-orders-order-id">
<LayoutMap>
<![CDATA[<?xml version="1.0" encoding="utf-8"?>
<settings ver="3" singledataset="True">
<dataset id="root" main="True" readfrominput="True"></dataset>
<map name="order">
<map src="Id" name="id" datatype="String" />
<map name="billing_address">
<map src="BillingAddressLine1" name="address1" />
<map src="BillingAddressLine2" name="address2" />
<map src="BillingAddressCity" name="city" />
<map src="BillingAddressCompany" name="company" />
<map src="BillingAddressCountry" name="country" />
<map src="BillingAddressCountryCode" name="country_code" />
<map src="BillingAddressFirstName" name="first_name" />
<map src="BillingAddressLastName" name="last_name" />
<map src="BillingAddressPhone" name="phone" />
<map src="BillingAddressZip" name="zip" />
<map src="BillingAddressProvince" name="province" />
<map src="BillingAddressProvinceCode" name="province_code" />
<map src="BillingAddressLatitude" name="latitude" />
<map src="BillingAddressLongitude" name="longitude" />
</map>
<map src="BuyerAcceptsMarketing" name="buyer_accepts_marketing" />
<map src="LineItems" name="line_items" fragment="True" />
<map name="customer">
<map src="CustomerId" name="id" />
</map>
<map src="Email" name="email" />
<map src="EstimatedTaxes" name="estimated_taxes" />
<map src="FinancialStatus" name="financial_status" />
<map src="FulfillmentStatus" name="fulfillment_status" />
<map src="LocationId" name="location_id" />
<map src="MerchantOfRecordAppId" name="merchant_of_record_app_id" />
<map src="Name" name="name" />
<map src="Note" name="note" />
<map src="Phone" name="phone" />
<map src="PresentmentCurrency" name="presentment_currency" />
<map src="ProcessedAt" name="processed_at" />
<map src="ReferringSite" name="referring_site" />
<map name="shipping_address">
<map src="ShippingAddressLine1" name="address1" />
<map src="ShippingAddressLine2" name="address2" />
<map src="ShippingAddressCity" name="city" />
<map src="ShippingAddressCompany" name="company" />
<map src="ShippingAddressCountry" name="country" />
<map src="ShippingAddressCountryCode" name="country_code" />
<map src="ShippingAddressFirstName" name="first_name" />
<map src="ShippingAddressLastName" name="last_name" />
<map src="ShippingAddressPhone" name="phone" />
<map src="ShippingAddressZip" name="zip" />
<map src="ShippingAddressProvince" name="province" />
<map src="ShippingAddressProvinceCode" name="province_code" />
<map src="ShippingAddressLatitude" name="latitude" />
<map src="ShippingAddressLongitude" name="longitude" />
</map>
<map src="SourceName" name="source_name" />
<map src="SourceIdentifier" name="source_identifier" />
<map src="SourceUrl" name="source_url" />
<map src="Tags" name="tags" />
<map src="TaxesIncluded" name="taxes_included" />
<map src="TotalWeight" name="total_weight" />
<map src="UserId" name="user_id" />
<map src="InventoryBehaviour" name="inventory_behaviour" />
<map src="SendReceipt" name="send_receipt" />
<map src="SendFulfillmentReceipt" name="send_fulfillment_receipt" />
</map>
</settings>]]>
</LayoutMap>
</EndPoint>
<!-- DELETE ORDER -->
<EndPoint Name="delete_order"
Label="Delete an Order"
Url="/orders/[$Id$].json"
Method="DELETE"
ContentType="application/json"
Template="DeleteOrderRecord"
Desc="Deletes a specific order."
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/order#delete-orders-order-id">
</EndPoint>
<!-- GET ORDER ITEMS -->
<EndPoint Name="get_order_items"
Label="Get Order Items"
Url="/orders.json?ids=[$ids$]"
Method="GET"
Filter="$.orders[*].line_items[*]"
IncludeParentColumns="True"
Template="OrderPaginationParams, OrderItemsOutputColumns"
Desc="Gets a list of line items for all orders or the specified order(s)."
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/order#get-orders">
<Params>
<Param Name="ids" Template="IdParam" ReadAs="OrderId" Label="Order Id(s) - Comma separated" />
</Params>
<InputColumns>
<!-- ssis needs some clear label in mapping so we need to define OrderId like below -->
<Column Name="ids" Label="OrderId" MapToParam="True" DataType="DT_I8" />
</InputColumns>
</EndPoint>
<!-- GET PRODUCTS -->
<EndPoint Name="get_products"
Label="Get Products"
Url="/products.json?ids=[$ids$]"
Method="GET"
Filter="$.products[*]"
Template="ProductPaginationParams, ProductOutputColumns, ExtraFeatures"
Desc="Gets a list of products."
HelpLink="https://shopify.dev/docs/api/admin-rest/2023-01/resources/product#get-products">
<Params>
<Param Name="ids" Template="IdParam" ReadAs="Id" Label="Product Id(s) - Comma separated" />
</Params>
<InputColumns>
<Column Name="ids" Label="ProductId" MapToParam="True" DataType="DT_I8" />
</InputColumns>
</EndPoint>
<!-- GET PRODUCT -->
<EndPoint Name="get_product"
Label="Get Product"
Url="/products/[$Id$].json"
Method="GET"
Filter="$.product"
Template="SingleProductReadParams, ProductOutputColumns, ExtraFeatures"
Desc="Gets a specific product."
HelpLink="https://shopify.dev/docs/api/admin-rest/2023-01/resources/product#get-products-product-id">
</EndPoint>
<EndPoint Name="get_products_count"
Label="Get Products Count"
Url="/products/count.json"
Method="GET"
Template="DateParams"
Desc="Retrieve a products count."
HelpLink="https://shopify.dev/docs/api/admin-rest/2023-01/resources/product#get-products-count">
<Params>
<Param Name="published_status" Label="Published Status" Type="Query" Options="any;published;unpublished" />
<Param Name="product_type" Label="Product Type (e.g. Cult Products)" Type="Query" />
<Param Name="collection_id" Label="Collection Id" Type="Query" />
<Param Name="published_at_min" Label="Published After" Type="Query" />
<Param Name="published_at_max" Label="Published Before" Type="Query" />
</Params>
<OutputColumns>
<Column Name="count" Label="Count" DataType="DT_I4" />
</OutputColumns>
</EndPoint>
<EndPoint Name="get_orders_count"
Label="Get Orders Count"
Url="/orders/count.json"
Method="GET"
Template="DateParams"
Desc="Retrieve a orders count."
HelpLink="https://shopify.dev/docs/api/admin-rest/2023-01/resources/order#get-orders-count">
<Params>
<Param Name="status" Label="Status" Type="Query" Options="any;open;closed" />
<Param Name="financial_status" Label="Financial Status" Type="Query" Options="any;authorized;pending;paid;partially_paid;refunded;voided;partially_refunded;unpaid" />
<Param Name="fulfillment_status" Label="Fulfillment Status" Type="Query" Options="any;shipped;partial;unshipped;unfulfilled" />
</Params>
<OutputColumns>
<Column Name="count" Label="Count" DataType="DT_I8" />
</OutputColumns>
</EndPoint>
<!-- GET PRODUCTS WITH VARIANTS -->
<EndPoint Name="get_product_variants"
Label="Get Product Variants"
Url="/products.json?ids=[$ids$]"
Method="GET"
Filter="$.products[*].variants[*]"
IncludeParentColumns="True"
Template="ProductVariantOutputColumns, PaginationParams, ExtraFeatures"
Desc="Gets a list of products with their variants."
HelpLink="https://shopify.dev/docs/api/admin-rest/2023-01/resources/product#get-products">
<Params>
<Param Name="ids" Template="IdParam" ReadAs="ProductId" Label="Product Id(s) - Comma separated" Type="Placeholder" />
<Param Name="since_id" Label="Since Product Id" Type="Query" Desc="Restrict results created after the specified product ID." />
<Param Name="fields" Label="Only Fields to Show" Type="Query"
Desc="Limit data retrieval to only the selected product-related fields."
MultiSelect="True" MultiSelectSeparator=","
Options="id;title;body_html;vendor;product_type;created_at;handle;updated_at;published_at;template_suffix;status;published_scope;tags;admin_graphql_api_id;variants;options;images;image" />
<Param Name="created_at_max" Label="Created Before" Type="Query"
Desc="Restrict results to products created before a specified date. (format: 2014-04-25T16:15:47-04:00)" />
<Param Name="created_at_min" Label="Created After" Type="Query"
Desc="Restrict results to products created after a specified date. (format: 2014-04-25T16:15:47-04:00)" />
<Param Name="updated_at_max" Label="Updated Before" Type="Query"
Desc="Restrict results to products last updated before a specified date. (format: 2014-04-25T16:15:47-04:00)" />
<Param Name="updated_at_min" Label="Updated After" Type="Query"
Desc="Restrict results to products last updated after a specified date. (format: 2014-04-25T16:15:47-04:00)" />
</Params>
<InputColumns>
<!-- ssis needs some clear label in mapping so we need to define OrderId like below -->
<Column Name="ids" Label="ProductId" MapToParam="True" DataType="DT_I8" />
</InputColumns>
<OutputColumns>
<Column Name="P_products_title" DataType="DT_WSTR" Label="ProductTitle" Length="500" />
<Column Name="P_products_body_html" DataType="DT_NTEXT" Label="ProductBodyHtml" />
<Column Name="P_products_vendor" DataType="DT_WSTR" Label="ProductVendor" Length="500" />
<Column Name="P_products_product_type" DataType="DT_WSTR" Label="ProductType" Length="500" />
<Column Name="P_products_created_at" DataType="DT_DBTIMESTAMP" Label="ProductCreatedAt" />
<Column Name="P_products_handle" DataType="DT_WSTR" Label="ProductHandle" Length="500" />
<Column Name="P_products_updated_at" DataType="DT_DBTIMESTAMP" Label="ProductUpdatedAt" />
<Column Name="P_products_published_at" DataType="DT_DBTIMESTAMP" Label="ProductPublishedAt" />
<Column Name="P_products_template_suffix" DataType="DT_WSTR" Label="ProductTemplateSuffix" Length="500" />
<Column Name="P_products_status" DataType="DT_WSTR" Label="ProductStatus" Length="100" />
<Column Name="P_products_published_scope" DataType="DT_WSTR" Label="ProductPublishedScope" Length="50" />
<Column Name="P_products_tags" DataType="DT_WSTR" Label="ProductTags" Length="500" />
<Column Name="P_products_admin_graphql_api_id" DataType="DT_WSTR" Label="ProductAdminGraphqlApiId" Length="500" />
<Column Name="P_products_image" DataType="DT_WSTR" Label="ProductImage" Length="500" />
<Column Name="P_products_image_id" DataType="DT_I8" Label="ProductImageId" />
<Column Name="P_products_image_product_id" DataType="DT_I8" Label="ProductImageProductId" />
<Column Name="P_products_image_position" DataType="DT_I4" Label="ProductImagePosition" />
<Column Name="P_products_image_created_at" DataType="DT_DBTIMESTAMP" Label="ProductImageCreatedAt" />
<Column Name="P_products_image_updated_at" DataType="DT_DBTIMESTAMP" Label="ProductImageUpdatedAt" />
<Column Name="P_products_image_alt" DataType="DT_WSTR" Label="ProductImageAlt" Length="500" />
<Column Name="P_products_image_width" DataType="DT_I4" Label="ProductImageWidth" />
<Column Name="P_products_image_height" DataType="DT_I4" Label="ProductImageHeight" />
<Column Name="P_products_image_src" DataType="DT_WSTR" Label="ProductImageSrc" Length="1000" />
<Column Name="P_products_image_admin_graphql_api_id" DataType="DT_WSTR" Label="ProductImageAdminGraphqlApiId" Length="500" />
</OutputColumns>
</EndPoint>
<!-- PUT Product Variant-->
<EndPoint Name="put_product_variant"
Label="Update a Product Variant"
Url="/variants/[$Id$].json"
Method="PUT"
Filter="$.variant"
ContentType="application/json"
JsonRowFormat="Multicontent"
Template="PutProductVariantRecord, ProductVariantOutputColumns, ProductVariantInputColumns"
Desc="Updates an existing product variant."
HelpLink="https://shopify.dev/docs/api/admin-rest/2023-10/resources/product-variant#put-variants-variant-id">
</EndPoint>
<EndPoint Name="post_product_variant"
Label="Create a Product Variant"
Url="/products/[$ProductId$]/variants.json"
Method="POST"
Filter="$.variant"
ContentType="application/json"
JsonRowFormat="Multicontent"
Template="ProductVariantInputColumns, ProductVariantOutputColumns, PostRecord"
Desc="Creates a new product variant."
HelpLink="https://shopify.dev/docs/api/admin-rest/2023-10/resources/product-variant#put-variants-variant-id">
<Params>
<Param Name="Id" Label="Product Id" Type="Placeholder" Desc="The ID of the product for which you like to create a new variant." Required="True" IsKey="True" />
</Params>
<InputColumns>
<Column Name="ProductId" Label="ProductId" DataType="DT_WSTR" Length="1000" MapToParam="True" Key="True" />
</InputColumns>
</EndPoint>
<!-- POST PRODUCT *********************************************************************-->
<EndPoint Name="post_product"
Label="Create a Product"
Url="/products.json"
Method="POST"
Filter="$.product"
ContentType="application/json"
JsonRowFormat="Multicontent"
Template="ProductInputColumns, ProductOutputColumns, PostRecord"
Desc="Creates a new product."
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/product#post-products">
</EndPoint>
<!-- PUT PRODUCT -->
<EndPoint Name="put_product"
Label="Update a Product"
Url="/products/[$Id$].json"
Method="PUT"
Filter="$.product"
ContentType="application/json"
JsonRowFormat="Multicontent"
Template="PutProductRecord, ProductOutputColumns, PutRecord"
Desc="Updates an existing product."
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/product#put-products-product-id">
</EndPoint>
<!-- DELETE Product *******************************************************************
POST https://zappydev.myshopify.com/admin/api/2023-01/products/2439709917284/variants.json HTTP/1.1
User-Agent: ZappySysApp/2023.10.19.11019
Host: zappydev.myshopify.com
Accept-Encoding: gzip, deflate
Content-Type: application/json
Connection: Keep-Alive
Content-Length: 389
{"variant":{"title":"ENT \/ Weekly","price":"700.00","sku":"ENT-WEEKLY","position":9,"inventory_policy":"deny","compare_at_price":null,"fulfillment_service":"manual","inventory_management":"shopify","option1":"ENT","option2":"Weekly","option3":null,"taxable":true,"barcode":"","grams":0,"image_id":null,"weight":0.0,"weight_unit":"lb","old_inventory_quantity":0,"requires_shipping":false}}
-->
<EndPoint Name="delete_product"
Label="Delete a product"
Url="/products/[$Id$].json"
Method="DELETE"
ContentType="application/json"
Template="DeleteProductRecord"
Desc="Deletes a specific product."
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/product#delete-products-product-id">
</EndPoint>
<EndPoint Name="delete_product_variant"
Label="Delete a product variant"
Url="/variants/[$Id$].json"
Method="DELETE"
ContentType="application/json"
Template="DeleteProductVariantRecord"
Desc="Deletes a specific product variant."
HelpLink="https://shopify.dev/docs/api/admin-rest/2023-10/resources/product-variant#delete-products-product-id-variants-variant-id">
</EndPoint>
<!-- GET PAYOUTS *********************************************************************-->
<EndPoint Name="get_payouts"
Label="Get Payouts"
Url="/shopify_payments/payouts.json"
Method="GET"
Filter="$.payouts[*]"
Template="PaginationParams"
Desc="Retrieves a list of all payouts ordered by payout date, with the most recent being first. Requires following permissions shopify_payments_payouts, shopify_payments for API Token."
HelpLink="https://shopify.dev/docs/api/admin-rest/2023-10/resources/payouts#get-shopify-payments-payouts">
<Params>
<Param Name="date" Label="Date (format: yyyy-MM-ddd)" Type="Query" Desc="Filter the response to payouts made on the specified date." Options="2023-12-31;today;yesterday;monthstart;monthend;yearstart;yearend;weekstart;weekend;yearstart-1y;yearend-1y;monthstart-1d;monthend+1d" ValueTemplate="<<{$value$}||yyyy-MM-dd,FUN_TO_DATETIME>>" ></Param>
<Param Name="date_max" Label="Date maximum (format: yyyy-MM-ddd)" Type="Query" Desc="Filter the response to payouts made inclusively before the specified date." Options="2023-12-31;today;yesterday;monthstart;monthend;yearstart;yearend;weekstart;weekend;yearstart-1y;yearend-1y;monthstart-1d;monthend+1d" ValueTemplate="<<{$value$}||yyyy-MM-dd,FUN_TO_DATETIME>>" ></Param>
<Param Name="date_min" Label="Date minimum(format: yyyy-MM-ddd)" Type="Query" Desc="Filter the response to payouts made inclusively after the specified date." Options="2023-12-31;today;yesterday;monthstart;monthend;yearstart;yearend;weekstart;weekend;yearstart-1y;yearend-1y;monthstart-1d;monthend+1d" ValueTemplate="<<{$value$}||yyyy-MM-dd,FUN_TO_DATETIME>>" ></Param>
<Param Name="last_id" Label="Payouts before this Id" Type="Query" Desc="Filter the response to payouts made before the specified ID."></Param>
<Param Name="since_id" Label="Payouts after this Id" Type="Query" Desc="Filter the response to payouts made after the specified ID."></Param>
<Param Name="status" Label="Status" Type="Query" Desc="Filter the response to payouts made with the specified status." Options="scheduled;in_transit;paid;failed;canceled"></Param>
<Param Name="ContineOn404Error" Type="Property" Value="True" />
</Params>
<OutputColumns>
<Column Name="id" Label="Id" DataType="DT_I8" />
<Column Name="status" Label="Status" DataType="DT_WSTR" />
<Column Name="date" Label="Date" DataType="DT_DBTIMESTAMP" />
<Column Name="currency" Label="Currency" DataType="DT_WSTR" />
<Column Name="amount" Label="Amount" DataType="DT_WSTR" />
</OutputColumns>
</EndPoint>
<!-- GET LOCATIONS *********************************************************************-->
<EndPoint Name="get_locations"
Label="Get Locations"
Url="/locations.json"
Method="GET"
Filter="$.locations[*]"
Template="LocationOutputColumns"
Desc="Gets a list of locations."
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/location#get-locations">
</EndPoint>
<!-- GET LOCATION -->
<EndPoint Name="get_location"
Label="Get Location"
Url="/locations/[$Id$].json"
Method="GET"
Filter="$.location"
Template="LocationOutputColumns"
Desc="Gets a specific location."
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/location#get-locations-location-id">
<Params>
<Param Name="Id" ReadAs="Id" Label="Location Id" IsKey="True" Type="Placeholder" Desc="The ID of the location for which data should be read." Required="True" />
</Params>
</EndPoint>
<!-- POST LOCATION *********************************************************************-->
<EndPoint Name="post_location"
Label="Create a Location"
Url="/locations.json"
Method="POST"
Filter="$.location"
ContentType="application/json"
JsonRowFormat="Multicontent"
Template="PostRecord, LocationOutputColumns, LocationInputColumns"
Desc="Creates a new location."
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/location#post-locations">
</EndPoint>
<!-- PUT LOCATION -->
<EndPoint Name="put_location"
Label="Update a Location"
Url="/locations/[$Id$].json"
Method="PUT"
Filter="$.location"
ContentType="application/json"
JsonRowFormat="Multicontent"
Template="PutLocationRecord, LocationOutputColumns, LocationInputColumns"
Desc="Updates an existing location."
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/location#put-locations-location-id">
</EndPoint>
<!-- DELETE LOCATION *******************************************************************-->
<EndPoint Name="delete_location"
Label="Delete a Location"
Url="/locations/[$Id$].json"
Method="DELETE"
ContentType="application/json"
Template="DeleteLocationRecord"
Desc="Deletes a specific location."
HelpLink="https://shopify.dev/api/admin-rest/2023-01/resources/location#delete-locations-location-id">
</EndPoint>
<!-- GET INVENTORY ITEMS -->
<EndPoint Name="get_inventory_items"
Label="Get Inventory Items"
Url="/inventory_items.json?ids=[$ids$]"
Method="GET"
Filter="$.inventory_items[*]"
Template="PaginationParams, InventoryItemOutputColumns"
Desc="Gets a list of inventory items. Each Product Variant has Inventory Item Id .. Its one to one relationship with Product Variant and Inventory Item. Query get_product_variants to get InventoryItemId and use as Id in this endpoint."
HelpLink="https://shopify.dev/docs/api/admin-rest/2023-10/resources/inventoryitem#get-inventory-items">
<Params>
<Param Name="ids" Template="IdParam" Required="True" ReadAs="Id" Label="Inventory Item Id(s) - Comma separated"
OptionsEndPoint="get_product_variants"
OptionsEndPointLabelColumn="Title"
OptionsEndPointValueColumn="InventoryItemId"
MultiSelect="True"
MultiSelectSeparator = ","
/>
</Params>
<InputColumns>
<Column Name="ids" Label="Id" MapToParam="True" DataType="DT_I8" Key="True" />
</InputColumns>
</EndPoint>
<!-- GET INVENTORY LEVELS -->
<EndPoint Name="get_inventory_levels"
Label="Get Inventory Levels"
Url="/inventory_levels.json?location_ids=[$location_ids$]"
Method="GET"
Filter="$.inventory_levels[*]"
Template="PaginationParams"
Desc="Gets inventory level for a specific location and inventory item."
HelpLink="https://shopify.dev/docs/api/admin-rest/2023-10/resources/inventoryitem#get-inventory-items">
<Params>
<Param Name="inventory_item_ids"
ReadAs="InventoryItemId"
Type="Query"
DataType="DT_I8"
Desc="Inventory Item Id(s) - Comma separated"
OptionsEndPoint="get_product_variants"
OptionsEndPointLabelColumn="Title"
OptionsEndPointValueColumn="InventoryItemId"
MultiSelect="True"
MultiSelectSeparator = ","
/>
<Param Name="location_ids"
DataType="DT_I8"
Type="Placeholder"
Desc="Location Id(s) - Comma separated"
OptionsEndPoint="get_locations"
OptionsEndPointLabelColumn="Name"
OptionsEndPointValueColumn="Id"
MultiSelect="True"
MultiSelectSeparator = ","
MultiSelectAllOnBlank="True"
MultiSelectLimit="5000"
MultiSelectTemplate="{@value}"
/>
<Param Name="updated_at_min" Label="Updated at or after" Type="Query"
Desc="Show inventory levels updated at or after date (format: 2019-03-19T01:21:44-04:00)."
/>
</Params>
<OutputColumns>
<Column Name="inventory_item_id" Label="InventoryItemId" DataType="DT_I8" />
<Column Name="location_id" Label="LocationId" DataType="DT_I8" />
<Column Name="updated_at" Label="UpdatedAt" DataType="DT_DBTIMESTAMP" />
<Column Name="available" Label="Available" DataType="DT_I4" />
</OutputColumns>
</EndPoint>
<EndPoint Name="put_inventory_level"
Label="Update Inventory Levels"
Url="/inventory_levels/[$Action$].json"
Method="POST"
Filter="$.inventory_level"
ContentType="application/json"
JsonRowFormat="Multicontent"
Body="{$rows$}"
>
<Params>
<Param Name="Action" Required="True" Functions="LOWER" Value="adjust" Options="Adjusts the inventory level=adjust;Connects an inventory item to a location=connect;Sets the inventory level for an inventory item at a location=set;"/>
<Param Name="ContineOn404Error" Type="Property" Value="False" />
</Params>
<InputColumns>
<Column Name="inventory_item_id" Label="InventoryItemId" Key="True" DataType="DT_I8" />
<Column Name="location_id" Label="LocationId" DataType="DT_I8" />
<Column Name="available_adjustment" Label="AvailableAdjustment" DataType="DT_I4" />
<Column Name="available" Label="Available" DataType="DT_I4" />
</InputColumns>
<OutputColumns>
<Column Name="inventory_item_id" Label="InventoryItemId" DataType="DT_I8" />
<Column Name="location_id" Label="LocationId" DataType="DT_I8" />
<Column Name="updated_at" Label="UpdatedAt" DataType="DT_DBTIMESTAMP" />
<Column Name="available" Label="Available" DataType="DT_I4" />
</OutputColumns>
</EndPoint>
<EndPoint Name="post_inventory_level"
Label="Insert Inventory Levels"
Url="/inventory_levels/set.json"
Method="POST"
Filter="$.inventory_level"
ContentType="application/json"
JsonRowFormat="Multicontent"
Body="{$rows$}"
>
<Params>
<Param Name="ContineOn404Error" Type="Property" Value="False" />
</Params>
<InputColumns>
<Column Name="inventory_item_id" Label="InventoryItemId" Key="True" DataType="DT_I8" />
<Column Name="location_id" Label="LocationId" DataType="DT_I8" />
<Column Name="available" Label="Available" DataType="DT_I4" />
</InputColumns>
<OutputColumns>
<Column Name="inventory_item_id" Label="InventoryItemId" DataType="DT_I8" />
<Column Name="location_id" Label="LocationId" DataType="DT_I8" />
<Column Name="updated_at" Label="UpdatedAt" DataType="DT_DBTIMESTAMP" />
<Column Name="available" Label="Available" DataType="DT_I4" />
</OutputColumns>
</EndPoint>
<!-- GET INVENTORY LEVEL -->
<EndPoint Name="get_inventory_item"
Label="Get Inventory Item"
Url="/inventory_items/[$Id$].json"
Method="GET"
Filter="$.inventory_item"
Template="InventoryItemOutputColumns"
Desc="Gets a specific inventory item."
HelpLink="https://shopify.dev/docs/api/admin-rest/2023-10/resources/inventoryitem#get-inventory-items-inventory-item-id">
<Params>
<Param Name="location_ids" Template="IdParam" ReadAs="Id" Label="Inventory Item Id(s) - Comma separated" />
</Params>
</EndPoint>
<EndPoint Name="put_inventory_item"
Label="Update Inventory Item"
Url="/inventory_items/[$Id$].json"
ContentType="application/json"
JsonRowFormat="Multicontent"
Method="PUT"
Template="PutInventoryItemRecord, InventoryItemOutputColumns, PutRecord"
Filter="$.inventory_item">
<Params>
<Param Name="Id" Label="Inventory Item Id" />
</Params>
<InputColumns>
</InputColumns>
</EndPoint>
</EndPoints>
<Tables>
<Table Name="Customers"
LookupEndPoint="get_customers"
SelectEndPoint="get_customers"
InsertEndPoint="post_customer"
UpdateEndPoint="put_customer"
DeleteEndPoint="delete_customer"
/>
<Table Name="Orders"
LookupEndPoint="get_orders"
SelectEndPoint="get_orders"
InsertEndPoint="post_order"
UpdateEndPoint="put_order"
DeleteEndPoint="delete_order"
/>
<Table Name="OrderItems"
LookupEndPoint="get_order_items"
SelectEndPoint="get_order_items"
/>
<Table Name="Products"
LookupEndPoint="get_products"
SelectEndPoint="get_products"
InsertEndPoint="post_product"
UpdateEndPoint="put_product"
DeleteEndPoint="delete_product"
/>
<Table Name="ProductVariants"
SelectEndPoint="get_product_variants"
LookupEndPoint="get_product_variants"
UpdateEndPoint="put_product_variant"
InsertEndPoint="post_product_variant"
DeleteEndPoint="delete_product_variant"
/>
<Table Name="Locations"
LookupEndPoint="get_location"
SelectEndPoint="get_locations"
/>
<!-- not supported yet by Shopify only do via UI
InsertEndPoint="post_location"
UpdateEndPoint="put_location"
DeleteEndPoint="delete_location"
-->
<Table Name="InventoryItems"
LookupEndPoint="get_inventory_items"
SelectEndPoint="get_inventory_items"
UpdateEndPoint="put_inventory_item"
/>
<Table Name="InventoryLevels"
SelectEndPoint="get_inventory_levels"
UpdateEndPoint="put_inventory_level"
InsertEndPoint="post_inventory_level"
/>
<Table Name="Payouts"
SelectEndPoint="get_payouts"
/>
</Tables>
<Examples>
<Example Group="ODBC" Slug="read-products" Label="Read products">
<Desc>
<![CDATA[<p>Gets a list of all products from the <code>Products</code> table. This table corresponds to the Shopify Products API.</p>]]>
</Desc>
<Code>
<![CDATA[SELECT * FROM Products]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-product-by-id" Label="Read a product by ID">
<Desc>
<![CDATA[<p>Gets a specific product by its unique <code>Id</code>. Supply the product ID in the <code>WITH</code> clause or <code>WHERE</code> clause to filter the result.</p>]]>
</Desc>
<Code>
<![CDATA[SELECT * FROM Products WITH Id=1111111111111]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-multiple-products-by-ids" Label="Read multiple products by IDs">
<Desc>
<![CDATA[<p>Gets multiple products by supplying a comma-separated list of IDs in the <code>ids</code> parameter within the <code>WITH</code> clause.</p>]]>
</Desc>
<Code>
<![CDATA[SELECT * FROM Products WITH(ids='1111111111111,2222222222222,3333333333333')]]>
</Code>
</Example>
<Example Group="ODBC" Slug="create-product" Label="Create a product">
<Desc>
<![CDATA[<p>Creates a new product in Shopify. You can specify various attributes such as <code>Title</code>, <code>BodyHtml</code>, <code>Vendor</code>, <code>ProductType</code>, <code>Tags</code>, and <code>Images</code>.</p>
<p>This example also demonstrates how to create variants and options simultaneously by supplying JSON arrays for the <code>Variants</code> and <code>Options</code> columns.</p>]]>
</Desc>
<Code>
<![CDATA[INSERT INTO Products
(
Title
,Status
,BodyHtml
,UrlHandle
,Vendor
,ProductType
,Variants
,Options
,Tags
,Metafields
,Images
)
VALUES
('Ice Cream'
,'draft'
,'<strong>Very yummy ice cream!</strong>'
,'ice-cream'
,'Burton'
,'Snowboard'
,'[
{"price":10.5, "option1":"Chocolate","option2":"Small","sku":"ICE-CHO-SML","inventory_quantity":100},
{"price":10.5, "option1":"Chocolate","option2":"Medium","sku":"ICE-CHO-MED","inventory_quantity":100},
{"price":11.5, "option1":"Vanilla","option2":"Small","sku":"ICE-VNL-MED","inventory_quantity":210}
]'
--you must set variants and use atlease one value from the below list in option1, option2 or option3 in any variant entry else it will fail.
,'[
{"name":"Color","values":["Chocolate","Vanilla"]},
{"name":"Size","values":["Small","Medium"]}
]'
,'["Frozen","Seasonal","Dad''s Fav"]'
--adding metadata (custom fields) - metadata fields must be created before setting it
--below are 2 system fields for SEO Title / SEO Description (you dont need to create them unlike custom metadata). These values appears on SEO section
,'[
{"key":"title_tag","value":"Yum Ice Cream SEO Title", "namespace":"global","type":"single_line_text_field"},
{"key":"description_tag","value":"Yum Ice Cream SEO description", "namespace":"global","type":"single_line_text_field"}
]'
--first image becomes main image if you supply multiple images
--upload multiple images from URL (set "src")
, '[
{"src":"https://zappysys.com/images/tech/google-analytics-logo.png"},
{"src":"https://zappysys.com/images/tech/web-api-logo.png"}
]'
--OR upload multiple local image files (set "attachment")
--, '[
-- {"attachment":"<<c:\temp\icecream_1.png,FUN_FILE_BASE64ENC>>"},
-- {"attachment":"<<c:\temp\icecream_2.png,FUN_FILE_BASE64ENC>>"}
-- ]'
)]]>
</Code>
</Example>
<Example Group="ODBC" Slug="update-product" Label="Update a product">
<Desc>
<![CDATA[<p>Updates an existing product identified by its <code>Id</code>. You can modify attributes like <code>Title</code>, <code>BodyHtml</code>, <code>Status</code>, and <code>Tags</code>.</p>
<p>This example also shows how to update product images and variants by providing JSON data for the <code>Images</code> and <code>Variants</code> columns.</p>]]>
</Desc>
<Code>
<![CDATA[
UPDATE Products
SET Title='Ice Cream - Updated'
, Status='draft' --active, archived, draft
, BodyHtml='<strong>Very yummy ice cream - updated!</strong>'
--first image becomes main image if you supply multiple images
--upload multiple images from URL (set "src")
, Images='[
{"src":"https://zappysys.com/images/tech/google-analytics-logo.png"},
{"src":"https://zappysys.com/images/tech/web-api-logo.png"}
]'
--OR upload multiple local image files (set "attachment")
--, Images='[
-- {"attachment":"<<c:\temp\icecream_1.png,FUN_FILE_BASE64ENC>>"},
-- {"attachment":"<<c:\temp\icecream_2.png,FUN_FILE_BASE64ENC>>"}
-- ]'
, Variants='[
{"price":20.5, "option1":"Chocolate","option2":"Small","sku":"ICE-CHO-SML","inventory_quantity":300},
{"price":21.5, "option1":"Vanilla","option2":"Small","sku":"ICE-VNL-MED","inventory_quantity":110}
]'
, PublishedScope='global' --or web
, Vendor ='IceGlobal'
, ProductType ='Cold Food'
, Tags ='["Frozen","Seasonal","Dad''s Fav"]'
--Update SEO URL
,UrlHandle='ice-cream-51'
--Update SEO title / description
, SEOTitle='Yum Ice Cream SEO Title-update'
, SEODescription='Yum Ice Cream SEO description-update'
Where Id=7348335771748
]]>
</Code>
</Example>
<Example Group="ODBC" Slug="delete-product" Label="Delete a product">
<Desc>
<![CDATA[<p>Deletes an existing product by its <code>Id</code>.</p>]]>
</Desc>
<Code>
<![CDATA[
DELETE FROM Products
Where Id=7348335771748
]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-product-variants" Label="Read product variants">
<Desc>
<![CDATA[<p>Gets a list of all product variants from the <code>ProductVariants</code> table.</p>]]>
</Desc>
<Code>
<![CDATA[SELECT * FROM ProductVariants]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-product-variants-by-product-id" Label="Read product variants by product ID">
<Desc>
<![CDATA[<p>Gets all variants belonging to a specific product. Supply the <code>ProductId</code> in the <code>WHERE</code> clause.</p>]]>
</Desc>
<Code>
<![CDATA[SELECT * FROM ProductVariants Where ProductId='1111111111111']]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-product-variants-by-multiple-product-ids" Label="Read product variants by multiple product IDs">
<Desc>
<![CDATA[<p>Gets variants for multiple products by supplying a comma-separated list of product IDs in the <code>ids</code> parameter within the <code>WITH</code> clause.</p>]]>
</Desc>
<Code>
<![CDATA[SELECT * FROM ProductVariants WITH(ids='1111111111111,2222222222222,3333333333333')]]>
</Code>
</Example>
<Example Group="ODBC" Slug="create-product-variant" Label="Create a product variant">
<Desc>
<![CDATA[<p>Creates a new variant for an existing product. You must provide the <code>ProductId</code> and variant details such as <code>Option1</code>, <code>Price</code>, <code>SKU</code>, and <code>Weight</code>.</p>]]>
</Desc>
<Code>
<![CDATA[
INSERT INTO ProductVariants (ProductId, Option1, Option2,SKU,Price,CompareAtPrice,Position,Weight,WeightUnit,ImageId)
Values(7348335771748, 'Chocolate', 'Medium', 'ICE-CHO-MED', 195.5, 200.5, 3, 20.5, 'lb', 31900013854820)
]]>
</Code>
</Example>
<Example Group="ODBC" Slug="update-product-variant" Label="Update a product variant">
<Desc>
<![CDATA[<p>Updates an existing product variant identified by its <code>Id</code>. You can modify attributes like <code>Price</code>, <code>SKU</code>, <code>Weight</code>, and <code>Option1</code>.</p>]]>
</Desc>
<Code>
<![CDATA[
Update ProductVariants
SET
Option1='Chocolate'
,Option2='Large'
,SKU='ICE-CHO-SML'
,Price=90.45
,CompareAtPrice=100.45
,Position=2
,Weight=10.5
,WeightUnit='lb'
,ImageId=31900013854820 --use available images from Products table
Where Id=42564507992164
]]>
</Code>
</Example>
<Example Group="ODBC" Slug="delete-product-variant" Label="Delete a product variant">
<Desc>
<![CDATA[<p>Deletes an existing product variant by its <code>Id</code>.</p>]]>
</Desc>
<Code>
<![CDATA[
DELETE FROM ProductVariants
WHERE Id=31900013854820
]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-customers" Label="Read customers">
<Desc>
<![CDATA[<p>Gets a list of all customers from the <code>Customers</code> table.</p>]]>
</Desc>
<Code>
<![CDATA[SELECT * FROM Customers]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-customer-by-id" Label="Read a customer by ID">
<Desc>
<![CDATA[<p>Gets a specific customer by their unique <code>Id</code>. Supply the customer ID in the <code>WHERE</code> clause.</p>]]>
</Desc>
<Code>
<![CDATA[SELECT * FROM Customers Where Id=12345]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-multiple-customers-by-ids" Label="Read multiple customers by IDs">
<Desc>
<![CDATA[<p>Gets multiple customers by supplying a comma-separated list of IDs in the <code>ids</code> parameter within the <code>WITH</code> clause.</p>]]>
</Desc>
<Code>
<![CDATA[SELECT * FROM Customers
WITH (ids='1111111111111,2222222222222,3333333333333')]]>
</Code>
</Example>
<Example Group="ODBC" Slug="create-customer" Label="Create a customer">
<Desc>
<![CDATA[<p>Creates a new customer record. You can specify details such as <code>FirstName</code>, <code>LastName</code>, <code>Email</code>, <code>Phone</code>, and address fields like <code>DefaultAddressCity</code> and <code>DefaultAddressCountry</code>.</p>]]>
</Desc>
<Code>
<![CDATA[INSERT INTO Customers
(FirstName, LastName, Email, Phone, Password, PasswordConfirmation, SendWelcomeEmail, MultipassIdentifier, Note, Tags, TaxExempt, TaxExemptions, DefaultAddressFirstName, DefaultAddressLastName, DefaultAddressCompany, DefaultAddressLine1, DefaultAddressLine2, DefaultAddressCity, DefaultAddressProvince, DefaultAddressCountry, DefaultAddressZip, DefaultAddressPhone, DefaultAddressName, DefaultAddressProvinceCode, DefaultAddressCountryCode, DefaultAddressCountryName)
VALUES
('John', 'Doe', 'john.doe@gmail.com', '7705553543', 'myNewP@ssword123', 'myNewP@ssword123', 1, null, 'This is a note on the customer account.', null, 0, null, 'John', 'Doe', 'John Doe Corp.', '123 Main Street', null, 'Atlanta', 'Georgia', 'United States', '30135', '7705553543', 'John Doe', 'GA', 'US', 'United States')]]>
</Code>
</Example>
<Example Group="ODBC" Slug="create-customer-using-raw-json-body" Label="Create a customer using raw JSON body">
<Desc>
<![CDATA[<p>Creates a customer by supplying the entire JSON body in the special <code>_rawdoc_</code> column. This is useful for setting attributes or nested structures that are not mapped to specific input columns.</p>]]>
</Desc>
<Code>
<![CDATA[
INSERT INTO Customers(_rawdoc_)
VALUES('{"customer":{"first_name":"John","last_name":"Doe","email":"a.doe@gmail.com","phone":"7705553111"}}')
]]>
</Code>
</Example>
<Example Group="ODBC" Slug="bulk-create-customers-using-sql-server-data" Label="Bulk create customers using SQL Server data">
<Desc>
<![CDATA[<p>Bulk creates customers by reading data from an external SQL Server database using the <code>SOURCE</code> clause. The column names in the source query must match the input columns of the <code>Customers</code> table (e.g. <code>FirstName</code>, <code>LastName</code>, <code>Email</code>).</p>]]>
</Desc>
<Code>
<![CDATA[
INSERT INTO Customers(FirstName, LastName, Email, Phone)
SOURCE('MSSQL'
,'Data Source=localhost;Initial Catalog=tempdb;Integrated Security=true'
,'select ''John'' as FirstName, ''Doe'' as LastName, ''a.doe@gmail.com'' as Email, ''7705553111'' as Phone'
)
]]>
</Code>
</Example>
<Example Group="ODBC" Slug="bulk-create-customers-using-raw-json-body-from-sql-server" Label="Bulk create customers using raw JSON body from SQL Server">
<Desc>
<![CDATA[<p>Bulk creates customers by reading raw JSON bodies from an external SQL Server database. The source query should return a column named <code>_rawdoc_</code> containing the JSON for each customer.</p>]]>
</Desc>
<Code>
<![CDATA[
INSERT INTO Customers
SOURCE('MSSQL'
,'Data Source=localhost;Initial Catalog=tempdb;Integrated Security=true'
,'select ''{"customer":{"first_name":"Cust1","last_name":"Doe1","email":"a.doe@gmail.com","phone":"7705553111"}}'' as _rawdoc_
UNION
select ''{"customer":{"first_name":"Cust2","last_name":"Doe2","email":"b.doe@gmail.com","phone":"7705553222"}}'' as _rawdoc_
'
)
]]>
</Code>
</Example>
<Example Group="ODBC" Slug="update-customer" Label="Update an existing customer record">
<Code>
<![CDATA[UPDATE Customers SET
Email = 'john.doe2@gmail.com',
Phone = '7705553445',
Note= 'This is a new note that needed to be added later.'
WHERE Id=1111111111111]]>
</Code>
</Example>
<Example Group="ODBC" Slug="update-customer-using-raw-json-body" Label="Update a customer using raw JSON body">
<Desc>
<![CDATA[<p>Updates a customer by supplying the entire JSON body in the special <code>_rawdoc_</code> column. This allows updating attributes not exposed as standard columns.</p>]]>
</Desc>
<Code>
<![CDATA[UPDATE Customers
SET _rawdoc_='{"customer":{"first_name":"John_new","last_name":"Doe_new","email":"a_new.doe@gmail.com","phone":"7705553111"}}'
WHERE Id=1111111111111]]>
</Code>
</Example>
<Example Group="ODBC" Slug="update-order" Label="Update an order">
<Desc>
<![CDATA[<p>Updates an existing order record identified by its <code>Id</code>. You can modify attributes like <code>FulfillmentStatus</code>, <code>Phone</code>, and <code>Note</code>.</p>]]>
</Desc>
<Code>
<![CDATA[UPDATE Orders
SET FulfillmentStatus = 'john.doe5@gmail.com',
Phone = '7705553111',
Note= 'This is a new note that needed to be added to the order later.'
WHERE Id=1111111111111]]>
</Code>
</Example>
<Example Group="ODBC" Slug="bulk-update-customers-using-sql-server-data" Label="Bulk update customers using SQL Server data">
<Desc>
<![CDATA[<p>Bulk updates customers by reading data from an external SQL Server database. The source query must return the <code>Id</code> of the customer to update along with the fields to change (e.g. <code>Email</code>, <code>Note</code>).</p>]]>
</Desc>
<Code>
<![CDATA[
UPDATE Customers
SOURCE('MSSQL'
,'Data Source=localhost;Initial Catalog=tempdb;Integrated Security=true'
,'select 111 as Id, ''a@a.com''Email , ''SOLD'' as Note,0 as [$$ContineOn404Error]
UNION
select 222 as Id, ''b@b.com''Email , ''SOLD'' as Note,0 as [$$ContineOn404Error]
'
)
]]>
</Code>
</Example>
<Example Group="ODBC" Slug="delete-customer" Label="Delete a customer">
<Desc>
<![CDATA[<p>Deletes a customer record by its <code>Id</code>.</p>]]>
</Desc>
<Code>
<![CDATA[DELETE Customers WHERE Id=1111111111111]]>
</Code>
</Example>
<Example Group="ODBC" Slug="delete-customer-throw-error-if-not-found" Label="Delete a customer (throw error if not found)">
<Desc>
<![CDATA[<p>Deletes a customer record by ID. By default, no error is thrown if the ID is not found; set <code>ContineOn404Error=0</code> in the <code>WITH</code> clause to force an error in that case.</p>]]>
</Desc>
<Code>
<![CDATA[DELETE Customers
WHERE Id=1111111111111
WITH(ContineOn404Error=0)]]>
</Code>
</Example>
<Example Group="ODBC" Slug="bulk-delete-customers-using-ids-from-sql-server" Label="Bulk delete customers using IDs from SQL Server">
<Desc>
<![CDATA[<p>Bulk deletes customers by reading <code>Id</code> values from an external SQL Server database. You can also pass <code>$$ContineOn404Error</code> as a column to control error handling per row.</p>]]>
</Desc>
<Code>
<![CDATA[
DELETE FROM Customers
SOURCE('MSSQL'
,'Data Source=localhost;Initial Catalog=tempdb;Integrated Security=true'
,'select 111 as Id,1 as [$$ContineOn404Error]
UNION
select 222 as Id,1 as [$$ContineOn404Error]
'
)
]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-orders" Label="Read orders">
<Desc>
<![CDATA[<p>Gets a list of all orders from the <code>Orders</code> table.</p>]]>
</Desc>
<Code>
<![CDATA[SELECT * FROM Orders]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-open-orders" Label="Read open orders">
<Desc>
<![CDATA[<p>Gets a list of orders filtered by status. Use the <code>Status</code> parameter in the <code>WITH</code> clause (e.g. 'open', 'closed', 'cancelled', 'any').</p>]]>
</Desc>
<Code>
<![CDATA[SELECT * FROM Orders WITH (Status='open') --also try 'any', 'open', 'closed', 'cancelled' ]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-order-by-id" Label="Read an order by ID">
<Desc>
<![CDATA[<p>Gets a specific order by its unique <code>Id</code>. Supply the order ID in the <code>WHERE</code> clause.</p>]]>
</Desc>
<Code>
<![CDATA[SELECT * FROM Orders Where Id=1111111111111]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-multiple-orders-by-ids" Label="Read multiple orders by IDs">
<Desc>
<![CDATA[<p>Gets multiple orders by supplying a comma-separated list of IDs in the <code>ids</code> parameter within the <code>WITH</code> clause.</p>]]>
</Desc>
<Code>
<![CDATA[SELECT * FROM Orders WITH(ids='1111111111111,2222222222222,3333333333333')]]>
</Code>
</Example>
<Example Group="ODBC" Slug="delete-order" Label="Delete an order">
<Desc>
<![CDATA[<p>Deletes an order record by its <code>Id</code>.</p>]]>
</Desc>
<Code>
<![CDATA[DELETE Orders WHERE Id=1111111111111]]>
</Code>
</Example>
<Example Group="ODBC" Slug="delete-order-throw-error-if-not-found" Label="Delete an order (throw error if not found)">
<Desc>
<![CDATA[<p>Deletes an order record by ID. Set <code>ContineOn404Error=0</code> in the <code>WITH</code> clause to throw an error if the order ID is not found.</p>]]>
</Desc>
<Code>
<![CDATA[DELETE Orders WHERE Id=1111111111111 (ContineOn404Error=0)]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-order-line-items" Label="Read order line items">
<Desc>
<![CDATA[<p>Gets line items for all orders from the <code>OrderItems</code> table.</p>]]>
</Desc>
<Code>
<![CDATA[SELECT * FROM OrderItems]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-order-line-items-by-order-id" Label="Read order line items by order ID">
<Desc>
<![CDATA[<p>Gets line items for a specific order. Supply the <code>OrderId</code> in the <code>WHERE</code> clause.</p>]]>
</Desc>
<Code>
<![CDATA[SELECT * FROM OrderItems Where OrderId=1111111111111]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-order-line-items-by-multiple-order-ids" Label="Read order line items by multiple order IDs">
<Desc>
<![CDATA[<p>Gets line items for multiple orders by supplying a comma-separated list of order IDs in the <code>ids</code> parameter within the <code>WITH</code> clause.</p>]]>
</Desc>
<Code>
<![CDATA[SELECT * FROM OrderItems WITH(ids='1111111111111,2222222222222,3333333333333')]]>
</Code>
</Example>
<Example Group="ODBC" Slug="create-order" Label="Create an order">
<Desc>
<![CDATA[<p>Creates a new order record. You can specify billing/shipping addresses, customer details, and a JSON array of <code>LineItems</code> containing product details.</p>]]>
</Desc>
<Code>
<![CDATA[INSERT INTO Orders (BillingAddressLine1, BillingAddressLine2, BillingAddressCity, BillingAddressCompany, BillingAddressCountry, BillingAddressFirstName, BillingAddressLastName, BillingAddressPhone, BillingAddressProvince, BillingAddressZip, BillingAddressName, BillingAddressProvinceCode, BillingAddressCountryCode, BuyerAcceptsMarketing, LineItems, CustomerId, Email, EstimatedTaxes, FinancialStatus, FulfillmentStatus, Name, Note, Phone, Currency, PresentmentCurrency, ProcessedAt, ReferringSite, ShippingAddressLine1, ShippingAddressLine2, ShippingAddressCity, ShippingAddressCompany, ShippingAddressCountry, ShippingAddressFirstName, ShippingAddressLastName, ShippingAddressPhone, ShippingAddressProvince, ShippingAddressZip, ShippingAddressName, ShippingAddressProvinceCode, ShippingAddressCountryCode, Tags, TaxesIncluded, TotalWeight, SendReceipt, SendFulfillmentReceipt)
VALUES
('123 Main Street', 'Suite #54', 'Memphis', 'Acme, Inc.', 'United States', 'John', 'Doe', '4045559876', 'Tennessee', '38101', 'John Doe', 'GA', 'US', 1, '[{"title":"Super Strong Glue","price":24.99,"grams":"100","quantity":1,"tax_lines":[{"price":13.5,"rate":0.06,"title":"State tax"}]}]', 5945175474276, 'johndoe2@gmail.com', 1, 'pending', null, '#40294', 'This order needs to be expedited, so register it in the system as so.', '4045559876', 'USD', 'USD', '2023-02-27T11:00:00', 'https://referringsite.com', '123 Main Street', 'Suite #54', 'Memphis', 'Acme, Inc.', 'United States', 'John', 'Doe', '4045559876', 'Tennessee', '38101', 'John Doe', 'GA', 'US', NULL, 1, 20, 1, 1)]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-inventory-levels" Label="Read inventory levels">
<Desc>
<![CDATA[<p>Gets inventory levels for all locations. If you encounter a "URL Too Long" error (due to API limits), manually supply a list of <code>location_ids</code> in the <code>WITH</code> clause.</p>]]>
</Desc>
<Code>
<![CDATA[select * from InventoryLevels
--WITH(location_ids='43512280416356, 44648752676964, ..... upto 300 to 500 more - until you hit URL limit error')
]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-inventory-levels-by-inventory-item-ids" Label="Read inventory levels by inventory item IDs">
<Desc>
<![CDATA[<p>Gets inventory levels for specific inventory items. Supply a comma-separated list of IDs in the <code>inventory_item_ids</code> parameter within the <code>WITH</code> clause.</p>]]>
</Desc>
<Code>
<![CDATA[select * from InventoryLevels WITH (inventory_item_ids='43512280416356, 44648752676964')]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-inventory-levels-by-location-ids" Label="Read inventory levels by location IDs">
<Desc>
<![CDATA[<p>Gets inventory levels for specific locations (e.g. physical store, POS). Supply a comma-separated list of IDs in the <code>location_ids</code> parameter within the <code>WITH</code> clause.</p>]]>
</Desc>
<Code>
<![CDATA[select * from InventoryLevels WITH (location_ids='43512280416356, 44648752676964')]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-inventory-levels-by-inventory-and-location-ids" Label="Read inventory levels by inventory and location IDs">
<Desc>
<![CDATA[<p>Gets inventory levels for specific inventory items at specific locations by supplying both <code>inventory_item_ids</code> and <code>location_ids</code> in the <code>WITH</code> clause.</p>]]>
</Desc>
<Code>
<![CDATA[select * from InventoryLevels WITH (inventory_item_ids='43512280416356, 44648752676964' , location_ids='111100034, 111100055')]]>
</Code>
</Example>
<Example Group="ODBC" Slug="adjust-inventory-level" Label="Adjust inventory level">
<Desc>
<![CDATA[<p>Adjusts the inventory level of an item at a single location. Use <code>Action='Adjust'</code> in the <code>WITH</code> clause and provide the <code>AvailableAdjustment</code> amount (positive or negative).</p>]]>
</Desc>
<Code>
<![CDATA[
UPDATE InventoryLevels
SET AvailableAdjustment=488,
LocationId=25801916516
WHERE InventoryItemId=43512276942948
WITH(
Action='Adjust' --or set or connect
, ContineOn404Error=0
)
]]>
</Code>
</Example>
<Example Group="ODBC" Slug="set-inventory-level" Label="Set inventory level">
<Desc>
<![CDATA[<p>Sets the absolute inventory level for an item at a location. Use <code>Action='set'</code> in the <code>WITH</code> clause and provide the <code>Available</code> quantity. If the location is not connected, it will be automatically connected.</p>]]>
</Desc>
<Code>
<![CDATA[
UPDATE InventoryLevels
SET LocationId=25801916516
,Available=488
WHERE InventoryItemId=43512276942948
WITH(
Action='set' --or adjust or connect
, ContineOn404Error=0
)
--OR--
/*
INSERT INTO InventoryLevels (InventoryItemId,LocationId,Available)
VALUES(43512276942948, 25801916516, 488)
--WITH( ContineOn404Error=0 )
*/
]]>
</Code>
</Example>
<Example Group="ODBC" Slug="connect-inventory-item-to-location" Label="Connect inventory item to location">
<Desc>
<![CDATA[<p>Connects an inventory item to a location by creating an inventory level record. Use <code>Action='connect'</code> in the <code>WITH</code> clause.</p>]]>
</Desc>
<Code>
<![CDATA[
UPDATE InventoryLevels
SET LocationId=25801916516
WHERE InventoryItemId=43512276942948
WITH(
Action='connect' --or adjust or set
, ContineOn404Error=0
)
]]>
</Code>
</Example>
<Example Group="ODBC" Slug="set-inventory-level-generic-api" Label="Set inventory level (generic API)">
<Desc>
<![CDATA[<p>Sets inventory level using a generic API call to the <code>/inventory_levels/set.json</code> endpoint. This method provides direct control over the API request body.</p>]]>
</Desc>
<Code>
<![CDATA[ SELECT * FROM generic_request
WITH (
URL='/inventory_levels/set.json'
--OR Use full URL
--URL='https://MY-STORE-HERE.myshopify.com/admin/api/2023-01/inventory_levels/set.json'
, RequestMethod='POST'
, Body='{"location_id":25801916516,"inventory_item_id":43512280416356,"available":42}' --needed if you call PUT, POST
, Filter='$.inventory_level' --change table name here
, Headers='Content-Type: application/json'
, Meta='inventory_item_id:long; location_id:long; available:int; updated_at: datetime'
) ]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-inventory-item-by-id" Label="Read an inventory item by ID">
<Desc>
<![CDATA[<p>Gets a specific inventory item by its unique <code>Id</code>. The Inventory Item ID can be found in the <code>ProductVariants</code> table.</p>]]>
</Desc>
<Code>
<![CDATA[select * from InventoryItems Where Id=43512280416356]]>
</Code>
</Example>
<Example Group="ODBC" Slug="read-multiple-inventory-items-by-ids" Label="Read multiple inventory items by IDs">
<Desc>
<![CDATA[<p>Gets multiple inventory items by supplying a comma-separated list of IDs in the <code>Ids</code> parameter within the <code>WITH</code> clause.</p>]]>
</Desc>
<Code>
<![CDATA[select * from InventoryItems WITH(Ids='43512280416356, 43512280449124')]]>
</Code>
</Example>
<Example Group="ODBC" Slug="update-inventory-item" Label="Update an inventory item">
<Desc>
<![CDATA[<p>Updates an existing inventory item identified by its <code>Id</code>. You can modify attributes like <code>Cost</code>.</p>]]>
</Desc>
<Code>
<![CDATA[UPDATE InventoryItems
SET Cost='25.55'
WHERE Id=43512280416356]]>
</Code>
</Example>
<Example Group="ODBC" Slug="execute-graphql-query" Label="Execute GraphQL query">
<Desc>
<![CDATA[<p>Executes a GraphQL query against the Shopify Admin API using the <code>generic_request</code> table. This is useful for accessing data or performing operations not available via the standard REST API endpoints.</p>]]>
</Desc>
<Code>
<![CDATA[
SELECT * FROM generic_request
WITH (
URL='/graphql.json'
--OR Use full URL
--URL='https://MY-STORE-HERE.myshopify.com/admin/api/2023-10/graphql.json'
, RequestMethod='POST'
, Filter='$.data.products.nodes' --change table name here e.g. products
, Headers='Content-Type: application/json'
--change table name and columns below here e.g. products... and id, title etc
-- change pagesize if needed (i.e. max 250)
, Body='{
"query" : "<<{
products(first: 250 [$tag$])
{
nodes {
id
title
createdAt
}
pageInfo {
hasNextPage
endCursor
}
}
},FUN_JSONENC>>"
}'
, NextUrlAttributeOrExpr='$.data.products.pageInfo.endCursor' --change table name
, NextUrlEndIndicator='false'
, StopIndicatorAttributeOrExpr='$.data.products.pageInfo.hasNextPage' --change table name
, UseConnection='True'
, EnablePageTokenForBody='True'
, HasDifferentNextPageInfo='True'
, NextPageBodyPart='after: \"[$pagetoken$]\"'
--Use metadata to speed up execution. To get Metadata Run query without Meta clause.
-- Then click View Metadata button found in Botttom Result Grid Toolbar. Get Compact format and paste below
--, Meta='id:String(255); title:String(255); createdAt:DateTime; '
)
]]>
</Code>
</Example>
<Example Group="ODBC" Slug="call-generic-api-request" Label="Call generic API request">
<Desc>
<![CDATA[<p>Calls a generic Shopify REST API endpoint (e.g. <code>/products.json</code>) using the <code>generic_request</code> table. This allows accessing any REST endpoint by specifying the <code>URL</code>, <code>RequestMethod</code>, and other parameters.</p>]]>
</Desc>
<Code>
<![CDATA[
SELECT * FROM generic_request
WITH (
URL='/products.json'
--OR Use full URL
--URL='https://MY-STORE-HERE.myshopify.com/admin/api/2023-01/products.json'
, RequestMethod='GET'
, Body='{}' --needed if you call PUT, POST
, Filter='$.products[*]' --change table name here
, Headers='Content-Type: application/json'
, PagingMode='ByResponseHeaderRfc5988'
--Use metadata to speed up execution. To get Metadata Run query without Meta clause.
--Then click View Metadata button found in Botttom Result Grid Toolbar. Get Compact format and paste below
, Meta='id:String(255); title:String(255); created_at:DateTime; '
)
]]>
</Code>
</Example>
</Examples>
</ApiConfig>