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

Видеотрансляции в Sport Line API

Что предоставляет Sport Line API

Sport Line API показывает, доступна ли видеотрансляция для конкретного Live-матча, и возвращает её идентификатор.

Для этого используются два поля:

ПолеТипНазначение
vanumber или nullПризнак наличия видеотрансляции: 1 — трансляция есть, null — трансляции нет
vistring или nullID видеотрансляции Live-матча

Значение va: 0 не используется.

Ограничение по покрытию

SportAPI не транслирует матчи топовых спортивных лиг. Видеотрансляции предоставляются только для части других доступных соревнований.

Не следует обещать наличие видео для конкретного турнира, страны, вида спорта или Live-матча заранее. Доступность определяется отдельно для каждого матча по значениям va и vi в актуальном ответе спортивной линии.

Название метода topmatches также не означает, что SportAPI транслирует топовые лиги: это название отдельной выборки матчей внутри API, а не характеристика уровня турнира.

Когда доступна видеотрансляция

В проверенных ответах доступная трансляция имеет одновременно:

{
  "va": 1,
  "vi": "20064614"
}

Если трансляции нет, поля возвращаются так:

{
  "va": null,
  "vi": null
}

Клиентская логика должна проверять оба поля:

vaviДействие
1непустая строкаТрансляция обозначена как доступная; можно передать vi в подключённый компонент видео
nullnullНе показывать кнопку или блок видеотрансляции
любое другое сочетаниелюбоеНе запускать видео автоматически; считать ответ несогласованным и обновить данные

Наличие vi не нужно сохранять как постоянное свойство матча. Проверяйте доступность по актуальному Live-ответу.

Формат vi

vi является строковым идентификатором, а не числом и не готовым URL.

В реальных ответах встречались разные форматы:

{
  "vi": "20064614"
}
{
  "vi": "DR_3_1783061985"
}

Даже если строка содержит только цифры, не преобразовывайте её в числовой тип. Сохраняйте и передавайте vi точно в том виде, в котором он получен от Sport Line API.

vi не является готовым адресом iframe или видеопотока. Это ID, который передаётся в готовый виджет видеотрансляции.

Готовый видеовиджет и iframe

Видеотрансляция встраивается на сайт как отдельный готовый виджет через iframe. Клиенту не нужно самостоятельно получать поток или разрабатывать видеоплеер.

Sport Line API → va и vi → готовый видеовиджет → iframe на сайте клиента

Поле vi передаётся виджету как ID выбранной трансляции. Само значение vi нельзя использовать как полный src для iframe: адрес виджета и остальные параметры подключения задаются отдельной инструкцией сервиса видеотрансляций.

Этот документ описывает только связь видеовиджета со Sport Line API. Полная инструкция по встраиванию видео через iframe будет оформлена отдельно.

Где возвращаются поля видео

Поля va и vi находятся внутри объекта матча. Их можно получить вместе с Live-матчем, например в:

  • events — список Live-матчей;
  • event — конкретный Live-матч;
  • topmatches — поля присутствуют как в сокращённой, так и в расширенной карточке Live-матча.

В Prematch видеотрансляция ещё не предоставляется. Поля могут технически присутствовать со значением null, но это не означает наличие видео.

Пример в списке Live-матчей

{
  "game_id": 746049368,
  "sport_id": 1,
  "tournament_name": "Чемпионат России. Молодежное первенство. Дивизион А",
  "opp_1_name": "Акрон-Академия Коноплева (мол)",
  "opp_2_name": "Зенит (мол)",
  "va": 1,
  "vi": "20064614"
}

Поля game_id и vi имеют разное назначение:

  • game_id используется для запроса данных матча через event;
  • vi идентифицирует видеотрансляцию в отдельном видеосервисе.

Не подставляйте game_id вместо vi.

Отображение в интерфейсе

Рекомендуемая логика карточки Live-матча:

  1. Проверьте va и vi.
  2. Если va: 1 и vi заполнен, покажите кнопку или блок «Смотреть трансляцию».
  3. При va: null или vi: null не показывайте недоступный видеоплеер.
  4. После обновления матча повторно проверьте оба поля.
  5. Если трансляция исчезла из ответа, отключите кнопку и не продолжайте использовать сохранённый vi.

Sport Line API не определяет внешний вид видеоплеера. Видео отображает отдельный готовый виджет, встроенный через iframe.

Что важно учитывать

  • Видео доступно только для Live-матчей.
  • Трансляции есть не у каждого Live-матча.
  • Матчи топовых лиг SportAPI не транслирует.
  • va может иметь только значение 1 или null.
  • vi всегда нужно обрабатывать как строку или null.
  • vi является ID, а не URL видеопотока.
  • Доступность нужно проверять после каждого обновления объекта матча.

Практические правила интеграции

  1. Показывайте видео только при va: 1 и заполненном vi.
  2. Передавайте vi без преобразования и изменения.
  3. Не используйте game_id или другие поля вместо vi.
  4. Не обещайте видео для конкретной лиги или матча до проверки Live-ответа.
  5. При исчезновении vi прекращайте показывать трансляцию как доступную.
  6. Используйте готовый видеовиджет, встроенный через iframe.

Связанные документы