Over webhooks

Met webhooks ontvang je realtime meldingen wanneer er iets gebeurt in NextWMS — bijvoorbeeld een ontvangst, een statuswijziging of een verzending. NextWMS stuurt dan een POST-request naar een door jou opgegeven URL.

Je registreert per event type een endpoint. Bij elke gebeurtenis van dat type verstuurt NextWMS de bijbehorende payload naar jouw URL.

  • Webhooks beheren — registreer, wijzig en verwijder webhooks via de API
  • Event types — overzicht van alle gebeurtenissen en hun payloads

Beheren via de interface

De eenvoudigste manier om webhooks te beheren is via de webinterface, onder Stamdata → Applicatiebeheer → Webhooks. Daar kun je webhooks toevoegen, bewerken, dupliceren en verwijderen.

Per webhook stel je in:

VeldBeschrijving
EventHet type gebeurtenis (zie Event types)
URLHet endpoint dat NextWMS aanroept
SecretOptioneel — wordt meegestuurd als X-nextwms-secret header (zie Verificatie)
ActiefOf de webhook ingeschakeld is

GUI of API?

De interface en de API werken op dezelfde gegevens — kies wat past. Gebruik de API als je webhooks geautomatiseerd wilt beheren.

Payload-formaat

Elke webhook-aanroep is een POST-request met Content-Type: application/json. De body heeft altijd dezelfde envelop:

{
  "event": "order_shipped",
  "timestamp": "2026-06-19T10:30:00.000Z",
  "site_id": "SITE01",
  "data": {
    "order_id": "ORD-001",
    "container_id": "CON-001",
    "shipdock": "DOCK-01"
  }
}
VeldTypeBeschrijving
eventstringHet event type
timestampstringTijdstip van de gebeurtenis (ISO-8601, UTC)
site_idstringSite waarvoor de gebeurtenis plaatsvond
dataobjectEvent-specifieke gegevens (zie Event types)

Verificatie

Stel je bij het registreren een secret in, dan stuurt NextWMS deze mee als header bij elke aanroep:

X-nextwms-secret: <jouw-secret>

Controleer aan jouw kant of deze header overeenkomt met het ingestelde secret voordat je de payload verwerkt. Zo weet je zeker dat de aanroep van NextWMS afkomstig is.

Afleveringsgaranties

Webhooks worden fire-and-forget verstuurd met een timeout van 10 seconden en worden niet opnieuw geprobeerd bij een fout. Zorg dat je endpoint snel reageert (geef direct een 2xx terug en verwerk daarna asynchroon). Mislukte afleveringen worden alleen aan serverzijde gelogd.