---
id: quick-start
title: Sport Line API — быстрый старт
description: Краткое руководство по получению доступа и выполнению первого запроса к Sport Line API.
version: v1
language: ru
---

# Sport Line API — быстрый старт

## Что Вы получите

Sport Line API позволяет получать спортивные данные для сайта или приложения:

- виды спорта;
- страны и турниры;
- prematch- и live-матчи;
- команды, счёт и состояние матча;
- рынки и коэффициенты.

В этом руководстве Вы получите доступ к API, выполните первый запрос и проверите
ответ.

## Способ подключения

В настоящее время спортивная линия предоставляется клиентам только через REST
API. Для получения данных приложение отправляет обычные HTTP-запросы к методам
Sport Line API.

Подключение через WebSocket находится в разработке и пока недоступно для
использования в рабочей интеграции.

## Шаг 1. Получите доступ

Чтобы начать работу, напишите
[менеджеру SportAPI в Telegram](https://t.me/suport_sportapi) и сообщите, что Вы
хотите подключить Sport Line API.

Менеджер предоставит:

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

Базовый URL может отличаться для разных подключений. Во всех примерах ниже
замените `https://YOUR_API_DOMAIN` на адрес, который Вам предоставил менеджер.

## Шаг 2. Передайте ключ в запросе

API-ключ необходимо передавать в HTTP-заголовке `Package` при каждом запросе:

```http
Package: YOUR_API_KEY
```

Не добавляйте ключ в URL запроса и не публикуйте его в открытой документации,
чатах или публичном репозитории.

## Шаг 3. Выберите тип спортивной линии

Sport Line API поддерживает два типа данных:

| Значение | Что возвращает |
|---|---|
| `line` | Prematch-линия — матчи, которые ещё не начались |
| `live` | Live-линия — матчи, которые идут сейчас |

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

Например:

```text
/v1/menu/live/ru
```

## Шаг 4. Выполните первый запрос

Для первого запроса используйте метод `menu`. Он возвращает структуру доступных
видов спорта, стран и турниров.

### Запрос live-меню

```http
GET https://YOUR_API_DOMAIN/v1/menu/live/ru
```

HTTP-заголовки:

```http
Package: YOUR_API_KEY
Accept: application/json
```

API-ключ передаётся в заголовке `Package`, а не добавляется в URL.

### Пример с `curl`

```bash
curl --request GET \
  --url 'https://YOUR_API_DOMAIN/v1/menu/live/ru' \
  --header 'Package: YOUR_API_KEY'
```

В примере используется язык `ru`. Запрашиваемый язык должен входить в тариф
Вашего ключа.

## Шаг 5. Проверьте ответ

Успешный ответ имеет общую структуру:

```json
{
  "status": 1,
  "page": "/v1/menu",
  "body": [
    {
      "id": 1,
      "name": "Футбол",
      "counter": 126,
      "sub": []
    }
  ]
}
```

Значения в примере приведены для объяснения структуры и могут отличаться от
фактического ответа.

Основные поля:

| Поле | Описание |
|---|---|
| `status` | Статус выполнения запроса. Значение `1` означает успешный ответ |
| `page` | Метод API, который сформировал ответ |
| `body` | Данные, возвращённые методом |

Внутри `body` метод `menu` возвращает вложенную структуру:

```text
вид спорта → страна → турнир
```

Подробное описание полей меню будет находиться в отдельной документации метода
`menu`.

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

Проверьте:

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

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

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

Причины ошибок и действия для их устранения собраны в едином документе
[«Обработка ошибок»](error-handling.md).

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

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

Поддержка SportAPI: [@suport_sportapi](https://t.me/suport_sportapi).

Официальный сайт: [sportapi.net](https://sportapi.net).

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

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

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

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