Sport Line API — быстрый старт
Что Вы получите
Sport Line API позволяет получать спортивные данные для сайта или приложения:
- виды спорта;
- страны и турниры;
- prematch- и live-матчи;
- команды, счёт и состояние матча;
- рынки и коэффициенты.
В этом руководстве Вы получите доступ к API, выполните первый запрос и проверите ответ.
Способ подключения
В настоящее время спортивная линия предоставляется клиентам только через REST API. Для получения данных приложение отправляет обычные HTTP-запросы к методам Sport Line API.
Подключение через WebSocket находится в разработке и пока недоступно для использования в рабочей интеграции.
Шаг 1. Получите доступ
Чтобы начать работу, напишите менеджеру SportAPI в Telegram и сообщите, что Вы хотите подключить Sport Line API.
Менеджер предоставит:
- базовый URL спортивной линии;
- персональный API-ключ;
- информацию о доступных видах спорта и языках;
- срок действия доступа;
- условия выбранного тарифа.
Базовый URL может отличаться для разных подключений. Во всех примерах ниже
замените https://YOUR_API_DOMAIN на адрес, который Вам предоставил менеджер.
Шаг 2. Передайте ключ в запросе
API-ключ необходимо передавать в HTTP-заголовке Package при каждом запросе:
Package: YOUR_API_KEY
Не добавляйте ключ в URL запроса и не публикуйте его в открытой документации, чатах или публичном репозитории.
Шаг 3. Выберите тип спортивной линии
Sport Line API поддерживает два типа данных:
| Значение | Что возвращает |
|---|---|
line | Prematch-линия — матчи, которые ещё не начались |
live | Live-линия — матчи, которые идут сейчас |
Значение указывается непосредственно в пути запроса.
Например:
/v1/menu/live/ru
Шаг 4. Выполните первый запрос
Для первого запроса используйте метод menu. Он возвращает структуру доступных
видов спорта, стран и турниров.
Запрос live-меню
GET https://YOUR_API_DOMAIN/v1/menu/live/ru
HTTP-заголовки:
Package: YOUR_API_KEY
Accept: application/json
API-ключ передаётся в заголовке Package, а не добавляется в URL.
Пример с curl
curl --request GET \
--url 'https://YOUR_API_DOMAIN/v1/menu/live/ru' \
--header 'Package: YOUR_API_KEY'
В примере используется язык ru. Запрашиваемый язык должен входить в тариф
Вашего ключа.
Шаг 5. Проверьте ответ
Успешный ответ имеет общую структуру:
{
"status": 1,
"page": "/v1/menu",
"body": [
{
"id": 1,
"name": "Футбол",
"counter": 126,
"sub": []
}
]
}
Значения в примере приведены для объяснения структуры и могут отличаться от фактического ответа.
Основные поля:
| Поле | Описание |
|---|---|
status | Статус выполнения запроса. Значение 1 означает успешный ответ |
page | Метод API, который сформировал ответ |
body | Данные, возвращённые методом |
Внутри body метод menu возвращает вложенную структуру:
вид спорта → страна → турнир
Подробное описание полей меню будет находиться в отдельной документации метода
menu.
Если первый запрос не работает
Проверьте:
- Правильно ли указан базовый URL.
- Передан ли заголовок
Package. - Нет ли пробелов до или после API-ключа.
- Не закончился ли срок действия ключа.
- Входит ли язык
ruв Ваш тариф. - Есть ли у ключа доступ к запрашиваемым видам спорта.
Если запрос не выполнен, API возвращает поля error_code и error_message:
{
"error_code": 100,
"error_message": "Missing Package header"
}
Причины ошибок и действия для их устранения собраны в едином документе «Обработка ошибок».
Если самостоятельно определить причину не удалось, отправьте в поддержку:
- URL запроса без API-ключа;
- время выполнения запроса;
- тело ответа с ошибкой;
- пример используемого кода без секретных данных.
Поддержка SportAPI: @suport_sportapi.
Официальный сайт: sportapi.net.
Что делать дальше
После успешного получения menu общий порядок интеграции выглядит так:
- Получить список доступных видов спорта, стран и турниров.
- Выбрать нужный
sportIdиtournamentId. - Запросить список матчей методом
events. - Взять
game_idнужного матча. - Запросить подробные данные матча методом
event. - Регулярно обновлять prematch- или live-данные с рекомендованным интервалом.
Следующий документ: 02-авторизация-и-доступ.md.