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" Lable="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" Label="Get list of products">
<Code>
<![CDATA[SELECT * FROM Products]]>
</Code>
</Example>
<Example Group="ODBC" Label="Get a specific product by its ID">
<Code>
<![CDATA[SELECT * FROM Products WITH Id=1111111111111]]>
</Code>
</Example>
<Example Group="ODBC" Label="Get multiple specific products by their IDs">
<Code>
<![CDATA[SELECT * FROM Products WITH(ids='1111111111111,2222222222222,3333333333333')]]>
</Code>
</Example>
<Example Group="ODBC" Label="Create a new product" Desc="This example shows how to insert a new Shopify product. It also sets Variants" >
<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" Label="Update an existing product" Desc="This example shows how to update an existing product. Update product title, description (body html), images, variants and more" >
<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" Label="Delete an existing product" Desc="This example shows how to delete an existing product." >
<Code>
<![CDATA[
DELETE FROM Products
Where Id=7348335771748
]]>
</Code>
</Example>
<Example Group="ODBC" Label="Get list of all product variants">
<Code>
<![CDATA[SELECT * FROM ProductVariants]]>
</Code>
</Example>
<Example Group="ODBC" Label="Get all product variants by a specific product ID">
<Code>
<![CDATA[SELECT * FROM ProductVariants Where ProductId='1111111111111']]>
</Code>
</Example>
<Example Group="ODBC" Label="Get all product variants by multiple specific product IDs">
<Code>
<![CDATA[SELECT * FROM ProductVariants WITH(ids='1111111111111,2222222222222,3333333333333')]]>
</Code>
</Example>
<Example Group="ODBC" Label="Create a new product variant" Desc="This example shows how to create a new product variant." >
<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" Label="Update product variant price, image, weight" Desc="This example shows how to update product variant price, image, weight and other attributes." >
<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" Label="Delete an existing product variant" Desc="This example shows how to delete an existing product variant by Variant Id." >
<Code>
<![CDATA[
DELETE FROM ProductVariants
WHERE Id=31900013854820
]]>
</Code>
</Example>
<Example Group="ODBC" Label="Get list of customers">
<Code>
<![CDATA[SELECT * FROM Customers]]>
</Code>
</Example>
<Example Group="ODBC" Label="Get a specific customer by its ID">
<Code>
<![CDATA[SELECT * FROM Customers Where Id=12345]]>
</Code>
</Example>
<Example Group="ODBC" Label="Get multiple specific customers by their IDs">
<Code>
<![CDATA[SELECT * FROM Customers
WITH (ids='1111111111111,2222222222222,3333333333333')]]>
</Code>
</Example>
<Example Group="ODBC" Label="Insert a new customer record">
<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" Label="Insert a new customer record using RAW JSON Body (special column _rawdoc_)" Desc="Sometimes you have need to INSERT or UPDATE certain arrtibutes for which input columns not defined. In this case you can supply entire BODY JSON as input using special column name _rawdoc_">
<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" Label="Insert customers in BULK (read from external MS SQL database)" Desc="In this example we are reading customer Name, Email, Phone from external source system (Microsoft SQL Server) and sending it to Shopify. Your column name must match with Input columns of the table. See other BULK examples to learn more about reading from other systems using ODBC or OLEDB connection.">
<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" Label="Insert customers in BULK using RAW JSON Body (read from external MS SQL database)" Desc="In this example we are reading customer Name, Email, Phone from external source system (Microsoft SQL Server) and sending it to Shopify. Your column name must match with Input columns of the table. See other BULK examples to learn more about reading from other systems using ODBC or OLEDB connection.">
<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" 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" Label="Update an existing customer record using RAW JSON Body (special column _rawdoc_)" Desc="Sometimes you have need to INSERT or UPDATE certain arrtibutes for which input columns not defined. In this case you can supply entire BODY JSON as input using special column name _rawdoc_">
<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" Label="Update an existing customer record">
<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" Label="Update customers in BULK (read from external MS SQL database)" Desc="In this example we are reading customer Ids, Email, Notes from external source system (Microsoft SQL Server) and sending it to Shopify. Your column name must match with Input columns of the table you trying to update. See other BULK examples to learn more about reading from other systems using ODBC or OLEDB connection.">
<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" Label="Delete a customer record">
<Code>
<![CDATA[DELETE Customers WHERE Id=1111111111111]]>
</Code>
</Example>
<Example Group="ODBC" Label="Delete a customer record (throw error if not found)">
<Code>
<![CDATA[DELETE Customers WHERE Id=1111111111111 (ContineOn404Error=0)]]>
</Code>
</Example>
<Example Group="ODBC" Label="Delete customers in BULK (read Id from external MS SQL database)" Desc="In this example we are reading customer Ids from external source system (Microsoft SQL Server) and sending it to Shopify. See other BULK examples to learn more about reading from other systems using ODBC or OLEDB connection.">
<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" Label="Get all orders">
<Code>
<![CDATA[SELECT * FROM Orders]]>
</Code>
</Example>
<Example Group="ODBC" Label="Get open orders">
<Code>
<![CDATA[SELECT * FROM Orders WITH (Status='open') --also try 'any', 'open', 'closed', 'cancelled' ]]>
</Code>
</Example>
<Example Group="ODBC" Label="Get a specific order by its ID">
<Code>
<![CDATA[SELECT * FROM Orders Where Id=1111111111111]]>
</Code>
</Example>
<Example Group="ODBC" Label="Get multiple specific orders by their IDs">
<Code>
<![CDATA[SELECT * FROM Orders WITH(ids='1111111111111,2222222222222,3333333333333')]]>
</Code>
</Example>
<Example Group="ODBC" Label="Delete an order record">
<Code>
<![CDATA[DELETE Orders WHERE Id=1111111111111]]>
</Code>
</Example>
<Example Group="ODBC" Label="Delete an order record (throw error if not found)">
<Code>
<![CDATA[DELETE Orders WHERE Id=1111111111111 (ContineOn404Error=0)]]>
</Code>
</Example>
<Example Group="ODBC" Label="Get line items for all orders" >
<Code>
<![CDATA[SELECT * FROM OrderItems]]>
</Code>
</Example>
<Example Group="ODBC" Label="Get line items for a specific order by the order ID" >
<Code>
<![CDATA[SELECT * FROM OrderItems Where OrderId=1111111111111]]>
</Code>
</Example>
<Example Group="ODBC" Label="Get line items for multiple specific orders by their order IDs" >
<Code>
<![CDATA[SELECT * FROM OrderItems WITH(ids='1111111111111,2222222222222,3333333333333')]]>
</Code>
</Example>
<Example Group="ODBC" Label="Insert a new order record">
<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" Label="Get inventory levels for all locations" Desc="Query inventory levels for all locations. If you get URL Too long error then manually supply location ids in the query (see other example)">
<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" Label="Get inventory level for multiple item inventory id(s)" Desc="If you get URL Too long error then reduce inventory_item ids in the query (approx 300-400 ids per call allowed)">
<Code>
<![CDATA[select * from InventoryLevels WITH (inventory_item_ids='43512280416356, 44648752676964')]]>
</Code>
</Example>
<Example Group="ODBC" Label="Get inventory level for specific location id(s) (i.e. Physcical Store / POS )" Desc="If you get URL Too long error then reduce location ids in the query (approx 300-400 ids per call allowed)">
<Code>
<![CDATA[select * from InventoryLevels WITH (location_ids='43512280416356, 44648752676964')]]>
</Code>
</Example>
<Example Group="ODBC" Label="Get inventory level for specific inventory / location id(s)" Desc="">
<Code>
<![CDATA[select * from InventoryLevels WITH (inventory_item_ids='43512280416356, 44648752676964' , location_ids='111100034, 111100055')]]>
</Code>
</Example>
<Example Group="ODBC" Label="Adjust inventory level for a specific inventory / location id(s)" Desc="Adjusts the inventory level of an inventory item at a single location">
<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" Label="Set / insert inventory with a specific inventory item and location id" Desc="Sets the inventory level for an inventory item at a location. If the specified location is not connected, it will be automatically connected first. When connecting inventory items to locations">
<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" Label="Connects an inventory item to a location" Desc="Connects an inventory item to a location by creating an inventory level at that location.">
<Code>
<![CDATA[
UPDATE InventoryLevels
SET LocationId=25801916516
WHERE InventoryItemId=43512276942948
WITH(
Action='connect' --or adjust or set
, ContineOn404Error=0
)
]]>
</Code>
</Example>
<Example Group="ODBC" Label="Set inventory with a specific inventory item and location id - generic API" Desc="If you get URL Too long error then reduce location ids in the query (approx 300-400 ids per call allowed)">
<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" Label="Get inventory item by id" Desc="You can find Inventory Item Id in ProductVariants table. ProductVariant has One-to-One mapping with InventoryItems table">
<Code>
<![CDATA[select * from InventoryItems Where Id=43512280416356]]>
</Code>
</Example>
<Example Group="ODBC" Label="Get inventory item by id" Desc="You can find Inventory Item Id in ProductVariants table. ProductVariant has One-to-One mapping with InventoryItems table">
<Code>
<![CDATA[select * from InventoryItems Where Id=43512280416356]]>
</Code>
</Example>
<Example Group="ODBC" Label="Get inventory items by multiple Ids" Desc="Query multiple InventoryItems by Ids (Comma separated list). You can find Inventory Item Id in ProductVariants table. ProductVariant has One-to-One mapping with InventoryItems table">
<Code>
<![CDATA[select * from InventoryItems WITH(Ids='43512280416356, 43512280449124')]]>
</Code>
</Example>
<Example Group="ODBC" Label="Update an existing inventory item cost and other attributes" Desc="">
<Code>
<![CDATA[UPDATE InventoryItems
SET Cost='25.55'
WHERE Id=43512280416356]]>
</Code>
</Example>
<Example Group="ODBC" Label="Generic Query using Shopify admin GraphQL API" Desc="This example shows how to invoke GraphQL query for very generic data read/write. For more information on GraphQL API visit this link https://shopify.dev/docs/api/admin/getting-started" HelpLink="https://shopify.dev/docs/api/admin/getting-started">
<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" Label="Generic Query using Shopify admin REST API" Desc="This example shows how to invoke pretty much any REST API for generic data read/write. For more information on REST API visit this link https://shopify.dev/docs/api/admin/getting-started" HelpLink="https://shopify.dev/docs/api/admin/getting-started">
<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>