Offene API. Vollständige Dokumentation. Bauen Sie, was Sie wollen.

Lagersystem wurde mit Entwicklern im Sinn entwickelt. Vollständige REST-API, interaktive Swagger-Dokumentation, Webhooks und eine TypeScript Rule Engine. Integrieren Sie mit allem.

Umfangreicher API-Katalog

Alle Kernfunktionen von Lagersystem sind über die REST-API verfügbar. Bestellungen, Produkte, Lager, Sendungen, Retouren — alles kann programmatisch gesteuert werden.

Bestellungen

— Bestellungen erstellen, lesen, aktualisieren, löschen. Bestellpositionen, Status und Metadaten verwalten.

Produkte/Artikel

— CRUD für Produktstammdaten. Varianten, Preise, Bilder.

Lager/Bestand

— Lagerstatus pro Lagerort und Artikel abrufen. Bestand anpassen.

Sendungen

— Frachtlabels generieren, Trackingnummern abrufen, Bestellungen schließen.

Retouren

— Retourbestellungen erstellen, RMA-Ablauf verwalten.

Lagerorte

— Lagerorte abrufen und verwalten.

Chargen/Seriennummern

— Chargen- und Seriennummerndaten abrufen und erfassen.

Handheld-Terminal

— API für Handheld-Terminal-Operationen.

Multipick

— Multipick-Sitzungen über die API starten und steuern.

OpenAPI/Swagger-Dokumentation

Interaktive Dokumentation — Aufrufe direkt im Browser testen

Vollständige API-Dokumentation, generiert aus der OpenAPI-v3.0-Spezifikation. Testen Sie Endpoints direkt in der Swagger UI, ohne Code zu schreiben.

– OpenAPI v3.0-Spezifikation
– Interaktive Swagger UI
– Autorisierung mit API-Schlüssel direkt in der UI
– Request-/Response-Beispiele für alle Endpoints
– Probieren-Sie-es-selbst-Funktionalität

Authentifizierung und Zugriffskontrolle

API-Zugriff mit stufenbasierten Berechtigungen

Erstellen Sie API-Schlüssel mit genau den erforderlichen Berechtigungen. Jeder Schlüssel hat seinen eigenen Scope — kein unnötiger Zugriff.

– API-Schlüssel-basierte Authentifizierung
– Stufenbasierte Scopes pro Schlüssel
– Separate Schlüssel pro Integration/Partner
– Aktivitätsprotokoll pro API-Schlüssel

Webhooks und Events

Benachrichtigt werden, wenn etwas passiert

Registrieren Sie Webhook-Endpoints und werden Sie in Echtzeit benachrichtigt, wenn Bestellungen erstellt, Labels generiert, Waren empfangen oder der Status geändert wird.

– Bestellereignisse: erstellt, geändert, versandt, storniert
– Lagerereignisse: empfangen, kommissioniert, angepasst
– Versandereignisse: Label generiert, Tracking aktualisiert
– Konfigurierbar pro Ereignistyp
– Retry-Mechanismus bei Fehlern

TypeScript Rule Engine

Schreiben Sie Geschäftslogik, ohne auf uns zu warten

Zusätzlich zur API können Sie Geschäftsregeln direkt in TypeScript schreiben. Die Regeln laufen automatisch bei Bestellimport, Frachtauswahl und anderen Ereignissen.

– 8 Regeltypen (Bestelländerung, Frachtauswahl, Subsite-Zuweisung u. a.)
– Test mit echten Bestelldaten
– Transaktionsprotokoll zur Fehlersuche

Integrationsbeispiele

Beispiel: Bestellung über die API erstellen

				
					POST /api/v1/orders
Content-Type: application/json
X-API-Key: dein-API-Schlüssel

{
  "orderNumber": "WEB-12345",
  "customer": {
    "name": "Anders Hansen",
    "email": "anders@eksempel.dk"
  },
  "deliveryAddress": {
    "street": "Vestergade 10",
    "zip": "8000",
    "city": "Aarhus",
    "country": "DK"
  },
  "lines": [
    {
      "itemNumber": "SKU-001",
      "quantity": 2
    }
  ]
}

				
			

Beispiel: Lagerstatus abrufen

				
					GET /api/v1/stock?itemNumber=SKU-001
X-API-Key: dein-API-Schlüssel
				
			

Beispiel: Frachtlabel generieren

				
					POST /api/v1/orders/12345/ship
