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

Sport Line API — обработка ошибок

Общий формат ошибки

Большинство ошибок доступа и проверки параметров возвращаются в формате:

{
  "error_code": 100,
  "error_message": "Invalid Package"
}
ПолеТипОписание
error_codenumberЧисловой код категории ошибки
error_messagestringТекстовое описание причины

При обработке ответа проверяйте наличие error_code и error_message. Не полагайтесь только на HTTP-статус ответа.

1. Ошибки API-ключа

Missing Package header

API-ключ не передан в HTTP-заголовке Package.

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

Что проверить:

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

Invalid Package

Переданный ключ не найден в системе.

Что проверить:

  • полностью ли скопирован ключ;
  • нет ли пробелов до или после значения;
  • используется ли ключ от правильного окружения;
  • не был ли ключ заменён менеджером SportAPI.

Package has expired

Срок действия ключа закончился или доступ был отключён.

Что сделать:

  • уточнить срок действия доступа;
  • проверить статус оплаты или тестового периода;
  • обратиться к менеджеру SportAPI для продления или активации.

2. Ошибки тарифа и разрешений

Access denied

У ключа нет доступа к запрошенным данным или виду спорта.

Что проверить:

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

The language is not available in your package.

Указанный язык существует в Sport Line API, но не входит в тариф клиента.

Что сделать:

  • использовать язык, доступный текущему ключу;
  • запросить список языков у менеджера;
  • при необходимости подключить дополнительный язык.

3. Ошибки параметров запроса

Invalid language

Передан код языка, который не поддерживается API.

Что проверить:

  • значение lang в URL;
  • регистр и написание кода языка;
  • отсутствие лишних символов в пути запроса.

Wrong data type (accept only live or line)

В параметре типа линии передано значение, отличное от live или line.

{
  "error_code": 90,
  "error_message": "Wrong data type (accept only live or line)"
}

Допустимые значения:

ЗначениеНазначение
linePrematch-матчи
liveМатчи в реальном времени

Эта ошибка явно обрабатывается методом поиска. Для остальных методов неправильный тип линии может привести к пустому ответу, поэтому проверяйте значение до отправки запроса.

4. Ответы метода конкретного матча

Некоторые ситуации метода event возвращаются не в формате error_code, а как сообщение внутри успешной оболочки ответа.

Game not found

Матч с переданным идентификатором не найден.

{
  "status": 1,
  "page": "/v1/event",
  "body": {
    "message": "Game not found"
  }
}

Что проверить:

  • правильность game_id или sgame_id;
  • соответствует ли матч типу line или live;
  • существует ли матч в актуальной выдаче events.

Game id finished

Матч больше недоступен в текущей линии по переданному game_id.

{
  "status": 1,
  "page": "/v1/event",
  "body": {
    "message": "Game id finished"
  }
}

Сообщение не указывает точную причину. Prematch-матч мог перейти в live с новым game_id, быть отменён или исчезнуть из линии по другой причине. Sport Line API не возвращает отдельные статусы для этих случаев.

Что делать:

  • прекратить запросы event по прежнему game_id;
  • обновить список матчей через events для нужного типа линии;
  • не считать матч начатым, завершённым или отменённым только по этому сообщению.

5. Пустой ответ — не всегда ошибка

Пустой массив body может означать, что по выбранным условиям нет доступных данных:

{
  "status": 1,
  "page": "/v1/events",
  "body": []
}

Перед показом ошибки пользователю проверьте:

  • есть ли матчи выбранного вида спорта;
  • правильно ли указан tournamentId;
  • соответствует ли запрос типу line или live;
  • доступны ли запрошенные данные текущему тарифу.

Рекомендуемая обработка в приложении

  1. Разобрать JSON-ответ.
  2. Проверить наличие error_code.
  3. Если есть error_code, обработать известное значение и записать техническую информацию в лог без API-ключа.
  4. Если ответ содержит body.message, обработать состояние конкретного матча.
  5. Если body — пустой массив, показать пустое состояние, а не системную ошибку.
  6. Не показывать клиентам API-ключ, внутренний URL или полный технический лог.

Что отправить в поддержку

Если причина ошибки неизвестна, отправьте:

  • URL запроса без API-ключа;
  • время и часовой пояс запроса;
  • error_code и error_message;
  • тело ответа без чувствительных данных;
  • тип линии line или live;
  • язык, sportId, tournamentId и gameId, если они использовались.

Не отправляйте действующий API-ключ в публичный чат или задачу.