Introductie tot webhooks in ReflexBlue
Inleiding
Tegenwoordig komt het steeds vaker voor dat er een samenwerking vereist is tussen twee of meerdere onlinesystemen die onderling moeten kunnen communiceren om gegevens uit te wisselen. Om dit mogelijk te maken ondersteunt ReflexBlue het opzetten van Integraties waarmee gegevens (zoals artikelen, relaties en orders) gesynchroniseerd kunnen worden. Wanneer deze gegevens worden bijgewerkt kan ReflexBlue webhook-verzoeken naar externe (back-end) systemen sturen.
In het algemeen is een webhook-verzoek een HTTPS-verzoek dat automatisch wordt getriggerd door een gebeurtenis in een bronsysteem en naar een doelsysteem wordt gestuurd, vaak met een pakket aan data. Dit biedt een manier voor één systeem (de bron) om met een ander systeem (het doel) te communiceren (HTTPS-verzoek) wanneer een gebeurtenis plaatsvindt, en informatie (verzoek payload) te delen over de gebeurtenis die heeft plaatsgevonden.
In de context van ReflexBlue als bronsysteem bevatten webhook-verzoeken net genoeg informatie voor het doelsysteem om te weten welke gegevens zijn gewijzigd, zodat het de bijgewerkte gegevens kan ophalen door verzoeken te doen aan de ReflexBlue Externe API.
Webhooks in ReflexBlue
Wanneer er webhooks zijn aangemaakt in ReflexBlue via het Webhooks overzichtsscherm, dan worden er automatisch webhook gebeurtenissen aangemaakt wanneer die zich voordoen. Bijvoorbeeld, als je een webhook toevoegt voor de gebeurtenis Artikel bijgewerkt, dan zal er steeds wanneer je een artikel wijzigt in ReflexBlue automatisch een Artikel bijgewerkt webhook gebeurtenis worden aangemaakt. Een nieuw aangemaakte webhook gebeurtenis krijgt de status Nieuw. Deze gebeurtenis wordt dan door ReflexBlue doorgestuurd via een webhook-verzoek naar een externe systeem via de voor die webhook opgegeven eindpunt (of url).
Webhook gebeurtenissen worden altijd gegroepeerd per url en afgehandeld in de volgorde waarop ze zijn aangemaakt. Dit zorgt ervoor dat het externe systeem de webhook gebeurtenissen in een logische volgorde ontvangt.
Indien het communiceren met het externe systeem mislukt, dan zal ReflexBlue het webhook-verzoek automatisch opnieuw proberen te sturen tot een totaal van tien keren. Daarna krijgt de webhook gebeurtenis de status Mislukt. Indien het versturen van het webhook-verzoek is gelukt, dan krijgt de gebeurtenis de status Gereed.
De onderstaande tabel toont een overzicht van de statussen die toegekend kunnen worden aan webhook gebeurtenissen.
| Status | Omschrijving |
|---|---|
| Nieuw | De webhook gebeurtenis is pas aangemaakt en nog niet verstuurd. |
| Opnieuw proberen | Het versturen van de webhook gebeurtenis is mislukt maar zal opnieuw geprobeerd worden. |
| Mislukt | Het versturen van de webhook gebeurtenis is mislukt. |
| Gereed | Het versturen van de webhook gebeurtenis is gelukt. |
Webhook gebeurtenissen monitoren
Om inzicht te kunnen krijgen in de webhook gebeurtenissen die plaats vinden en om ze achteraf te kunnen monitoren en beheren kan je in het Webhooks gebeurtenissen overzichtsscherm een lijst van gebeurtenissen opvragen waarbij het mogelijk is om deze lijst te doorzoeken en te filteren.
Dit maakt het bijvoorbeeld makkelijk om periodiek een lijst op te vragen van webhook gebeurtenissen die zijn mislukt om daar actie op te nemen. Mislukte webhook gebeurtenissen kunnen bijvoorbeeld opnieuw geprobeerd worden door ze te herstarten.
Webhook gebeurtenissen opschonen
Webhook gebeurtenissen kunnen periodiek ook automatisch opgeschoond worden door middel van Geplande taken in ReflexBlue. Hiervoor is een Webhook gebeurtenissen verwijderen taak beschikbaar.