Webhooks, server-to-server-postbacks en de REST API

Laat je CRM, tracker of eigen systeem meteen weten wanneer een reservering, bestelling of spaarkaart verandert — of laat het zelf reserveringen, bestellingen en spaarkaarten uitlezen en reserveringen bijwerken.

8 min leestijd Marketing, tracking en integraties Bijgewerkt op 12.09.2026

Drie manieren om TapTime met andere systemen te verbinden, allemaal onder één kop. Alleen de eigenaar van het bedrijf kan ze beheren. Voor chatmeldingen en Zapier, Make, n8n of Pipedream zijn er aparte handleidingen — die gebruiken dezelfde events.

Paneel Integraties Webhooks & API

GebruikWanneer
WebhookJe eigen systeem of een CRM moet van elke reservering, bestelling of loyaliteitswijziging horen, met alle details.
PostbackEen advertentienetwerk, affiliate of tracker heeft je een postback-URL gegeven om bij elke conversie aan te roepen.
REST APIJe systeem wil reserveringen ophalen wanneer het uitkomt, of ze bevestigen en annuleren.

Events die je kunt versturen

EventWanneer
booking.requestedEen gast heeft een reservering aangevraagd die op jouw bevestiging wacht
booking.confirmedEen reservering is bevestigd
booking.cancelledDe gast of de zaak heeft geannuleerd
booking.no_showDe gast is niet gekomen
booking.completedHet bezoek is afgelopen
order.placedDe bestelling van een gast is bij je binnengekomen (via je pagina of de QR-code van een tafel)
order.paidEen bestelling is betaald, ook aan de kassa
loyalty.member_joinedEen klant heeft de eerste stempel in een programma gekregen
loyalty.stamp_addedEr is een stempel toegevoegd
loyalty.reward_issuedEen kaart is vol en de beloning is uitgegeven
loyalty.reward_redeemedEen beloning is overhandigd

Webhooks

  1. 1
    Webhook toevoegen

    Plak het https-adres van je endpoint en kies de events — reserveringen, bestellingen, loyaliteit of alles.

  2. 2
    Test verzenden

    Er gaat meteen een voorbeeldevent uit, en het antwoord van je endpoint wordt getoond.

  3. 3
    Controleer de handtekening

    Elk verzoek heeft een header TapTime-Signature: t=<tijd>,v1=<HMAC-SHA256 van ‘t.body’ met je ondertekeningsgeheim>. Vergelijk die voordat je het verzoek vertrouwt.

De body is JSON: de ID, het type en het tijdstip van het event, en de volledige reservering, bestelling of spaarkaart onder data.booking, data.order of data.loyalty — met de gast, de tijd, de tafel, dienst of items, de status, en waar het vandaan kwam (UTM-tags en klik-ID’s).

  • Antwoord met een willekeurige 2xx-status. Bij elk ander antwoord wordt het 8 keer opnieuw geprobeerd, verspreid over ongeveer een dag.
  • Elk event heeft een ID: ontvang je het twee keer, negeer dan de tweede.
  • Antwoord met 410 Gone en TapTime stopt met opnieuw proberen voor dat event.
  • Doorverwijzingen worden niet gevolgd, en adressen op privénetwerken worden geweigerd.

Server-to-server-postbacks

Plak de postback-URL die je tracker je heeft gegeven en klik op placeholders om reserveringsgegevens in te voegen, bijvoorbeeld https://tracker.example/postback?cid={click_id}&payout={value}&status={status}. Beschikbare placeholders zijn onder meer {click_id}, {event}, {booking_id}, {value}, {currency}, {party_size}, {utm_source}, {utm_campaign}, {gclid} en {fbclid}. De klik-ID van de tracker komt bij de reservering terecht als je reserveringslink click_id, clickid of subid bevat.

REST API

  1. 1
    API-sleutel aanmaken

    Geef hem een naam en kies alleen lezen, of lezen en schrijven om bevestigen, annuleren en no-shows markeren toe te staan.

  2. 2
    Kopieer hem meteen

    De sleutel wordt één keer getoond. Bewaar hem op je server — nooit in een webpagina of een app.

  3. 3
    Roep de API aan

    Stuur hem mee als Authorization: Bearer <key> naar https://api.tapti.me/v1/company.

VerzoekGeeft terug
GET /v1/companyHet bedrijf waartoe de sleutel behoort
GET /v1/company/reservations, /appointmentsReserveringen, gefilterd op status, branchId, from, to of updatedSince, 100 per pagina
GET /v1/company/reservations/{id}Eén reservering
POST /v1/company/reservations/{id}/statusDe status wijzigen (schrijfsleutels)
GET /v1/company/orders, /orders/{id}Bestellingen met hun items en totalen, gefilterd op status, source, fulfilment, from, to of paidSince
GET /v1/company/loyalty/programs, /cards, /rewardsLoyaliteitsprogramma’s, kaarten van leden en de beloningen die ze hebben verdiend
GET /v1/company/events?after={cursor}Elk reserverings-, bestel- en loyaliteitsevent op volgorde — vraag het regelmatig op om gesynchroniseerd te blijven; voeg type=order,loyalty toe voor alleen een deel
POST /v1/company/webhooks, DELETE /v1/company/webhooks/{id}Een URL op events abonneren en weer afmelden — wat apps voor Zapier, Make, n8n en Pipedream gebruiken

Als er iets misgaat

Het Verzendlogboek van elk endpoint toont de laatste 25 verzendingen met de statuscode en het antwoord van je systeem. Mislukte verzendingen worden vanzelf opnieuw geprobeerd; ‘Opnieuw verzenden’ probeert er nu meteen een.

Veelgestelde vragen

Kan een webhook naar Zapier of Make gaan?

Ja — gebruik Integraties → Automatisering, dat controleert of het adres bij het platform hoort en eigen stappen toont. Maak een ‘Catch hook’ (Zapier), een ‘Custom webhook’ (Make), een Webhook-node (n8n) of een HTTP-trigger (Pipedream), plak het adres en klik op Test verzenden, zodat de tool de velden leert kennen.

Ik ben mijn ondertekeningsgeheim kwijt.

De eigenaar kan het opnieuw tonen bij het endpoint, of het vernieuwen. Vernieuwen maakt meteen een nieuw geheim aan, en het oude werkt dan niet meer.

Was dit artikel nuttig?
Heeft dit je vraag niet beantwoord?

Schrijf ons en vermeld de pagina waarop je was. Een mens leest elk bericht en antwoordt in de taal waarin je schreef.

Schrijf ons