Hoppa till innehållet

Leveranser

Shipments: the physical fulfilment of sales orders, from warehouse release through picking, packing and carrier booking to delivery. Addressed by shipmentNumber. A shipment can cover several orders (consolidation) and an order can have several shipments (partial delivery), so shipments are their own resource rather than a sub-resource of the order.

12 anrop GET POST Bas-URL https://api.erp.fluit.cloud/preview

Autentisering, felkoder, rate limits, idempotens och paginering gäller alla anrop och står samlade under Kom igång.

GET /shipments

List shipments

Returns a paginated list of shipments, newest business key last — sorted by shipmentNumber so paging is deterministic. ?modifiedSince= returns both created and modified shipments, so it can be used for delta sync; deletions are reported by GET /preview/deletions.

Visa hela beskrivningen

Each shipment carries all of its lines, including lines belonging to other orders on a consolidated shipment — use GET /preview/orders/{orderNumber}/shipments for the order-scoped view.

Frågeparametrar

Fält Typ Beskrivning
search string Matches shipment number and tracking number, case-insensitively and on partial words.
orderNumber string Returns only the shipments fulfilling this sales order number.
status enum Filters on where the shipment stands in the pick-pack-ship flow. Hold Released Picking Picked ReadyForPickup Packing Packed Booked PickedUp InTransit Delivered Failed Cancelled
modifiedSince string(date-time) Returns only records created or changed at or after this instant (ISO 8601 UTC datetime). A change anywhere inside the record counts, including on its lines.
page integer Page to return, 1-based. Default 1.
pageSize integer Number of records per page. Default 50, max 200.

Svar

200 PagedResult_PublicShipmentResponse

Paginerat svar: raderna nedan ligger i items[], omgivna av totalCount, page, pageSize, totalPages, hasPreviousPage och hasNextPage. Paginerad

Fält Typ Beskrivning
createdDate string(date-time) UTC timestamp when the shipment was created.
deliveredDate string(date-time) · nullable UTC timestamp when the shipment was delivered. Null if not yet delivered.
lines ShipmentLine[] · nullable Shipment lines. Scoped to the addressed order when read through an order.
links Links Hypermedia links for a public API resource. Exposed as a computed `links` property on the public response DTOs so that create and read responses carry the same self-reference — the canonical URL is derived from the business key already present on the DTO and can never drift from the route it points at.
plannedShipDate string(date) · nullable Planned ship date (ISO 8601 date). Null if not yet planned.
shipmentNumber string · nullable Unique shipment number, e.g. `SHIP-2026-00128`.
shippedDate string(date-time) · nullable UTC timestamp when the shipment was handed over to the carrier. Null if not yet shipped.
shippingMethodName string · nullable Name of the shipping method / carrier. Null if not set.
status enum Shipment status values exposed via the Public API. Mirrors the internal shipment lifecycle from warehouse release to delivery. Hold Released Picking Picked ReadyForPickup Packing Packed Booked PickedUp InTransit Delivered Failed Cancelled
totalWeightKg decimal · nullable Total weight in kilograms. Serialised as a decimal string. Null if not weighed.
trackingNumber string · nullable Carrier tracking number. Null until the shipment is booked with a carrier.
400 ProblemDetails ?status= got a value outside its list.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standardfel: 401 403 Felhantering

Exempel

curl
curl "https://api.erp.fluit.cloud/preview/shipments" \
  -H "X-Api-Key: fluit_live_sk_..."
