rezvi.nápoveda
API

REST API — referencia

Programový prístup k vašim dátam (rezervácie, služby, zdroje, štatistiky). Dostupné v pláne Business.

REST API — referencia

Platforma rezvi poskytuje read-only REST API pre programový prístup k dátam vašej prevádzky. API je dostupné v pláne Business (funkcia api_access).

Plán: REST API a API kľúče sú funkciou plánu Business. V nižších plánoch sú endpointy zamknuté (HTTP 402 Payment Required).

Embed & API — správa REST API kľúčov (plán Business)

Základná URL

https://rezvi.online/api/v1/api

Vo vývoji (lokálne): http://localhost:8080/api/v1/api.

Autentifikácia

Každá požiadavka musí obsahovať API kľúč. Kľúč vytvoríte v dashboarde v sekcii Embed & API → API kľúče (zobrazí sa iba raz pri vytvorení — uložte si ho). Formát kľúča: rzk_xxxxxxxx….

Kľúč pošlite v hlavičke — podporované sú obe formy:

Authorization: Bearer rzk_xxxxxxxx

alebo

X-API-Key: rzk_xxxxxxxx

Každý kľúč je naviazaný na jednu prevádzku — API vracia výlučne dáta tejto prevádzky.

Chybové kódy

KódVýznam
200OK
401Chýbajúci alebo neplatný API kľúč
402Plán neobsahuje prístup k API (vyžaduje sa Business)
404Zdroj nenájdený
500Interná chyba servera

Chybová odpoveď má tvar { "error": "popis" }.


GET /stats

Účtovné/analytické agregáty za zvolené obdobie.

Parametre (query):

ParameterTypPredvolenéPopis
fromYYYY-MM-DDdnes − 12 mesiacovZačiatok obdobia (vrátane)
toYYYY-MM-DDdnesKoniec obdobia (vrátane)

Príklad volania:

curl -H "X-API-Key: rzk_xxxxxxxx" \
  "https://rezvi.online/api/v1/api/stats?from=2026-01-01&to=2026-06-30"

Príklad odpovede (200):

{
  "from": "2026-01-01",
  "to": "2026-07-01",
  "currency": "EUR",
  "total_bookings": 128,
  "confirmed": 110,
  "completed": 12,
  "cancelled": 4,
  "no_show": 2,
  "pending": 0,
  "revenue_cents": 384000,
  "avg_value_cents": 3000,
  "cancel_rate": 0.031,
  "no_show_rate": 0.016,
  "by_month": [
    { "key": "2026-05", "label": "2026-05", "bookings": 42, "revenue_cents": 126000 }
  ],
  "by_service": [
    { "key": "3415df8e-…", "label": "Strihanie", "bookings": 80, "revenue_cents": 240000 }
  ],
  "by_resource": [
    { "key": "69fb0fc8-…", "label": "Kurt A", "bookings": 60, "revenue_cents": 180000 }
  ],
  "generated_at": "2026-06-09T18:00:00Z"
}

Sumy sú v centoch (revenue_cents: 384000 = 3 840,00 €). Tržby a počty nezahŕňajú zrušené rezervácie.


GET /bookings

Zoznam rezervácií prevádzky za obdobie.

Parametre (query):

ParameterTypPredvolenéPopis
fromYYYY-MM-DDdnes − 30 dníZačiatok (podľa starts_at)
toYYYY-MM-DDdnes + 90 dníKoniec
statusstringFiltrovať podľa stavu: confirmed, pending, cancelled, no_show, completed

Príklad volania:

curl -H "Authorization: Bearer rzk_xxxxxxxx" \
  "https://rezvi.online/api/v1/api/bookings?status=confirmed"

Príklad odpovede (200):

{
  "count": 1,
  "bookings": [
    {
      "id": "f7e1a6b6-2fe7-41fa-b18b-51a3944d0b2f",
      "service_id": "3415df8e-…",
      "resource_id": "69fb0fc8-…",
      "guest_name": "Ján Novák",
      "guest_email": "jan@example.com",
      "guest_phone": "+421900000000",
      "starts_at": "2026-06-11T07:00:00Z",
      "ends_at": "2026-06-11T07:30:00Z",
      "status": "confirmed",
      "price_total_cents": 3000,
      "currency": "EUR",
      "service_name": "Strihanie",
      "resource_name": "Kurt A"
    }
  ]
}

GET /services

Zoznam služieb prevádzky.

Príklad volania:

curl -H "X-API-Key: rzk_xxxxxxxx" "https://rezvi.online/api/v1/api/services"

Príklad odpovede (200):

{
  "count": 1,
  "services": [
    {
      "id": "3415df8e-fd8a-4d7e-b858-2876e9c6c068",
      "name": "Strihanie",
      "duration_minutes": 30,
      "price_cents": 3000,
      "currency": "EUR",
      "payment_mode": "none",
      "buffer_before_minutes": 0,
      "buffer_after_minutes": 0,
      "is_active": true,
      "allow_multi_slot": false,
      "max_slot_count": 1
    }
  ]
}

GET /resources

Zoznam zdrojov (zamestnanci, miestnosti, vybavenie) prevádzky.

Príklad volania:

curl -H "X-API-Key: rzk_xxxxxxxx" "https://rezvi.online/api/v1/api/resources"

Príklad odpovede (200):

{
  "count": 1,
  "resources": [
    {
      "id": "69fb0fc8-bbaf-4d56-90e5-ee07eb2c56ed",
      "type": "resource",
      "name": "Kurt A",
      "capacity": 1,
      "is_active": true,
      "calendar_token": "6545ca5e-…"
    }
  ]
}

calendar_token je tajný token ICS kalendárového feedu zdroja (/api/v1/public/resources/{calendar_token}/calendar.ics). Nezdieľajte ho.


Poznámky

  • API je momentálne iba na čítanie (GET). Zápisové operácie sa vykonávajú v dashboarde.
  • Časy sú v UTC (ISO 8601, napr. 2026-06-11T07:00:00Z).
  • Peňažné sumy sú v centoch (celé čísla).
  • Limit požiadaviek a stránkovanie môžu byť doplnené — sledujte zmeny v tejto dokumentácii.