Reference

API Reference

REST API Fliko. Base URL: https://api.fliko.org/v1. Wszystkie odpowiedzi w JSON. Autentykacja przez Bearer token w nagłówku Authorization.

Autentykacja

Fliko używa kluczy API ze środowiskami test i live. Klucze publiczne (flk_pub_) do widgetu frontend — klucze prywatne (flk_live_ / flk_test_) tylko na serwerze.

http
Authorization: Bearer flk_live_xxxxxxxxxxxxxxxx

Eventy

POST /v1/events Utwórz event
Request body
{
  "name": "string — wymagane",
  "date_iso": "ISO 8601 z timezone — wymagane",
  "capacity": "integer — wymagane",
  "ticket_price_pln": "number — wymagane",
  "currency": "PLN (domyślnie)",
  "bot_velocity_window_s": "integer — opcjonalne (def. 60)",
  "bot_max_tickets_per_ip": "integer — opcjonalne (def. 3)"
}
GET /v1/events/{event_id} Pobierz event
GET /v1/events Lista eventów (paginacja: ?limit=20&cursor=)

Bilety

GET /v1/events/{event_id}/tickets Lista biletów dla eventu
POST /v1/tickets/{ticket_id}/transfer Face-value transfer biletu
Request body
{
  "recipient_email": "string — email weryfikowany",
  "price_pln": "number — musi być równe cenie zakupu"
}

Płatności

Fliko obsługuje routing automatyczny — klient widzi dostępne metody (Blik/Apple Pay/Karta) i wybiera. Możesz też wymusić metodę przez parametr payment_method w checkout session.

POST /v1/checkout/sessions Utwórz sesję checkout
Request body
{
  "event_id": "evt_xxxxxx",
  "ticket_quantity": 2,
  "success_url": "https://yoursite.pl/thanks",
  "cancel_url": "https://yoursite.pl/event"
}
POST /v1/payments/{payment_id}/refund Zwrot płatności

Bot Defense API

Możesz odczytywać alerty bot-detection i konfigurować limity per event przez API.

GET /v1/events/{event_id}/bot-alerts Alerty botów dla eventu
POST /v1/accounts/{account_id}/block Zablokuj konto manualnie

Kody błędów

Kod HTTP error_code Opis
400validation_errorNieprawidłowe parametry żądania
401invalid_api_keyBrakujący lub nieprawidłowy klucz API
403bot_blockedŻądanie zablokowane przez Bot Defense
404not_foundZasób nie istnieje
409sold_outBrak biletów w puli
422face_value_violationCena transferu > cena zakupu
429rate_limitZa dużo żądań — poczekaj i spróbuj ponownie
500internal_errorBłąd wewnętrzny — skontaktuj się z supportem