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.
| JSON body | Type | |
|---|
client | string | Client (Mandant) |
user | string | User |
password | string | Password |
language optional | string | Logon language code (DE, EN) |
formAgeMs optional | integer | How 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.
| JSON body | Type | |
|---|
user | string | User |
password | string | Current password |
newPassword | string | New password, at least 4 characters |
repeat | string | New password again |
POST /api/logoff
Logs off: a posting the user left waiting for an exception code is dropped.
GET /api/printers/{printer}
Checks a printer and answers it.
| Path | Type | |
|---|
printer | string | Printer |
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.
| Query | Type | |
|---|
code | string | The scanned code |
GET /api/deliveries/{delivery}
An inbound delivery (LB), its supplier and its HUs with how many items each has open.
| Path | Type | |
|---|
delivery | string | Inbound 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.
| Path | Type | |
|---|
delivery | string | Inbound delivery (LB) |
hu | string | HU |
GET /api/hus/{hu}
An HU and its items, booked or open. An HU due for quality inspection carries a `warning`.
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.
| Path | Type | |
|---|
hu | string | HU |
picket | string | Picket: 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.
| JSON body | Type | |
|---|
printer | string | Printer the labels go to |
hu | string | HU |
picket | string | Picket: the product number, with or without hyphens, or the item number |
quantity optional | string | Quantity counted, a whole number, at most the planned quantity. Left out: the planned quantity, as the screen proposes it |
exception optional | string | Exception code: 01 short quantity (only below the planned quantity), 02 damaged, 03 wrong product |
hold optional | boolean | Hold the posting for an exception code at any quantity |
GET /api/goods-receipt/held
The user's posting waiting for an exception code.
POST /api/goods-receipt/held
Books the user's held posting with the exception code given.
| JSON body | Type | |
|---|
exception | string | Exception code: 01 short quantity, 02 damaged, 03 wrong product |
POST /api/hus/{hu}/picket-flag
Prints the picket flag of an HU.
| JSON body | Type | |
|---|
printer | string | Printer |
POST /api/hus/{hu}/unload
Unloads an HU (each HU once).