ShippingLineInputがついにpriceWithCurrencyを受け付けます

1. 技術的課題の定義

これまでShopifyの配送レートに関する価格設定は、ショップの通貨基準で設定する必要がありました。しかし、通貨が異なる複数のマーケットでビジネスを展開している場合、この制約は開発者や事業者にとって大きな課題となります。

2. 現状の技術スタックと問題分析

現在、ShopifyのAdmin GraphQL APIにおけるShippingLineInputは、priceを使用して配送レートの価格を設定しています。しかし、priceはショップの通貨でのみ設定可能で、通貨単位を含めて価格を指定することはできませんでした。

3. 技術的ソリューションの提案

2024年4月以降、ShippingLineInputは新たにpriceWithCurrencyを受け付けるようになりました。これにより、配送レートの価格設定において通貨単位を含めることが可能になります。なお、priceWithCurrencyが指定された場合、priceは無視されます。

4. 実装手順とコード例

以下に、新たに追加されたpriceWithCurrencyを使用した配送レートの設定例を示します。


mutation {
  checkoutShippingLineUpdate(checkoutId: "Z2lkOi8vc2hvcGlmeS9DaGVja291dC9kMTZmM2EzMDM4YjAwN2JkYjQy...", shippingRateHandle: "shopify-Standard%20Shipping-10.00") {
    checkout {
      id
      shippingLine {
        handle
        priceV2 {
          amount
          currencyCode
        }
      }
    }
    checkoutUserErrors {
      code
      field
      message
    }
  }
}

5. パフォーマンス・コスト分析

この機能の導入により、開発者は通貨単位を含めた配送レートの設定が可能となります。これにより、ショップの通貨設定とは異なる通貨に対応したビジネス展開が容易になり、より広範なマーケットでの取引が可能になります。

6. 実装時の注意点・ベストプラクティス

新たに追加されたpriceWithCurrencyを使用する際、priceも併用してはならない点に注意が必要です。また、通貨コードはISO 4217形式で記述する必要があります。

7. 次のステップ・発展案

今後は、より多様な通貨に対応したビジネス展開を目指すため、この機能を活用し、通貨単位を柔軟に設定できるようにしましょう。

参考記事: ShippingLineInput now accepts priceWithCurrency