π«Order object
Important Notice
Shopify is deprecating the Shopify Admin REST API which the Mechanic REST objects depend on. The first round of deprecations involve the product and variant endpoints. Read about the deprecation here and here. Use the GraphQL going forward. The product and variant objects will cease to work on on Feb 1, 2025 due to the changes being made by Shopify. Shopify will phase out the REST API completely over time, you can read more about this here.
All of our library tasks will be ported to use GraphQL only, which will provide a model for how you can update your custom tasks. You'll be able to update your non-customized library tasks with a click of a button βΊοΈ Please see these guides for migrating your custom tasks to GraphQL.
How to access it
Use
{{ order }}
in tasks responding to shopify/orders eventsUse
{{ refund.order }}
in tasks responding to shopify/refunds eventsLook up specific orders by their ID, using
{{ shop.orders[12345678900] }}
Loop through all open orders:
{% for order in shop.orders %}
Or, loop through all orders, not just open orders: {% for order in shop.orders.any %}
Or, use these sub-objects to loop through certain subsets of orders:
shop.orders.open
shop.orders.closed
shop.orders.cancelled
shop.orders.authorized
shop.orders.pending
shop.orders.paid
shop.orders.partially_paid
shop.orders.refunded
shop.orders.voided
shop.orders.partially_refunded
shop.orders.unpaid
shop.orders.shipped
shop.orders.partial
shop.orders.unshipped
Or, combine to be even more selective:
shop.orders.any.paid.unshipped
shop.orders.refunded.shipped
shop.orders.open.pending.unshipped
What it contains
Every property from the Order resource in the Shopify REST Admin API (warning: Shopify delivers order.tags as a comma-delimited string, not an array of strings!)
The related customer object:
{{ order.customer }}
An array of line item objects:
{{ order.line_items }}
An array of refund objects:
{{ order.refunds }}
An array of order risk objects:
{{ order.risks }}
An array of transaction objects:
{{ order.transactions }}
An array of fulfillment objects:
{{ order.fulfillments }}
An array of fulfillment orders objects:
{{ order.fulfillment_orders }}
An array of note attributes, that also supports lookups by attribute name:
{% for attr in order.note_attributes %}{% if attr.name == "color" %}{{ attr.value }}{% endif %}{% endfor %}
, or{{ order.note_attributes.color }}
Notes
Out of the box, only orders from the last 60 days are accessible. To give Mechanic access to your complete order history, enable "read all orders".
Last updated