Environment variables
Last updated
Was this helpful?
Last updated
Was this helpful?
A task's Liquid code always has access to a set of environment variables, defined by Mechanic.
Variable
Contents
shop
event
An object containing information about the current event
cache
task
An object containing information about the current task
options
When a task is actually invoked for an event, it may have access to an additional variable, determined by the specific event it is responding to. When this is the case, the additional variable will be named after the event subject, and its contents will be established by the event's data. The name of this variable is communicated by the Mechanic task editor, based on the task's current .
For example, a subscription to shopify/customers/create will make available a variable called customer
. A subscription to shopify/products/update will expose a variable called product
, etc.
All Shopify events support an additional variable named after the event topic. For example, when a task responds to a shopify/customers/create event, it will have access to an additional variable named customer
, containing the customer data contained in the event.
Shopify variables in Mechanic do not necessarily contain the same attributes as Liquid variables used in Shopify (in places like themes or email templates) â even if they share the same name.
In Mechanic, Shopify variables always contain data from Shopify events, which are delivered to Mechanic via webhook. This means that Shopify variables always have the same data structure as Shopify webhooks, corresponding to Shopify's REST representation for this data.
An object containing
The current store's object, supporting lookups for cached values
An object containing task , configured by the user
Shopify events always contain data from Shopify's REST representation of each resource; therefore, automatic Shopify variables always contain data from the REST representation as well. The best resource for the data available for each variable type is .
For example, while Shopify themes support customer.name
, Mechanic does not (because does not contain a "name" property). On the other hand, Mechanic supports customer.created_at
, while Shopify themes do not.