Webhooks in GoedGepickt

Updated by Stan

In deze handleiding leggen we uit hoe webhooks werkt in GoedGepickt.

Met webhooks is het mogelijk om vanuit GoedGepickt notificaties te krijgen op het moment dat er een bepaalde actie plaatsvindt in GoedGepickt. Deze notificaties worden gestuurd naar een door jou ingestelde URL met daarin data zodat de URL deze data weer kan verwerken.

Het voordeel hiervan is, is dat jouw systeem realtime op de hoogte wordt gebracht bij dergelijke acties. Hierdoor hoef je dus niet periodiek de API aan te roepen om data te ontvangen (pollen), maar brengen wij jou op de hoogte van wijzigingen.

Voor het gebruik & verwerken van de data uit webhooks is technische kennis vereist. Schakel hiervoor een softwareontwikkelaar in.

Webhooks aanmaken

Je kan webhooks aanmaken via Instellingen -> Webhooks. Hierin kan je per webshop een webhook-URL (target URL) instellen en daarbij ook op welk event je wilt aanmelden. Bijvoorbeeld bij voorraadwijzigingen, bestellingstatus bijwerkt en zending aangemaakt.

Na het toevoegen, zie je een validatiesleutel. Dit is een sleutel waarmee je kan controleren of de data volledig is en er niet mee is geknoeid.

Logboek

In GoedGepickt houden we een logboek bij met alle webhooks die uitgevoerd zijn in jouw account. Hierin zie je welk event er is uitgevoerd, op welke datum & tijd, welke HTTP statuscode wij als reactie terugkregen, het poging-nummer en de payload die met de webhook meegestuurd is.

Door op het item te klikken, krijg je meer informatie te zien, zoals welke URL er is aangeroepen en wat jouw omgeving als response aan ons teruggaf. Bijvoorbeeld als je een foutmelding als response geeft.

Gemiste webhooks

Indien de HTTP-status response niet gelijk is aan een 200-statuscode, dan probeert de server daarna nog 9 keer de webhook af te leveren (in totaal dus 10 pogingen). Hierin zit steeds een tussenpauze, om te voorkomen dat de endpoint overbeladen wordt met veel data. Tussen de eerste & tweede poging wachten we 10 seconde, tussen de derde en de vierde 100 seconden, tussen de vier en de vijfde 1000 seconden en zo voorts.

Webhooks valideren

Je wilt natuurlijk graag zeker weten dat de webhooks die je ontvangt, ook echt vanuit GoedGepickt komen. Je kan de hash (uit de headers) vergelijken met het volgende (voorbeeld in PHP);

$computedSignature = hash_hmac('sha256', $request->getContent(), $webhookSecret);

In de $webhookSecret kan je de secret van de webhook plaatsen, zoals je die in GoedGepickt terug kan vinden. Als $computedSignature gelijk is aan de signature header, dan is de webhook valide.

Tip

Als je wilt gaan testen hoe (snel) de webhooks naar jouw omgeving worden gestuurd, kan je online tools gebruiken als:

Vragen?

Zijn er toch nog onduidelijkheden, heb je andere vragen of ideeën? Neem dan contact met ons op, wij helpen je graag!


Hoe vond je dit artikel?