Данная система предназначена для операторов ставок на спорт, букмекеров и разработчиков платформ, которые стремятся автоматизировать процесс расчета ставок и управления купонами. Она позволяет быстро интегрировать расчет результатов, предоставляя точные данные о статусах купонов (выигрыш, проигрыш или возврат), а также упрощает взаимодействие между сервером оператора и системой расчета.
Интеграция с нашей системой расчета ставок и купонов проходит в три ключевых этапа:
На первом этапе необходимо авторизоваться в системе. Для этого выполняется POST-запрос с данными пользователя (логин и пароль). Успешная авторизация возвращает сессию, представленную в виде cookie, которая должна быть сохранена. Эти cookie обязательны для отправки всех последующих запросов, так как они используются для идентификации сессии пользователя в системе.
На этом этапе в нашу систему отправляется код ставки, содержащий:
При отправке данных обязательно передаются cookie, полученные на этапе авторизации. Это позволяет корректно идентифицировать пользователя и обработать ставку.
После завершения расчета исходов или купонов наша система отправляет POST-запросы на указанный remote_host
. Этот запрос содержит:
Отправка результатов происходит в момент определения исхода. Например:
Теперь посмотрите каждый шаг по отдельности. Мы описали запросы и параметры, а так же ответы рест апи.
Логин, пароль и хост для отправки запросов можно получить у менеджера.
URL для запроса:
{APIHOST}/WebServices/BCService.asmx/LogIn/
Тип отправки данных: POST
Передаваемые данные:
Параметр | Описание |
---|---|
login | Логин пользователя |
password | Пароль пользователя |
Важно!
Рекомендации для удобства интеграции:
login
передается в формате строки.cookie живут 3 месяца. Но они могут обновится при перезапуске сервера. Поэтому вам нужно сделать повторную авторизацию, если вы получите ошибку при сохранении купона
"errorCode":1,
"fullErrorCode":99,
"errorMessage":"Неверныйуровень доступа"
Пример отправки запроса:
Используйте данные которые выдал вам менеджер:
Пример ответа:
Успешный:
{"d":{"UserId":"36557"}}
Неуспешный:
{"d":{}}
Описание полей ответа:
Поле | Описание |
---|---|
UserId | Уникальный идентификатор пользователя |
d | Корневой объект ответа |
Общие рекомендации:
Cookie необходимо сохранять и отправлять с последующими запросами.
Для отправки ставки необходимо использовать cookie, полученные на этапе авторизации. Эти данные обязательны для идентификации вашей сессии и обработки запросов.
URL для запроса:
{HOST_API}/bet/place/
{
"data":{
"list_bets":[
"line#586464528|17|954|2.5#4.27", "live#586464528|87|4|0#1.12"
],
"realAmount":"2",
"currency":"USD",
"lang":"en",
"remote_host":"https://mysites.com",
"rate_mode":"reject"
}
}
Параметр | Описание |
---|---|
list_bets | Код ставки и коэффициенты. Формат: "тип_события # ID_матча|Код_ставки # коэффициент". Например: "live#579216393|1|1|0#2.1" |
realAmount | Сумма ставки. Указывается в виде строки, например: "150". |
currency | Валюта купона. |
lang | Язык, на котором сохраняются ставка и купон. Например: "en" или "ru" или "tr". |
remote_host | URL для отправки результатов расчета купона. Указывайте без конечного слэша. |
rate_mode | Опция принятия купона при изменении коэффициентов: "reject" (отклонить при изменении) или "accept" (принять при любых изменениях). По умолчанию: "accept". |
Примечание: Убедитесь, что параметры передаются в корректном
формате. Например, list_bets
должен быть массивом, даже если ставка
одна.
Мы не проверяем сумму ставки. Вы можете передавать как реальную сумму ставки, так и любое значение. Это сделано для обеспечения конфиденциальности ваших финансовых данных. Наша задача — предоставить результаты расчета. Вы сами выполняете начисления выигрышей своим игрокам.
Остальные параметры также нужно отправлять но они являются необязательными и могут быть использованы для вашего удобства.
remote_host — это адрес вашего сервера, на который мы отправляем запросы с результатами расчета ставок. На этом хосте должен быть настроен прием запросов от нашего сервера. Ниже описаны примеры возможных значений и особенности работы с этим параметром.
Вы можете указать различные варианты remote_host:
https://mysites.com
https://mysites.com:78665
https://mysites.com/request/sportapi/sender
https://mysites.com/request.php?action=webhook
Важно: При отправке запроса наша система автоматически добавляет
к указанному remote_host
строку /api/bet/result
.
Таким образом, конечный адрес для получения запросов формируется как
remote_host + "/api/bet/result"
. Убедитесь, что ваш сервер настроен
на прием данных по этому пути.
remote_host = https://mysites.com
. Мы отправляем
запросы на: https://mysites.com/api/bet/result
.remote_host = https://mysites.com/request.php?action=webhook
.
Мы отправляем запросы на:
https://mysites.com/request.php?action=webhook/api/bet/result
.
Технические детали:
POST
.Убедитесь, что ваш сервер корректно обрабатывает указанный путь и запросы. В следующем разделе приведен пример структуры данных, которые отправляются нашим сервером.
Параметр rate_mode задает поведение системы при изменении коэффициентов. Он может принимать два значения:
accept
система сохранит купон с новым коэффициентом без
уведомления вашей системы.Выбирайте режим, который лучше всего соответствует вашим бизнес-процессам и обеспечивает удобство для ваших пользователей.
errorCode = 1
.Параметр | Описание |
---|---|
betCode | Уникальный номер ставки в нашей системе |
errorCode | Основной статус результата запроса |
fullErrorCode | Детализация ошибок. |
errorMessage | Текстовые сообщения об ошибках системы |
AmountOut | Возможная сумма выигрыша |
CountEvents | Количество ставок в купоне |
Coef | Коэффициенты исходов |
IsLive | Тип ставки: онлайн или до начала матча (true/false) |
LinesId | ID матча |
EventDate | Дата матча |
При отправке ставки могут возникнуть различные ошибки. Ответ сервера содержит три ключевых поля:
Если ставка успешно принята, сервер возвращает:
{
"errorCode": 0,
"fullErrorCode": 0,
"errorMessage": ""
}
Описание: Купон принят, ошибок нет.
Если произошла ошибка, сервер возвращает:
{
"errorCode": 1,
"fullErrorCode": [КОД_ОШИБКИ],
"errorMessage": "[ОПИСАНИЕ_ОШИБКИ]"
}
Описание: Произошла одна из возможных ошибок. Ниже приведены коды и сообщения ошибок.
Код ошибки (fullErrorCode) | Сообщение ошибки (errorMessage) | Описание |
---|---|---|
1 | error_wrong_bet_data | Неверные данные ставки. Проверьте параметры list_bets и
другие обязательные поля. |
1 | error_block_bet_data | Ставка временно заблокирована и не может быть принята. |
1 | error_repeat_bet_data | Повтор ставки на один и тот же исход из одного матча не допускается. |
2 | label_change_rate | Коэффициент изменился. Купон отклонен из-за несовпадения указанного и актуального коэффициентов. |
3 | error_exist_bet | Данный исход ставки уже не существует. Проверьте актуальность данных. |
99 | Неверный уровень доступа | Пользователь не имеет прав для выполнения данной операции. Скорее всего нужно заново авторизироваться, пропали куки, или аккаунт заблокирован. |
99 | Error exist remote host! | Некорректный или отсутствующий параметр remote_host .
Проверьте настройку вашего сервера. |
{
"errorCode":1,
"fullErrorCode":2,
"errorMessage":"Изменился коэффициент",
"rate_mode":"reject",
"changed":[
{
"gid":"586464528", // ид матча
"rb":2.15, // коэффициент в вашем купоне
"rg":"2.27", //коэффициент который сейчас реальный
"rt":0 // статус изменения. 0 - понизился, 1 - повысился
}
]
}
list_bets
и наличие всех обязательных
полей.rate_mode = reject
, обработайте ошибки, связанные с изменением
коэффициентов (label_change_rate
).remote_host
.errorCode
, fullErrorCode
,
errorMessage
) для упрощения отладки и взаимодействия с
поддержкой.99
проверьте права доступа и
настройки API на вашей стороне.Когда ставка добавлена в нашу систему и рассчитана, мы отправляем результаты купона на ваш сервер. Это могут быть:
Запросы отправляются на адрес, указанный вами в параметре remote_host
. К этому адресу автоматически добавляется строка /api/bet/result
. Убедитесь, что ваш сервер настроен на прием данных по этому пути.
Пример конечного адреса:
Если вы передали: remote_host = https://mysite.com
, мы отправим данные на: https://mysite.com/api/bet/result
.
{
"remote_host": "https://mysite.com",
"Heads": [{
"KeyHead": {
"Id": "344143",
"BarCode": "x9c52i8411"
},
"Status": 2,
"ExtStatus": 0,
"AmountOut": 11130,
"DateReceive": "1597075782"
}]
}
{
"remote_host": "https://mysite.com",
"Heads": [{
"KeyHead": {
"Id": "313",
"BarCode": "75vz48t935"
},
"Status": 2,
"ExtStatus": 0,
"AmountOut": 19.85,
"DateReceive": "1592937968"
}, {
"KeyHead": {
"Id": "312",
"BarCode": "77i0r6e15t"
},
"Status": 2,
"ExtStatus": 0,
"AmountOut": 12.51,
"DateReceive": "1592937280"
}]
}
Поле | Описание |
---|---|
remote_host | Адрес вашего сервера, на который отправляются данные. |
Id | Уникальный идентификатор ставки в нашей системе. Игнорируется в большинстве случаев. |
BarCode | Уникальный номер купона. |
Status | Текущий статус купона. Возможные значения: 2 — выигрыш, 4 — проигрыш. |
ExtStatus | Дополнительный статус, если был возврат: 0 — изменений нет, 1 — один или несколько исходов рассчитаны с изменением коэффициента. |
AmountOut | Сумма выигрыша (если купон выиграл). |
DateReceive | Время и дата расчета купона. |
remote_host + /api/bet/result
.