Documentatie

Webhooks vallen in dezelfde categorie als de API: het is een middel om applicaties met elkaar te laten praten.
De twee onderwerpen kunnen ook niet geheel los gezien worden van elkaar. Wel zijn er verschillen in benadering.

Polling versus synchronisatie

Als er sprake is van polling, zal de externe applicatie de API van i-Reserve regelmatig gebruiken om bijgewerkte gegevens op te vragen. In het algemeen kan gesteld worden dat de frequentie bepaald wordt door de externe applicatie. Soms zal dit per uur, dag of soms zelfs minder frequent plaats vinden.

Pull versus push

Waar begint de actie? Gegevens worden gepusht door een bron applicatie of er vindt een pull plaats die door de bron applicatie wordt uitgevoerd. In de polling variant is het de externe applicatie die periodiek een opvraging doet en probeert recente gegevens te synchroniseren. Aan beide kanten dient logica te worden ingebouwd. Het moet immers mogelijk zijn om recente gegevens op te vragen. Maar wat is recent? Dit is afhankelijk van de frequentie van de applicatie die de gegevens opvraagt. Is de opvragende frequentie éénmaal per dag dan is de lijst met recente gegevens anders dan als de opvragingen elke (paar) minuten gebeurt. Webhooks vermijden dit onderwerp in het geheel. Het is immers de bron applicatie die alleen gegevens verstuurt als er daadwerkelijk iets verandert is.

Foutafhandeling

Een webhook vindt plaats. De gegevens worden afgeleverd. De webhooks die i-Reserve uitgaan worden op een URL afgeleverd. Dit wordt technisch gecontroleerd. Er wordt gecontroleerd of de response HTTP code tussen 200 en 399 ligt. Mocht de doel URL niet bereikbaar zijn of er wordt een andere response code gegeven, dan wordt het nog verschillende malen geprobeerd voordat de webhook definitief faalt. Er vindt echter geen inhoudelijke controle plaats op de afhandeling van de verwerking van de gegevens. De actie vindt dus plaats "as-is".