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 |
|---|---|---|
| 400 | validation_error | Nieprawidłowe parametry żądania |
| 401 | invalid_api_key | Brakujący lub nieprawidłowy klucz API |
| 403 | bot_blocked | Żądanie zablokowane przez Bot Defense |
| 404 | not_found | Zasób nie istnieje |
| 409 | sold_out | Brak biletów w puli |
| 422 | face_value_violation | Cena transferu > cena zakupu |
| 429 | rate_limit | Za dużo żądań — poczekaj i spróbuj ponownie |
| 500 | internal_error | Błąd wewnętrzny — skontaktuj się z supportem |