Дві схеми інтеграції
| iFrame | API | |
|---|---|---|
| Фронтенд | Наш, вбудований у ваш сайт | Ваш |
| Гаманець | Ваш, через колбеки seamless wallet | Ваш, через колбеки seamless wallet |
| Час до запуску | Від днів до кількох тижнів | Шість-дванадцять тижнів залежно від вашого фронтенду |
| Контроль над UX | Лише темізація | Повний |
| Типовий користувач | Казино, яке додає вкладку букмекера | Оператор, для якого букмекер — це і є продукт; провайдери платформ |
Скільки кожна схема коштує в інженерному часі
Шість-дванадцять тижнів вище — це календарний час для команди з двох людей, розтягнутий тими частинами, які не можна вести паралельно: автентифікація перед усім, каталог перед купоном. Таблиця — та сама робота в інженеро-днях, розбита за напрямами, щоб було видно, які частини знімає iFrame. Діапазони — це різниця між командою, яка вже випускала букмекерський фронтенд, і командою, яка ні.
| Напрям роботи | iFrame | API |
|---|---|---|
| Колбеки гаманця й реєстр за ними | 5–10 днів | 5–10 днів |
| Автентифікація, підписування запитів, ключі ідемпотентності | 2–4 дні | 2–4 дні |
| Каталог: види спорту, турніри, матчі, ринки, селекції | Наше | 10–20 днів |
| Оновлення цін і статусів у лайві через push-канал | Наше | 5–10 днів |
| Купон, приймання ставки та політика зміни ціни | Наше | 10–15 днів |
| Екран cash-out: котирування, часткове, закінчення терміну | Наше | 4–8 днів |
| Розрахунок, перерахунок і перегляд історії ставок | Наше | 4–8 днів |
| Ліміти, самовиключення та правила ліцензії у вашому інтерфейсі | Лише темізація | 3–6 днів |
| Прогін сертифікації та правки, які він дає | 3–5 днів | 5–10 днів |
Із підсумків випливають дві речі. Гаманець — це однакова робота за будь-якої схеми, і саме тут найімовірніше буде помилка, тож iFrame не дає її оминути. Що iFrame справді знімає — це букмекерський фронтенд: 36–67 інженеро-днів тут. Саме цю цифру треба зважувати проти володіння інтерфейсом, а не різницю в датах запуску.
Контракт seamless wallet
Ваш гаманець тримає баланс, а ми тримаємо ставку. Жодна сторона не може відтворити іншу зі своїх записів — тому кожен виклик несе і ідентифікатор ставки, і ідентифікатор транзакції. У таблиці — чотири виклики: коли ми надсилаємо кожен, що маємо отримати у відповідь і що відбувається, коли не приходить нічого.
| Виклик | Коли ми його надсилаємо | Що маємо отримати у відповідь | Якщо настає таймаут |
|---|---|---|---|
| Баланс | На старті сесії та перед прийманням ставки, якщо ваші ліміти могли змінитися | Доступний баланс за кожною валютою | Ставка не приймається. Гроші не рухалися, тож відкочувати нічого. |
| Зарезервувати й списати ставку | На прийманні, з ключем запиту, ідентифікатором ставки та сумою | Підтвердження і підсумковий баланс | Ми повторюємо з тим самим ключем, і ваш гаманець має повернути перший результат, а не списати ще раз. Якщо питання лишається невирішеним, ставка не діє, а спроба значиться як непідтверджена. |
| Зарахувати виграш | На розрахунку виграшної ставки або плеча і на виконанні cash-out | Підтвердження і підсумковий баланс | Повторюється з тим самим ключем до підтвердження. Виграш ніколи не губиться: його або застосовують, або показують як невиконаний. |
| Анулювати й перерахувати | На анулюванні, скасованій події або офіційній корекції результату | Підтвердження із застосованою дельтою | Той самий ключ, те саме правило. Перерахунок, який не вдається застосувати, тримається й показується у звіті, але ніколи не застосовується двічі. |
Ключ запиту — це і є весь контракт. Його несе кожен виклик, а правило на вашому боці таке: той самий ключ завжди дає ту саму відповідь — першу. Гаманець, який трактує повтор як нову інструкцію, спише двічі першого ж разу, коли обірветься з’єднання, а з’єднання обриваються. Саме тому пісочниця надсилає дублікат кожного виклику, і саме тому продакшн-ключ чекає, доки дублікати не почнуть повертатися ідентичними. Таймаут і вікно повторів фіксуються в договорі поруч із рейт-лімітами, бо залежать від того, де працює ваш гаманець.
Що дає API
- Каталог: види спорту, турніри, матчі, ринки та селекції з цінами, статусом і станом призупинення. Пре-матч через REST зі сповіщеннями про зміни; лайв — через push (WebSocket) із дельтами цін і статусів, дзеркалячи вихідні фіди, які для Sportradar приходять через AMQP.
- Приймання ставок: ординари, експреси, системи та плечі bet builder, з обробкою зміни ціни (приймати будь-яку, приймати вищу, відхиляти), лімітами суми від ризик-рушія та ідемпотентними ключами запитів.
- Seamless wallet: ми звертаємося до вашого гаманця, щоб зарезервувати й списати ставку, зарахувати виграш, анулювати й перерахувати; один баланс гравця на казино й букмекера.
- Cash-out: котирування й виконання, повний і частковий, у лайві та пре-матчі.
- Розрахунок: результати й події розрахунку по кожній ставці та плечу, з перерахунком на офіційну корекцію і повним аудит-слідом.
- Контекст акаунта: ліміти гравця, самовиключення та обмеження від ліцензії передаються з кожним запитом, щоб ризик-рушій і правила регулятора діяли на ваших гравців так само, як на наших.
- Звітність: оборот, GGR і маржа за видом спорту, ринком і когортою гравців; файли звірки розрахунків.
Сертифікація: сценарії і що має статися
Це випадки, які пісочниця розігрує до видачі продакшн-ключа. Середній стовпець — поведінка, за якою ми сертифікуємо; правий — що замість цього робить інтеграція, яка про цей випадок не подумала, і як збій виглядає у вашій черзі підтримки.
| Сценарій | Очікувана поведінка | Що робить неперевірена інтеграція |
|---|---|---|
| Ціна змінюється між купоном і прийманням ставки | Прийняти, прийняти-якщо-вища або відхилити — за політикою, надісланою із запитом. Ставка стоїть за однією ціною. | Приймає за застарілою ціною, а потім сперечається, яку ціну було показано. |
| Ринок призупиняється, поки запит у дорозі | Відхилено з причиною призупинення. Нічого не списано. | Списує суму, потім анулює, лишаючи списання й зарахування за ставку, якої ніколи не було. |
| Дубльоване приймання ставки приходить із тим самим ключем запиту | Одна ставка, одне списання, повторно повернута початкова відповідь. | Дві ставки й два списання. |
| Гаманець не відповідає на списання | Ставка не діє; спроба значиться як непідтверджена. | Приймає ставку проти непідтвердженого списання і виявляє нестачу на розрахунку. |
| Частковий cash-out на експресі, де одне плече вже розраховано | Котирується за плечима, які ще відкриті; розраховане плече не переоцінюється. | Оцінює всю ставку, а потім не може розрахувати те, що від неї лишилося. |
| Офіційний результат виправляють після виплати | Перерахунок застосовується як дельта, при цьому зберігаються і початковий запис, і корекція. | Перезаписує початковий розрахунок, тож історія більше не пояснює баланс. |
| Гравець перетинає ліміт депозиту або програшу посеред сесії | Приймання ставки відхиляється за лімітом, а сам ліміт названо у відповіді. | Приймає ставку, бо ліміт живе у вашій системі акаунтів і ніколи не надсилався із запитом. |
| Вихідний фід падає при відкритих ставках | Ринки призупиняються, приймання ставок на уражених матчах спиняється, відкриті ставки лишаються відкритими й розраховуються, коли надійдуть результати. | Продовжує приймати ціни, які перестали рухатися. |
Фіди за ним
API не залежить від фіда. За ним ми запускаємо Sportradar, Genius Sports, LSports або OddsMatrix — залежно від вашого договору й ринків; на turnkey договір на фід ваш, а ми його інтегруємо.
| Фід | Опубліковане покриття |
|---|---|
| Sportradar | 900,000+ подій на рік, 32 види спорту |
| Genius Sports | 600,000+ матчів, 40+ видів спорту |
| LSports | 175,000+ пре-матч подій на місяць, 100+ видів спорту, 2,500 ринків |
| OddsMatrix | 200,000+ лайв-подій на місяць |
Більше про кожен фід, зокрема який ми рекомендуємо для якого букмекера, — на сторінці turnkey букмекер.
Чого не включає ліцензія лише на дані коефіцієнтів
Кілька провайдерів продають коефіцієнти як дані, і деякі прямо пишуть на власних сторінках, що вони — інфраструктура коефіцієнтів, а не букмекер. У таблиці — те, що стоїть між ціною і розрахованою ставкою, і звідки береться кожна частина за двох моделей.
| Що для цього потрібно | Ліцензія на дані коефіцієнтів | Це API |
|---|---|---|
| Ціни, матчі та статус ринку | Входить | Входить |
| Приймання ставок | Будуєте самі | Входить |
| Ризик і ліміти експозиції на гравця, ринок і подію | Будуєте самі | Ліміти суми приходять від ризик-рушія разом із запитом |
| Контракт гаманця | Будуєте самі | Чотири виклики, ідемпотентні, сертифіковані до запуску |
| Котирування cash-out | Будуєте самі | Котирування й виконання, повне і часткове |
| Розрахунок ставок і плечей | Будуєте самі | Входить, по кожній ставці й кожному плечу |
| Перерахунок на офіційну корекцію | Будуєте самі | Входить, з аудит-слідом |
| Ліміти гравця й самовиключення, застосовані на прийманні | Будуєте самі | Контекст акаунта йде з кожним запитом |
| Файли звірки та звітність регулятору | Будуєте самі | Входить |
Ліцензія на коефіцієнти — правильна покупка для медіасайту, прогнозного продукту або моделі: жоден із них не бере грошей у гравця. Для оператора це неправильна покупка — і водночас дешевший рядок у комерційній пропозиції, саме так і роблять цю помилку.
Пісочниця й запуск
Пісочниця із записаними повторами лайв-ринків, щоб ваш фронтенд можна було перевірити на справжньому русі цін, а не на статичних даних. Чек-лист сертифікації з ліда проганяється саме на цій пісочниці до видачі продакшн-ключів, тож краєві випадки ловляться до запуску, а не на першому тижні живого трафіку. Рейт-ліміти й SLA фіксуються в договорі; ми називаємо їх, коли знаємо очікувану пікову конкурентність, бо в API чекауту і в лайв-фіда in-play різні допуски.
Часті питання
Чи можемо ми взяти лише коефіцієнти й самі приймати ставки?
Це ліцензія на дані, а не букмекерський API — фід лише з коефіцієнтами, який кілька наших вихідних провайдерів продають і напряму, без приймання ставок, ризик-менеджменту й розрахунку. У нас навпаки: приймання, ризик і розрахунок — це і є продукт, а коефіцієнти — те, проти чого ми їх ставимо.
Чи можемо ми почати з iFrame і пізніше перейти на API?
Так, і в такому порядку це дешевше. Робота з гаманцем переноситься без змін, бо обидві схеми використовують ті самі чотири виклики. Другим ви будуєте букмекерський фронтенд: ті самі 36–67 інженеро-днів із таблиці вище. Акаунт, гравці та історія ставок лишаються на місці; змінюється лише інтерфейс перед ними.
Ліміти ставимо ми чи ви?
Обидві сторони, але в одному напрямку. Ризик-рушій разом із каталогом повертає ліміти суми на ринок, селекцію і гравця, і ви можете їх знизити. Підняти їх вище лімітів експозиції книги ви не можете, бо відповідальність лежить на тому, хто оцінив ринок. Ваші власні правила — ліміти депозиту й програшу, самовиключення, обмеження ліцензії — йдуть із кожним запитом і застосовуються на прийманні, а не перевіряються постфактум.
Ви підтримуєте фентезі або тоталізатор?
Тоталізатор — так, на тому самому каталозі. Фентезі — ні.
А контракти в стилі ринків передбачень?
Інший продукт, у більшості місць — інша ліцензія; дивіться платформу ринків передбачень.