Поддерживаемые виды спорта
| Slug | Название | Особенности | Подробности |
|---|---|---|---|
football | Футбол | Базовая Match-структура, тайм 1/2, OT, пенальти; referee; самый богатый matchStatistics | Sport-specific → Football |
ice-hockey | Хоккей с шайбой | 3 периода, овертайм, серия буллитов | Sport-specific → Ice Hockey |
basketball | Баскетбол | 4 четверти, овертаймы; позиции PG/SG/SF/PF/C | Sport-specific → Basketball |
tennis | Теннис | Match.tennis: sets, tiebreak, momentum, pointByPoint (только в детальном), ground type, seeds | Sport-specific → Tennis |
table-tennis | Настольный теннис | Сеты до 11; базовая структура без Match.tennis | Sport-specific → Table Tennis |
volleyball | Волейбол | Сеты до 25 (5-й до 15); базовая структура (sport-specific объект в разработке) | Sport-specific → Volleyball |
esports | Киберспорт | Match.esports: CS2 / Dota 2 / LoL — per-game stats, rounds (CS2), bans (MOBA), драфт | Sport-specific → Esports |
sportSlug — path-параметр в 14 из 15 эндпоинтов; исключение — /v2/sport (общий список видов спорта, не привязан к конкретному виду). Полная справка — в API Reference: выберите спорт из dropdown'а в operation и запустите Try It Out.
Различия в Match-объекте
Match (base) ──────┐
├── tennis ─→ TennisData (только Tennis API)
└── esports ─→ EsportsData (только Esports API)
Остальные 5 спортов используют только базовую структуру без отдельных sport-specific объектов; различия — в интерпретации полей Score, matchStatistics, liveEvents и позиций в Lineup. См. Sport-specific.
Позиции игроков
Поле position в lineup.players[] / Player.position различается по видам спорта. Базовая схема Player.position декларирует футбольный enum G/D/M/F, но реальные значения для других спортов другие. На клиенте принимайте position как string.
| Спорт | Возможные позиции |
|---|---|
| Football / Ice Hockey | G (вратарь), D (защитник), M (полузащитник), F (нападающий) |
| Basketball | PG (point guard), SG (shooting guard), SF (small forward), PF (power forward), C (center) |
| Volleyball | S (setter), OH (outside hitter), MB (middle blocker), OP (opposite), L (libero) |
| Tennis / Table Tennis | N/A — индивидуальные виды |
| Esports — CS2 | N/A — амплуа определяется по позиции в раунде |
| Esports — Dota 2 | hc, mid, off, ss, hs (плюс positionName — расшифровка) |
| Esports — LoL | top, jun, mid, adc, sup |
Список доступных спортов (API)
curl -H "Authorization: YOUR_API_KEY" https://api.api-sport.ru/v2/sport
Возвращает массив Sport-объектов: id, name, slug, apiBasePath, translations.ru. Используйте этот эндпоинт, чтобы получить актуальный список поддерживаемых видов спорта программно — например, для динамического построения меню.