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
Match
renamed to MatchSeriesMatchRound
renamed to MatchTeam
renamed to ClubSquad
renamed 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_init
replaced by GameEventGameAction (type = GameEventDataGameActionType.ROUND_SPAWNED)round_start
replaced by GameEventGameAction (type = GameEventDataGameActionType.ROUND_STARTED)round_end
replaced by GameEventGameAction (type = GameEventDataGameActionType.ROUND_ENDED)round_stop
replaced by GameEventGameStatus (type = GameEventGameStatusType.INTERRUPT)round_backup
replaced by GameEventGameCheckpointLoadpurchase
replaced by GameEventPlayerItemPurchasethrow
replaced by GameEventPlayerItemThrowkill
replaced by GameEventPlayerKillassists
replaced by GameEventPlayerAssistsuicide
replaced by GameEventPlayerDeath (type = GameEventPlayerDeathType.SUICIDE)bomb_plant
replaced by GameEventGameAction (type = GameEventDataGameActionType.BOMB_PLANTED)bomb_defuse_begin
replaced by GameEventGameAction (type = GameEventDataGameActionType.BOMB_DEFUSE_BEGAN)bomb_defuse
replaced by GameEventGameAction (type = GameEventDataGameActionType.BOMB_DEFUSED)item_pick
replaced by GameEventPlayerItemPickitem_drop
replaced by GameEventPlayerItemDropeconomy
replaced by GameEventPlayerAttributeUpdate (type = GameAttributeType.MONEY)flash
replaced by GameEventPlayerEffect (type = GameEventPlayerEffectType.BLIND)attack
replaced by GameEventPlayerAttackfinish
replaced by GameEventGameStatus (type = GameEventGameStatusType.FINISH)pause
replaced by GameEventGameStatus (type = GameEventGameStatusType.PAUSE)unpause
replaced 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.