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
| Gebruik | Wanneer |
|---|---|
| Webhook | Je eigen systeem of een CRM moet van elke reservering, bestelling of loyaliteitswijziging horen, met alle details. |
| Postback | Een advertentienetwerk, affiliate of tracker heeft je een postback-URL gegeven om bij elke conversie aan te roepen. |
| REST API | Je systeem wil reserveringen ophalen wanneer het uitkomt, of ze bevestigen en annuleren. |
Events die je kunt versturen
| Event | Wanneer |
|---|---|
| booking.requested | Een gast heeft een reservering aangevraagd die op jouw bevestiging wacht |
| booking.confirmed | Een reservering is bevestigd |
| booking.cancelled | De gast of de zaak heeft geannuleerd |
| booking.no_show | De gast is niet gekomen |
| booking.completed | Het bezoek is afgelopen |
| order.placed | De bestelling van een gast is bij je binnengekomen (via je pagina of de QR-code van een tafel) |
| order.paid | Een bestelling is betaald, ook aan de kassa |
| loyalty.member_joined | Een klant heeft de eerste stempel in een programma gekregen |
| loyalty.stamp_added | Er is een stempel toegevoegd |
| loyalty.reward_issued | Een kaart is vol en de beloning is uitgegeven |
| loyalty.reward_redeemed | Een beloning is overhandigd |
Webhooks
-
1
Webhook toevoegen
Plak het https-adres van je endpoint en kies de events — reserveringen, bestellingen, loyaliteit of alles.
-
2
Test verzenden
Er gaat meteen een voorbeeldevent uit, en het antwoord van je endpoint wordt getoond.
-
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
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
Kopieer hem meteen
De sleutel wordt één keer getoond. Bewaar hem op je server — nooit in een webpagina of een app.
-
3
Roep de API aan
Stuur hem mee als Authorization: Bearer <key> naar https://api.tapti.me/v1/company.
| Verzoek | Geeft terug |
|---|---|
| GET /v1/company | Het bedrijf waartoe de sleutel behoort |
| GET /v1/company/reservations, /appointments | Reserveringen, gefilterd op status, branchId, from, to of updatedSince, 100 per pagina |
| GET /v1/company/reservations/{id} | Eén reservering |
| POST /v1/company/reservations/{id}/status | De 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, /rewards | Loyaliteitsprogramma’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.
Bedankt — zo kunnen we deze handleidingen verbeteren.
Schrijf ons en vermeld de pagina waarop je was. Een mens leest elk bericht en antwoordt in de taal waarin je schreef.
Schrijf ons