X-API-Key: dein-API-Schlüssel

{
  "cargoMethod": "POSTNORD",
  "weight": 2.5
}

				
			

Wer nutzt die API?

Unternehmen mit eigenen Systemen

Verbinden Sie Ihr eigenes Bestellsystem, Ihre Webshop-Plattform oder Ihr ERP-System direkt über die API mit Lagersystem.

Entwickler und Agenturen

Erstellen Sie Integrationen für Ihre Kunden. Die API-Dokumentation macht den Einstieg einfach.

3PL-Kunden

Geben Sie Ihren Fulfillment-Kunden die Möglichkeit, Bestellungen direkt über die API zu senden und Statusaktualisierungen zu erhalten.

Weitere API-Endpoints

Erweiterte Endpoint-Liste

Zusätzlich zu den primären Endpoints bietet die Lagersystem-API auch:

Cart API

— Nachschlagen von Wagen/Box per Barcode

Box API

— Verwaltung physischer Boxen im Multipick

Tag-API

— Tags auf Bestellungen hinzufügen/entfernen

Transfer API

— Lagerübertragungen erstellen und steuern

Goods-in API

— Scans stornieren, Wareneingang verwalten

Shipping Package API

— Verwaltung von Versandpaketen

Location API

— Lagerorte entfernen/verwalten

Webhook-System

Echtzeit-Benachrichtigungen, wenn etwas im System passiert

Lagersystem verfügt über ein vollständiges Webhook-System, das nach der Standard-Webhooks-Spezifikation aufgebaut ist.
Erstellen Sie Subscriptions, wählen Sie Ereignisse aus und empfangen Sie signierte HTTP-POST-Aufrufe in Echtzeit.

38 Webhook-Ereignistypen

Bestellung (5):

  • order.received — Neue Bestellung empfangen
  • order.deleted — Bestellung gelöscht
  • order.status_changed — Bestellstatus geändert (inkl. alter und neuer Status)
  • order.handled — Bestellung bearbeitet/versandt
  • order.partdelivered — Teillieferung versandt


Versand und Retoure (2):

  • shipment.generated — Frachtlabel generiert (inkl. Label-URL und Frachtunternehmen)
  • return.generated — Retourlabel generiert


Wareneingang (3):

  • goodsin.received — Waren empfangen
  • goodsin.handled — Wareneingang abgeschlossen
  • goodsin.partreceived — Teilempfang


Benutzer (3):

  • user.created, user.updated, user.deleted


Artikel und Lager (9):

  • item.modified — Artikel geändert
  • stock.changed — Lagerbestand geändert (Artikelnummer, Menge, Charge, Lagerort)
  • additionalbarcode.added/updated/deleted — Zusätzliche Barcodes
  • itemlocation.added/updated/deleted — Artikellagerorte
  • locationseries.added/updated/deleted — Lagerortserien


Retouren / RMA (4):

  • rma.created, rma.updated, rma.deleted, rma.status_changed


Bestandszählung (3):

  • stockdiff.item_added, stockdiff.item_deleted, stockdiff.run


Statuszählung (3):

  • statuscount.created, statuscount.started, statuscount.finished


Übertragungen (2):

  • transfer.created, transfer.finished


Berichte (2):

  • report.endofday_generated, report.combinedcustoms_generated


Test (1):

  • webhook.test — Testereignis zur Verifikation

Payload-Format (Standard-Webhooks)

Alle Webhooks werden als HTTP POST mit JSON-Body im Standard-Webhooks-Format gesendet:

				
					{
  "type": "shipment.generated",
  "timestamp": "2026-03-23T14:30:45+00:00",
  "data": {
    "orderId": 12345,
    "orderRef": "ORD-2024-001",
    "labelUrl": "https://...",
    "provider": "PostNord"
  }
}

				
			

Signierung (HMAC-SHA256)

Jeder Webhook wird mit HMAC-SHA256 signiert. Drei Header werden mitgesendet:

  • webhook-id — Eindeutige Message-ID (msg_abc123...)
  • webhook-timestamp — Unix-Epoch-Sekunden
  • webhook-signaturev1,{base64(HMAC-SHA256)}-Signatur

Secret-Format: whsec_{base64(24 random bytes)} — wird bei der Erstellung generiert.


