Разработчикам

REST API для мультитенантных данных объектов

Двадцать три версионированных эндпоинта под /api/v1. Bearer-аутентификация, ограниченные права, лимиты на токен и журнал аудита на каждый вызов.

Аутентификация
# Создайте токен в разделе Панель → Интеграции.
# Секрет показывается один раз и хранится в виде хеша SHA-256.

curl https://kourtiva.com/api/v1/me \
  -H "Authorization: Bearer $KOURTIVA_TOKEN"

# 401 при недействительном, просроченном или отозванном токене.
# 403, если у токена нет нужного права.
# 429 при превышении лимита запросов.
api.kourtiva.com GET/v1/courts/availability Authorization: Bearer kv_live_•••• 200OK · 34ms { "venue": "vn_8832a", "courts": [ { "id": "crt_01", "sport": "padel", "free": ["19:00", "21:00"] }, { "id": "crt_02", "sport": "tennis", "free": ["18:00"] } ] }

Безопасность, которая не опция

  • Секреты хранятся хешированными — утечка базы не даёт рабочего токена
  • HTTPS обязателен; обычный HTTP отклоняется, а не перенаправляется
  • Права на уровне токена: интеграция для отчётов не может писать
  • Необязательные сроки действия и мгновенный отзыв
  • Арендатор определяется на сервере — идентификатор объекта от клиента не принимается
  • Для каждого запроса пишутся метод, путь, статус, длительность и токен
Ресурсы

Что можно читать и писать

Брони

Просматривайте и фильтруйте брони по кортам, включая статус заезда.

Корты и слоты

Описания кортов и их бронируемые слоты с занятостью по датам.

Виды спорта и объекты

Виды спорта, которые вы предлагаете, и объекты при каждой площадке.

Участники

Игроки, зарегистрированные на вашем объекте, с историей броней.

Счета и платежи

Финансовые записи, связанные с породившими их бронями.

Турниры

Соревнования, зарегистрированные команды и матчи.

Посетители

Счётчики посещаемости и сводки для отчётов по загрузке.

Профиль объекта

Запись вашего объекта — арендатор, к которому ведёт токен.

Версионирование: обновления планируете вы

Всё живёт под /api/v1. Ломающие изменения выходят новой версией, а не появляются без предупреждения в той, с которой вы уже интегрировались.

Запросить доступ к API
Занятость кортов
GET /api/v1/courts/12/slots?date=2026-08-09

{
  "data": [
    { "starts_at": "08:00", "available": true  },
    { "starts_at": "09:00", "available": false },
    { "starts_at": "10:00", "available": true  }
  ]
}

Нужен эндпоинт, которого у нас нет?

Скажите, с чем интегрируетесь, и мы посмотрим.

Записаться на персональную демонстрацию