SportAPI Документация
RU
S Документация продуктаSport Line API
v1
Услуга и цены ↗ Получить доступ ↗
Sport Line API / Быстрый старт

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 поддерживает два типа данных:

ЗначениеЧто возвращает
linePrematch-линия — матчи, которые ещё не начались
liveLive-линия — матчи, которые идут сейчас

Значение указывается непосредственно в пути запроса.

Например:

/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.

Если первый запрос не работает

Проверьте:

  1. Правильно ли указан базовый URL.
  2. Передан ли заголовок Package.
  3. Нет ли пробелов до или после API-ключа.
  4. Не закончился ли срок действия ключа.
  5. Входит ли язык ru в Ваш тариф.
  6. Есть ли у ключа доступ к запрашиваемым видам спорта.

Если запрос не выполнен, API возвращает поля error_code и error_message:

{
  "error_code": 100,
  "error_message": "Missing Package header"
}

Причины ошибок и действия для их устранения собраны в едином документе «Обработка ошибок».

Если самостоятельно определить причину не удалось, отправьте в поддержку:

  • URL запроса без API-ключа;
  • время выполнения запроса;
  • тело ответа с ошибкой;
  • пример используемого кода без секретных данных.

Поддержка SportAPI: @suport_sportapi.

Официальный сайт: sportapi.net.

Что делать дальше

После успешного получения menu общий порядок интеграции выглядит так:

  1. Получить список доступных видов спорта, стран и турниров.
  2. Выбрать нужный sportId и tournamentId.
  3. Запросить список матчей методом events.
  4. Взять game_id нужного матча.
  5. Запросить подробные данные матча методом event.
  6. Регулярно обновлять prematch- или live-данные с рекомендованным интервалом.

Следующий документ: 02-авторизация-и-доступ.md.