OnAir Entertainment - огляд та інтеграція
Короткий огляд
OnAir Entertainment - студійний провайдер Live-казино з упором на якісний відеопродакшн, багатокамерні ракурси і швидке підключення до платформ операторів/агрегаторів. Портфель покриває основні дисципліни Live: рулетка, блекджек, баккара та їх «швидкісні »/авто-варіанти, а також лайв-шоу-формати. Техстек орієнтований на низьку затримку трансляції (WebRTC) з fallback на HLS/DASH, георозподілену доставку і стабільний бекенд для ставок/виплат в реальному часі.
Кому підходить: середнім і великим операторам, яким важливі гнучка настройка лімітів, локалізація, прозорі коллбеки гаманця і детальна телеметрія по столах.
Портфель і користувацький досвід
Основні продукти
Рулетка: європейська/американська, авто-рулетка, Speed/Lightning-темп, доріжки статистики (hot/cold), швидкі повтори ставок.
Блекджек: класичний і Speed-столи, Bet Behind, страховки/сайд-ставки за правилами столу.
Баккара: класична, No Commission, Speed-режими, «дорожні карти» (Roadmaps).
Лайв-шоу/поспішали: швидкі телевізійні формати і тематичні столи.
UX/UI
Адаптивний HTML5-клієнт, мінімалістичний UI, швидкі чіпи і пресети ставок.
Історія спінів/роздач, чати з модерацією, повідомлення про ліміти.
Багатомовний інтерфейс, локалізація форматів дат/роздільників, підтримка мультивалют.
Відповідальна гра
Підтримка обмежень за ставками/часу, приховування столів за гео/віком (прапори оператора), відображення політик Responsible Gaming.
Технології стрімінгу та продуктивність
Протоколи: WebRTC (низька затримка ~ 0. 5–2. 5 с при стабільній мережі); fallback на HLS/DASH при деградації.
CDN/Edge: PoP-розподіл, health-checks нод, sticky-routing до найближчого вузла.
ABR: адаптивний бітрейт, безшовні перемикання якості без обриву.
Мобільні клієнти: апаратне декодування, оптимізація енергоспоживання, стійкість до фонових перемикань.
Рекомендації по мережі
Latency до edge <150-200 мс для комфортного UX.
HTTP/2+, TLS 1. 2 +, TCP BBR (по можливості), пріоритезація мультимедійного трафіку.
Математика, ліміти та розрахунки
RTP/House Edge: відповідають правилам конкретних столів і сайд-ставок (розкриваються в правилах столу).
Ліміти: хв/макс по столу і/або гравцеві, VIP-рівні, окремі стелі для сайд-ставок.
Валюти: внутрішня одиниця в minor-юнітах; конвертація та відображення - на стороні оператора; коректні округлення по юрисдикції.
Моделі комерції: RevShare/Flat/Hybrid - на рівні договору, фіскально «поза» клієнтської математики.
Модель інтеграції
Високорівнева схема
1. Гравець → Frontend оператора → SSO/JWT
2. Operator/Aggregator API ↔ OnAir API: створення/валідація сесії
3. Клієнт ↔ WebRTC/HLS: відеопотік
4. Клієнт ↔ WebSocket: ставки/події в реальному часі
5. OnAir → Webhook/Callback до оператора: авторизації списань/виплат
6. Гаманець оператора (Auth Debit/Credit) ↔ Ledger/KYC/AML
7. BI/Anti-Fraud/Monitoring: аудит, ретраї, reconciliation
Вимоги до оточення
Безпека: Mutual-TLS/allowlist для S2S, JWT/OAuth2 для сесій, короткі TTL і ротація ключів.
Продуктивність: авто-масштабування WS-шардів, балансувальник з sticky-сесіями.
Сумісність: актуальні Chrome/Edge/Safari/Firefox, iOS/Android WebView.
Сесії, запуск і аутентифікація
SSO-патерн
Оператор створює короткоживучий токен з'player _ id', валютою, локаллю і лімітами. Провайдер повертає'launch _ url'.
Приклад (псевдо-REST, S2S):
POST /api/v1/sessions
Authorization: Bearer <operator-key>
{
"player_id": "u_57291",
"currency": "EUR",
"locale": "ru-RU",
"limits": { "table_min": 1. 00, "table_max": 10000. 00 },
"meta": { "vip_level": 2, "return_url": "https://op. example. com/return" }
}
Відповідь:
{
"session_id": "sess_abcd1234",
"launch_url": "https://onair. example/launch? sess=sess_abcd1234",
"expires_in": 3600
}
iFrame/Window Open
Запуск через'launch _ url'( з CSP,'X-Frame-Options'узгоджені заздалегідь). Хартбіт/refresh продовжує сесію.
Ставки та події (WebSocket)
Типи подій
Потокові: `TABLE_STATE`, `ROUND_OPEN`, `BETS_OPEN`, `BETS_CLOSED`, `ROUND_RESULT`
Транзакційні: `BET_PLACED`, `BET_ACCEPTED/REJECTED`, `PAYOUT`
Службові: `ERROR`, `PING/PONG`, `RECONNECT_HINT`
Приклад результату:
{
"type": "ROUND_RESULT",
"table_id": "roulette_eu_07",
"round_id": "r_2025_11_02_15_23_05",
"result": { "number": 21, "color": "red" },
"payouts": [
{ "bet_id": "b_1001", "amount_minor": 360000 },
{ "bet_id": "b_1002", "amount_minor": 0 }
],
"server_ts": "2025-11-02T13:23:07Z"
}
Надійність каналу
Авто-reconnect з відновленням підписок і стану поточного раунду.
Back-pressure: обмеження частоти клієнтських повідомлень.
Дедуплікація по'bet _ id '/' round _ id'на стороні провайдера і оператора.
Грошові операції та колбеки гаманця
Потоки
Auth-дебет (ставка): провайдер запитує списання/заморозку; оператор відповідає'APPROVED/DECLINED'.
Кредит (виплата): провайдер ініціює зарахування; оператор підтверджує статус і повертає баланс.
Reconciliation: періодичні звіти по раундах/транзакціях.
Гарантії доставки
Ідемпотентність через'X-Idempotency-Key', TTL ключа ≥ 24 год.
Повтор доставки з експоненціальною паузою, порядкова обробка (per player).
POST /wallet/payouts
Idempotency-Key: 4f9f-...
{
"player_id": "u_57291",
"round_id": "r_2025_11_02_15_23_05",
"bet_id": "b_1001",
"amount_minor": 360000,
"currency": "EUR"
}
Налаштування лобі та промо-інструменти
Каталоги столів: групування з мов дилера, лімітів, VIP-рівнів, дисциплін.
Промо: банери, турніри, місії/квести, події «гарячих чисел», топ-виграші.
Фільтри гео: whitelist/blacklist юрисдикцій, локальні формати відповідальної гри.
UI-параметри: авто-вхід в конкретний стіл, приховування чату, пресети ставок, кастомні номінали.
Масштабування і відмовостійкість
Мульти-регіон: вибір найближчого РоР/студії, ASN-/гео-роутинг.
Балансування: sticky по гравцеві/столу; при збої - прозоре're-join'.
Квоти/Rate limits: ліміт з'єднань WS, підписок і змін ставок.
Деградація: fallback на HLS, «lite-UI» для слабких пристроїв.
Безпека та комплаєнс
Шифрування: TLS 1. 2+, HSTS; медіа в SRTP (WebRTC).
Доступ: JWT з коротким TTL, IP allowlist для колбеків, mutual-TLS за погодженням.
PII-мінімізація: маскування ідентифікаторів, логи без відкритих персональних даних.
Анти-фрод: сигнали поведінки (аномальна частота ставок, множинні сесії, підозрілі ASN/VPN), ризик-прапори і тротлінг.
Регуляторика: підтримка механізмів самовиключення, локальних попереджень, згода на cookies по регіону.
Моніторинг, звітність і SLA
Що міряємо
Аптайм медіа/WS, середня затримка,% frame-drops, помилки коллбеків.
Конверсія'Launch → First Bet', розподіл відмов з причин.
Навантаження по столах, середній чек, ROI промо, утримання з дисциплін/мов.
SLO/SLA (орієнтири)
Медіа-аптайм ≥ 99. 9%, API-аптайм ≥ 99. 95%.
Коллбеки: p95 <500 мс всередині регіону.
WS-ре-коннект: p95 відновлення <3-5 с.
Дашборди/алерти
Метрики в реальному часі, кореляція'round _ id/bet _ id/callback _ id'.
Інцидент-панель з причинами/стейкхолдерами і регламентами комунікацій.
Тестування та приймання
1. Sandbox: окремі ключі, фіктивні результати раундів, тестові таблиці коефіцієнтів.
2. E2E-кейси: успішні/відхилені ставки, обриви WS, повторні'PAYOUT', конфлікти лімітів.
3. Навантажувальні: піки прайм-тайму/турнірів, перемикання ABR, деградація до HLS.
4. Безпека: негативні кейси JWT, підпис коллбеків, rate-limits, CORS/CSRF-політики.
5. Reconciliation: звірка звітів провайдера і леджера за сумами/округленнями/статусами.
Кращі практики інтеграції
Робіть гаманець оператора джерелом істини (SoT); всі зовнішні транзакції - ідемпотентні.
Розносіть коллбеки по чергах («bets», «payouts», «recon») з пріоритетами і ретраями.
Кешуйте ліміти/конфіги столів на edge з контрольованим TTL і ручною інвалідацією.
Вмикайте feature-flags для поетапного відкриття столів/мов/VIP-лімітів.
Плануйте fail-over: fallback протоколів, «технічна пауза», компенсаційні промо-сценарії.
Логуйте хеші PII і кореляційні ключі замість прямих ідентифікаторів.
Чек-листи
Для розробки
- Генерація/валідація JWT/SSO
- Клієнт WebRTC + fallback HLS
- WS-клієнт з авто-reconnect і back-pressure
- Ідемпотентні S2S-ендпоінти, ретраї, дедуплікація
- Маскування PII, ротація ключів/секретів
Для запуску
- L10n: мови, валюти, формати
- Гео-фільтри та обмеження юрисдикцій
- SLO-моніторинг (API/Stream/WS) + алерти
- Нічні звіти та reconciliation
- План інцидентів і статус-сторінки
FAQ (коротко)
Чи можна запускати в iFrame? Так, через'launch _ url'при узгодженій CSP/' X-Frame-Options'.
Чи є Bet Behind/Speed-режими? Так, для обраних столів - за конфігурацією.
Як обробляти обриви? Авто-reconnect, відновлення підписок, ідемпотентні коллбеки.
Доступні турніри/місії? Так, через вбудовані промо-віджети і події аналітики.
Як влаштований reconciliation? Провайдер публікує звіти по раундах/транзакціях; оператор звіряє з леджером по'round _ id/bet _ id'.
Підсумок
OnAir Entertainment - міцний Live-провайдер з сучасним стримінгом і структурованою інтеграцією. Слідуючи описаним патернам (SSO, WebRTC + WS, коллбеки з ідемпотентністю, моніторинг SLO, RG/комплаєнс), оператор отримує передбачуване підключення, стійку роботу в пікові години і зрозумілу економіку Live-вертикалі.