Указатель ставки
Указатель ставки — это строка, которая однозначно описывает выбранный пользователем исход: событие, рынок, вариант ставки, дополнительный параметр и коэффициент.
При создании купона один или несколько таких указателей передаются в массиве 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]
Квадратные скобки означают, что последняя часть необязательна. Сами символы [ и ] в указатель не входят.
| Позиция | Поле | Описание |
|---|---|---|
| 1 | line_type | Тип линии: line для prematch или live для события, которое уже идет. |
| 2 | game_id | ID основного события или саб-события. |
| 3 | group_id | ID группы ставок, например исход матча, тотал или фора. |
| 4 | type_id | ID конкретного исхода внутри группы. |
| 5 | rate | Значение тотала, форы или другого параметра. Если параметр не нужен — 0. |
| 6 | coefficient | Коэффициент, показанный пользователю при отправке ставки. |
| 7 | player_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 проверяет каждый указатель:
- строка имеет правильный формат;
- исход существует в текущей линии;
- исход не заблокирован;
- переданный коэффициент соответствует актуальному либо может быть принят по выбранным правилам
modeиmode_type.
Структурно правильный указатель не гарантирует прием купона: исход мог быть удален или заблокирован, а коэффициент мог измениться после выбора пользователем.
Возможные ошибки
error_code | Причина |
|---|---|
11 | Хотя бы один элемент list_bets имеет неверный формат. |
501 | Коэффициент изменился и не был принят по заданным правилам. |
502 | Исход больше не найден в текущей линии. |
503 | Исход заблокирован. |
504 | Во время проверки исхода произошла ошибка. |
При error_code = 11 проверьте, что:
list_betsсодержит строки, а не объекты;- обязательные шесть частей присутствуют;
- необязательный
player_idнаходится только в седьмой позиции; - в строке нет квадратных скобок из шаблона формата;
- числовые значения не записаны с десятичной запятой;
- указатель не был обрезан или изменен при сохранении.
Ошибки доступности и изменения коэффициента подробно описаны в разделе «Изменение коэффициентов и доступности исхода».
Следующий шаг: «Создание купона».