AI ПаделДокументация API На сайт

API AISOLUS Падел

Облачный API платформы AISOLUS Падел: клубы, слоты и брони, кошелёк игрока, результаты матчей с умных кортов, хайлайты, живой счёт, рейтинг. Через него с облаком работают сервер корта клуба, учётная система клуба (1С), сайты и приложения партнёров.

Данные игр — итоги матчей, замеры мяча, видео — клуб забирает у себя, с сервера корта в своей сети: локальный API сервера корта.

Базовый адрес

Все методы вызываются относительно базового адреса вашего сервера платформы. В примерах вместо него стоит адрес-вашего-сервера — подставьте адрес, который вы получили при подключении:

https://адрес-вашего-сервера/api

Пути в справочнике начинаются с версии: например, полный адрес списка клубов — https://адрес-вашего-сервера/api/v1/clubs. Обмен — HTTPS и JSON в кодировке UTF-8; даты — YYYY-MM-DD, время — HH:MM, моменты времени — ISO 8601, суммы — целые рубли.

Проверка доступности: GET https://адрес-вашего-сервера/api/v1/health отвечает {"status": "ok", "service": "padel-api", …}.

Виды доступа

У каждого метода в справочнике облака указан вид доступа. Их пять; шестой — ключ интеграции — действует на сервере корта.

ВидКто пользуетсяКак передаётся
Токен игрокаПриложения и сайты, действующие от имени игрока: брони, кошелёк, матчи, рейтингAuthorization: Bearer <токен игрока>
Учётка панели клубаПерсонал клуба (судья, администратор, владелец сети)Authorization: Bearer <токен учётки>
Клубный токенСервер корта клубаX-Club-Token: <клубный токен>
Токен 1СУчётная система клуба на 1СX-1C-Token: <токен 1С>
Ключ интеграцииСистема клуба, забирающая данные игр с сервера корта в сети клуба (только чтение)X-Integration-Key: <ключ интеграции> — см. локальный API
ПубличныйСайты, табло, формы заявокБез авторизации

Токен игрока: вход по SMS

Игрок входит по номеру телефона. Облако присылает код в SMS, код меняется на пару токенов: короткий токен доступа и долгий токен обновления.

# 1. Запросить код (российский номер: +7…, 8… или 10 цифр)
curl -X POST "https://адрес-вашего-сервера/api/v1/auth/phone" \
  -H "Content-Type: application/json" \
  -d '{"phone": "+79000000001"}'
# → {"ok": true, "ttl_min": 5}

# 2. Обменять код из SMS на токены
curl -X POST "https://адрес-вашего-сервера/api/v1/auth/verify" \
  -H "Content-Type: application/json" \
  -d '{"phone": "+79000000001", "code": "<код из SMS>"}'
# → {"access_token": "…", "refresh_token": "…", "token_type": "bearer",
#    "expires_in": 900, "is_new": false, "user_id": "…"}

# 3. Обновить токен доступа, когда он истёк (старый refresh_token гасится)
curl -X POST "https://адрес-вашего-сервера/api/v1/auth/refresh" \
  -H "Content-Type: application/json" \
  -d '{"refresh_token": "<токен обновления>"}'

Учётка панели клуба

Логин и пароль панели выдаёт клуб или владелец сети. Вход — POST /v1/admin/login с полями login, password и, если у учётки включён второй фактор, code из приложения-аутентификатора; в ответе токен на смену (12 часов). Методы панели клуба в открытый справочник не входят; из опубликованных учётка персонала нужна для POST /v1/matches/{match_id}/score-correction.

Клубный токен сервера корта

Выдаётся на клуб при подключении кортов AISOLUS и показывается один раз: в облаке хранится только его хеш. Повторная выдача заменяет прежний токен. Токен передаётся в заголовке X-Club-Token (имена заголовков не зависят от регистра). Подробно — в руководстве «Сервер корта и облако».

Токен 1С

