Developers

A small, boring, well documented REST API. Push orders in, get signed events out, and let Skuflo handle labels, stations and retries.

curl https://api.skuflo.io/v1/orders/import \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "manufacturer_id": "mfr_hyd",
    "lines": [
      { "order_no": "#1042", "sku": "OTT4FT6",
        "colour": "Grey Plush", "qty": 1 }
    ]
  }'

# 201 Created
{ "orders": 1, "items": 3, "unknown_skus": [] }

Events

order.createdAn order lands from a sheet upload or the API.order_no, lines, pieces
label.printedLabels for a piece are printed for the first time.barcode, piece, order_no
item.producedA workstation scans a piece as made.barcode, station, produced_at
item.in_stockA piece is booked onto a rack location.barcode, location
item.dispatchedThe loading bay scans a piece onto a vehicle.barcode, station, dispatched_at

Endpoints

POST/v1/uploadsUpload a sheet
POST/v1/orders/importImport JSON lines
GET/v1/ordersList and filter
GET/v1/orders/:idOrder with every piece
GET/v1/labelsLabel PDF
POST/v1/scanStation scan
GET/v1/scansScan log
POST/v1/webhooksRegister an endpoint

Built to be trusted

Signed and retriedHMAC SHA256 on every delivery, retried with backoff for about a day.
Idempotent by designEvery event has a stable id, so a retry never double counts.
Stations cannot lieStation tokens are locked to one event. The request cannot choose.
OpenAPI firstLive reference and a spec you can generate a client from.

First webhook in
ten minutes.