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
Сообщить о проблеме
Выберите один вариант