API-integration for e-commerce

Resultat: Reducerede manuel arbejde med 85%. Fuld synkronisering mellem webshop og lagersystem med automatisk error-håndtering.

Kontekst

En mindre e-commerce virksomhed havde deres webshop (WooCommerce) og lagersystem (custom solution) som to separate systemer. Al synkronisering skete manuelt, hvilket var tidskrævende og fejlbehæftet.

Udfordring

De primære problemer var:

  • Tidskrævende: 5-10 timer om ugen brugt på manuel synkronisering
  • Fejlbehæftet: Ukorrekt lagerstatus førte til oversalg
  • Ikke-skalerbart: Voksende produktkatalog gjorde problemet værre

Løsning

Jeg byggede en integration-service der automatisk synkroniserer data mellem de to systemer:

1. Webhook-baseret synkronisering

Når en ordre oprettes i webshop, sender vi webhook til integration-service. Service validerer data og opretter ordre i lagersystem.

2. Scheduled sync af lagerstatus

Hver time henter vi opdateret lagerstatus fra lagersystem og opdaterer webshop. Kun ændrede produkter synkroniseres (performance).

3. Retry og fejlhåndtering

Hvis en API-request fejler, gemmer vi den i en retry-queue. Alerts sendes hvis fejl persisterer i over 30 min.

4. Admin dashboard

Simpel UI til at se sync-status, fejlede requests og trigger manuel re-sync hvis nødvendigt.

Tech stack

  • • TypeScript + Node.js
  • • Express (webhook endpoints)
  • • PostgreSQL (state tracking)
  • • Bull (retry queue)
  • • WooCommerce REST API
  • • Custom lagersystem API

Resultat

  • 85% reduktion i manuel arbejde (fra 10 timer til 1.5 time/uge)
  • Nul oversalg efter implementering
  • Lagerstatus opdateret inden for 1 time (vs. 24+ timer før)
  • System kører stabilt uden manuel intervention

Hvad jeg lærte

Integrationer skal være forsigtige med eksterne API'er – de kan fejle, være langsomme eller ændre sig. God fejlhåndtering og retry-logik er afgørende.

Admin dashboard var kritisk: Selv en "automagisk" integration har brug for synlighed og mulighed for manuel intervention.

Har du brug for integration?

Hvis du skal integrere forskellige systemer eller automatisere manuelle processer, så lad os tale om hvordan jeg kan hjælpe.