Интеграция с серверной частью
Bonus API введение
Провайдер - сторона предоставляющая игры (Aviatrix).
Партнер - сторона интегрирующая игры.
Бренд - вебсайт казино партнера, на котором пользователи играют в игры и делают ставки.
В данной секции описаны методы, которые уже реализованы на стороне провайдера. Они могут быть вызваны партнером для отображения бонусных конфигураций, менеджмента бонусов и отображения актуального статуса бонуса игроков.
Бонусы, созданные в данном API, подчиняются тем же правилам, что и мануальные бонусы. Любые ставки, совершенные с использованием данных бонусов, на 100% вычитаются из общего оборота игры.
Bonus API методы
Все POST запросы содержат HTTP заголовок X-Auth-Signature, необходимый для подтверждения подлинности хоста. Эта операция позволяет отказаться от IP whitelist при интеграции, так как последний лишает возможности провайдера оперативно масштабироваться (горизонтально), не предупреждая при этом бренд.
Базовый URL можно получить по запросу у интеграционного менеджера.
/CreateBonusConfig
Метод используется для создания новой бонусной конфигурации.
При создании бонусной конфигурации для разных игр в одном запросе можно указать только игры одной категории: крэш игры или слот игры.
Примеры комбинаций игр:
- nft-aviatrix
- second-chance
- nft-aviatrix, second-chance
- aviatrix-fruits
Пример запроса
Заголовки запроса, указанные в примере, обязательны: Accept, Content-Type, X-Auth-Signature
POST /bonus/v1/CreateBonusConfig HTTP/1.1
Content-Type: application/json
Accept: application/json
X-Auth-Signature: <signature>
{
"cid": "some-brand-id",
"config": {
"type": "free_bets",
"validFrom": "2020-12-03T12:15:30.000Z",
"validTo": "2020-12-03T12:15:30.000Z",
"gameSettings": [
{
"gameId": "some-game-id",
"minOddsWagering": 50.0,
"maxOddsWagering": 150.0
}
],
"isPlayable": false,
"wagering": {
"multiplier": 10,
"useBonusMoney": true
}
}
}
| Parameter | Description | Type | Requirements | Explanation |
|---|---|---|---|---|
| cid | идентификатор бренда | string | обязательный | уникальный идентификатор |
| config.type | тип бонусной конфигурации | string | обязательный | доступные значения: free_bets |
| config.validFrom | начало действия бонусной конфигурации | timestamp | обязательный | формат: yyyy-MM-dd’T’HH:mm:ss.SSSZ / RFC3339 |
| config.validTo | конец действия бонусной конфигурации | timestamp | обязательный | формат: yyyy-MM-dd’T’HH:mm:ss.SSSZ / RFC3339 |
| config.gameSettings | список настроек для конкретной игры | array | обязательный | настройки бонусов для конкретного типа игры; одновременно можно указать только игры одной категори: крэш игры или слот игры |
| gameId | идентификатор игры | string | обязательный | пример ы идентификаторов: nft-aviatrix, second-chance, aviatrix-fruits. С полным списком можно ознакомиться на странице всех продуктов |
| minOddsWagering | минимальный коэффициент для вейджеринга | double | опциональный | коэффициент в формате minor currency unit; допустимый диапазон: [0, 10000]; пример: 1.95 -> 195; не поддерживается aviatrix-fruits |
| maxOddsWagering | максимальный коэффициент для вейджеринга | double | опциональный | коэффициент в формате minor currency unit; допустимый диапазон: [0, 10000]; пример: 1.95 -> 195; не поддерживается aviatrix-fruits |
| config.isPlayable | включена ли игра с бонусного баланса | bool | обязательный | если да то можно играть с бонусного баланса |
| wagering.multiplier | коэффициент вейджеринга | integer | обязательный | целочисленный коэффициент для вейджеринга, например 30 |
| wagering.useBonusMoney | влияет ли бонусный баланс на вейджеринг | bool | обязательный | если да то игра с бонусного баланса тоже влияет на вейд жеринг бонуса |
Пример ответа от сервера
HTTP/1.1 200 OK
{
"bonusConfigId": "6f41bd2a-4621-42e5-883c-647b8995684d",
"cid": "some-brand-id",
"config": {
"type": "free_bets",
"validFrom": "2020-12-03T12:15:30.000Z",
"validTo": "2020-12-03T12:15:30.000Z",
"gameSettings": [
{
"gameId": "some-game-id",
"minOddsWagering": 50.0,
"maxOddsWagering": 150.0
}
],
"isPlayable": false,
"wagering": {
"multiplier": 10,
"useBonusMoney": true
}
}
}
| Parameter | Description | Type | Explanation |
|---|---|---|---|
| bonusConfigId | идентификатор бонусной конфигурации | string | уникальный идентификатор, формат uuid |
| cid | идентификатор бренда | string | уникальный идентификатор |
| config.type | тип бонусной конфигурации | string | доступные значения: free_bets |
| config.validFrom | начало действия бонусной конфигурации | timestamp | формат: yyyy-MM-dd’T’HH:mm:ss.SSSZ / RFC3339 |
| config.validTo | конец действия бонусной конфигурации | timestamp | формат: yyyy-MM-dd’T’HH:mm:ss.SSSZ / RFC3339 |
| config.gameSettings | список настроек для конкретной игры | array | настройки бонусов для конкретного типа игры; одновременно можно указать только игры одной категори: крэш игры или слот игры |
| gameId | идентификатор игры | string | примеры идентификаторов: nft-aviatrix, second-chance, aviatrix-fruits. С полным списком можно ознакомиться на странице всех пр одуктов |
| minOddsWagering | минимальный коэффициент для вейджеринга | double | коэффициент в формате minor currency unit; допустимый диапазон: [0, 10000]; пример: 1.95 -> 195; не поддерживается aviatrix-fruits |
| maxOddsWagering | максимальный коэффициент для вейджеринга | double | коэффициент в формате minor currency unit; допустимый диапазон: [0, 10000]; пример: 1.95 -> 195; не поддерживается aviatrix-fruits |
| config.isPlayable | включена ли игра с бонусного баланса | bool | если да то можно играть с бонусного баланса |
| wagering.multiplier | коэффициент вейджеринга | integer | целочисленный коэффициент для вейджеринга, например 30 |
| wagering.useBonusMoney | влияет ли бонусный баланс на вейджеринг | bool | если да то игра с бонусного баланса тоже влияет на вейджеринг бонуса |
/GetBonusConfigs
Метод используется для отображения существующих бонусных конфигураций бренда.
Пример запроса
Заголовки запроса, указанные в примере, обязательны: Accept, Content-Type, X-Auth-Signature
POST /bonus/v1/GetBonusConfigs HTTP/1.1
Content-Type: application/json
Accept: application/json
X-Auth-Signature: <signature>
{
"cid": "some-brand-id",
"showActiveOnly": false
}
| Parameter | Description | Type | Requirements | Explanation |
|---|---|---|---|---|
| cid | идентификатор бренда | string | обязательный | уникальный идентификатор |
| showActiveOnly | фильтрационный флаг | bool | опциональный | позволяет отобразить только активные бонусные конфигурации |
Пример ответа от сервера
HTTP/1.1 200 OK
{
"values": [
{
"bonusConfigId": "6f41bd2a-4621-42e5-883c-647b8995684d",
"cid": "some-brand-id",
"config": {
"type": "free_bets",
"validFrom": "2020-12-03T12:15:30.000Z",
"validTo": "2020-12-03T12:15:30.000Z",
"gameSettings": [
{
"gameId": "some-game-id",
"minOddsWagering": 50.0,
"maxOddsWagering": 150.0
}
],
"isPlayable": false,
"wagering": {
"multiplier": 10,
"useBonusMoney": true
}
}
}
]
}
| Parameter | Description | Type | Explanation |
|---|---|---|---|
| values | список бонусных конфигураций | array | могут присутствовать просроченные, активные и неактивные бонусные конфигурации |
| bonusConfigId | идентификатор бонусной конфигурации | string | уникальный идентификатор, формат uuid |
| cid | идентификатор бренда | string | уникальный идентификатор |
| config.type | тип бонусной конфигурации | string | доступные значения: free_bets |
| config.validFrom | начало действия бонусной конфигурации | timestamp | формат: yyyy-MM-dd’T’HH:mm:ss.SSSZ / RFC3339 |
| config.validTo | конец действия бонусной конфигурации | timestamp | формат: yyyy-MM-dd’T’HH:mm:ss.SSSZ / RFC3339 |
| config.gameSettings | список настроек для конкретной игры | array | настройки бонусов для конкретного типа игры; одновременно можно указать только игры одной категори: крэш игры или слот игры |
| gameId | идентификатор игры | string | примеры идентификаторов: nft-aviatrix, second-chance, aviatrix-fruits. С полным списком можно ознакомиться на странице всех продуктов |
| minOddsWagering | минимальный коэффициент для вейджеринга | double | коэффициент в формате minor currency unit; допустимый диапазон: [0, 10000]; пример: 1.95 -> 195; не поддерживается aviatrix-fruits |
| maxOddsWagering | максимальный коэффициент для вейджеринга | double | коэффициент в формате minor currency unit; допустимый диапазон: [0, 10000]; пример: 1.95 -> 195; не поддерживается aviatrix-fruits |
| config.isPlayable | включена ли игра с бонусного баланса | bool | если да то можно играть с бонусного баланса |
| wagering.multiplier | коэффициент вейджеринга | integer | целочисленный коэффициент для вейджеринга, например 30 |
| wagering.useBonusMoney | влияет ли бонусный баланс на вейджеринг | bool | если да то игра с бонусного баланса тоже влияет на вейджеринг бонуса |
/CreateFreeBet
Метод используется для создания новой бонусной кампании в рамках существующей бонусной конфигурации.
Пример запроса
Заголовки запроса, указанные в примере, обязательны: Accept, Content-Type, X-Auth-Signature
POST /bonus/v1/CreateFreeBet HTTP/1.1
Content-Type: application/json
Accept: application/json
X-Auth-Signature: <signature>
{
"cid": "some-brand-id",
"bonusConfigId": "6f41bd2a-4621-42e5-883c-647b8995684d",
"name": "Some Campaign Name",
"bonus": {
"betCount": 5,
"currencySettings": {
"EUR": {
"amount": 5,
"maxPromoWinAmount": 10000,
"maxBetWageringAmount": 200
},
"USD": {
"amount": 6,
"maxPromoWinAmount": 12000,
"maxBetWageringAmount": 400
}
},
"validTo": "2020-12-03T12:15:30.000Z"
}
}
| Parameter | Description | Type | Requirements | Explanation |
|---|---|---|---|---|
| cid | идентификатор бренда | string | обязательный | уникальный идентификатор |
| bonusConfigId | идентификатор бонусной конфигурации | string | обязательный | уникальный идентификатор, формат uuid |
| name | имя бонусной кампании | string | обязательный | название бонусной кампани и |
| bonus.betCount | количество бонусных ставок | integer | обязательный | бонусные ставки доступные игроку для игры |
| bonus.currencySettings | список настроек для конкретной валюты | map | обязательный | валюта бонусных ставок, формат ISO-4217-3 |
| amount | сумма бонусной ставки | integer | обязательный | сумма в формате minor currency unit, пример: 1.95$ -> 195; не может быть меньше минимальной и больше максимальной ставки в рамках данного бренда |
| maxPromoWinAmount | максимальная сумма выигрыша | integer | обязательный | сумма в формате minor currency unit, пример: 1.95$ -> 195; не может быть больше максимального выигрыша в рамках данного бренда |
| maxBetWageringAmount | максимальная сумма для вейджеринга | integer | опциональный | сумма в формате minor currency unit, пример: 1.95$ -> 195 |
| bonus.validTo | конец действия бонусной кампании | timestamp | обязательный | формат: yyyy-MM-dd’T’HH:mm:ss.SSSZ / RFC3339 |