Один токен на интеграцию, передаётся в заголовке X-1C-Token. Пока токен в облаке не задан, интеграция выключена и все методы отвечают 401 bad_1c_token. Подробно — в руководстве «Интеграция с 1С».

Как получить доступ

Клубный токен, токен 1С и учётки персонала выдаёт менеджер AISOLUS. Обратитесь к администратору вашей платформы: название клуба или компании, что хотите подключить (сервер корта, 1С, сайт или приложение, онлайн-оплату), контакт технического специалиста. Публичные методы и вход игрока по SMS отдельного доступа не требуют.

Токены — секрет. Не вставляйте их в код страниц, мобильных приложений и публичные репозитории; храните на своём сервере. В примерах этой документации вместо токенов стоят заглушки вида <клубный токен>.

Формат ответов и ошибок

Успешный ответ — код 200 и JSON. Ошибка — код 4xx или 5xx и JSON с полем detail:

{"detail": "bad_club_token"}
{"detail": {"error": "insufficient_funds", "balance": 1200, "price": 3500}}
{"detail": [{"loc": ["body", "players"], "msg": "…", "type": "…"}]}   // 422 — ошибка проверки тела

Ограничения

Карта разделов

Руководства — сценарии интеграции с примерами:

Справочник — 64 методов по разделам:

Интеграция с 1С4 методаПриём платежей клуба из 1С на кошельки игроков. Доступ — токен 1С в заголовке X-1C-Token.Сервер корта: приём данных13 методовРезультаты матчей, статистика, движение, клипы, живой счёт, американо, сетка турнира, уровни и пропуска. Доступ — клубный токен X-Club-Token.Сервер корта: компьютерное зрение6 методовРозыгрыши с траекторией мяча, итог матча, здоровье камер и брони на корты. Запись — клубный токен; чтение — клубный токен или токен игрока.Лицензия сервера корта1 методПодписанная лицензия для машины сервера корта клуба. Доступ — клубный токен.Живой счёт1 методСчёт идущих матчей на кортах клуба для табло, сайтов и приложений. Публичный метод.Заявки1 методЗаявки с сайта, из рекламы или со стойки клуба. Публичный метод.Клубы и слоты4 методаКлубы, корты и свободные слоты на день с ценой. Публичные методы.Брони16 методовБронирование корта от имени игрока: создание, перенос, отмена, лист ожидания, разделение оплаты, прокат, промокоды. Доступ — токен игрока.Кошелёк и оплата4 методаБаланс игрока, пополнение через ЮKassa и уведомления ЮKassa.Матчи7 методовМатчи игрока, карточка матча с хайлайтами, ручной ввод и исправление счёта, отметка розыгрыша. Доступ — токен игрока.Игроки2 методаПрофиль игрока и знакомые игроки. Доступ — токен игрока.Рейтинг AISOLUS4 методаШкала 1,0–7,0, рейтинг игрока и таблица лучших.Таблица лидеров1 методТаблица лидеров по рейтингу Эло. Публичный метод.

Статусы интеграций

ИнтеграцияСтатусЧто нужно
Сервер корта AISOLUS ↔ облакоДоступноКлубный токен; ставится вместе с кортами AISOLUS
Локальный API сервера корта — данные игр и видеоПо подключениюКлюч интеграции на сервере корта клуба
1С — приём платежей клубаПо подключениюТокен 1С от менеджера; обработка на стороне 1С
Онлайн-оплата через ЮKassaПри подключённом магазинеРаботает, когда клуб подключил магазин ЮKassa и ключи внесены в облако
Клубы, слоты, брони для партнёровДоступноПубличные методы; брони — от имени игрока с его токеном
Живой счёт и таблоДоступноПубличный метод
Заявки с сайтаДоступноПубличный метод
YCLIENTSВ разработке—
Playtomic (Playtomic Connect)В разработке—
MATCHiВ разработке—
1С:Фитнес клубПо запросу—