Liquid、JavaScriptなどに関する質問
現在私が運用しているサイトではメタフィールドとjsを用いて特定の時間までカートボタンがクリックできないようにし、カートインできないような仕組みを作っています。
https://qiita.com/br-to/items/255018403ffd437785d4
あまり具体的には話せませんが、↑とjsを組み合わせています。
しかし、最近設定していた販売開始日時よりも前に商品が購入されているという事件が起こりました。
原因は定かではないですが、恐らくshopifyのcart api(https://shopify.dev/docs/themes/ajax-api/reference/cart#post-cart-add-js)を検証ツールか何かで叩いて商品をカートインしているのではないかと考えられました。
let formData = {
'items': [{
'id': 38048806600855, // variant_id
'quantity': 2
}]
};fetch('/cart/add.js', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(formData)
})
.then(response => {
return response.json();
})
.catch((error) => {
console.error('Error:', error);
});
実際上のコードをchromeの検証ツールで入力したらカートインすることができました。
cart apiを外部から入力できないようにすることはできないでしょうか?
ちなみにshopifyのサポートにも連絡したところlaunchpadのようなアプリを使ってみたらどうでしょうかと言われましたが、
アプリでやっていることは特定の時間になったら商品ページを公開すると言ったものだったので少し違うなという印象でした。
知見のある方がございましたらお力添えしていただければ幸いです。
趣旨が違う上に検証していませんが、以下のような方法も考えられるかなと思いました。
APIがどうであっても在庫がなければ買えませんので、在庫自体をどうにかできないかなと考えた次第です。
実現の可否含めてお役に立たない情報でしたら申し訳ありません。
参考:
https://matrixify.app/tutorials/schedule-import-to-shopify-from-google-sheets/
リエンゲージメントの自動化で売り上げ向上へ!素敵なオンラインストアを作成し、見込み顧客の携帯へ広告を直接に送信する、またはSNSなどで宣伝すると、お客様がストアに行き着...
By Mirai Mar 24, 2024Shopifyは世界で最も革新的なブランドと起業家をサポートしています。個人起業家やあらゆる規模のビジネスの成長を後押しするために、Shopify アカデミーではShopif...
By SarahF_Shopify Mar 22, 2024オンラインストア運営はとてもやりがいのある活動です。新しい注文が入った時の喜びや世界中のお客様とやりとりできる可能性、商品に対して最高のレビューをもらった時の満足感は、毎日の...
By Mina Mar 13, 2024