Shopify
How works. API version
Component was tested on 2021-04
API version.
You can find more information about API versioning at Shopify here.
Requirements
Credentials
To create the credentials you should do the following:
- In your shop go to Apps - App and sales channel settings
- Click the ‘Develop Apps’ button
- Click the ‘Create an app’ button and give your app a name
- Enable the scopes you need and click Save
- On the ‘API credentials’ tab copy your
API key
andAPI Secret Key
- Install the app
- Once the app is installed a new credential
Admin API access token
appears. Copy this one as it can only be revealed once
- ShopName - Name of your shop, for example,
quickstart-974c9379.myshopify.com
- API Key- A string that specifies the API key of the app. Use
API key
from the Shopify app credentials creation step - Password - A string that specifies the private app password. Use
Admin API access token
from the Shopify app credentials creation step - Type - select ‘No Auth’ type. It will use the API credentials you specified
- Shopify Webhook HMAC Secret - this field is used and required only for trigger
Webhook subscription
to sign the request with an HMAC header. UseAPI Secret Key
from the Shopify app credentials creation step
You can find additional information on how to generate the creds in Shopify documentation
Environment variables
Name | Mandatory | Description | Values |
---|---|---|---|
SHOPIFY_API_VERSION | false | Determines API version of Shopify to use | Default: 2019-10 , for Make Raw Request: 2021-04 |
Metafield Notes
Metafields for an object can be written when upserting/creating an object that supports metafields. When polling for objects, looking up an object or searching for objects, there is a checkbox that can be selected that will fetch the corresponding metafields for objects. Selecting this checkbox will cause more API calls to be consumed. (An additional API call per object read.)
When reading metafields data will be returned in this format. When writing
metafield data, the following format is also expected for the metafields
object.
{
"metafieldNamespaceOne": {
"metafieldKeyOne": "Metafield Value for metafieldNamespaceOne.metafieldKeyOne",
"metafieldKeyTwo": "Metafield Value for metafieldNamespaceOne.metafieldKeyTwo"
},
"metafieldNamespaceTwo": {
"metafieldKeyThree": "Metafield Value for metafieldNamespaceTwo.metafieldKeyThree"
}
}
Shopify metafields support the following three types:
integer
metafields will be created whenever the value provided for a metafield is a JSON number that is an integer. When reading Shopifyinteger
metafields, they will result in JSON numbers.string
metafields will be created whenever the value provided for a metafield is a JSON string or a JSON number that is not an integer. When reading any Shopifystring
metafields, they will result in JSON strings regardless of whether or not they could be parsed as numbers.json_string
metafields will be created whenever the value provided for a metafield is a JSON object, array or boolean. The incoming value will be converted to a JSON string and stored. When reading Shopify metafields, they will be converted back to their JSON forms.
Setting a metafield the value of JSON null
will result in that metafield being deleted.
Not setting a value for a metafield will result in that metafield being unchanged.
Technical Notes
The technical notes page gives some technical details about Shopify component like changelog and completeness matrix.
Triggers
Shopify component has the following triggers:
- Polling Trigger - Polls Shopify API for new and updated objects.
- Webhook subscription trigger - Creates webhook subscriptions on the Shopify side and receives events to the flow.
Actions
Shopify component has the following actions:
- Lookup Object action - Finds object by id.
- Lookup Objects action - Retrieves object by ID.
- Create Object action - Action to create new object instance. Only for object that can’t be updated.
- Upsert Object action - Upsert Object action is useful if it isn’t known if there is already an object in the system. Action determines if the data needs to be matched to an existing object or added to a new one. Only for objects that can be created and updated.
- Delete Object action - Delete Object By Unique Criteria
- Make Raw Request - Allows you to manually construct individual requests to be sent to the API.
We keep the list of deprecated actions on a separate page. Please read this article for more details.