Webhooks, server-to-server postbacks and the REST API

Tell your CRM, tracker or own system the moment a booking, an order or a loyalty card changes — or let it read bookings, orders and loyalty cards and update bookings itself.

Baca 8 mnt Marketing, tracking and integrations Diperbarui 12.09.2026

Three ways to connect TapTime to other systems, all under one heading. Only the company owner can manage them. For chat alerts and Zapier, Make, n8n or Pipedream, see their own guides — they use the same events.

Panel Integrations Webhooks & API

UseWhen
WebhookYour own system or a CRM should hear about every booking, order or loyalty change, with all the details.
PostbackAn ad network, affiliate or tracker gave you a postback URL to call on each conversion.
REST APIYour system wants to fetch bookings when it likes, or confirm and cancel them.

Events you can send

EventWhen
booking.requestedA guest asked for a booking that waits for your confirmation
booking.confirmedA booking is confirmed
booking.cancelledThe guest or the venue cancelled
booking.no_showThe guest did not come
booking.completedThe visit is over
order.placedA guest’s order reached you (from your page or a table’s QR code)
order.paidAny order was paid, including at the register
loyalty.member_joinedA customer got their first stamp on a program
loyalty.stamp_addedA stamp was added
loyalty.reward_issuedA card was completed and its reward issued
loyalty.reward_redeemedA reward was handed over

Webhooks

  1. 1
    Add webhook

    Paste your endpoint’s https address and choose the events — bookings, orders, loyalty, or all of them.

  2. 2
    Send test

    A sample event goes out straight away, and the answer your endpoint gave is shown.

  3. 3
    Verify the signature

    Every request has a TapTime-Signature header: t=<time>,v1=<HMAC-SHA256 of “t.body” with your signing secret>. Compare it before trusting the request.

The body is JSON: the event id, type and time, and the whole booking, order or loyalty card under data.booking, data.order or data.loyalty — with the guest, the time, the table, service or items, the status, and where it came from (UTM tags and click ids).

  • Answer with any 2xx status. Anything else is retried 8 times over about a day.
  • Each event has an id: if you receive it twice, ignore the second.
  • Answer 410 Gone and TapTime stops retrying that event.
  • Redirects are not followed, and addresses on private networks are refused.

Server-to-server postbacks

Paste the postback URL your tracker gave you and click placeholders to insert booking details, for example https://tracker.example/postback?cid={click_id}&payout={value}&status={status}. Available placeholders include {click_id}, {event}, {booking_id}, {value}, {currency}, {party_size}, {utm_source}, {utm_campaign}, {gclid} and {fbclid}. The tracker’s click id reaches the booking when your booking link carries click_id, clickid or subid.

REST API

  1. 1
    Create API key

    Give it a name and choose read only, or read and write to allow confirming, cancelling and marking no-shows.

  2. 2
    Copy it now

    The key is shown once. Store it on your server — never in a web page or an app.

  3. 3
    Call the API

    Send it as Authorization: Bearer <key> to https://api.tapti.me/v1/company.

RequestReturns
GET /v1/companyThe company the key belongs to
GET /v1/company/reservations, /appointmentsBookings, filtered by status, branchId, from, to or updatedSince, 100 per page
GET /v1/company/reservations/{id}One booking
POST /v1/company/reservations/{id}/statusChange the status (write keys)
GET /v1/company/orders, /orders/{id}Orders with their items and totals, filtered by status, source, fulfilment, from, to or paidSince
GET /v1/company/loyalty/programs, /cards, /rewardsLoyalty programs, members’ cards and the rewards they earned
GET /v1/company/events?after={cursor}Every booking, order and loyalty event in order — poll it to stay in sync; add type=order,loyalty for only some
POST /v1/company/webhooks, DELETE /v1/company/webhooks/{id}Subscribe a URL to events and unsubscribe it — what Zapier, Make, n8n and Pipedream apps use

When something fails

Each endpoint’s Delivery log lists its last 25 deliveries with the status code and the answer your system gave. Failed deliveries retry on their own; “Send again” retries one now.

Sering ditanyakan

Can a webhook go to Zapier or Make?

Yes — use Integrations → Automation, which checks the address belongs to the platform and shows its own steps. Create a “Catch hook” (Zapier), a “Custom webhook” (Make), a Webhook node (n8n) or an HTTP trigger (Pipedream), paste its address and press Send test so the tool learns the fields.

I lost my signing secret.

The owner can reveal it again from the endpoint, or rotate it. Rotating issues a new one at once, and the old one stops working.

Apakah artikel ini membantu?
Ini belum menjawabnya?

Tulis kepada kami dan sebutkan halaman yang Anda buka. Setiap pesan dibaca orang sungguhan dan dijawab dalam bahasa yang Anda pakai.

Tulis kepada kami