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.