Orders-API2026-11Preview
Fulfillmentorders
De regels van een bestelling die we in één pakket verpakken, met de doos waarin ze gaan en onze controle van elk artikel.
- De meeste bestellingen hebben er één. Een bestelling waarvan de artikelen ver uit elkaar aankomen, of die je splitst, heeft er meer.
- Een Shopify-bestelling komt binnen als Shopify's eigen fulfillmentverzoek. We accepteren het als elke regel aan een SKU is toegewezen (Varianten), en weigeren het met de regels die dat niet zijn, zodat Shopify het bij jou laat.
- Een artikel dat onze controle niet doorstaat, verstuurt qc.issue en wacht op jouw keuze voordat het wordt verzonden.
Het Fulfillment order-object
idstring- Begint met fo_.
orderstring- De bestelling waar hij bij hoort.
statusstring- open (wacht op de artikelen), in_progress (wordt ingepakt), on_hold, closed (verzonden) of cancelled.
requestobject|null- Voor een Shopify-bestelling: de fulfillmentorder van Shopify en ons antwoord erop, geaccepteerd, of geweigerd met de winkelvarianten die niet aan een SKU zijn toegewezen.
holdobject|null- reason en note, zolang vastgehouden.
packagingstring|null- De doos of verzendzak waar het in gaat.
lines[].qcobject- Onze controle: pending, passed of issue, met de foto's en wanneer.
shipmentstring|null- Ingesteld zodra het vertrekt.
{
"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"
}Fulfillmentorders opvragen
GET/v1/fulfillment_orders
Nieuwste eerst. Filter op bestelling of status.
Scopeorders:read
Queryparameters
orderstring- Optioneel. Een bestellings-id.
statusstring- Optioneel.
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
}Een fulfillmentorder ophalen
GET/v1/fulfillment_orders/{id}
De regels, onze controle van elk, de verpakking en de zending.
Scopeorders:read
Padparameters
idstringverplicht- De id van de fulfillmentorder.
Fouten
| Status | Type | Wanneer |
|---|---|---|
| 404 | not-found | Deze fulfillmentorder bestaat niet op dit account. |
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"
}Vasthouden
POST/v1/fulfillment_orders/{id}/hold
Houdt hem tegen tot je hem vrijgeeft: om te wachten op een andere bestelling naar dezelfde klant, of op voorraad die je instuurt. De gratis opslag op je schap loopt door.
Scopeorders:write
Padparameters
idstringverplicht- De id van de fulfillmentorder.
Body
reasonstringverplicht- combine, wait_for_stock of other.
notestring- Optioneel. Een notitie voor jezelf, opgeslagen bij de pauze.
Fouten
| Status | Type | Wanneer |
|---|---|---|
| 404 | not-found | Deze fulfillmentorder bestaat niet op dit account. |
| 409 | invalid-state | Hij is gesloten of geannuleerd. |
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"
}Vrijgeven
POST/v1/fulfillment_orders/{id}/release
Laat een vastgehouden fulfillmentorder verdergaan.
Scopeorders:write
Padparameters
idstringverplicht- De id van de fulfillmentorder.
Fouten
| Status | Type | Wanneer |
|---|---|---|
| 404 | not-found | Deze fulfillmentorder bestaat niet op dit account. |
| 409 | invalid-state | Hij wordt niet vastgehouden. |
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"
}Annuleren
POST/v1/fulfillment_orders/{id}/cancel
Annuleert het pakket zolang er nog niets in is verpakt. De artikelen blijven op je schap, om later of met een andere bestelling te verzenden. Wil je ook de aankoop annuleren, annuleer dan de bestelling.
Scopeorders:write
Padparameters
idstringverplicht- De id van de fulfillmentorder.
Fouten
| Status | Type | Wanneer |
|---|---|---|
| 404 | not-found | Deze fulfillmentorder bestaat niet op dit account. |
| 409 | invalid-state | Hij is ingepakt of verzonden. |
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"
}