FROM CACHE - jp_header
解決済

外部APIを実行し、結果をLiquid上に反映したい

heine
Shopify Partner
4 0 0

現在テーマファイル(Liquid)の開発を進めています。
別途用意されたDBからデータを持ってくる必要がありREST APIが用意されているのですが、この実行結果をLiquid上で呼び出し、表示したいと考えています。
Liquid上に直接記載できる必要はなく、何らかのアプリを経由しても構いません。開発が必要であっても、既存のものでも結構です。
headlessのように、外部(自作)APIを実行することはできないでしょうか?

なお、その際URLに含まれるクエリなどをAPIに渡せると尚良いと考えています。

以下、特記事項です

1. JSで実行するとクライアント側でのレンダリングになりますので、できればバックエンドで実行したいと考えています
2. Headless(Next.js/Nuxt.jsなどでSSR・SSGする)も考えたのですが、他で使用するアプリがAPI対応しておらず不適と判断しました

恐れながら、Shopifyには精通しておりません。
上記認識がそもそも間違っている場合は、遠慮なくご指摘ください。

ご回答よろしくお願いいたします。

1 件の受理された解決策

_osamu_iwasaki_
Shopify Partner
185 47 193

成功

Liquidでは、別のシステムにあるデータの読み込みは出来ません。
JavaScriptであれば、別のシステムにあるデータを読み込んだ後にHTMLの書き換えが出来ます。

Shopify上で別のシステムのデータを表示したいのであればJavaScriptしかないですが、
別のシステム上でShopifyのデータを表示したいのであればShopifyAPIを取得して自由に使えると思います。

元の投稿で解決策を見る

2件の返信2

_osamu_iwasaki_
Shopify Partner
185 47 193

成功

Liquidでは、別のシステムにあるデータの読み込みは出来ません。
JavaScriptであれば、別のシステムにあるデータを読み込んだ後にHTMLの書き換えが出来ます。

Shopify上で別のシステムのデータを表示したいのであればJavaScriptしかないですが、
別のシステム上でShopifyのデータを表示したいのであればShopifyAPIを取得して自由に使えると思います。

heine
Shopify Partner
4 0 0

回答いただきましてありがとうございました。やはりLiquidでは別のシステムから持ってくることはできないのですね。
前述の通り、headlessにするにはアプリ側で制限がありますし、
カスタムアプリを作成することも考えたのですが、その場合URLの自由度が下がるため、順当にjavascript内で実行することにします。

この度は本当に助かりました。またよろしくお願いいたします。