Åbent API. Fuld dokumentation. Byg hvad du vil.

Lagersystem er bygget med udviklere i tankerne. Fuld REST API, interaktiv Swagger-dokumentation, webhooks og en TypeScript Rule Engine. Integrer med hvad som helst.

Bredt API Katalog

Alle kernefunktioner i Lagersystem er tilgængelige via REST API. Ordrer, produkter, lager, forsendelser, returneringer — alt kan styres programmatisk.

Ordrer

— Opret, læs, opdater, slet ordrer. Haandter ordrelinjer, status og metadata.

Produkter/Varer

— CRUD på produktstamdata. Varianter, priser, billeder.

Lager/Beholdning

— Laes lagerstatus per lokation og vare. Juster beholdning.

Forsendelser

— Generér fragtlabels, hent trackingnumre, luk ordrer.

Returneringer

— Opret returordrer, håndter RMA-flow.

Lokationer

— Laes og administrer lagerlokationer.

Batch/Serienumre

— Laes og registrer batch- og serienummerdata.

Håndterminal

— API til håndterminal-operationer.

Multipick

— Start og styr multipick-sessioner via API.

OpenAPI/Swagger-dokumentation

Interaktiv dokumentation — prøv kald direkte i browseren

Komplet API-dokumentation genereret fra OpenAPI v3.0-specifikation. Test endpoints direkte i Swagger UI uden at skrive kode.

– OpenAPI v3.0 spec
– Interaktiv Swagger UI
– Autorisering med API-nøgle direkte i UI
– Request/response eksempler for alle endpoints
– Prøv-det-selv funktionalitet

Godkendelse og adgangskontrol

API-adgang med niveaubaseret adgange

Opret API-nøgler med præcis de rettigheder der er nødvendige. Hver nøgle har sit eget scope — ingen unødvendig adgang.

– API-nøgle-baseret godkendelse
– Niveaubaserede scopes per nøgle
– Separate nøgler per integration/partner
– Aktivitetslog per API-nøgle

Webhooks og events

Få besked når noget sker

Registrer webhook-endpoints og få besked i realtid når ordrer oprettes, labels genereres, varer modtages eller status ændres.

– Ordrehændelser: oprettet, ændret, sendt, annulleret
– Lagerhændelser: modtaget, plukket, justeret
– Forsendelseshændelser: label genereret, tracking opdateret
– Konfigurerbare per hændelsestype
– Retry-mekanisme ved fejl

TypeScript Rule Engine

Skriv forretningslogik uden at vente på os

Ud over API kan du skrive forretningsregler direkte i TypeScript. Reglerne kører automatisk ved ordreimport, fragtvalg og andre hændelser.

– 8 regeltyper (ordremodifikation, fragtvalg, subsite-tildeling m.fl.)
– Test med rigtige ordredata
– Transaktionslog for debugging

Integrationseksempler

Eksempel: Opret ordre via API

				
					POST /api/v1/orders
Content-Type: application/json
X-API-Key: din-api-nøgle

{
  "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
    }
  ]
}

				
			

Eksempel: Hent lagerstatus

				
					GET /api/v1/stock?itemNumber=SKU-001
X-API-Key: din-api-nøgle
				
			

Eksempel: Generer fragtlabel

				
					POST /api/v1/orders/12345/ship
X-API-Key: din-api-nøgle

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

				
			

Hvem bruger API'en?

Virksomheder med egne systemer

Forbind dit eget ordresystem, webshop-platform eller ERP-system direkte med Lagersystem via API.

Udviklere og bureauer

Byg integrationer for dine kunder. API-dokumentationen gør det nemt at komme i gang.

3PL-kunder

Giv dine fulfillment-kunder mulighed for at sende ordrer direkte via API og modtage statusopdateringer.

Flere API-endpoints

Udvidet endpoint-liste

Ud over de primære endpoints har Lagersystem API også:

Cart API

— Opslag af vogn/boks via stregkode

Box API

— Håndtering af fysiske bokse i multipick

Mærkat API

— Tilføj/fjern mærkater på ordrer

Transfer API

— Opret og styr lagerooverførsler

Goods-in API

— Annuller scanninger, håndter modtagelse

Shipping Package API

— Forsendelsespakke-håndtering

Location API

— Fjern/administrer lokationer

Webhook-system

Realtids-notifikationer når noget sker i systemet

Lagersystem har et komplet webhook-system bygget efter standard-webhooks specifikationen.
Opret subscriptions, vælg hændelser, og modtag signerede HTTP POST-kald i realtid.

38 webhook-hændelsestyper

Ordre (5):

  • order.received — Ny ordre modtaget
  • order.deleted — Ordre slettet
  • order.status_changed — Ordrestatus ændret (inkl. gammel og ny status)
  • order.handled — Ordre håndteret/sendt
  • order.partdelivered — Dellevering sendt


Forsendelse og retur (2):

  • shipment.generated — Fragtlabel genereret (inkl. label-URL og fragtselskab)
  • return.generated — Returlabel genereret


