カートの変更が無効な商品設定に対してエラーを返すようになりました

ShopifyのカートAPIのエラーハンドリングが強化され、商品がカートに追加または維持できない場合に明確なフィードバックを提供するようになりました。具体的には、特定の商品関連の問題に対して、カートAPIがMERCHANDISE_NOT_APPLICABLE(商品適応不可)のエラーコードを返すようになりました。

エラーが発生するシナリオ

MERCHANDISE_NOT_APPLICABLEエラーは以下のようなシナリオでトリガーされます:

在庫・可用性の問題:

  • 商品が在庫切れであるか、リクエストされた数量の在庫が不足している。
  • 商品が公開されていないか、購入者の場所で利用できない。
  • 在庫レコードが欠落している。
  • 商品バリエーションが存在しない。

価格・設定の問題:

  • 期待される価格と実際の価格に差異がある。
  • ギフトカードの金額がゼロまたは無効である。
  • バンドル商品に必要なコンポーネントが欠けている。
  • カート内のアイテム数が上限を超えている。

あなたの統合にとってこれが意味すること

MERCHANDISE_NOT_APPLICABLEエラーを受け取った場合:

  • 現在の設定では、指定された商品をカートに追加することはできません。
  • 顧客に可用性の問題を通知します。
  • 必要に応じて商品データを更新したり、数量を調整したりします。
  • バンドルの場合、すべての必要なコンポーネントが存在することを確認します。

実装のベストプラクティス

このエラーハンドリングの強化を活用するためには、商品に関連する問題を早期に検出し、ユーザーエクスペリエンスを向上させるためのアクションを取ることが重要です。具体的には、商品の在庫状況、価格、バリエーションの存在などをリアルタイムでチェックし、問題が発生した場合には適切なエラーメッセージを顧客に表示するようにアプリケーションを設計することが求められます。

また、MERCHANDISE_NOT_APPLICABLEエラーが返された場合には、カートに商品を追加する前に商品データを更新する、または数量を調整するなど、適切な対処を行うことが必要です。

次のステップ

今回のアップデートにより、開発者はカートのエラーハンドリングをより効果的に行うことが可能になりました。この変更を活用して、ユーザーエクスペリエンスを向上し、ECサイトのパフォーマンスを最適化するための新たなアプローチを検討することをお勧めします。

参考記事: Cart mutations now return error for invalid merchandise configuration