SportAPI Документация
RU
C Документация продуктаCoupon API
v1
Услуга и цены ↗ Получить доступ ↗
Coupon API / Указатель ставки

Указатель ставки

Указатель ставки — это строка, которая однозначно описывает выбранный пользователем исход: событие, рынок, вариант ставки, дополнительный параметр и коэффициент.

При создании купона один или несколько таких указателей передаются в массиве list_bets:

{
  "list_bets": [
    "line#737779544#1#1#0#1.85"
  ]
}

Откуда брать указатель

Для выбранного исхода получите из спортивной линии технический oc_pointer и актуальный oc_rate. Поля исхода описаны в разделе «Коэффициенты и группы ставок». Добавьте тип линии (line или live) и коэффициент по формату ниже. После формирования не изменяйте полный указатель перед отправкой.

Не рекомендуется:

  • собирать указатель вручную;
  • заменять в нем ID события, группы или исхода;
  • заменять ID саб-события на ID основного события;
  • самостоятельно добавлять или удалять player_id;
  • менять значение rate или коэффициент;
  • преобразовывать разделители перед отправкой.

Указатель можно сохранить в корзине вместе с выбранным исходом, но перед созданием купона следует использовать актуальные коэффициент и состояние исхода. Между выбором ставки и отправкой запроса коэффициент или доступность исхода могут измениться.

Формат указателя

Канонический формат:

line_type#game_id#group_id#type_id#rate#coefficient[#player_id]

Квадратные скобки означают, что последняя часть необязательна. Сами символы [ и ] в указатель не входят.

ПозицияПолеОписание
1line_typeТип линии: line для prematch или live для события, которое уже идет.
2game_idID основного события или саб-события.
3group_idID группы ставок, например исход матча, тотал или фора.
4type_idID конкретного исхода внутри группы.
5rateЗначение тотала, форы или другого параметра. Если параметр не нужен — 0.
6coefficientКоэффициент, показанный пользователю при отправке ставки.
7player_idНеобязательный ID игрока или участника для персонального исхода.

Все части находятся внутри одной строки, даже если их значения являются числовыми.

line и live

Первое значение показывает, к какому типу линии относится исход:

ЗначениеОписание
lineСтавка до начала события — prematch.
liveСтавка во время события — live.

Тип должен совпадать с исходом, полученным из линии. Не изменяйте line на live или наоборот самостоятельно.

Пример prematch-исхода:

line#737779544#1#1#0#1.85

Пример live-исхода:

live#738917381#119#5869#0.5#3.6

События и саб-события

game_id может относиться как к основному событию, так и к его части: тайму, периоду, сету, иннингу или другому саб-событию.

Используйте именно тот game_id, который находится в указателе выбранного исхода. API самостоятельно определяет связь саб-события с основным событием.

В один экспресс нельзя добавить несколько исходов, относящихся к одному матчу. Например, нельзя объединить исход основного матча с угловыми либо угловые с фолами этого же матча. При нарушении правила API возвращает error_code = 506. Подробнее: «Ординары, экспрессы и multi».

Параметр rate

rate содержит дополнительное значение, необходимое для определения исхода.

Например:

  • 2.5 — тотал больше или меньше 2.5;
  • -1 — фора −1;
  • 0.5 — другое параметризованное значение;
  • 0 — исход не требует дополнительного параметра.

Передавайте rate в том виде, в котором он получен из линии. Для десятичной части используется точка.

Самостоятельно вычислять rate по отображаемому названию ставки не нужно.

Персональные исходы

Некоторые рынки относятся к конкретному игроку или участнику. В таком случае указатель содержит седьмую часть — player_id:

live#738917381#119#5869#0.5#3.6#149439538

Если готовый указатель содержит player_id, сохраните и передайте его. Если седьмой части нет, добавлять 0, null или пустое значение не нужно.

Разделители

API принимает:

  • указатели с разделителем #;
  • указатели с разделителем |;
  • совместимый смешанный формат.

Все три записи могут соответствовать одному формату данных:

line#737779544#1#1#0#1.85
line|737779544|1|1|0|1.85
line#737779544|1|1|0#1.85

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

Проверка при создании купона

Получив list_bets, Система расчета купонов SportAPI проверяет каждый указатель:

  1. строка имеет правильный формат;
  2. исход существует в текущей линии;
  3. исход не заблокирован;
  4. переданный коэффициент соответствует актуальному либо может быть принят по выбранным правилам mode и mode_type.

Структурно правильный указатель не гарантирует прием купона: исход мог быть удален или заблокирован, а коэффициент мог измениться после выбора пользователем.

Возможные ошибки

error_codeПричина
11Хотя бы один элемент list_bets имеет неверный формат.
501Коэффициент изменился и не был принят по заданным правилам.
502Исход больше не найден в текущей линии.
503Исход заблокирован.
504Во время проверки исхода произошла ошибка.

При error_code = 11 проверьте, что:

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

Ошибки доступности и изменения коэффициента подробно описаны в разделе «Изменение коэффициентов и доступности исхода».

Следующий шаг: «Создание купона».