Bookora

API ja veebihaagid

Bookora REST API abil ühendad broneeringud oma süsteemidega: läbipääsusüsteem, kassasüsteem, e-pood või raamatupidamine. Võtmed luuakse halduses jaotises Manustamine ja API.

Autentimine

Iga päring vajab päist Authorization: Bearer <võti>. Salajane võti (sk_bko_) annab kõik õigused ja kuulub ainult serverisse. Avaliku võtmega (pk_bko_) saab lugeda objekte ja saadavust.

curl -H "Authorization: Bearer sk_bko_..." https://bookora.fi/api/v1/resources

Lõpp-punktid

GET    /api/v1/resources                         objektid
GET    /api/v1/resources/{slug}/availability?date=2026-11-12   vabad ajad
GET    /api/v1/bookings?from=ISO&to=ISO          broneeringud
POST   /api/v1/bookings                          uus broneering
GET    /api/v1/bookings/{id}                     üks broneering
DELETE /api/v1/bookings/{id}?refund=1&notify=1   tühistamine
GET    /api/v1/passes?code=KOODI                 kaardi saldo
POST   /api/v1/passes                            uus kaart
POST /api/v1/bookings
{
  "resource": "sauna",
  "start": "2026-11-12T16:00:00+02:00",
  "end": "2026-11-12T18:00:00+02:00",
  "customer": { "name": "Maija Meikäläinen", "email": "maija@example.com", "phone": "+358401234567" },
  "pass_code": "OPTIONAL",
  "send_email": true,
  "paid": false
}

Veebihaagid

Sündmused: booking.created, booking.confirmed, booking.updated, booking.cancelled, payment.received, pass.created, pass.renewed, pass.cancelled, access.granted. Ebaõnnestunud saatmist proovitakse uuesti 1 min, 5 min, 30 min, 2 h ja 12 h pärast.

Kontrolli allkirja päisest X-Bookora-Signature: t=ajatempel,v1=HMAC-SHA256(saladus, ajatempel + "." + sisu).

// Node.js
const [ts, sig] = header.split(",").map(p => p.split("=")[1]);
const ok = crypto.createHmac("sha256", secret).update(ts + "." + rawBody).digest("hex") === sig;

Manustamine

<div data-bookora="tunnus" data-resource="kohde" data-lang="fi"></div>
<script src="https://bookora.fi/embed.js" async></script>