Verifizierung beim Empfänger:

  1. Header extrahieren
  2. Prüfen, dass der Zeitstempel aktuell ist (innerhalb von 5 Min.)
  3. Signing-Payload rekonstruieren: {webhook-id}.{timestamp}.{body}
  4. HMAC-SHA256 mit Ihrem Secret berechnen
  5. Mit der empfangenen Signatur vergleichen (constant-time)

Retry-Logik mit exponentiellem Backoff

Fehlgeschlagene Zustellungen werden bis zu 7-mal mit steigender Wartezeit wiederholt:

VersuchWartezeit
1Sofort
25 Minuten
330 Minuten
42 Stunden
55 Stunden
610 Stunden
720 Stunden

Alle Wartezeiten haben +/-20 % Jitter, um einen Thundering Herd zu vermeiden.

Spezielle HTTP-Statuscodes:

  • HTTP 410 Gone → Permanenter Fehler, Subscription wird automatisch deaktiviert
  • HTTP 429 Too Many Requests → Retry-After-Header wird respektiert
  • 5+ Tage mit Fehlern → Subscription wird automatisch deaktiviert

Webhook-API-Endpoints

GET    /api/webhooks              — Alle Subscriptions auflisten
POST   /api/webhooks              — Neue Subscription erstellen
GET    /api/webhooks/{id}         — Subscription-Details abrufen
PUT    /api/webhooks/{id}         — Subscription aktualisieren
DELETE /api/webhooks/{id}         — Subscription löschen
POST   /api/webhooks/{id}/test    — Test-Webhook senden

Alle Endpoints erfordern eine API-Schlüssel-Authentifizierung.

Delivery-Logs

Vollständiges Protokoll über alle Zustellversuche:

  • Zeitstempel mit Millisekunden-Genauigkeit
  • HTTP-Statuscode und Antwortzeit
  • Request-Header und Body-Größe
  • Response-Zusammenfassung (erste 512 Zeichen)
  • Filterbar nach Subscription, Ereignistyp und Status
  • 30 Tage Historie (automatische Bereinigung)

UI-Verwaltung

Richten Sie Webhooks direkt in Lagersystem ein und verwalten Sie sie:

  • Subscriptions mit URL, Beschreibung und Event-Filter erstellen
  • Genau auswählen, welche Ereignisse Sie empfangen möchten (oder alle)
  • Test-Button: Test-Webhook sofort senden
  • Delivery-Logs mit Status, HTTP-Code und Antwortzeit einsehen
  • Subscriptions aktivieren/deaktivieren
  • Status-Badges: Aktiv, automatisch deaktiviert (fehlgeschlagen), automatisch deaktiviert (410)
  • ACL-geschützt (erfordert Webhook-Berechtigung)

Bestellverwaltung über die API

Bestellungs-CRUD

Vollständige Bestellverwaltung über die API:
Bestellungen erstellen mit Kunde, Adresse, Positionen, Zahlung, Fracht
Bestellungen lesen mit vollem Detailgrad inkl. Positionen und Metadaten
Bestellungen aktualisieren — Status, Adressen, Notizen, Zusatzfelder
Bestellungen löschen/stornieren
Bestellpositionen: Positionen hinzufügen, ändern, entfernen
Tags: Tags über die API hinzufügen/entfernen
Statusänderung: Bestellungen durch den gesamten Status-Ablauf bewegen

Benutzer-API

– Benutzer über REST erstellen/bearbeiten/löschen
– Benutzergruppen abrufen
– Authentifizierung (Benutzername/Passwort)
– Alle Benutzer mit DataTable-Paginierung abrufen

Produkt-API

– Artikelsuche mit Paginierung
– Artikelinformationen mit Preisen (konfigurierbar)
– Artikelinformationen mit Lagerstatus (konfigurierbar)
– Variantinformationen
– Hash-basierte Validierung für Caching

Bereit zu integrieren?

Sehen Sie sich unsere API-Dokumentation an oder buchen Sie eine technische Demo mit unserem Entwicklerteam.

Kostenlose Demo buchen

Erhalten Sie eine persönliche Vorführung von 30–60 Minuten. Wir zeigen Ihnen genau, wie Lagersystem zu Ihrem Unternehmen passt — mit Fokus auf die Funktionen, die für Sie am wichtigsten sind.

In der Regel melden wir uns innerhalb von 24 Stunden an Werktagen bei Ihnen zurück.

Haben Sie eine Herausforderung oder ein anderes Anliegen zu Ihrem Lagersystem?