Appendix

A.1.0 Shopify Integration

First the user will have to navigate to the Shopify Admin Dashboard and navigate to the Apps Section from the left side menu

  1. Go to Apps -> App and Sales channels

  1. Press on develop apps

  1. Complete the name of the app and after it is created go to the "API Credentials" tab and on the Access tokens section press on the Configure Admin API scopes

  1. For the import and export process we will need to give read and write permissions for products to our API, after setting them, press the save button:

  1. Navigate back to the credentials tab, and install the app into your store:

  1. You can see that the credentials section now has 3 credentials, the first one which is the access token for the API, can only be revealed once, press on the "Reveal token once" and store it somewhere safe(i.e. Password Manager) as you will not be able to see it again, and the other credential that we will need for our integration is the "API Secret Key" copy them in a safe place and move to the next step

  1. We will also need the base URL of your store in order to be able to access the Shopify API, you can find the base URL for the API in the top left corner, copy it and we'll proceed to the PIMdrop Application

  1. Navigate to the Configuration section from the left side panel, go to the API Config section, and press the Add API Integration button

  1. Complete the credentials in the form, for the base URL, prepend it with "https://" and paste the base URL copied from the Shopify Admin portal, and click save

  1. Now you can attach the integration to your channels

  1. When exporting data, if you choose an export channel that has API integrations associated with it just select the API as an export method, and from the dropdown select the integration that you want to use for the export, and press the Export Data button

  1. As the export process will happen in the background because depending on the volume of data transferred it can take quite a big amount of time, you can monitor its status in the export dashboard. Here you can also find information about the channel and the integration that was used for the export.

A.1.1 Supported Fields

Field Name - Shopify

ID

Type

Observations

Media Images

!You can put here the alt text for the image!

Image URL

Images for the product

Description

descriptionHtml

text/html

The product description

Product type

customProductType

text

The custom product type specified by the merchant.

N/A

handle

text

A unique, human-friendly string for the product. Automatically generated from the product's title unless otherwise specified.

Product type

product Type

text

The product type specified by the merchant.

Status

status

enum

Supported Values: "ACTIVE"/"ARCHIVED"/"DRAFT"

Tags

tags

multi-select enumerated list

A comma separated list of tags that have been added to the product.

Theme template

templateSuffix

text

The theme template used when viewing the product in a store.

Title

title

text

The title of the product.

Vendor

vendor

text

The name of the product's vendor.

Collections

collectionsToJoin

multi-select enumerated list

The IDs of the collections that this product will be added to DISCLAIMER: The users will have to manually add the IDs of the collection to a multiselect enumerated list in this format : gid://shopify/Collection/<id>

A.1.2 All Fields

Field Name - Shopify

ID

Type

Observations

Media Images

!You can put here the alt text for the image!

Image Url

Images for the product

Description

bodyHtml

text/html

!Deprecated!

Description

descriptionHtml

text/html

The product description

Collections

collectionsToJoin

multi-select enumerated list

The IDs of the collections that this product will be added to

Colelctions(only for update product)

collectionsToLeave

multi-select enumerated list

The IDs of collections that will no longer include the existing product.

Product type

customProductType

text

The custom product type specified by the merchant.

N/A

giftCardTemplateSuffix

text

The theme template used when viewing the gift card in a store.

N/A

handle

text

A unique, human-friendly string for the product. Automatically generated from the product's title unless otherwise specified.

Product type

productType

text

The product type specified by the merchant.

N/A

publishDate

date as text in ISO format

!Deprecated!

N/A

publishOn

date as text in ISO format

!Deprecated!

N/A

publishedAt

date as text in ISO format

!Deprecated!

Status

status

enum

Supported Values: "ACTIVE"/"ARCHIVED"/"DRAFT"

Tags

tags

multi-select enumerated list

A comma separated list of tags that have been added to the product.

Theme template

templateSuffix

text

The theme template used when viewing the product in a store.

Title

title

text

The title of the product.

Vendor

vendor

text

The name of the product's vendor.

Metafields

metafields

[MetafieldInput]

The name of the product's vendor.

N/A

productOptions

[OptionCreateInput]

List of custom product options and option values (maximum of 3 per product). Supported as input with the productCreate mutation only.

N/A

redirectNewHandle

boolean

Only for Update Whether a redirect is required after a new handle has been provided. If true, then the old handle is redirected to the new one automatically.

N/A

requiresSellingPlan

boolean

Whether the product can only be purchased with a selling plan (subscription). Products that are sold exclusively on subscription can only be created on online stores. If set to true on an already existing product, then the product will be marked unavailable on channels that don't support subscriptions.

SEO

seo

{ description: string, title:string }

The SEO information associated with the product. They are automatically completed if not specified

Private Metafields

privateMetafields

PrivateMetafieldInput

!Deprecated! The private metafields to associate with this product. Metafields created using a reserved namespace are private by default.

Product Category

productCategory

ProductCategoryInput

!Deprecated! The product category in the Shopify product taxonomy. Deprecated in API version 2024-07.

N/A

productPublications

ProductPublicationInput

!Deprecated! A list of the channels where the product is published.

N/A

publications

ProductPublicationInput

!Deprecated! A list of the channels where the product is published.

N/A

published

boolean

!Deprecated! Only products with an active status can be published.

N/A

standardizedProductType

StandardizedProductTypeInput

!Deprecated! The standardized product type in the Shopify product taxonomy. Deprecated in API version 2024-07.

!!!Variants are not available in shopify API version 2024-4(latest)

https://shopify.dev/docs/api https://help.plytix.com/en/getting-api-credentials-from-your-shopify-store The authentication is based on tokens: https://shopify.dev/docs/api/usage/authentication Here you can find the scopes list: https://shopify.dev/docs/api/usage/access-scopes we are using the read and update products for now:

The bulk operations are based on GraphQL API: https://shopify.dev/docs/api/usage/bulk-operations/imports (there is no solution to make bulk actions via csv files through the API)

A.1.4 Limitations:

Shopify limits you to only being able to upload or create 1,000 new products or product variants every 24 hours after you exceed 50,000 products or variants in the store. This limitation is only reflected in Shopify's API limits documents This does not apply if you have a Shopify plus subscription.

https://help.shopify.com/en/manual/products/variants/add-variants

Import limits:

Last updated