← Alle Themen · API
In diesem Artikel 3 Kapitel
API: Lager/Bestands-Endpunkte
GET /warehouse/stock_overview
Ruft die aggregierte Bestandsübersicht ab. Die Daten zeigen den physischen Bestand, den Nettobestand (abzüglich Reservierungen) und die reservierte Menge pro Artikel und Lager.
URL: GET /public_api/<token>/warehouse/stock_overview
Request-Parameter (Query-String)
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
warehouseId | Integer | Nein | Filter nach Lager-ID. Ohne diesen Parameter werden Bestände aller Lager zurückgegeben. |
Beispiel-Request
curl -X GET "https://meinefirma.scanalot.io/public_api/<token>/warehouse/stock_overview?warehouseId=1" \
-H "Authorization: <api-token>"
Erfolgreiche Antwort
{
"valid": true,
"data": [
{
"id": 1,
"itemId": 123,
"warehouseId": 1,
"stockPhy": 50,
"stockNet": 45,
"stockReserved": 5,
"updatedAt": 1700100000
},
{
"id": 2,
"itemId": 124,
"warehouseId": 1,
"stockPhy": 100,
"stockNet": 90,
"stockReserved": 10,
"updatedAt": 1700100000
}
]
}
Antwort-Felder
| Feld | Typ | Beschreibung |
|---|---|---|
id | Integer | Datensatz-ID |
itemId | Integer | Artikel-ID |
warehouseId | Integer | Lager-ID (0 = lagerübergreifend, z.B. für Bundle-Artikel) |
stockPhy | Integer | Physischer Bestand (tatsächlich auf Lager) |
stockNet | Integer | Nettobestand (physischer Bestand abzüglich Reservierungen) |
stockReserved | Integer | Reservierter Bestand (für offene Aufträge) |
updatedAt | Integer | Unix-Timestamp der letzten Aktualisierung |
Fehler-Antwort
{
"valid": false,
"error": "Keine Daten gefunden"
}
GET /warehouse/location_stock
Ruft den Bestand eines bestimmten Lagerorts per QR-Code/Barcode ab. Gibt alle Artikel zurück, die auf diesem Lagerort mit Bestand > 0 liegen.
URL: GET /public_api/<token>/warehouse/location_stock
Request-Parameter (Query-String)
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
barcode | String | Ja | QR-Code des Lagerorts |
Beispiel-Request
curl -X GET "https://meinefirma.scanalot.io/public_api/<token>/warehouse/location_stock?barcode=a1b2c3d4e5f6g7h" \
-H "Authorization: <api-token>"
Erfolgreiche Antwort
{
"valid": true,
"data": {
"location": {
"id": 10,
"warehouseId": 1,
"name": "A-01-01",
"position": 1,
"qrCode": "a1b2c3d4e5f6g7h"
},
"items": [
{
"stock": 50,
"sku": "T-SHIRT-001-M",
"itemId": 123,
"name": "T-Shirt Blau"
},
{
"stock": 20,
"sku": "HOODIE-001-L",
"itemId": 456,
"name": "Hoodie Schwarz"
}
]
}
}
Antwort-Felder
location:
| Feld | Typ | Beschreibung |
|---|---|---|
id | Integer | Lagerort-ID |
warehouseId | Integer | Lager-ID |
name | String | Lagerort-Bezeichnung |
position | Integer | Sortierposition |
qrCode | String | QR-Code des Lagerorts |
items[]:
| Feld | Typ | Beschreibung |
|---|---|---|
stock | Integer | Bestand auf diesem Lagerort |
sku | String | Artikelnummer |
itemId | Integer | Artikel-ID |
name | String | Artikelname (deutscher Name, kann null sein) |
Fehler-Antworten
{
"valid": false,
"error": "Lagerort nicht gefunden"
}
{
"valid": false,
"error": "Lagerort weist keinen Bestand auf"
}
GET /warehouse/locations
Sucht und gibt Lagerorte zurück.
URL: GET /public_api/<token>/warehouse/locations
Request-Parameter (Query-String)
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
id | Integer | Nein | Suche nach Lagerort-ID |
name | String | Nein | Suche nach Lagerort-Name (LIKE-Suche, z.B. A-01% für alle Lagerorte die mit A-01 beginnen) |
qrCode | String | Nein | Suche nach QR-Code |
warehouseId | Integer/String | Nein | Filter nach Lager-ID. Wert "all" gibt Lagerorte aller Lager zurück. |
sorting | String | Nein | Sortierung. Mögliche Werte: "id_asc", "id_desc", "name_asc", "name_desc", "position_asc", "position_desc" |
Beispiel-Request
curl -X GET "https://meinefirma.scanalot.io/public_api/<token>/warehouse/locations?warehouseId=1&sorting=name_asc" \
-H "Authorization: <api-token>"
Erfolgreiche Antwort
{
"valid": true,
"data": [
{
"id": 10,
"warehouseId": 1,
"name": "A-01-01",
"position": 1,
"qrCode": "a1b2c3d4e5f6g7h"
},
{
"id": 11,
"warehouseId": 1,
"name": "A-01-02",
"position": 2,
"qrCode": "h7g6f5e4d3c2b1a"
}
]
}
Antwort-Felder
| Feld | Typ | Beschreibung |
|---|---|---|
id | Integer | Lagerort-ID |
warehouseId | Integer | Lager-ID |
name | String | Lagerort-Bezeichnung |
position | Integer | Sortierposition |
qrCode | String | QR-Code des Lagerorts |
Fehler-Antwort
{
"valid": false,
"error": "Keine Einträge gefunden"
}