🛍️

Shopify DraftOrder API で注文情報作成、在庫受注引当の検証結果

2020/11/25に公開

概要

本記事では Shopify DraftOrder API を利用して、注文情報作成、在庫受注引当を実現できるか検証した結果をご紹介します。

Shopify

前提条件

  • Shopify プライベートアプリ有効化、作成済み
  • DraftOrder API version: 2020-10 Latest を利用

Shopify DraftOrder API 検証結果

Request

正しいURLは {apikey}:{password} の部分はプライベートアプリのページをご確認ください 🔑

curl -X POST \
https://{apikey}:{password}@YOUR_SITE.myshopify.com/admin/api/2020-10/draft_orders.json \
-H "Content-Type: application/json" \
-d '{ "draft_order": { "line_items": [ { "variant_id": 37465014632634, "quantity": 1 } ] } }'

Response

{"draft_order":{"id":719714615482,"note":null,"email":null,"taxes_included":false,"currency":"JPY","invoice_sent_at":null,"created_at":"2020-11-17T20:42:05-05:00","updated_at":"2020-11-17T20:42:05-05:00","tax_exempt":false,"completed_at":null,"name":"#D1","status":"open","line_items":[{"variant_id":37465014632634,"product_id":6051979952314,"title":"Tシャツ","variant_title":"S","sku":"t-shirt-s","vendor":"YOUR_SITE","quantity":1,"requires_shipping":true,"taxable":true,"gift_card":false,"fulfillment_service":"manual","grams":200,"tax_lines":[{"rate":0.1,"title":"CT","price":"100"}],"applied_discount":null,"name":"Tシャツ - S","properties":[],"custom":false,"price":"1000","admin_graphql_api_id":"gid:\/\/shopify\/DraftOrderLineItem\/56113007984826"}],"shipping_address":null,"billing_address":null,"invoice_url":"https:\/\/YOUR_SITE.myshopify.com\/50868256954\/invoices\/f257a7af88d35eef74281fd830fb202d","applied_discount":null,"order_id":null,"shipping_line":null,"tax_lines":[{"rate":0.1,"title":"CT","price":"100"}],"tags":"","note_attributes":[],"total_price":"1100","subtotal_price":"1000","total_tax":"100","admin_graphql_api_id":"gid:\/\/shopify\/DraftOrder\/719714615482","customer":null}}

結論 Order 作成時に、在庫確保する

POST /admin/api/2020-10/draft_orders.json 後、Shopify管理画面で DraftOrder を確認しました。

  • DraftOrder 作成時は、在庫確保しない
  • Order 作成時に、在庫確保する

注文管理 - 下書き(一覧)

https://YOUR_SITE.myshopify.com/admin/draft_orders

注文管理 - 下書き(詳細)

https://YOUR_SITE.myshopify.com/admin/draft_orders/:id

在庫の状態 - 「支払い済としてマークする」実行前

「支払い済としてマークする」前だと、在庫数は減っていませんでした。

つまり、DraftOrder を作成しただけでは在庫確保はされないようでした。

https://YOUR_SITE.myshopify.com/admin/products/inventory

在庫の状態 - 「支払い済としてマークする」実行後

「支払い済としてマークする」ボタンクリック

https://YOUR_SITE.myshopify.com/admin/draft_orders/719714615482

Order 作成されて、Tシャツ S 在庫数が 100 から 99 に減り、在庫が受注引当されていることを確認しました。

https://YOUR_SITE.myshopify.com/admin/orders/3068560834746

以上、Shopify DraftOrder API を利用して、注文情報作成、在庫受注引当を実現できるか検証した、現場からお送りしました。

Discussion