Mandag morgen kl. 08:47. Lagerchefen åbner WMS. 0 nye ordrer. Underligt, normalt 47 ordrer om natten. Tjekker Shopify: 52 ordrer. Webhook-integration fejlet kl. 23:34 søndag. Ingen alarm. 52 ordrer sidder i Shopify. WMS ved intet. Stille fejl. Opdages efter 9 timer.
Det er integrationsfejlenes natur: de sker oftest usynligt, opdages sent og koster dyrt. Her er hvad du skal vide om integrationer i lagerstyring.
Hvad er en integration?
En integration er en automatiseret forbindelse mellem to systemer, der gør det muligt for dem at udveksle data uden manuel indgriben. I lagerstyringssammenhæng er de vigtigste integrationer:
- Webshop til WMS: Ordrer sendes til WMS til behandling
- WMS til Webshop: Fulfillment-status og tracking sendes tilbage
- WMS til ERP: Beholdning, afsendelse og eventuel fakturering
- WMS til Fragtmand: Fragttransport bestilles, labels genereres
- WMS til Indkøbssystem: Genbestilling ved minimum-lager
Integrationstyper: API vs. Webhook
👉 SmartPack bruger event-drevet integration med fuld webhook-support. Se SmartPacks integrationer
De to dominerende teknologier er API (pull) og Webhook (push). De er ikke konkurrenter, de løser forskellige problemer og bruges ofte i kombination.
API, du spørger, systemet svarer
API (Application Programming Interface) fungerer som et spørgsmål-svar-system. Dit WMS sender en forespørgsel til fx Shopify: "Vis mig alle ubehandlede ordrer fra de seneste 10 minutter." Shopify svarer med en liste.
Det kræver: AppId og AccessToken (autentifikation), et endpoint (URL til APIet), og en planlagt hentning (polling), typisk hvert 1-5. minut. API egner sig godt til periodisk synkronisering, opslag og opdatering af lagertal.
Webhook, systemet fortæller dig, når noget sker
En webhook er en push-notifikation. Shopify sender dig automatisk en besked, når en ordre oprettes, du behøver ikke spørge. Det sker i realtid. Webhooks egner sig godt til: ordremodtagelse, betalingsbekræftelse og statusopdateringer.
Krav til webhook-modtagelse:
- HTTPS-endpoint (usikret HTTP accepteres ikke)
- Svartid under 30 sekunder (ellers timeout og retry)
- HMAC-SHA256 signaturvalidering (bekræfter at beskeden er ægte)
Filintegration, det tredje alternativ
ældre systemer bruger stadig filbaseret integration: CSV- eller XML-filer udveksles via FTP/SFTP. Det er langsomt, fejlprone og svært at monitorere, men det eksisterer særligt i ERP-sammenhæng.
Hvad koster integrationsfejl reelt?
| Fejltype | Koster | Efter 14 dage |
|---|---|---|
| Webhook-tab uden retry (5% af ordrer) | 8.750 kr./dag | 122.500 kr. |
| Ingen HMAC-validering, svindel | 8.000 kr. per episode | Typisk én om måneden |
| Ingen retry-logik (3% API-kald fejler) | 5.250 kr./dag | 73.500 kr. |
Regnet på 500 ordrer/dag og 350 kr. per fejlbehæftet ordre. De 14 dage er et bud på, hvor længe en stille fejl typisk når at køre, før nogen opdager den. Opdager I den på to dage, koster den en syvendedel. Det er derfor overvågning betaler sig, ikke fejlen i sig selv.
Stille fejl er farligst
Integrationer fejler ikke spektakulært. De fejler stille. Det er det farligste scenarie:
- En ordre modtages i Shopify, men webhook leveres ikke til WMS, og ingen opdager det
- Lagertal opdateres i WMS, men API-synkronisering til Shopify er fejlet i 2 timer
- Fragtbestilling sendes, men fragtmand-API returnerer fejl, der ikke logges
En hård fejl stopper systemet og opdages. En stille fejl fortsætter usynligt og opbygger data, der afviger fra virkeligheden.
Integrationsmønstre i e-handel
Synkron integration: System A kalder System B og venter på svar, før det fortsætter. Simpelt, men sårbart, hvis B er langsom bremser det A.
Asynkron integration: System A sender beskeden og fortsætter. Beskeden lander i en kø og behandles, når B er klar. Mere robust, men kræver fejlhåndtering i køen.
Event-drevet integration: Hændelser som ordre oprettet, vare plukket og pakke afsendt trigger automatisk alle relevante systemer. Det er den mest skalerbare arkitektur.
Typiske fejl
- Ingen retry-logik: Webhooks og API-kald fejler. Netværket fejler. Servere er nede. Uden automatisk retry mister du data. Implementer eksponentiel backoff: prøv igen efter 1 min, 5 min, 30 min.
- Manglende signaturvalidering: Webhooks fra Shopify indeholder en HMAC-SHA256-signatur. Validerer du den ikke, kan hvem som helst sende falske ordre-events til dit endpoint.
- Polling for hyppigt eller for sjældent: API-polling hvert 30. sekund giver unødvendig belastning. Polling hvert 30. minut giver for lang forsinkelse. Juster interval til faktisk behov.
- Ignorer integration health monitoring: Uden monitoring ved du ikke, hvornår en integration sidst kørte succesfuldt.
Sådan gør du det rigtigt
- Log alt: Hvert API-kald og webhook-modtagelse bør logges med timestamp, payload og respons-kode.
- Brug idempotente endpoints: Hvis samme webhook leveres to gange, må systemet ikke oprette to ordrer.
- Adskil systemer med en message queue: En kø beskytter mod spikes og giver buffer ved kortvarige nedbrud.
SmartPack
SmartPack bruger event-drevet integration med webhook-support og periodisk API-polling. Alle webhooks valideres med HMAC-SHA256. Integrationer til Shopify, WooCommerce, e-conomic og Business Central er prækonfigurerede. SmartPack logger alle integrationshændelser og viser integration health i administrationspanelet.