Cart apiを外部から叩かせないようにしたい

現在私が運用しているサイトではメタフィールドと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のようなアプリを使ってみたらどうでしょうかと言われましたが、

アプリでやっていることは特定の時間になったら商品ページを公開すると言ったものだったので少し違うなという印象でした。

知見のある方がございましたらお力添えしていただければ幸いです。

趣旨が違う上に検証していませんが、以下のような方法も考えられるかなと思いました。

  • MatrixifyなどCSVを日時指定でインポートできるアプリを使う
  • 該当の商品の在庫を0にしておき、指定日時になったら該当のアプリで在庫を増やす

APIがどうであっても在庫がなければ買えませんので、在庫自体をどうにかできないかなと考えた次第です。

実現の可否含めてお役に立たない情報でしたら申し訳ありません。

参考:
https://matrixify.app/tutorials/schedule-import-to-shopify-from-google-sheets/