お世話になっております。
shopify POSアプリ(タイル)を開発しておりまして、APIを呼ぶ方法について質問がございます。
開発言語:react
App proxy設定: サブパスのプリフィックス = apps、サブパス = testapi、プロキシURL = 開発しているアプリのドメイン
App proxyを使って、fetch 通信をして、通信先でDiscountのAPIを呼ぼうとしています。
fetchしたのですが、エラーとなりました。
iMac コンソールのエラーは以下です。
XXXXXXXXXX Shopify POS Type: Error Timestamp: Fri, 05 Feb 2021 03:10:45 GMT Message: Error: Optional Params: [{}]
reactのソースはこちらになります。
testDiscount() {
// app proxy経由のディスカウントテスト
const url = 'https://XXXXXX.myshopify.com/apps/testapi/api/test_discount';
fetch(url)
.then(res => res.json())
.then((data) => {
console.log(data);
})
.catch(e => {
console.error('Error: ', e);
});
}
アプリのサーバーにログが残っていなかったので、urlに問題があるかと思いますが、iMac コンソールでは、エラーの詳細が見えずわからない状態です。
なお、上記の呼び出そうとしているAPIはストアフロント カート画面のjavascriptにてfetchでは呼ぶことができました。
shopify POSからAPIを呼ぶ方法は何か別の方法があるのでしょうか?
ご教授していただけると助かります。
よろしくお願いいたします。
解決済! ベストソリューションを見る。
成功
通常のapp extensionはオンラインのストアフロント向けで、POSにはPOS専用のapp extensionがあります。
https://shopify.dev/docs/pos/reference
ディスカウントは上記のextensionを使います。
POSのアプリを作る場合は、AppBridgeを使うことを推奨します。
https://shopify.dev/tools/app-bridge/actions/pos