注文API2026-11プレビュー
フルフィルメント注文
1つの荷物に梱包する注文の明細と、入れる箱、各商品の検品。
Fulfillment orderオブジェクト
idstring- fo_ で始まります。
orderstring- 所属する注文。
statusstring- open(商品待ち)、in_progress(梱包中)、on_hold、closed(発送済み)、cancelled のいずれか。
requestobject|null- Shopifyの注文の場合:Shopifyのフルフィルメント注文と当社の回答。受け付け、またはSKUに紐付いていないストアのバリエーションを示して拒否。
holdobject|null- 保留中の reason と note。
packagingstring|null- 入れる箱または封筒。
lines[].qcobject- 当社の検品:pending、passed、issue のいずれかと、写真と日時。
shipmentstring|null- 出荷時に設定。
{
"id": "fo_7k2m",
"order": "ord_3n7q",
"status": "in_progress",
"request": {
"channel": "shopify",
"external_id": "gid://shopify/FulfillmentOrder/6650012",
"status": "accepted",
"unmapped": []
},
"hold": null,
"packaging": "pkg_acme_mailer",
"lines": [
{
"line": "lin_9a2c",
"sku": "5187209554",
"quantity": 1,
"qc": {
"status": "passed",
"photos": [
"https://media.ninjabuy.com/qc/ord_3n7q/1.webp",
"https://media.ninjabuy.com/qc/ord_3n7q/2.webp"
],
"checked_at": "2026-11-02T03:20:11Z"
}
}
],
"shipment": null,
"created_at": "2026-11-01T09:14:03Z"
}フルフィルメント注文一覧
GET/v1/fulfillment_orders
新しい順。注文またはステータスで絞り込み。
スコープorders:read
クエリパラメータ
orderstring- 任意。注文ID。
statusstring- 任意。
limit, cursor- Pagination
curl "https://www.ninjabuy.com/api/v1/fulfillment_orders?status=on_hold" \
-H "Authorization: Bearer $NINJABUY_API_KEY" \
-H "NinjaBuy-Version: 2026-11"HTTP/2 200 OK
{
"data": [
{
"id": "fo_7k1x",
"order": "ord_3n6z",
"status": "on_hold",
"hold": { "reason": "combine" }
}
],
"has_more": false,
"cursor": null
}フルフィルメント注文を取得
GET/v1/fulfillment_orders/{id}
明細、各明細の検品、梱包、発送。
スコープorders:read
パスパラメータ
idstring必須- フルフィルメント注文のID。
エラー
| ステータス | タイプ | 時期 |
|---|---|---|
| 404 | not-found | このアカウントにそのフルフィルメント注文はありません。 |
curl "https://www.ninjabuy.com/api/v1/fulfillment_orders/fo_7k2m" \
-H "Authorization: Bearer $NINJABUY_API_KEY" \
-H "NinjaBuy-Version: 2026-11"HTTP/2 200 OK
{
"id": "fo_7k2m",
"order": "ord_3n7q",
"status": "in_progress",
"request": {
"channel": "shopify",
"external_id": "gid://shopify/FulfillmentOrder/6650012",
"status": "accepted",
"unmapped": []
},
"hold": null,
"packaging": "pkg_acme_mailer",
"lines": [
{
"line": "lin_9a2c",
"sku": "5187209554",
"quantity": 1,
"qc": {
"status": "passed",
"photos": [
"https://media.ninjabuy.com/qc/ord_3n7q/1.webp",
"https://media.ninjabuy.com/qc/ord_3n7q/2.webp"
],
"checked_at": "2026-11-02T03:20:11Z"
}
}
],
"shipment": null,
"created_at": "2026-11-01T09:14:03Z"
}保留
POST/v1/fulfillment_orders/{id}/hold
解除するまで発送を止めます。同じお客様への別の注文や、送っている在庫を待つ場合に。棚の無料保管期間は進み続けます。
スコープorders:write
パスパラメータ
idstring必須- フルフィルメント注文のID。
ボディ
reasonstring必須- combine、wait_for_stock、other のいずれか。
notestring- 任意。自分用のメモで、保留と一緒に保存されます。
エラー
| ステータス | タイプ | 時期 |
|---|---|---|
| 404 | not-found | このアカウントにそのフルフィルメント注文はありません。 |
| 409 | invalid-state | 完了またはキャンセル済みです。 |
curl -X POST "https://www.ninjabuy.com/api/v1/fulfillment_orders/fo_7k2m/hold" \
-H "Authorization: Bearer $NINJABUY_API_KEY" \
-H "NinjaBuy-Version: 2026-11" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{ "reason": "combine" }'HTTP/2 200 OK
{
"id": "fo_7k2m",
"order": "ord_3n7q",
"status": "on_hold",
"request": {
"channel": "shopify",
"external_id": "gid://shopify/FulfillmentOrder/6650012",
"status": "accepted",
"unmapped": []
},
"hold": {
"reason": "combine",
"note": null,
"since": "2026-11-02T04:00:00Z"
},
"packaging": "pkg_acme_mailer",
"lines": [
{
"line": "lin_9a2c",
"sku": "5187209554",
"quantity": 1,
"qc": {
"status": "passed",
"photos": [
"https://media.ninjabuy.com/qc/ord_3n7q/1.webp",
"https://media.ninjabuy.com/qc/ord_3n7q/2.webp"
],
"checked_at": "2026-11-02T03:20:11Z"
}
}
],
"shipment": null,
"created_at": "2026-11-01T09:14:03Z"
}保留解除
POST/v1/fulfillment_orders/{id}/release
保留中のフルフィルメント注文を進めます。
スコープorders:write
パスパラメータ
idstring必須- フルフィルメント注文のID。
エラー
| ステータス | タイプ | 時期 |
|---|---|---|
| 404 | not-found | このアカウントにそのフルフィルメント注文はありません。 |
| 409 | invalid-state | 保留されていません。 |
curl -X POST "https://www.ninjabuy.com/api/v1/fulfillment_orders/fo_7k2m/release" \
-H "Authorization: Bearer $NINJABUY_API_KEY" \
-H "NinjaBuy-Version: 2026-11" \
-H "Idempotency-Key: $(uuidgen)"HTTP/2 200 OK
{
"id": "fo_7k2m",
"order": "ord_3n7q",
"status": "in_progress",
"request": {
"channel": "shopify",
"external_id": "gid://shopify/FulfillmentOrder/6650012",
"status": "accepted",
"unmapped": []
},
"hold": null,
"packaging": "pkg_acme_mailer",
"lines": [
{
"line": "lin_9a2c",
"sku": "5187209554",
"quantity": 1,
"qc": {
"status": "passed",
"photos": [
"https://media.ninjabuy.com/qc/ord_3n7q/1.webp",
"https://media.ninjabuy.com/qc/ord_3n7q/2.webp"
],
"checked_at": "2026-11-02T03:20:11Z"
}
}
],
"shipment": null,
"created_at": "2026-11-01T09:14:03Z"
}キャンセル
POST/v1/fulfillment_orders/{id}/cancel
まだ何も梱包されていない荷物をキャンセルします。商品はあなたの棚に残り、後で、または別の注文と一緒に発送できます。購入もキャンセルするには、注文をキャンセルしてください。
スコープorders:write
パスパラメータ
idstring必須- フルフィルメント注文のID。
エラー
| ステータス | タイプ | 時期 |
|---|---|---|
| 404 | not-found | このアカウントにそのフルフィルメント注文はありません。 |
| 409 | invalid-state | 梱包済みまたは発送済みです。 |
curl -X POST "https://www.ninjabuy.com/api/v1/fulfillment_orders/fo_7k2m/cancel" \
-H "Authorization: Bearer $NINJABUY_API_KEY" \
-H "NinjaBuy-Version: 2026-11" \
-H "Idempotency-Key: $(uuidgen)"HTTP/2 200 OK
{
"id": "fo_7k2m",
"order": "ord_3n7q",
"status": "cancelled",
"request": {
"channel": "shopify",
"external_id": "gid://shopify/FulfillmentOrder/6650012",
"status": "accepted",
"unmapped": []
},
"hold": null,
"packaging": "pkg_acme_mailer",
"lines": [
{
"line": "lin_9a2c",
"sku": "5187209554",
"quantity": 1,
"qc": {
"status": "passed",
"photos": [
"https://media.ninjabuy.com/qc/ord_3n7q/1.webp",
"https://media.ninjabuy.com/qc/ord_3n7q/2.webp"
],
"checked_at": "2026-11-02T03:20:11Z"
}
}
],
"shipment": null,
"created_at": "2026-11-01T09:14:03Z"
}