FROM CACHE - jp_header
解決済

APIでOrderを登録した際の送料の計算について

mtk
Shopify Partner
6 0 1

APIを使ってOrderを登録して送料を計算させたいと思っています。

DraftOrderを先に作って送料が計算されるか試しているのですが、

DraftOrderをPOSTで作成した際に、DraftOrderのパラメータのshipping_lineを作る要素がわかりませんでした。

DraftOrderを作成する際に送料が計算されるようなパラメータは何になるのでしょうか?

わかりましたら教えて欲しいです。

1 件の受理された解決策

junichiokamura
Community Manager
1200 280 506

成功

こちらに詳細が載っていますが、この情報では不足でしょうか?

https://help.shopify.com/en/api/reference/orders/draftorder#create-2020-01

 

 

Senior Partner Solutions Engineer

元の投稿で解決策を見る

5件の返信5

junichiokamura
Community Manager
1200 280 506

成功

こちらに詳細が載っていますが、この情報では不足でしょうか?

https://help.shopify.com/en/api/reference/orders/draftorder#create-2020-01

 

 

Senior Partner Solutions Engineer
mtk
Shopify Partner
6 0 1

お返事ありがとうございます。

自分が不勉強で申し訳ないのですが、API経由でOrder、draftorderを作成した際に、顧客データ(ShippingAddress)を紐つけるだけで

送料が計算されるものだと思っておりました。

そうではなく、POSTする際に、Shipping_linesといったパラメータにわたす必要があるのでしょうか?

管理画面で登録した通常配送といったプロファイルの料金が計算されたら良いのですが、それはどのAPIを使えば出来るのでしょうか?

 

WEBUILD
Shopify Partner
39 11 41

Polling

When you create and update draft orders some calculations are done asynchronously, such as calculating shipping and taxes. There might be times when a draft order is created but these calculations haven't completed. In these cases, you need to poll the draft order until the calculations are finished.
When a draft order requires polling, a 202 accepted response code is returned along with location and retry-after response headers. The location header refers to the URL to be polled, and retry-after denotes the interval (in seconds) at which polling requests should be sent. When the draft order is ready, a 200 OK response code will be returned.

okamura様が回答されているURLに明記されていました。
計算に時間がかかるから、レスポンスヘッダが202なら retry-after 分だけ待ってね、200 OKなら計算完了ですよ~
と書いてる気がします

質問の回答にはお礼コメントを!最低でも解決済みかイイネは付けたほうがいいですよ。。。最低限の礼儀として。。。



mtk
Shopify Partner
6 0 1

ご指摘ありがとうございます。

今後気をつけて行きます。ご不快な思いをさせたら申し訳ありません。

junichiokamura
Community Manager
1200 280 506

ご返信ありがとうございます。特に何も感じておりませんので、大丈夫です笑

 

配送料は、画面のチェックアウトでも必ず選択するようになっていて、配送キャリアの設定やプロファイルの設定と複雑に絡むので、未設定だと配送データをあとで追加するようになると思います。(単純に住所だけで決まらないので)また、WEBUILDさんのご指摘にある通り、その場で結果(最終的な料金など)が返らない場合は、202のステータスになるので、その際は該当のOrderをあとで参照することになると思います。

おそらく、shipping_lineのhandleの部分がわかりにくいかと思うのですが、以下にその生成規則について書かれているので参照ください。

https://community.shopify.com/c/Shopify-APIs-SDKs/How-do-we-get-the-shipping-method-handle-from-a-sh...

また上記からリンクされているように、handleを使わず、定している配送料の名称をtitleに使っても同様の動きをするようです。

https://community.shopify.com/c/Shopify-APIs-SDKs/Trying-to-set-the-shipping-line-and-ideally-get-ta...

 

なお、DraftOrderは誰でも作れますが、Checkoutを伴う(つまりはAPIで決済までしてしまう)Orderは、Channelアプリなどの限定された権限が必要なので、通常はAPIで作成できません。

https://help.shopify.com/en/api/reference/orders/order

 

 

 

Senior Partner Solutions Engineer