Shopify Connector
Documentation
Version: 1
Documentation

Shopify Connector - Source Code


<?xml version="1.0" encoding="utf-8"?>
<ApiConfig Name="Shopify"
           Desc="Shopify Connector can be used to integrate Shopify REST API in your App / BI Tools. You can read/write data about Customers, Orders, OrderItems, Products and more."
           Slug="shopify-connector"
           Id="705d3486-142a-4b38-a6ad-9dd886ff2a89"
           Logo="data:image/png;base64,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"
           Version="1"
           EngineVersion="11">
  <VersionHistory>
    <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 2023-01" Url="https://[$Subdomain$].myshopify.com/admin/api/2023-01" />
  </ServiceUrls>

  <Auths>
    <Auth
		Name="AccessToken" Label="Access Token" 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[Setting up your Shopify store account for API access involves creating an "app" for your store.
The "app" is installed into the Shopify account and configured with the appropriate access levels for your data integration needs.
<ol>
  <li>Visit <a target="_blank" href="https://accounts.shopify.com">https://accounts.shopify.com</a> and log into your Shopify store account.</li>
  <li>After logging in, select the store to connect to with the ZappySys Shopify Connector.</li>
  <li>Select the <b>Settings</b> link (usually in the lower-left corner) to launch the <b>Settings</b> screen.</li>
  <li>On the left menu panel, select <b>Apps and sales channels</b>.</li>
  <li>On the <b>Apps and sales channels</b> screen, select <b>Develop apps</b> (near the top of the screen).</li>
  <li>On the <b>App development</b> screen, select <b>Create an app</b> (near the upper-right corner of the screen).</li>
  <li>Give the app that will be used to provide Shopify API access a name, select the appropriate developer from the <b>App developer</b> drop-down, and then select <b>Create app</b>.</li>
  <li>Select <b>Configure Admin API scopes</b> and the <b>Admin API access scopes</b> screen will appear.</li>
  <li>
    In the <b>Admin API access scopes</b> screen, select every access scope checkbox that applies to your integration needs. It is generally not a good idea to allow more access than what is needed in order to fulfill your integration needs.
    <ul>
      <li>To enable the reading of customer information, select <b>read_customers</b>.</li>
      <li>To enable the writing of customer information, select <b>write_customers</b>.</li>
      <li>To enable the reading of inventory item information, select <b>read_inventory</b>.</li>
      <li>To enable the writing of inventory item information, select <b>write_inventory</b>.</li>
      <li>To enable the reading of order information, select <b>read_orders</b>.</li>
      <li>To enable the writing of order information, select <b>write_orders</b>.</li>
    </ul>
    After selecting all applicable access scopes, select <b>Save</b>.
  </li>
  <li>Install the app by selecting the <b>Install app</b> button (near the upper-right corner of the screen). If any other prompts for installation appears, select <b>Install</b>.</li>
  <li>
    After the app is installed, the Admin API access token will be available in the <b>API credentials</b> tab of the page. It can only be revealed <b><i>ONCE</i></b> for security purposes.
    Select <b>Reveal token once</b> to show the new Admin API access token.
    <b><i><span style="color: #aa0000;">SAVE THE ADMIN API ACCESS TOKEN IN A SAFE PLACE WHERE YOU HAVE IT CONFIDENTIAL, SECURE, AND NOT ACCESSIBLE TO UNAUTHORIZED INDIVIDUALS.</span></i></b>
    The Admin API access token will be needed in this process later.
  </li>
  <li>
    In the ZappySys connector <b>API</b> screen, enter the subdomain of your Shopify store into the <b>Subdomain</b> parameter textbox. For example, if your Shopify URL is https://acmetoys.myshopify.com,
    the subdomain would be <u>acmetoys</u>.
  </li>
  <li>
    In the same screen, enter the Admin API access token saved from step 11 above into the <b>Admin API Access Token</b> textbox. In order to edit the text in this field,
    select the ellipses (...) button that appears when the textbox is clicked and edit the access token with the dialog box that appears.
  </li>
  <li>Select the <b>Test Connection</b> button at the bottom of the window to verify proper connectivity with the Shopify store.</li>
  <li>If the connection test succeeds, select <b>OK</b>.</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>
  </Auths>


  <Template>
    
    <!-- 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." />
	 
	 
	<EndPoint Name="ExtraFeatures">	
		<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" />
	</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">
      <Params>
        <Param Name="since_id" Label="Since Customer Id" Type="Query" Desc="Restrict results to those created after the specified customer ID." />
        <Param Name="created_at_max" Label="Created Before" Type="Query"
            Desc="Restrict results to customers 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)"
            Value="" Options="today;yesterday;monthstart;monthend;yearstart;yearend;weekstart;weekend;yearstart-1y;yearend-1y;monthstart-1d;monthend+1d"
            ValueTemplate="&lt;&lt;{$value$}||yyyy-MM-ddTHH:mm:ss,FUN_TO_DATETIME&gt;&gt;"
            />
        <Param Name="created_at_min" Label="Created After" Type="Query"
            Desc="Restrict results to customers 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)"
            Value="" Options="today;yesterday;monthstart;monthend;yearstart;yearend;weekstart;weekend;yearstart-1y;yearend-1y;monthstart-1d;monthend+1d"
            ValueTemplate="&lt;&lt;{$value$}||yyyy-MM-ddTHH:mm:ss,FUN_TO_DATETIME&gt;&gt;"
            />
        <Param Name="updated_at_max" Label="Updated Before" Type="Query"
            Desc="Restrict results to customers 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)"
            Value="" Options="today;yesterday;monthstart;monthend;yearstart;yearend;weekstart;weekend;yearstart-1y;yearend-1y;monthstart-1d;monthend+1d"
            ValueTemplate="&lt;&lt;{$value$}||yyyy-MM-ddTHH:mm:ss,FUN_TO_DATETIME&gt;&gt;"
            />
        <Param Name="updated_at_min" Label="Updated After" Type="Query"
            Desc="Restrict results to customers 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)"
            Value="" Options="today;yesterday;monthstart;monthend;yearstart;yearend;weekstart;weekend;yearstart-1y;yearend-1y;monthstart-1d;monthend+1d"
            ValueTemplate="&lt;&lt;{$value$}||yyyy-MM-ddTHH:mm:ss,FUN_TO_DATETIME&gt;&gt;"
            />
      </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="&quot;tag1&quot;, &quot;tag2&quot;" />
        <Column Name="TaxExempt" DataType="DT_BOOL" />
        <Column Name="TaxExemptions" DataType="DT_WSTR" Length="4000" Raw="True" Example="[&quot;CA_STATUS_CARD_EXEMPTION&quot;, &quot;CA_BC_RESELLER_EXEMPTION&quot;]" />
        <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_WSTR" Length="4000" 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>

    <!-- 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="&lt;&lt;{$value$}||yyyy-MM-dd,FUN_TO_DATETIME&gt;&gt;" ></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="&lt;&lt;{$value$}||yyyy-MM-dd,FUN_TO_DATETIME&gt;&gt;" ></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="&lt;&lt;{$value$}||yyyy-MM-dd,FUN_TO_DATETIME&gt;&gt;" ></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 Product"
              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>