Svar 200
{
  "hasNextPage": true,
  "hasPreviousPage": true,
  "items": [
    {
      "createdDate": "2026-06-11T09:24:13.418",
      "deliveredDate": "2026-06-11T09:24:13.418",
      "lines": [
        {
          "itemName": "Widget A",
          "itemNumber": "WIDGET-A",
          "orderLineNumber": 42,
          "orderNumber": "SO-2026-1041",
          "pickedQuantity": "10",
          "quantity": "10",
          "unit": "st"
        }
      ],
      "links": {
        "self": "string"
      },
      "plannedShipDate": "2026-06-11",
      "shipmentNumber": "SH-2026-0455",
      "shippedDate": "2026-06-11T09:24:13.418",
      "shippingMethodName": "Parcel, next day",
      "status": "Hold",
      "totalWeightKg": "1.250",
      "trackingNumber": "ABC-001"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "totalCount": 137,
  "totalPages": 3
}

Bas-URL https://api.erp.fluit.cloud/preview. Svarsexemplet är genererat ur schemat: formen stämmer, värdena är påhittade.

POST /shipments

Create a shipment

Creates a shipment covering one or more sales orders and returns it in the same shape as GET /preview/shipments/{shipmentNumber}. The shipment starts in Released status with a line per allocated order line; drive it forward with the pick, pack, book, hand-over and mark-delivered actions.

Visa hela beskrivningen

Orders must be released before a shipment can be created for them. Passing several order numbers consolidates them; the orders must agree on delivery address and shipping method. Known error codes: SalesOrder.NotFound, Shipment.NoAllocatedLines, Shipment.InconsistentConsolidation.

Body krävs

Fält Typ Beskrivning
notes string · nullable Free-text notes on the shipment.
orderNumbers Krävs string[] Sales orders to fulfil. Pass more than one to consolidate them into a single shipment — they must share a delivery address and shipping method for consolidation to be accepted.
shippingMethodCode string · nullable Shipping method / carrier code. Defaults to the order's shipping method.

Svar

201 PublicShipmentDetailResponse
  • Location — URL of the newly created resource.
Fält Typ Beskrivning
createdDate string(date-time) UTC timestamp when the shipment was created.
deliveredDate string(date-time) · nullable UTC timestamp when the shipment was delivered.
deliveryAddress DeliveryAddress Delivery address attached to a sales order.
externalBookingId string · nullable Carrier's own booking reference. Null until booked.
goodsLabel string · nullable Goods marking printed on the delivery note. Null if not set.
incotermsCode string · nullable Incoterms code, e.g. `DAP`. Null if not set.
lines ShipmentLine[] · nullable All lines on the shipment, across every order it fulfils.
links Links Hypermedia links for a public API resource. Exposed as a computed `links` property on the public response DTOs so that create and read responses carry the same self-reference — the canonical URL is derived from the business key already present on the DTO and can never drift from the route it points at.
modifiedDate string(date-time) · nullable UTC timestamp when the shipment was last modified. Null if never modified.
orderNumbers string[] · nullable Order numbers this shipment fulfils. More than one on a consolidated shipment.
packages ShipmentPackage[] · nullable Packages registered on the shipment.
plannedShipDate string(date) · nullable Planned ship date (ISO 8601 date). Null if not yet planned.
requestedDeliveryDate string(date) · nullable Requested delivery date (ISO 8601 date). Null if not set.
shipmentNumber string · nullable Unique shipment number, e.g. `SHIP-2026-00128`.
shippedDate string(date-time) · nullable UTC timestamp when the shipment was handed over to the carrier.
shippingMethodName string · nullable Name of the shipping method / carrier. Null if not set.
status enum Shipment status values exposed via the Public API. Mirrors the internal shipment lifecycle from warehouse release to delivery. Hold Released Picking Picked ReadyForPickup Packing Packed Booked PickedUp InTransit Delivered Failed Cancelled
totalWeightKg decimal · nullable Total weight in kilograms. Serialised as a decimal string.
trackingNumber string · nullable Carrier tracking number. Null until the shipment is booked with a carrier.
warehouseCode string · nullable Code of the warehouse the shipment ships from.
400 ProblemDetails orderNumbers is empty, the shipping method code does not exist, an order is not Released yet, or the consolidated orders disagree on customer or delivery address.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standardfel: 401 403 409 Felhantering

Exempel

curl
curl -X POST "https://api.erp.fluit.cloud/preview/shipments" \
  -H "X-Api-Key: fluit_live_sk_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d @body.json
Consolidated with explicit carrier
{
  "notes": "Consolidated for weekly pickup",
  "orderNumbers": [
    "SO-2026-00042",
    "SO-2026-00043"
  ],
  "shippingMethodCode": "DHL-PALL"
}
Single order
{
  "orderNumbers": [
    "SO-2026-00042"
  ]
}
Svar 201
{
  "createdDate": "2026-06-11T09:24:13.418",
  "deliveredDate": "2026-06-11T09:24:13.418",
  "deliveryAddress": {
    "city": "Stockholm",
    "contactPerson": "string",
    "countryCode": "SE",
    "email": "order@acme.se",
    "name": "Acme AB",
    "phone": "+46 8 123 45 67",
    "postalCode": "11122",
    "street1": "Storgatan 1",
    "street2": "string"
  },
  "externalBookingId": "string",
  "goodsLabel": "string",
  "incotermsCode": "STD",
  "lines": [
    {
      "itemName": "Widget A",
      "itemNumber": "WIDGET-A",
      "orderLineNumber": 42,
      "orderNumber": "SO-2026-1041",
      "pickedQuantity": "10",
      "quantity": "10",
      "unit": "st"
    }
  ],
  "links": {
    "self": "string"
  },
  "modifiedDate": "2026-06-11T09:24:13.418",
  "orderNumbers": [
    "SO-2026-1041"
  ],
  "packages": [
    {
      "heightCm": "299.00",
      "lengthCm": "299.00",
      "notes": "string",
      "packageNumber": "ABC-001",
      "trackingNumber": "ABC-001",
      "weightKg": "1.250",
      "widthCm": "299.00"
    }
  ],
  "plannedShipDate": "2026-06-11",
  "requestedDeliveryDate": "2026-06-11",
  "shipmentNumber": "SH-2026-0455",
  "shippedDate": "2026-06-11T09:24:13.418",
  "shippingMethodName": "Parcel, next day",
  "status": "Hold",
  "totalWeightKg": "1.250",
  "trackingNumber": "ABC-001",
  "warehouseCode": "MAIN"
}

Bas-URL https://api.erp.fluit.cloud/preview. Svarsexemplet är genererat ur schemat: formen stämmer, värdena är påhittade.

GET /shipments/{shipmentNumber}

Get a shipment by shipment number

Returns a shipment with its delivery address, lines and packages, plus the order numbers it fulfils — more than one on a consolidated shipment. Responses carry a weak ETag; pass it back in If-None-Match to get 304 Not Modified while the record is unchanged.

Visa hela beskrivningen

The validator follows the whole record, so a change to a line or a package invalidates it too.

shipments:read Stödjer ETag

Sökvägsparametrar

Fält Typ Beskrivning
shipmentNumber Krävs string Shipment number of the shipment to read.

Svar

200 PublicShipmentDetailResponse
  • ETag — Weak validator for this representation. Pass it back in If-None-Match to get 304 Not Modified while the record is unchanged.
Fält Typ Beskrivning
createdDate string(date-time) UTC timestamp when the shipment was created.
deliveredDate string(date-time) · nullable UTC timestamp when the shipment was delivered.
deliveryAddress DeliveryAddress Delivery address attached to a sales order.
externalBookingId string · nullable Carrier's own booking reference. Null until booked.
goodsLabel string · nullable Goods marking printed on the delivery note. Null if not set.
incotermsCode string · nullable Incoterms code, e.g. `DAP`. Null if not set.
lines ShipmentLine[] · nullable All lines on the shipment, across every order it fulfils.
links Links Hypermedia links for a public API resource. Exposed as a computed `links` property on the public response DTOs so that create and read responses carry the same self-reference — the canonical URL is derived from the business key already present on the DTO and can never drift from the route it points at.
modifiedDate string(date-time) · nullable UTC timestamp when the shipment was last modified. Null if never modified.
orderNumbers string[] · nullable Order numbers this shipment fulfils. More than one on a consolidated shipment.
packages ShipmentPackage[] · nullable Packages registered on the shipment.
plannedShipDate string(date) · nullable Planned ship date (ISO 8601 date). Null if not yet planned.
requestedDeliveryDate string(date) · nullable Requested delivery date (ISO 8601 date). Null if not set.
shipmentNumber string · nullable Unique shipment number, e.g. `SHIP-2026-00128`.
shippedDate string(date-time) · nullable UTC timestamp when the shipment was handed over to the carrier.
shippingMethodName string · nullable Name of the shipping method / carrier. Null if not set.
status enum Shipment status values exposed via the Public API. Mirrors the internal shipment lifecycle from warehouse release to delivery. Hold Released Picking Picked ReadyForPickup Packing Packed Booked PickedUp InTransit Delivered Failed Cancelled
totalWeightKg decimal · nullable Total weight in kilograms. Serialised as a decimal string.
trackingNumber string · nullable Carrier tracking number. Null until the shipment is booked with a carrier.
warehouseCode string · nullable Code of the warehouse the shipment ships from.
304 Tom body.
  • ETag — Weak validator for this representation. Pass it back in If-None-Match to get 304 Not Modified while the record is unchanged.
404 ProblemDetails No shipment with that shipment number.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standardfel: 401 403 Felhantering

Exempel

curl
curl "https://api.erp.fluit.cloud/preview/shipments/{shipmentNumber}" \
  -H "X-Api-Key: fluit_live_sk_..."
Svar 200
{
  "createdDate": "2026-06-11T09:24:13.418",
  "deliveredDate": "2026-06-11T09:24:13.418",
  "deliveryAddress": {
    "city": "Stockholm",
    "contactPerson": "string",
    "countryCode": "SE",
    "email": "order@acme.se",
    "name": "Acme AB",
    "phone": "+46 8 123 45 67",
    "postalCode": "11122",
    "street1": "Storgatan 1",
    "street2": "string"
  },
  "externalBookingId": "string",
  "goodsLabel": "string",
  "incotermsCode": "STD",
  "lines": [
    {
      "itemName": "Widget A",
      "itemNumber": "WIDGET-A",
      "orderLineNumber": 42,
      "orderNumber": "SO-2026-1041",
      "pickedQuantity": "10",
      "quantity": "10",
      "unit": "st"
    }
  ],
  "links": {
    "self": "string"
  },
  "modifiedDate": "2026-06-11T09:24:13.418",
  "orderNumbers": [
    "SO-2026-1041"
  ],
  "packages": [
    {
      "heightCm": "299.00",
      "lengthCm": "299.00",
      "notes": "string",
      "packageNumber": "ABC-001",
      "trackingNumber": "ABC-001",
      "weightKg": "1.250",
      "widthCm": "299.00"
    }
  ],
  "plannedShipDate": "2026-06-11",
  "requestedDeliveryDate": "2026-06-11",
  "shipmentNumber": "SH-2026-0455",
  "shippedDate": "2026-06-11T09:24:13.418",
  "shippingMethodName": "Parcel, next day",
  "status": "Hold",
  "totalWeightKg": "1.250",
  "trackingNumber": "ABC-001",
  "warehouseCode": "MAIN"
}

Bas-URL https://api.erp.fluit.cloud/preview. Svarsexemplet är genererat ur schemat: formen stämmer, värdena är påhittade.

POST /shipments/{shipmentNumber}/book

Book a shipment with the carrier

Books the shipment with the carrier behind its shipping method and returns the tracking number and the carrier's booking reference. Returns 200 rather than 204 because the tracking number is the point of the call — it is what gets sent to the customer.

Visa hela beskrivningen

Emits the shipment.booked webhook. The call reaches an external carrier system, so it can fail for reasons outside Fluit: a rejected address, a service the receiver's country does not allow, or the carrier being unreachable. Booking is normally triggered automatically when packing is confirmed; call this explicitly to retry a failed booking or when the shipping method does not auto-book.

Sökvägsparametrar

Fält Typ Beskrivning
shipmentNumber Krävs string Shipment number of the packed shipment to book.

Svar

200 BookShipmentResponse
Fält Typ Beskrivning
externalBookingId string · nullable The carrier's own booking reference.
trackingNumber string · nullable Carrier tracking number, if the carrier returned one.
400 ProblemDetails The shipment has no shipping method or no packages, the carrier behind it is not configured for booking, or the carrier rejected the booking — its message is in the problem details.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable
404 ProblemDetails No shipment with that shipment number.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable
409 ProblemDetails The shipment is not packed.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standardfel: 401 403 Felhantering

Exempel

curl
curl -X POST "https://api.erp.fluit.cloud/preview/shipments/{shipmentNumber}/book" \
  -H "X-Api-Key: fluit_live_sk_..." \
  -H "Idempotency-Key: $(uuidgen)"
Svar 200
{
  "externalBookingId": "string",
  "trackingNumber": "ABC-001"
}

Bas-URL https://api.erp.fluit.cloud/preview. Svarsexemplet är genererat ur schemat: formen stämmer, värdena är påhittade.

POST /shipments/{shipmentNumber}/hand-over

Hand a shipment over to the carrier

Records that the carrier has collected the shipment: status becomes PickedUp and shippedDate is stamped. This is what marks the goods as having left the warehouse, and it moves the underlying sales order lines to delivered.

Sökvägsparametrar

Fält Typ Beskrivning
shipmentNumber Krävs string Shipment number of the shipment the carrier has collected.

Svar

204 Tom body.
404 ProblemDetails No shipment with that shipment number.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable
409 ProblemDetails The shipment is not ReadyForPickup, so there is nothing to hand over.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standardfel: 400 401 403 Felhantering

Exempel

curl
curl -X POST "https://api.erp.fluit.cloud/preview/shipments/{shipmentNumber}/hand-over" \
  -H "X-Api-Key: fluit_live_sk_..." \
  -H "Idempotency-Key: $(uuidgen)"
Svar 404
{
  "detail": "string",
  "instance": "string",
  "status": 42,
  "title": "string",
  "type": "string"
}

Bas-URL https://api.erp.fluit.cloud/preview. Svarsexemplet är genererat ur schemat: formen stämmer, värdena är påhittade.

GET /shipments/{shipmentNumber}/lines

List the lines on a shipment

Returns every line on the shipment, across all orders it fulfils. Each line carries the orderNumber and orderLineNumber it originates from, so a consolidated shipment can be split back to its orders. Sorted by order number, then order line number.

shipments:read Paginerad

Sökvägsparametrar

Fält Typ Beskrivning
shipmentNumber Krävs string Shipment number of the shipment whose lines to list.

Frågeparametrar

Fält Typ Beskrivning
page integer Page to return, 1-based. Default 1.
pageSize integer Number of records per page. Default 50, max 200.

Svar

200 PagedResult_PublicShipmentLineResponse

Paginerat svar: raderna nedan ligger i items[], omgivna av totalCount, page, pageSize, totalPages, hasPreviousPage och hasNextPage. Paginerad

Fält Typ Beskrivning
itemName string · nullable Display name of the shipped item.
itemNumber string · nullable Item number of the shipped item.
orderLineNumber integer Line number of the sales order line this shipment line fulfils.
orderNumber string · nullable Order number of the sales order this line belongs to. Set on consolidated shipments.
pickedQuantity decimal Quantity picked so far. Serialised as a decimal string.
quantity decimal Quantity on this shipment. Serialised as a decimal string.
unit string · nullable Unit of measure code, e.g. `st`. Null when the line uses the item's base unit.
404 ProblemDetails No shipment with that shipment number.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standardfel: 401 403 Felhantering

Exempel

curl
curl "https://api.erp.fluit.cloud/preview/shipments/{shipmentNumber}/lines" \
  -H "X-Api-Key: fluit_live_sk_..."
Svar 200
{
  "hasNextPage": true,
  "hasPreviousPage": true,
  "items": [
    {
      "itemName": "Widget A",
      "itemNumber": "WIDGET-A",
      "orderLineNumber": 42,
      "orderNumber": "SO-2026-1041",
      "pickedQuantity": "10",
      "quantity": "10",
      "unit": "st"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "totalCount": 137,
  "totalPages": 3
}

Bas-URL https://api.erp.fluit.cloud/preview. Svarsexemplet är genererat ur schemat: formen stämmer, värdena är påhittade.

POST /shipments/{shipmentNumber}/mark-delivered

Mark a shipment as delivered

Records that the shipment reached the recipient: status becomes Delivered and deliveredDate is stamped. Use this when delivery confirmation comes from somewhere other than the carrier integration — a driver app, a signed proof of delivery, or a customer confirming pickup. Emits the shipment.delivered webhook.

Sökvägsparametrar

Fält Typ Beskrivning
shipmentNumber Krävs string Shipment number of the shipment that reached the recipient.

Svar

204 Tom body.
404 ProblemDetails No shipment with that shipment number.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable
409 ProblemDetails The shipment has not been handed over to the carrier yet, or is already delivered.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standardfel: 400 401 403 Felhantering

Exempel

curl
curl -X POST "https://api.erp.fluit.cloud/preview/shipments/{shipmentNumber}/mark-delivered" \
  -H "X-Api-Key: fluit_live_sk_..." \
  -H "Idempotency-Key: $(uuidgen)"
Svar 404
{
  "detail": "string",
  "instance": "string",
  "status": 42,
  "title": "string",
  "type": "string"
}

Bas-URL https://api.erp.fluit.cloud/preview. Svarsexemplet är genererat ur schemat: formen stämmer, värdena är påhittade.

POST /shipments/{shipmentNumber}/pack

Pack a shipment

Packs everything picked on the shipment into a package and, by default, confirms packing. Confirming triggers carrier booking when the shipping method is configured for it, so the response can come back with status Booked and a tracking number already set — read it with GET /preview/shipments/{shipmentNumber}.

Visa hela beskrivningen

Returns 200 rather than 204 because the resulting status is the point of the call. Packing is applied line by line and persists as it goes, so the outcome can be partial: lines that could not be packed are reported in skipped[] with a reason. When anything was skipped the shipment is left unconfirmed — confirmed comes back false — so the remaining lines can be handled in the warehouse app and this call repeated. packageNumber may be omitted when the shipment has exactly one package. With several packages it is required — the call fails rather than picking one arbitrarily.

Sökvägsparametrar

Fält Typ Beskrivning
shipmentNumber Krävs string Shipment number of the picked shipment to pack.

Body

Fält Typ Beskrivning
confirmWhenFullyPacked boolean Confirm packing when everything picked was packed. Default true. Confirming books the shipment with the carrier when the shipping method is set up for automatic booking.
packageNumber string · nullable Package to pack into. Optional when the shipment has exactly one package; required when it has several, otherwise the call returns 409.

Svar

200 PackShipmentResponse
Fält Typ Beskrivning
confirmed boolean Whether packing was confirmed. False when lines were skipped.
packageNumber string · nullable The package the quantities were packed into.
packedCount integer Number of lines packed by this call.
skipped PackShipmentSkippedLine[] · nullable Lines that could not be packed automatically, with the reason.
status enum Shipment status values exposed via the Public API. Mirrors the internal shipment lifecycle from warehouse release to delivery. Hold Released Picking Picked ReadyForPickup Packing Packed Booked PickedUp InTransit Delivered Failed Cancelled
400 ProblemDetails The shipment has no package to pack into — create one with POST /preview/shipments/{shipmentNumber}/packages.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable
404 ProblemDetails No shipment with that shipment number, or no package with that package number on it.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable
409 ProblemDetails The shipment has not been picked, or it has several packages and packageNumber was omitted.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standardfel: 401 403 Felhantering

Exempel

curl
curl -X POST "https://api.erp.fluit.cloud/preview/shipments/{shipmentNumber}/pack" \
  -H "X-Api-Key: fluit_live_sk_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d @body.json
Explicit package, leave unconfirmed
{
  "confirmWhenFullyPacked": false,
  "packageNumber": "PKG-1"
}
Single package, confirm and book
{}
Svar 200
{
  "confirmed": true,
  "packageNumber": "ABC-001",
  "packedCount": 42,
  "skipped": [
    {
      "itemNumber": "WIDGET-A",
      "orderLineNumber": 42,
      "reason": "string"
    }
  ],
  "status": "Hold"
}

Bas-URL https://api.erp.fluit.cloud/preview. Svarsexemplet är genererat ur schemat: formen stämmer, värdena är påhittade.

GET /shipments/{shipmentNumber}/packages

List the packages on a shipment

Returns the physical packages (parcels) registered on the shipment with their weight, dimensions and per-package tracking numbers. Tracking numbers are null until the shipment is booked with a carrier. Sorted by package number.

shipments:read Paginerad

Sökvägsparametrar

Fält Typ Beskrivning
shipmentNumber Krävs string Shipment number of the shipment whose packages to list.

Frågeparametrar

Fält Typ Beskrivning
page integer Page to return, 1-based. Default 1.
pageSize integer Number of records per page. Default 50, max 200.

Svar

200 PagedResult_PublicShipmentPackageResponse

Paginerat svar: raderna nedan ligger i items[], omgivna av totalCount, page, pageSize, totalPages, hasPreviousPage och hasNextPage. Paginerad

Fält Typ Beskrivning
heightCm decimal · nullable Height in centimetres. Serialised as a decimal string.
lengthCm decimal · nullable Length in centimetres. Serialised as a decimal string.
notes string · nullable Free-text notes on the package. Null if not set.
packageNumber string · nullable Package number, unique within the shipment.
trackingNumber string · nullable Carrier tracking number for this individual package. Null until booked.
weightKg decimal · nullable Weight in kilograms. Serialised as a decimal string.
widthCm decimal · nullable Width in centimetres. Serialised as a decimal string.
404 ProblemDetails No shipment with that shipment number.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standardfel: 401 403 Felhantering

Exempel

curl
curl "https://api.erp.fluit.cloud/preview/shipments/{shipmentNumber}/packages" \
  -H "X-Api-Key: fluit_live_sk_..."
Svar 200
{
  "hasNextPage": true,
  "hasPreviousPage": true,
  "items": [
    {
      "heightCm": "299.00",
      "lengthCm": "299.00",
      "notes": "string",
      "packageNumber": "ABC-001",
      "trackingNumber": "ABC-001",
      "weightKg": "1.250",
      "widthCm": "299.00"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "totalCount": 137,
  "totalPages": 3
}

Bas-URL https://api.erp.fluit.cloud/preview. Svarsexemplet är genererat ur schemat: formen stämmer, värdena är påhittade.

POST /shipments/{shipmentNumber}/packages

Add a package to a shipment

Registers a physical package (parcel) on the shipment. Weight and dimensions are what the carrier prices and labels on, so set them when known — nShift rejects bookings for packages without a weight. A shipment needs at least one package before it can be packed. packageNumber is generated within the shipment if omitted.

Sökvägsparametrar

Fält Typ Beskrivning
shipmentNumber Krävs string Shipment number of the shipment to add the package to.

Body krävs

Fält Typ Beskrivning
heightCm decimal · nullable Height in centimetres.
lengthCm decimal · nullable Length in centimetres.
notes string · nullable Free-text notes on the package.
packageNumber string · nullable Package number. Auto-generated within the shipment if omitted.
weightKg decimal · nullable Weight in kilograms.
widthCm decimal · nullable Width in centimetres.

Svar

201 PublicShipmentPackageResponse
  • Location — URL of the newly created resource.
Fält Typ Beskrivning
heightCm decimal · nullable Height in centimetres. Serialised as a decimal string.
lengthCm decimal · nullable Length in centimetres. Serialised as a decimal string.
notes string · nullable Free-text notes on the package. Null if not set.
packageNumber string · nullable Package number, unique within the shipment.
trackingNumber string · nullable Carrier tracking number for this individual package. Null until booked.
weightKg decimal · nullable Weight in kilograms. Serialised as a decimal string.
widthCm decimal · nullable Width in centimetres. Serialised as a decimal string.
400 ProblemDetails A weight or dimension is negative, or a field is longer than allowed.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable
404 ProblemDetails No shipment with that shipment number.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable
409 ProblemDetails The shipment has already shipped and can no longer be modified.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standardfel: 401 403 Felhantering

Exempel

curl
curl -X POST "https://api.erp.fluit.cloud/preview/shipments/{shipmentNumber}/packages" \
  -H "X-Api-Key: fluit_live_sk_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d @body.json
Full parcel
{
  "heightCm": "20",
  "lengthCm": "40",
  "notes": "Fragile",
  "packageNumber": "PKG-1",
  "weightKg": "12.5",
  "widthCm": "30"
}
Weight only
{
  "weightKg": "12.5"
}
Svar 201
{
  "heightCm": "299.00",
  "lengthCm": "299.00",
  "notes": "string",
  "packageNumber": "ABC-001",
  "trackingNumber": "ABC-001",
  "weightKg": "1.250",
  "widthCm": "299.00"
}

Bas-URL https://api.erp.fluit.cloud/preview. Svarsexemplet är genererat ur schemat: formen stämmer, värdena är påhittade.

POST /shipments/{shipmentNumber}/pick

Pick the lines on a shipment

Picks every outstanding quantity on the shipment from its allocated stock locations. Returns 200 rather than 204 because the outcome is partial by nature: lines that need a serial or batch number, or that lack stock at the allocated location, are reported in skipped[] with a reason and must be picked from the warehouse app.

Visa hela beskrivningen

By default the shipment advances to Picked when nothing was skipped; pass completeWhenFullyPicked=false to keep it open and call again.

Sökvägsparametrar

Fält Typ Beskrivning
shipmentNumber Krävs string Shipment number of the released shipment to pick.

Body

Fält Typ Beskrivning
completeWhenFullyPicked boolean Advance the shipment to Picked when every line came out picked. Default true. Set false to keep picking open across several calls.

Svar

200 PickShipmentResponse
Fält Typ Beskrivning
pickedCount integer Number of lines that were picked by this call.
skipped PickShipmentSkippedLine[] · nullable Lines that could not be picked automatically, with the reason.
status enum Shipment status values exposed via the Public API. Mirrors the internal shipment lifecycle from warehouse release to delivery. Hold Released Picking Picked ReadyForPickup Packing Packed Booked PickedUp InTransit Delivered Failed Cancelled
404 ProblemDetails No shipment with that shipment number.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable
409 ProblemDetails The shipment has already shipped and can no longer be picked.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standardfel: 400 401 403 Felhantering

Exempel

curl
curl -X POST "https://api.erp.fluit.cloud/preview/shipments/{shipmentNumber}/pick" \
  -H "X-Api-Key: fluit_live_sk_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d @body.json
Pick without completing
{
  "completeWhenFullyPicked": false
}
Pick and complete
{}
Svar 200
{
  "pickedCount": 42,
  "skipped": [
    {
      "itemNumber": "WIDGET-A",
      "orderLineNumber": 42,
      "reason": "string"
    }
  ],
  "status": "Hold"
}

Bas-URL https://api.erp.fluit.cloud/preview. Svarsexemplet är genererat ur schemat: formen stämmer, värdena är påhittade.

POST /shipments/{shipmentNumber}/release

Release a shipment to the warehouse

Moves a shipment from Hold to Released so the warehouse can start picking. Shipments created through this API are already Released — this endpoint exists for shipments put on hold.

Sökvägsparametrar

Fält Typ Beskrivning
shipmentNumber Krävs string Shipment number of the shipment on hold to release.

Svar

204 Tom body.
400 ProblemDetails The shipment could not be released because it has no lines to pick.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable
404 ProblemDetails No shipment with that shipment number.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable
409 ProblemDetails The shipment is not on hold, so there is nothing to release.
Fält Typ
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standardfel: 401 403 Felhantering

Exempel

curl
curl -X POST "https://api.erp.fluit.cloud/preview/shipments/{shipmentNumber}/release" \
  -H "X-Api-Key: fluit_live_sk_..." \
  -H "Idempotency-Key: $(uuidgen)"
Svar 400
{
  "detail": "string",
  "instance": "string",
  "status": 42,
  "title": "string",
  "type": "string"
}

Bas-URL https://api.erp.fluit.cloud/preview. Svarsexemplet är genererat ur schemat: formen stämmer, värdena är påhittade.

Scheman

Objekten som gruppens anrop refererar till. Fälttabellerna ovan går ett steg djupt och länkar hit i stället för att upprepa samma schema på varje endpoint.

DeliveryAddress

PublicDeliveryAddressResponse

Delivery address attached to a sales order.

Fält Typ Beskrivning
city string · nullable City name.
contactPerson string · nullable Contact person at the delivery address. Null if not set.
countryCode string · nullable ISO 3166-1 alpha-2 country code, e.g. `SE`.
email string · nullable Email address at the delivery address. Null if not set.
name string · nullable Recipient company or person name.
phone string · nullable Phone number at the delivery address. Null if not set.
postalCode string · nullable Postal / ZIP code.
street1 string · nullable Street address line 1.
street2 string · nullable Street address line 2 (c/o, suite, etc.). Null if not set.

PackShipmentSkippedLine

PackShipmentSkippedLineResponse
Fält Typ Beskrivning
itemNumber string · nullable Item number on the skipped line.
orderLineNumber integer Order line number of the line that was skipped.
reason string · nullable Why the line could not be packed automatically.

PickShipmentSkippedLine

PickShipmentSkippedLineResponse
Fält Typ Beskrivning
itemNumber string · nullable Item number on the skipped line.
orderLineNumber integer Order line number of the line that was skipped.
reason string · nullable Why the line could not be picked automatically.

ShipmentLine

PublicShipmentLineResponse

A single shipment line, referencing the order line it fulfils.

Fält Typ Beskrivning
itemName string · nullable Display name of the shipped item.
itemNumber string · nullable Item number of the shipped item.
orderLineNumber integer Line number of the sales order line this shipment line fulfils.
orderNumber string · nullable Order number of the sales order this line belongs to. Set on consolidated shipments.
pickedQuantity decimal Quantity picked so far. Serialised as a decimal string.
quantity decimal Quantity on this shipment. Serialised as a decimal string.
unit string · nullable Unit of measure code, e.g. `st`. Null when the line uses the item's base unit.

ShipmentPackage

PublicShipmentPackageResponse

A physical package (parcel) on a shipment.

Fält Typ Beskrivning
heightCm decimal · nullable Height in centimetres. Serialised as a decimal string.
lengthCm decimal · nullable Length in centimetres. Serialised as a decimal string.
notes string · nullable Free-text notes on the package. Null if not set.
packageNumber string · nullable Package number, unique within the shipment.
trackingNumber string · nullable Carrier tracking number for this individual package. Null until booked.
weightKg decimal · nullable Weight in kilograms. Serialised as a decimal string.
widthCm decimal · nullable Width in centimetres. Serialised as a decimal string.