Webhooks

Webhooks maken het mogelijk om externe partijen/applicaties te laten reageren op gebeurtenissen binnen Webship Online. Een webhook is een URL die door Webship Online wordt aangeroepen wanneer een bepaalde gebeurtenis plaatsvindt. De externe partij kan dan de nodige acties ondernemen op basis van de informatie die in de webhook wordt meegegeven.

Via Instellingen > Webhooks kunnen webhooks worden aangemaakt en beheerd. Een webhook bestaat uit een aanleiding, enkele optionele filters en een URL en kan permanent ingeschakeld worden of binnen een aangegeven tijdslot (om zo bijvoorbeeld enkel webhooks aan te roepen op orders tijdens een tijdelijke commerciële promotie).

Velden

Aanleidingen

Voor iedere webhook moet een aanleiding gekozen worden. Een gebeurtenis waarbij gekeken wordt of de webhooks aangeroepen moet worden. Enkele belangrijke aanleidingen zijn bijvoorbeeld:

  • Wanneer een order aangemaakt wordt
  • Wanneer voorraad geüpdatet wordt
  • ...

Filters

Filters zijn optioneel en kunnen gebruikt worden om te bepalen of een webhook al dan niet aangeroepen moet worden. Zo kan een webhook bijvoorbeeld enkel aangeroepen worden wanneer het order naar een bepaald land verstuurd moet worden of een product tot een bepaalde handelsnaam behoort. Het order/product/... moet voldoen aan alle filters in de webhook vooraleer die wordt aangeroepen.

URL

De URL die aangeroepen wordt wanneer de webhook wordt geactiveerd. Deze URL moet bereikbaar zijn vanuit het internet en de externe partij moet in staat zijn om de informatie die in de webhook wordt meegegeven te verwerken.

Wanneer worden webhooks aangeroepen?

Webhooks worden altijd uitgevoerd nadat de aanleiding van de webhook vastgelegd werd in de databank. Dit betekent dat wanneer een webhook aangeroepen wordt bij het bewerken van een order de doorgestuurde data de data is van het geüpdate order, inclusief alle aanpassingen die in de bewerking gebeurden.

Technische details

Webhooks worden aangeroepen via een HTTP POST request naar de opgegeven URL. De data die in de webhook wordt meegegeven is een JSON object met de data waarop de webhook werd aangeroepen.

De webhook request bevat volgende bijkomende headers:

  • X-Hook-Trigger: De aanleiding van de webhook
  • X-Company-Id: De identifier van het bedrijf binnen Webship Online waartoe de doorgestuurde data behoort

?> De X-Company-Id kan gebruikt worden om bijkomende API requests uit te voeren indien nodig.