Liquid in apps - are OrderPrinter, ShopifyLocalDelivery "magic"?

arg
Tourist
4 0 1

I am familiar with using Liquid within themes on the online store - it's a very powerful tool for rendering the data held in Shopify objects.

However, there seems no way to make use of it within an app - the app's html has to be hosted on my own server which doesn't run Liquid.  I can achieve the same sort of effect by accessing the Shopify APIs (REST/GraphQL) using PHP/Ruby/Node.js or whatever, but that leads to doing everything twice over - once in Liquid on the store's theme, once in some other language when the app wants to render the same information privately.  I could in principle install the open-source version of Liquid on my server, but that doesn't come with the plumbing to connect it with a Store (access to Liquid objects would need to generate API calls).

On the other hand, apps like OrderPrinter and ShopifyLocalDelivery seem to be able to do this - OrderPrinter uses Liquid to render orders, LocalDelivery uses Liquid to render notification emails/SMS that it generates.

These two apps are made to look as if they are conventional third-party apps, installed from the app store.  Is this in fact misleading - because they are "in house" apps they have magic access to facilities generic apps can't use, or is there some way for a third-party app to get a piece of Liquid rendered against a store's objects?

0 Likes