はじめに
Shopifyでは商品ごとに配送料金を設定することができます。
またそれらは購入点数や配送先住所によって動的に設定が可能となっております。
管理画面で設定できることはわかったが、API経由で取得ってできないの?
ってことで利用できそうなShopify GraphQL API がないか探してみたところありました。
「draftOrderCalculate Mutations」
早速使ってみましょう。
検証
Shopifyの管理画面で、商品Aの配送料金を2000円、商品Bの配送料金を3000円と設定しました。
この状態で、商品A/Bそれぞれの productVariantId と配送先住所ならびに購入点数を指定した上でAPIを叩いてみます。
合計が5,000円となれば正しく取得されると検証できます。結果は以下の通り
画面左側がAPIのリクエストの記述で、右側がレスポンスを表しています。
レスポンスの amount の項目が 5000 になっていますね。正しく取得できていそうです。
まとめ
配送料金の取得なので「Shipping***」みたいなAPIがあるのかなと思いましたが見つからず、今回は draftOrderCalculate に辿り着きました。
「APIで提供されていないから実装できない」といって見送った機能も、ShopifyのAPIドキュメントをしっかり探せばソリューションはあるのかもしれませんね。