Webhooks

Hoe externe systemen events naar Verbleif App Store-integraties pushen.

In Verbleif zijn App Store-webhooks inkomend: een extern systeem (een PMS of boekingsplatform) stuurt een HTTP-POST naar Verbleif. Verbleif levert op dit moment geen algemene “event stream” van reserverings- of taakwijzigingen naar een HTTPS-URL die jij host.

Gebruik de OAuth-API om gegevens vanuit jouw app te lezen en te schrijven. Gebruik webhooks wanneer een ingebouwde App Store-connector live updates van het partnersysteem moet ontvangen.

Endpointmodel

Elke ondersteunde App Store-connector heeft een vaste Verbleif-URL op basis van de interne identifier van die app:

POST https://api.verbleif.com/webhook/app_webhook_{internalAppId}

Die URL is gedeeld voor het app-type (alle installaties van dezelfde connector). Het is niet “één door de partner gehost HTTPS-endpoint per installatie.”

Voorbeelden van connectors die vandaag inkomende parsers registreren zijn Booking Experts, Camping Care, Tommy Booking Support en Tomm Booking Support. Payloadvorm en authenticatie zijn partnerspecifiek; er is geen enkel globaal reservation.created-envelope voor alle apps.

Routeren naar een installatie

Sommige connectors moeten ook weten bij welk abonnement en welke locatie een levering hoort.

Voor Tommy Booking Support en Tomm Booking Support toont de App Store-UI van het park (Webhook configuratie):

Veld (UI-label) Waarde
Webhook URL https://api.verbleif.com/webhook/app_webhook_{id}
Header naam X-Verbleif-App-Subscription
Header waarde Een unieke hash voor dat app-abonnement én die locatie

De partner configureert die waarden aan hun kant. Verbleif zoekt de hash op en verwerkt de payload voor die locatie. Dezelfde Webhook URL wordt hergebruikt; de header onderscheidt installaties.

Andere connectors authenticeren anders (bijvoorbeeld Booking Experts verifieert een HMAC-handtekeningheader tegen het OAuth-clientgeheim van de app; Camping Care controleert een sleutel in de JSON-body). Volg de setup van de partner en Verbleif voor die app - ga er niet van uit dat elke connector X-Verbleif-App-Subscription gebruikt.

Wat Verbleif met een levering doet

  1. De Symfony-webhookroute accepteert de POST onder /webhook/….
  2. De appspecifieke parser valideert auth / routing en parst de body.
  3. Werk wordt op de webhook-transport van Verbleif in de wachtrij gezet en asynchroon verwerkt (imports, reserveringsupdates, enzovoort).
  4. Activiteit die hieruit voortkomt wordt geregistreerd als bron van een App Store-app-webhook.

Verbleif verwacht een succesvolle HTTP-response van het eigen webhook-endpoint zodra de levering is geaccepteerd voor verwerking. Herhaalpogingen van mislukte partner → Verbleif-leveringen zijn de verantwoordelijkheid van de partner, geen outbound retry-loop van Verbleif naar jouw servers.

Wat (nog) niet beschikbaar is

Er is vandaag geen product-API waarmee een custom App Store-app kan registreren “stuur mij reservation.created naar https://mijn-app.example/hooks.” Interne systemen (bijvoorbeeld auth → API-gebruikerssync) kunnen ondertekende outbound posts gebruiken voor Verbleifs eigen infrastructuur; dat is geen publiek App Store-webhookproduct.

Bouw je een custom app en heb je wijzigingsnotificaties nodig, poll dan voorlopig de API binnen jouw scopes, of overleg met Verbleif over een connector-achtige integratie. Verzin geen gedeeld signing secret of event-id-veld tenzij jouw specifieke connector die documenteert.