Spinomenal - огляд та інтеграція
Короткий огляд
Spinomenal - провайдер HTML5-слотів з широкою лінійкою тематичних серій і швидким time-to-market. Відмінні риси: візуально «легкі» клієнти, багато механік (множники, символи-апгрейди, каскади, hold-and-win), гнучкі RTP-пули і готові промо-модулі (free rounds, місії, турніри, джекпоти). Інтеграційна модель класична: SSO-запуск → launch-URL в iFrame/вікні → гаманці колбеки (BET/WIN) → JS-події для аналітики і CRM.
Кому підходить: операторам і агрегаторам, яким потрібен масовий контент з високою вітринною ротацією, швидкою інтеграцією і передбачуваною експлуатацією.
Портфель та досвід користувача
Контент і механіки
Відео-слоти: 5 × 3/6 × N, lines/ways, каскади на частини тайтлів, множники xN, expanding/stacked/walking wilds, символи-апгрейди.
Hold-and-Win / Respin: колекційні монети, фікс-призи/рівні (mini/major/mega).
Бонус-режими: фриспіни, pick-bonus, множильні «сходи», sticky-механіки.
Buy Feature (де дозволено): платний вхід в бонусний раунд з контролем вартості/волатильності.
Джекпоти: фікс/локальні/мережеві - по конфігурації підключення.
Серійність/вітрина
Тематичні лінійки (єдність UI/UX і економіки), періодичні «івенти» і сезонні випуски для підвищення утримання.
Єдині бейджі волатильності і зрозумілі описи фіч для стабільної конверсії з вітрини.
UX/UI
HTML5-клієнти: швидкий старт, компактні асети, стабільний FPS.
Зручність: чітка таблиця виплат, лічильники прогресу, історія раундів, лаконічні підказки за фічами.
L10n: багатомовність, мультивалютність, локальні формати чисел/дат і RG-повідомлення.
Технології та продуктивність
Клієнт: Canvas/WebGL, lazy-load, компресія спрайтів/аудіо, передзавантаження критичних ресурсів.
Доставка: CDN/edge-кешування, контрольовані TTL, резервні домени (failover).
Мережа: TLS 1. 2 +, HTTP/2 +, цільова latency до найближчого PoP <150-200 мс.
Мобайл: стійкість до згортання, економія CPU/батареї, коректний resume.
Математика, RTP і ліміти
RTP-пули: зазвичай кілька профілів (наприклад, ≈96 %/ ≈94 %/ ≈92%) - вибір на рівні білда/каталогу під ринок/договір.
Волатильність: від низької до високої; рекомендуються вітринні бейджі Volatility/Hit Rate.
Ліміти: min/max ставка, обмеження авто-спінів і таймаутів сесії з політики оператора/ринку.
Валюти: облік в minor units (цілочисельні суми), коректні округлення за нормами юрисдикції.
Інтеграція: high-level схема
1. Гравець → фронтенд оператора → SSO/JWT (короткий TTL).
2. Operator/Aggregator API ↔ Spinomenal API: створення сесії, видача'launch _ url'.
3. Клієнт (iFrame/нове вікно) ↔ Game Server: ігровий клієнт + JS-міст (postMessage/SDK).
4. Wallet API оператора: BET (auth-дебет), WIN/PAYOUT (кредит), рідкісні коригування/відміни.
5. BI/Monitoring: аналітичні події, звіти раундів, nightly/погодинної reconciliation.
Вимоги до оточення
Безпека: IP-allowlist для S2S, підпис запитів/відповідей, ротація ключів/секретів, сувора CSP під iFrame-домен.
Надійність: черги per player/session, ретраї з експоненціальною паузою, дедуп по ключах.
Сумісність: актуальні Chrome/Edge/Safari/Firefox, iOS/Android WebView.
Створення та запуск сесії (псевдо-REST)
Запит:
POST /api/v1/sessions
Authorization: Bearer <operator-key>
{
"player_id": "u_44821",
"currency": "EUR",
"locale": "ru-RU",
"game_id": "spinomenal_<slug>",
"return_url": "https://operator.example.com/casino/return",
"limits": { "bet_min_minor": 100, "bet_max_minor": 300000 },
"flags": { "buy_feature": false },
"tags": { "vip_level": 1, "aff_id": "AFF-709" }
}
Відповідь:
{
"session_id": "sess_c1d9...",
"launch_url": "https://spinomenal.example/launch?sess=sess_c1d9...",
"expires_in": 3600
}
Запуск клієнта: 'launch _ url'в iFrame/вікні; heartbeat/reauth - безшовне продовження;'postMessage'для подій і ACK/NACK.
Wallet API та ідемпотентність
Транзакційні потоки
BET (auth-дебет): заморожування/списання ставки → відповідь'APPROVED/DECLINED'( + баланс/причина).
WIN/PAYOUT (кредит): зарахування виграшу/джекпоту → повернення підсумкового балансу.
ADJUST/REVOKE: рідкісні коригування з обов'язковим аудит-слідом.
Гарантії доставки
X-Idempotency-Key (TTL ≥ 24 год), дедуплікація на стороні оператора.
Черги per player/session → гарантований порядок.
Кореляція по'round _ id '/' bet _ id '/' session _ id'; DLQ для конфліктів.
POST /wallet/payouts
Idempotency-Key: 5f42-...
{
"player_id": "u_44821",
"round_id": "r_2025_11_02_17_29_40",
"amount_minor": 128000,
"currency": "EUR",
"reason": "round_win"
}
JS-міст та ігрові події
Клієнт → оператор: `GAME_INIT`, `SPIN`, `WIN`, `FEATURE_TRIGGER`, `BONUS_START/END`, `JACKPOT_HIT`, `ERROR`.
Транспорт: 'postMessage '/JS-SDK з підтвердженнями (ACK/NACK) і суворою перевіркою'origin'.
Призначення: аналітика/CRM-тригери, банери промо (free rounds/турніри/місії), персоналізація вітрини.
Free Rounds, місії, турніри, джекпоти
Free Rounds (Free Spins)
Видача: через API провайдера або синхронізацію з бонус-движком оператора.
Параметри: фікс. ставка/деном, кількість спінів, термін дії,'game _ id', джерело кампанії.
Облік: виграші в real/bonus-баланс; вейджер - за правилами оператора/ринку.
Місії/івенти
Завдання на «X спінів», «виграй ≥ N ×», «досягни фічу M раз» - з подіями'MISSION _ PROGRESS'.
Турніри
Лідерборди за сумою виграшів/найбільшому множнику/кільцю спінів;'TOURNAMENT _ SCORE'в аналітику.
Джекпоти
Типи: фікс/локальні/мережеві рівні (mini/major/mega та ін.).
Коллбек виграшу: окремий'JACKPOT _ PAYOUT'з ідемпотентністю та реквізитами пулу.
Гео-конфігурація та комплаєнс
Каталог гео: включення/виключення тайтлів, вибір RTP-профілів, відключення Buy Feature/ризик-ігри, вікові/регіональні обмеження.
Відповідальна гра: самовиключення/кулдаун, ліміти депозитів/ставок/часу, локальні RG-банери та cookie-згоди.
Дані: мінімізація PII, токенізація'player _ id', терміни зберігання логів і експорт за запитами регуляторів.
Сертифікація: використовуються сертифіковані білди/версії для цільових ринків.
Моніторинг, звітність та SLA
Ключові метрики
Техніка: uptime API/Launch/CDN; p95 гаманців колбеків; коди помилок Wallet/JS-моста; швидкість завантаження асетів.
Продукт: конверсія'Launch → First Spin','Spin → Bonus', ARP (B) U, утримання, ROI промо/фриспінів/місій.
Фінанси: частка ретраїв/дедупів, аномалії сум, розбіжності в nightly-звірках.
Звіти/Reconciliation
Погодинні/добові вивантаження (CSV/JSON/S3) по раундах і транзакціях.
Звірка по'round _ id '/' bet _ id '/' session _ id'і сумам в minor-юнітах; авто-алерти на дублікати/пропуски/» німі» коллбеки.
SLO/SLA (орієнтири)
API uptime ≥ 99. 95%, доставка асетів ≥ 99. 9%; p95 коллбеків <500 мс всередині регіону.
MTTR - за цілями інцидент-плану; окремі SLO на пікові вікна.
Безпека
Транспорт: TLS 1. 2+, HSTS; сувора CSP для iFrame-доменів.
Доступ: JWT/OAuth2 для сесій, IP-allowlist і підпис S2S, ротація секретів.
Дані: заборона відкритих PII в логах, хеш/токенізація ідентифікаторів, шифрування at rest/backup.
Анти-фрод: аномалії частоти спінів/зміни ставок, множинні сесії, VPN/ASN-патерни; квоти/троттлінг.
Масштабування та відмовостійкість
Edge-кеш: асети/маніфести/локалізації - керовані TTL, ручна інвалідація при релізах.
Rate-limits: per player/session/API endpoint; захист від «штормів» подій.
Graceful degradation: спрощення асетів/ефектів, зниження частоти подій, банер «техроботи».
Failover: резервні launch/CDN-домени, пере-issue токена без втрати контексту.
Чек-листи
Для розробки
- Генерація/валідація SSO-токенів (короткий TTL, clock-skew).
- Wallet API: ідемпотентний дебет/кредит, підпис, черги, DLQ.
- JS-міст (postMessage/SDK): події, ACK/NACK, обробка помилок.
- Free Rounds API: видача/активація/погашення, облік вейджера.
- Джекпоти: конфіг пулів, обробка'JACKPOT _ PAYOUT', звітність.
Для запуску
- Гео-каталог і RTP-профілі; вимкнення заборонених фіч (Buy Feature/ризик-гра).
- Моніторинг SLO (API/CDN/гаманець) + алерти.
- Nightly reconciliation і алерти на розбіжності.
- RG/кукі-банери, локальні вимоги.
- План інцидентів і статус-сторінки.
FAQ (коротко)
Чи можна запускати ігри в iFrame? Так, через'launch _ url'при узгодженій CSP/' X-Frame-Options'.
Buy Feature доступний? Залежить від гри/ринку і конфігурації каталогу.
Як підключити free rounds? Через API провайдера або бонус-движок; враховуйте вейджер і терміни дії.
Чи є мережеві джекпоти? При відповідній конфігурації; виплати приходять окремим ідемпотентним коллбеком.
Як вибрати RTP-варіант? На рівні білда/каталогу під конкретний ринок і договірні умови.
Підсумок
Spinomenal - «робоча конячка» слотової вітрини: швидкий запуск, висока частота релізів і зріла інтеграція. Слідуючи запропонованим патернам (SSO/launch-URL, ідемпотентний Wallet API, JS-міст, free rounds/місії/турніри/джекпоти, сувора гео-конфігурація, моніторинг і reconciliation), оператор отримує стійку економіку контенту, відповідність регуляториці і стабільність під пікові навантаження.