Migration
Preamble
This guide outlines the differences between the old and new ProDB API, helping customers transition smoothly to the new API.
The new API utilizes GraphQL, providing greater flexibility to fetch data and manage nested relationships without requiring multiple HTTP requests.
Before proceeding, please check out the Introduction for an overview of the new API.
This guide is divided into three sections:
-
Fixture Data
Differences in the data structure of competitions, seasons, tournaments, match series, matches, etc. -
Game Data
Differences in in-game data, including events like kills, assists, deaths, etc. -
Webhooks
Differences in the webhook system
Fixture Data
The overall data structure remains largely unchanged, with some renaming to improve clarity and consistency.
Changes
Matchrenamed to MatchSeriesMatchRoundrenamed to MatchTeamrenamed to ClubSquadrenamed to Team
Game Data
The new API provides more granular game data.
-
GraphQL Query: gameData
Fetch historical game data. -
GraphQL Subscription: gameDataUpdated
Subscribe to real-time game data updates.
The structure of game events have been changed:
round_initreplaced by GameEventGameAction (type = GameEventDataGameActionType.ROUND_SPAWNED)round_startreplaced by GameEventGameAction (type = GameEventDataGameActionType.ROUND_STARTED)round_endreplaced by GameEventGameAction (type = GameEventDataGameActionType.ROUND_ENDED)round_stopreplaced by GameEventGameStatus (type = GameEventGameStatusType.INTERRUPT)round_backupreplaced by GameEventGameCheckpointLoadpurchasereplaced by GameEventPlayerItemPurchasethrowreplaced by GameEventPlayerItemThrowkillreplaced by GameEventPlayerKillassistsreplaced by GameEventPlayerAssistsuicidereplaced by GameEventPlayerDeath (type = GameEventPlayerDeathType.SUICIDE)bomb_plantreplaced by GameEventGameAction (type = GameEventDataGameActionType.BOMB_PLANTED)bomb_defuse_beginreplaced by GameEventGameAction (type = GameEventDataGameActionType.BOMB_DEFUSE_BEGAN)bomb_defusereplaced by GameEventGameAction (type = GameEventDataGameActionType.BOMB_DEFUSED)item_pickreplaced by GameEventPlayerItemPickitem_dropreplaced by GameEventPlayerItemDropeconomyreplaced by GameEventPlayerAttributeUpdate (type = GameAttributeType.MONEY)flashreplaced by GameEventPlayerEffect (type = GameEventPlayerEffectType.BLIND)attackreplaced by GameEventPlayerAttackfinishreplaced by GameEventGameStatus (type = GameEventGameStatusType.FINISH)pausereplaced by GameEventGameStatus (type = GameEventGameStatusType.PAUSE)unpausereplaced by GameEventGameStatus (type = GameEventGameStatusType.LIVE)
Webhooks
Previously, webhooks were registered and being triggered on every fixture data change. The new API replaces this with GraphQL queries and subscriptions.
-
GraphQL Query: fixtureDataEvents
Fetch historical changes on any fixture data. -
GraphQL Subscription: fixtureDataEvents
Subscribe to real-time changes on any fixture data.