DMO warehouse system: API

The system behind Demo Surf's screens (fictional data). Base URL https://wms.dev.aicoflow.com, JSON in and out, OpenAPI document. Every request but logon and password change carries a user of the system, HTTP Basic (the users Demo Surf logs on with). Accept-Language: en answers in English, otherwise German. A refusal answers {"error": {"status", "code", "message"}}, its message the one the screen shows after "E:". The live page shows the warehouse as it changes.

POST /api/logon no logon

Checks a logon as the logon screen does: client, user, password, language. Answers the user, warehouse and resource. Logon messages are German.

PathType
JSON bodyType
clientstringClient (Mandant)
userstringUser
passwordstringPassword
language optionalstringLogon language code (DE, EN)
formAgeMs optionalintegerHow long the logon form had stood open, in ms (its cookie runs out after 5 minutes)

POST /api/password no logon

Changes a user's password. It lasts until the service is reset.

PathType
JSON bodyType
userstringUser
passwordstringCurrent password
newPasswordstringNew password, at least 4 characters
repeatstringNew password again

POST /api/logoff

Logs off: a posting the user left waiting for an exception code is dropped.

PathType

GET /api/printers/{printer}

Checks a printer and answers it.

PathType
printerstringPrinter

GET /api/goods-receipt/lookup

What a code scanned into "LB / HU / Picket" is: an inbound delivery, an HU to book (refused when fully posted) or the open item a picket names. `kind` says which.

PathType
QueryType
codestringThe scanned code

GET /api/deliveries/{delivery}

An inbound delivery (LB), its supplier and its HUs with how many items each has open.

PathType
deliverystringInbound delivery (LB)

GET /api/deliveries/{delivery}/hus/{hu}

An HU scanned on its delivery: refused when it is not one of the delivery's, or fully posted.

PathType
deliverystringInbound delivery (LB)
hustringHU

GET /api/hus/{hu}

An HU and its items, booked or open. An HU due for quality inspection carries a `warning`.

PathType
hustringHU

GET /api/hus/{hu}/items/{picket}

The item of an HU a picket names (its product number, with or without hyphens, or the item number); refused when it is not on the HU or posted already.

PathType
hustringHU
picketstringPicket: product number (with or without hyphens) or item number

POST /api/goods-receipt/postings

Books one item of an HU with the quantity counted, checked as the screens check it: printer, HU, picket, quantity. A quantity short of the planned one needs an exception code: given with `exception` it books at once; without one the posting is held for the user (409 `exception_required`, `held`) until POST /api/goods-receipt/held gives the code. `hold` holds it at any quantity. Booking the last open item of an HU closes the HU, the last HU of a delivery the delivery: `message` then says so, `hu.complete` and `delivery.complete` are true.

PathType
JSON bodyType
printerstringPrinter the labels go to
hustringHU
picketstringPicket: the product number, with or without hyphens, or the item number
quantity optionalstringQuantity counted, a whole number, at most the planned quantity. Left out: the planned quantity, as the screen proposes it
exception optionalstringException code: 01 short quantity (only below the planned quantity), 02 damaged, 03 wrong product
hold optionalbooleanHold the posting for an exception code at any quantity

GET /api/goods-receipt/held

The user's posting waiting for an exception code.

PathType

POST /api/goods-receipt/held

Books the user's held posting with the exception code given.

PathType
JSON bodyType
exceptionstringException code: 01 short quantity, 02 damaged, 03 wrong product

POST /api/hus/{hu}/picket-flag

Prints the picket flag of an HU.

PathType
hustringHU
JSON bodyType
printerstringPrinter

POST /api/hus/{hu}/unload

Unloads an HU (each HU once).

PathType
hustringHU