WebSocket API
Этот WebSocket предоставляет обновления в реальном времени при изменениях по отдельным матчам.
Детали подключения
- Эндпоинт:
wss://api.oddspapi.io/v4/ws?apiKey=YOUR_API_KEY - Направление: Однонаправленное (сервер → клиент)
- Аутентификация: API Key —
YOUR_API_KEY
Структура данных
Все сообщения включают fixtureId. Передаются только изменившиеся значения, за исключением случаев с целыми players объектами.
{
"fixtureId": "string",
"betradarId": "number?",
"startTime": "number?",
"participant1Id": "number?",
"participant2Id": "number?",
"sportId": "number?",
"updatedAt": "string?",
"tournamentId": "number?",
"seasonId": "number|null",
"sofascoreId": "number|null",
"betgeniusId": "number|null",
"flashscoreId": "string|null",
"statusId": "number|null",
"bookmakerOdds": {
"bookmaker": {
"bookmakerFixtureId": "string|null",
"fixturePath": "string|null",
"markets": {
"marketId": {
"bookmakerMarketId": "string|null",
"outcomes": {
"outcomeId": {
"players": {
"playerId": {
"limit": "number|null",
"price": "number",
"active": "boolean",
"oddsId": "string|null",
"betslip": "any|null",
"playerId": "number",
"changedAt": "string",
"playerName": "string|null",
"exchangeMeta": "any|null"
}
}
}
}
}
}
}
}
}Ключевые особенности
- Частичные обновления: Отправляются только изменившиеся значения
- Полные объекты игроков: Полный объект игрока пересылается повторно при любом изменении его полей
- Обновления по одному букмекеру: Каждое сообщение содержит обновления только для одного букмекера
- Таймстемпы:
updatedAtобновляется при любом изменении поля верхнего уровня
Примеры
Пример 1: Обновление метаданных матча
{
"fixtureId": "id2704726161008023",
"statusId": 1,
"updatedAt": "2025-06-11T16:55:28.415401+00:00"
}Пример 2: Обновление коэффициентов для игрока
{
"fixtureId": "id1100097561092987",
"bookmakerOdds": {
"starcasino.be": {
"markets": {
"111": {
"outcomes": {
"111": {
"players": {
"0": {
"active": true,
"betslip": null,
"bookmakerOutcomeId": "2535416646",
"changedAt": "2025-06-11T16:55:30.284055+00:00",
"limit": null,
"playerName": null,
"price": 1.345,
"exchangeMeta": {},
"playerId": 0
}
}
}
}
}
}
}
}
}Пример 3: Обновление информации о букмекере
{
"fixtureId": "id1100023561139799",
"bookmakerOdds": {
"22bet": {
"bookmakerFixtureId": "265591179",
"fixturePath": "https://22bets.com/line/basketball/5226-e/265591179-kk-partizan-buducnost-podgorica"
}
}
}Пример 4: Обновление нескольких рынков
{
"fixtureId": "id1001509158796975",
"bookmakerOdds": {
"stake": {
"markets": {
"101": {
"outcomes": {
"101": {
"players": {
"0": {
"active": true,
"betslip": null,
"bookmakerOutcomeId": "2535416646",
"changedAt": "2025-06-11T16:55:30.284055+00:00",
"limit": null,
"playerName": null,
"price": 1.345,
"exchangeMeta": {},
"playerId": 0
}
}
},
"102": {
"players": {
"0": {
"active": true,
"betslip": null,
"bookmakerOutcomeId": "2535416646",
"changedAt": "2025-06-11T16:55:30.284055+00:00",
"limit": null,
"playerName": null,
"price": 1.345,
"exchangeMeta": {},
"playerId": 0
}
}
}
}
}
}
}
}
}Пример 5: Обновление счёта
{
"fixtureId": "id1000085362245214",
"scores": {
"periods": {
"2": {
"participant1Score": 0,
"participant2Score": 0,
"updatedAt": "2025-07-23T16:56:37.122614+00:00"
}
}
}
}Предыдущая страницаGET scores