Varemodtagelse (3):

  • goodsin.received — Varer modtaget
  • goodsin.handled — Varemodtagelse afsluttet
  • goodsin.partreceived — Delmodtagelse


Brugere (3):

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


Varer og lager (9):

  • item.modified — Vare ændret
  • stock.changed — Lagerbeholdning ændret (varenummer, mængde, batch, lokation)
  • additionalbarcode.added/updated/deleted — Ekstra stregkoder
  • itemlocation.added/updated/deleted — Varelokationer
  • locationseries.added/updated/deleted — Lokationsserier


Returneringer / RMA (4):

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


Lageroptaelling (3):

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


Statusoptælling (3):

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


Overførsler (2):

  • transfer.created, transfer.finished


Rapporter (2):

  • report.endofday_generated, report.combinedcustoms_generated


Test (1):

  • webhook.test — Testhændelse til verifikation

Payload-format (standard-webhooks)

Alle webhooks sendes som HTTP POST med JSON-body i standard-webhooks format:

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

				
			

Signering (HMAC-SHA256)

Hver webhook signeres med HMAC-SHA256. Tre headers sendes med:

  • webhook-id — Unikt message-ID (msg_abc123...)
  • webhook-timestamp — Unix epoch sekunder
  • webhook-signaturev1,{base64(HMAC-SHA256)} signatur

Secret-format: whsec_{base64(24 random bytes)} — genereres ved oprettelse.


Verificering hos modtager:

  1. Udtræk headers
  2. Verificér at timestamp er nyligt (inden for 5 min.)
  3. Rekonstruér signing-payload: {webhook-id}.{timestamp}.{body}
  4. Beregn HMAC-SHA256 med dit secret
  5. Sammenlign med modtaget signatur (constant-time)

Retry-logik med eksponentiel backoff

Fejlede leveringer prøves op til 7 gange med stigende ventetid:

ForsøgVentetid
1Ojeblikkelig
25 minutter
330 minutter
42 timer
55 timer
610 timer
720 timer

Alle ventetider har +/-20% jitter for at undgå thundering herd.

Specielle HTTP-statuskoder:

  • HTTP 410 Gone → Permanent fejl, subscription deaktiveres automatisk
  • HTTP 429 Too Many Requests → Respekter Retry-After header
  • 5+ dage med fejl → Subscription deaktiveres automatisk

Webhook API-endpoints

GET    /api/webhooks              — List alle subscriptions
POST   /api/webhooks              — Opret ny subscription
GET    /api/webhooks/{id}         — Hent subscription-detaljer
PUT    /api/webhooks/{id}         — Opdater subscription
DELETE /api/webhooks/{id}         — Slet subscription
POST   /api/webhooks/{id}/test    — Send test-webhook
 

Alle endpoints kraever API-nøgle-autentificering.

Delivery logs

Komplet log over alle leveringforsoeg:

  • Tidsstempel med millisekund-præcision
  • HTTP statuskode og responstid
  • Request-headers og body-størrelse
  • Response-summary (forste 512 tegn)
  • Filtrerbar per subscription, event-type og status
  • 30 dages historik (automatisk oprydning)

UI-administration

Opsæt og administrer webhooks direkte i Lagersystem:

  • Opret subscriptions med URL, beskrivelse og event-filter
  • Vælg præcis hvilke hændelser du vil modtage (eller alle)
  • Test-knap: Send test-webhook med det samme
  • Se delivery-logs med status, HTTP-kode og responstid
  • Aktiver/deaktiver subscriptions
  • Status-badges: Aktiv, auto-deaktiveret (fejlende), auto-deaktiveret (410)
  • ACL-beskyttet (kraever webhook-rettighed)

Ordrestyring via API

Ordre-CRUD

Fuld ordrestyring via API:
Opret ordrer med kunde, adresse, linjer, betaling, fragt
Læs ordrer med fuld detaljegrad inkl. linjer og metadata
Opdater ordrer — status, adresser, noter, ekstra felter
Slet/annullér ordrer
Ordrelinjer: Tilføj, ændr, fjern linjer
Mærkats: Tilføj/fjern tags via API
Statusændring: Flyt ordrer gennem hele status-flowet

Bruger-API

– Opret/redigér/slet brugere via REST
– Hent brugergrupper
– Autentificering (brugernavn/password)
– Hent alle brugere med DataTable-paginering

Produkt-API

– Varesøg med paginering
– Vareinformation med priser (konfigurerbart)
– Vareinformation med lagerstatus (konfigurerbart)
– Variant-information
– Hash-baseret validering for caching

Klar til at integrere?

Se vores API-dokumentation eller book en teknisk demo med vores udviklerteam.

Book en gratis demo

Få en personlig gennemgang på 30-60 minutter. Vi viser dig præcis hvordan Lagersystem passer til din virksomhed — med fokus på de funktioner der er vigtigst for dig.

Vi vender typisk tilbage inden for 24 timer på hverdage.

Har du en udfordring eller andet vedrørende dit lagersystem?