Skip to main content

Supported message brokers and events

Integrations with the following message brokers are supported by the EvenBet system: Kafka, RabbitMQ, SQS, Redis. If you want to enable one of them, please, contact your account manager.

Below, you can find the list of events that can be traced in the EvenBet system.

  • OnGameDone – this event takes place before the ShowResults and displays the general hand outcome.
  • OnGameHistoryDone – this event is sent after the ShowResults. It contains the game details.
  • OnPlayerSeatedDown – this event takes place when a player takes a seat at the table.
  • OnTournamentPlayerSeatedDown – this event takes place when a player takes a seat at the tournament table.
  • OnPlayerEntrySeatedDown – this event takes place when a user is seated to a fast fold table.
  • OnPlayerTournamentTicketUpdated – this event takes place when a ticket is issued, used for tournament registration, returned to the user because he unregistered from the tournament or the tournament was cancelled.
  • OnPlayerWinInTournament – this event takes place when a player wins a prize in a tournament.
  • OnTournamentStateChanged – this event takes place when the tournament changes its status.
  • OnPlayerLeftTournament – this event takes place when the player is eliminated from a tournament.
  • OnPlayerUnregisteredFromTournament – this event takes place when the player is eliminated from a tournament.
  • OnUserLoggedIn – this event takes place when the user logins to the client application. It includes the logins to the casino websites.
  • OnUserLoggedOut – this event takes place when the user logs out of the client application. It includes the logouts from the casino websites.
  • OnPlayerRegistered – this event takes place when a new user is created from the client application or Backoffice.
  • OnPlayerLeaveTable – this event takes place when the user leaves the table.
  • OnTournamentCompleted – this event takes place when the tournament is finished.
  • OnTournamentPlayerRegisterResult – this event takes place when the user successfully registers for tournament.
  • OnPlayerRebuyOrAddonMaked – this event takes place when the user successfully purchases rebuy/add-on in tournament.
  • OnFraudIncidentUpdated – this event takes place when anti-fraud incident is updated.
  • OnFraudIncidentCreated – this event takes place when anti-fraud incident is created.
  • OnFraudAutoReactionApplied – this event takes place when auto-reaction is applied to a player because of an anti-fraud incident.
  • OnFraudIncidentStatusChangedAutomatically – this event takes place when incident status is changed automatically.
  • OnCooperativeBlockUpdated – this event takes place when team block is updated.
  • OnCooperativeBlockDeleted – this event takes place when team block is deleted.
  • OnCasinoRoundClosed – this event takes place when a casino round is closed (completed).
  • OnPlayerBalanceChanged – this event is triggered when user balance is changed.
  • OnTransactionNotification – this event is triggered when transaction is created for the player.
  • OnP2PTransfer – this event is triggered when a user attempts to transfer money to another user.
  • OnGetCash – this event is triggered when user requests money from an external system (only for seamless wallet systems).
  • OnReturnCash – this event is triggered when money is returned to the external system from poker (only for seamless wallet systems).
  • OnGetBalance – the balance is requested at the login and during the requests 'RefreshExternalPlayerBalances' from the external wallet. When it happens, this event is triggered.
  • OnUpdatePlayerBlockStatus – this event is triggered when the user is blocked.
  • OnTFAPreLogin - this event is triggered when the player enters their login and starts the TFA process; the recipient should send or prepare an SMS code or other confirmation methods.
  • OnTFALogin - this event is triggered when the player already provided a code from SMS or email; the recipient should check the auth field and respond by calling the poker_player_tfa_login_result method.
  • OnExternalLogin - event takes place in case the skin or player account requires login through the external subsystem; the result with the response should be sent through calling the poker_external_login_validation_result method.
  • OnTournamentCreated - this event is triggered when a tournament is created successfully.
  • OnTableCreated - this event is triggered upon successful creation of a table, including scenarios when a new club table or balanced table is created.

OnGameDone

This event takes place before the ShowResults and displays the general hand outcome.

JSON sampleDescription
{
gameId: 236645,Internal ID
tableId: 242487,Table ID
tournamentId: 23432,Tournament ID
totalRake: 180,Rake amount
gameStart: "2020-08-14 03:50:19",Game start
gameEnd: "2020-08-14 03:51:49",Game end date
tableCards: "3;28;1;2;3"Community cards
tableCardsLowerRow: "",Lower set of community cards dealt during Run it twice mode
rakePart: 0.025Rake percent(1/100)
rakeCap: 300,Rake cap
numPlayersOnFlop:5Number of players on Flop
numPlayersOnTurn:4Number of players on Turn
numPlayersOnRiver:3Number of players on River
numPlayersOnShowDown:2Number of players on ShowDown
gameType: 65,Game type code
unclaimedPot: 0,The amount of unclaimed pot
moneyType: 82,The code of the currency used at the table.
smallBlind: 100,Small blind amount
bigBlind: 200,Big blind amount
ante: 0,Ante amount
participations: [Array of all game participants
{
playerId: 47830,Internal ID of player
skinId: 0,Skin ID
bet: 5000Player bet
pot: 0,Player pot part
rake: 125000,Player rake
isOut: "False",True – if player sit out before showdown or make muck
outRound: 0,0/1 – preflop,
2 – flop,
3 – turn,
4 – river,
5 - showdown
isWin: "False",True – player wins, False – player loss
isAway": false,True – the user was Away at the start of the hand
isSB: false,True – player is in the SB position
isBB: false,True – player is in the BB position
isStraddle: false,True – the user posted straddle
highCombination: "50;28;27;24;12",Player cards
highCombinationCode: "J.35.H.H",Player high combination
lowCombinationCode: "J.35.H.H",Player low combination
pocketCards: "3;28",Player cards
stackAtHandBegin: 90000,Stack at the beginning of the hand in cents
stackAtHandEnd: 85000,Stack at the end of the hand in cents
externalId: "751632",External system player identifier
externalSystemCode: "default",External system reference
betOnPreflopPlayer bet on Preflop
betOnFlopPlayer bet on Flop
betOnTurnPlayer bet on Turn
betOnRiverPlayer bet on River
insuranceFee: 0,The amount of insurance fee paid by the player
insuranceClaim: 0,The amount of insurance claim paid by the player
playerOnTableIdTable Session ID
playerInTournamentIdTournament Session ID
scorePoints: 12,Player's score in a deal/hand (used in rummy, Chinese poker, big2 and callbreak)
wonPoints: 12,The points won by the user (used in rummy, Chinese poker, big2 and callbreak)
totalPoints: 12,Overall user's points (used in rummy, Chinese poker, big2 and callbreak)
rank: 1Player's rank. Here is how it is calculated:
Rummy - rank is calculated for a separate deal, the user with the lowest scorePoints will have the lowest rank (0); for a game, it would be the user with the biggest won pot or lowest number of totalPoints (highest for the Deals);
Hold'em - the user with the biggest won pot or biggest bet will have the lowest rank (0)
Chinese - the user with the biggest won pot or biggest number of points will have the lowest rank (0)
Big2 - the user with the biggest number of totalPoints will have the lowest rank (0)
Callbreak - the user with the biggest number of totalPoints will have the lowest rank (0)
externalSessionIdAdditional field with session identifier
},
],
}

OnGameHistoryDone

This event is sent after the ShowResults. It contains the game details.

JSON sampleDescription
{
gameIdGame Identifier
tableIdTable Identifier
chunkStartDate of events chunk
eventsTable events
}

OnPlayerSeatedDown

This event takes place when a player takes a seat at the table.

JSON sampleDescription
{
params: {
objectId: 81622,User ID
tableId: 34534Table identifier
playerId: 81622User ID
playerOnTableId: 10351Table Session ID
externalId: 234324External identifier
externalSystemCode: "default",External system reference
entryCnt: 1Entry number
skinId: 0,Skin identifier
numActivePlayers: 2Current number of active players
isTopUp: TrueSeatDown with money request
rakeCap: 300,Rake cap
rakePart: 0.025Rake percent(1/100)
maxPlayers: 6Size of table
externalSessionIdAdditional field with session identifier
},
}

OnTournamentPlayerSeatedDown

This event takes place when a player takes a seat at the tournament table (both initial seating and all further seatings during the table balancing).

JSON sampleDescription
{
params: {
tournamentId: 36124574The ID of the tournament
firstSeating: trueSet true on the initial seating period in the tournament before the games began
tableId: 37496730ID of the tournament table
playerId: 13296User ID
playerEntryIdx: 0Entry number
skinId: 2ID of user's skin
externalId: ""User ID in the external system
externalSystemCode: ""Code of the external system
playerInTournamentId: 36010919Tournament Session ID
tournamentName: "SnG headsup"Tournament name
tournamentType: 71Tournament type:
- ttAny = -1 - any tournament type, used for filtering;
- ttScheduled = 83 - the tournament that starts at a specific time;
- ttSitAndGo = 71 - the tournament that starts when the required number of participants register for it;
- ttManual = 77 - the tournament that starts when the creator manually launches it (either from Backoffice or from the club).
objectId: 13296User ID
externalSessionIdAdditional field with session identifier

OnPlayerEntrySeatedDown

This event takes place when a user is seated to a fast fold table.

JSON sampleDescription
playerId: 6121User ID
tableId: 25291772Table identifier
playerEntryIdx: 1Entry number
skinId: 0ID of user's skin
externalId: "999"User ID in the external system
externalSystemCode: "A"Code of the external system
playerOnTableId: 36120986Table Session ID
objectId: 6121User ID
externalSessionIdAdditional field with session identifier

OnPlayerTournamentTicketUpdated

This event takes place when a ticket is issued, used for tournament registration, returned to the user because he unregistered from the tournament or the tournament was cancelled.

JSON sampleDescription
{
params: {
playerIdUser ID
externalIdExternal ID
externalSystemCodeSystem code
skinId: 0,Skin ID
tournamentIdtournament identifier
ticketIdticket identifier
ticketValuevalue of ticket
creditReasonUnknown = 95, (default value)
Admin =65, (the ticket was created by the administrator)
TournamentPrize = 84, (the ticket was won in tournament)
AfterRegistration = 82, (the ticket was emitted automatically to the user after registration)
Use = 85, (the ticket was used to register for tournament)
Revert = 66, (the ticket price was returned to the player or poker room after the ticket was expired)
debitReasonUnknown = 95,
Admin =65,
TournamentPrize = 84,
AfterRegistration = 82,
Use = 85,
Revert = 66,
externalSessionIdAdditional field with session identifier
},
}

OnPlayerWinInTournament

This event takes place when a player wins a prize in a tournament.

JSON sampleDescription
{
params: {
playerId: 81622,User ID
tournamentId: 23423Tournament Identifier
tournamentName: TestTournament Name
placeFrom: 1low place
placeTo: 1high place
amount: 100tournament prize
externalId: 23External system player identifier
externalSystemCode: defaultExternal system code
skinId: 0,Skin ID
wonTicket1 - won ticket,
0 - cash
externalSessionIdAdditional field with session identifier
},
}

OnTournamentStateChanged

This event takes place when the tournament changes its status.

JSON sampleDescription
{
params: {
tournamentId: 23423Tournament ID
tournamentState: 65WaitForAnnounce (created but not yet visable on the client side) = 87
Announced = 65
Registering = 71
Seating = 83
Running = 82
Cancelled = 67
Done = 68
Unfinished = 85
isPrizePaid: falseShows if the prize was paid in tournament (true/false).
},
}

OnPlayerLeftTournament

This event takes place when the player is eliminated from a tournament.

JSON sampleDescription
{
params: {
tournamentId: 23423Tournament Identifier
playerId: 81622,User ID
externalId: "751632",External system player identifier
externalSystemCode: "default",External system reference
playerEntryIdx: 1Entry number
schemeId: 0Deprecated
placeFrom: 1Low place
placeTo: 1high place
prizePlace: 1Shows if the user won a prize (of any type)
mainPrizeAmount: 200The part of the main prize pool won by the user
skinId: 0,Skin ID
level: 0The tournament blind level reached by the user
playerInTournamentId: 1002Tournament Session ID
object_id: 81622,User ID
externalSessionIdAdditional field with session identifier
},
}

OnPlayerUnregisteredFromTournament

This event takes place when a player unregisters from a tournament.

JSON sampleDescription
{
params: {
object_id: 81622,User ID
playerId: 81622,User ID
tournamentId: 23423Tournament ID
externalId: "751632",External system player identifier
externalSystemCode: "default",External system reference
skinId: 0,Skin ID
externalSessionIdAdditional field with session identifier
},
}

OnUserLoggedIn

This event takes place when the user logins to the client application. It includes the logins to the casino websites.

JSON sampleDescription
{
params: {
playerId: 81622,User ID
externalId: "83688319",User external identifier
externalSystemCode: "test",System code
nick: "LOCALBOT_5822",Player nickname
clientVersion: "HTML5",The client version used by the player
skin: 'base',Skin Key
deviceId: 0,Internal user device identifier
deviceUniqueId: '12321321'Unique device identifier
platform: 'html5'System platform
osName: 'Windows'Operation system name
osVersion: 10Operation system version
motherboardId: "",Motherboard ID
cpuId: "",CPU ID
appVersion: "23.1.1.7d9855c",The used version of the client application
ip: 8.8.8.8Player's IP
macAddress: "",Player's MAC-address
latitude: 23.232Player's Latitude
longitude: 23.3432Player's Longitude
skinId: 0,Skin ID
isFirstLogin: falseShows if it was user's first login
externalSessionIdAdditional field with session identifier
},
}

OnUserLoggedOut

This event takes place when the user logs out of the client application. It includes the logouts from the casino websites.

JSON sampleDescription
params: {
playerId: 6158,User ID
externalId: "78963",User external identifier
externalSystemCode: "",System code
nick: "john",Player nickname
clientVersion: "HTML5",The client version used by the player
skin: "evenbet",Skin Key
deviceId: 219,Internal user device identifier
deviceUniqueId: "e742b6874741c1266b0539f9e89bb75d",Unique device identifier
platform: "H",System platform
osName: "W",Operation system name
osVersion: "10.0",Operation system version
motherboardId: "",Motherboard ID
cpuId: "",CPU ID
appVersion: "23.1.1.7d9855c",The used version of the client application
ip: "192.168.3.56",Player's IP
latitude: 0,Player's Latitude
longitude: 0,Player's Longitude
skinId: 0Skin ID
externalSessionIdAdditional field with session identifier
}
}

OnPlayerRegistered

This event takes place when a new user is created from the client application or Backoffice.

JSON sampleDescription
{
params: {
playerIdID of the player
activationCode
callbackParam
deviceIdDevice identifier
},
}

OnPlayerLeaveTable

This event takes place when the user leaves the table. For cash tables, the event takes place when the money is returned to his balance, and for tournaments it happens when the user is eliminated from the tournament or taken to a new table during the table balancing.

JSON sampleDescription
{
params: {
objectId: 81622,User ID
tableId: 435Table identifier
amount:Amount in cents
playerId: 81622User ID
externalId: "83688319",User external identifier
externalSystemCode: "test",System code
skinId: 0,Skin ID
playerEntryIdx:Entry number
sessionTime:Time spent on table
externalSessionIdAdditional field with session identifier
}
}

OnTournamentCompleted

This event takes place when the tournament is finished.

JSON sampleDescription
{
params: {
lateRegFinishedStamp: 0000-00-00 00:00:00The time when late registration period was completed
objectId: 81622Tournament identifier
tournamentId: 81622Tournament identifier
feeList: [List of participants
numberAddon : 1Number of player's addons
rebuyFee : 1Player's rebuy fee
playerId : 12Internal player identifier
level: 0The blind level reached by the user
buyIn : 1Player's buy-in
entryFee : 1Player's entry fee
numberRebuy : 1Number of player's rebuys
playerEntryIdx : 1Entry number
extraBuyIn : 1Total of extra buy ins
addonFee : 1Player's addon fee
placeFrom: 0Low place
placeTo: 0High place
]
}
}

OnTournamentPlayerRegisterResult

This event takes place when the user successfully registers for tournament.

JSON sampleDescription
{
params: {
playerId: 81622,Player ID
tournamentId: 3423,Tournament ID
externalId: "83688319",User external identifier
externalSystemCode: "test",System code
skinId: 0,Skin ID
registeringType: 'W'Unknown = 95,
WithoutPayment = 87,
ByMoney = 77,
ByTicket = 84,
BySatellite = 83
ticketId: 23432ticket identifier
externalSessionIdAdditional field with session identifier
},
}

OnPlayerRebuyOrAddonMaked

This event takes place when the user successfully purchases rebuy/add-on in tournament.

JSON sampleDescription
{
params:{
tournamentId: 1234,The ID of the tournament
playerId: 789,The ID of the player
playerEntryIdx: 0,The ID of player's entrance to tournament
type: 82,Operation type, one of emtUnknown=0, emtRebuy=82, emtRebuy2x=50, emtAddon=65
chipsCost: 500,Payment in tournament currency that is added to prize pool, one of rebuyChipsCost or addonChipsCost
fee: 10,Payment in tournament currency that goes to poker room balance, one of rebuyFee or addonFee
usedGrantTicketId: 0Shows the ticket used for rebuy/addon payment, chipsCost and fee must be zero
}
}

OnFraudIncidentUpdated

This event takes places when anti-fraud incident is updated.

JSON sampleDescription
{
"incidentId":The ID of the incident (int)
"checkTypesId": []Array of check types ID used in this incident.
"incidentConfidence":The confidence of the incident in percent (int)
"updatedAt":Date of the last update of the incident in the format Y-m-d H:i:s (string)
"participants": [Array with participants of the incident
{
"playerId":Unique player ID in poker system (int)
"playerConfidence":The confidence of the player in percent (int)
"externalId":External id of the player (string)
"ip":Last ip from t_sessions_log (string)
}
...There can be more than one participant in the incident, information about all of them will be here
]
}

OnFraudIncidentCreated

This event takes places when anti-fraud incident is created.

JSON sampleDescription
{
"incidentId":The ID of the incident (int)
"checkTypesId": []Array of check types ID used in this incident.
"incidentConfidence":The confidence of the incident in percent (int)
"createdAt":Date when the incident was created in the format Y-m-d H:i:s (string)
"participants": [Array with participants of the incident
{
"playerId":Unique player ID in poker system (int)
"playerConfidence":The confidence of the player in percent (int)
"externalId":External id of the player (string)
"ip":Last ip from t_sessions_log (string)
}
...There can be more than one participant in the incident, information about all of them will be here
]
}

OnFraudAutoReactionApplied

This event takes places when auto-reaction is applied to a player because of an anti-fraud incident.

JSON sampleDescription
{
"action":The action, applied to the participants of the incident. Possible values: "kick", "block", "forbid cash", "forbid tournament" (string)
"appliedAt":The date when auto-reaction was applied in the format Y-m-d H:i:s (string)
"playersId": []The array with IDs of the players, to whom the auto-reaction was applied
}

OnFraudIncidentStatusChangedAutomatically

This event takes places when incident status is changed automatically. Please use Anti-fraud incident status codes to interpret this event.

JSON sampleDescription
{
"incidentId":The ID of the incident (int)
"previousStatus":Incident status before changes (int)
"changedStatus":Incident status after changes (int)
"changedAt":The date and time when incident status was changed (string)
}

OnCooperativeBlockUpdated

This event takes places when team block is updated.

JSON sampleDescription
{
"recordId": 123,The ID of the record from the DB table t_cooperative_block
"playerId1": 1001,The ID of the first player in the poker system
"externalSystemCode1": "SYS",The code of the first user's external system
"externalId1": "PLR-1001",The ID of the first user in the external system
"playerId2": 1002,The ID of the second player in the poker system
"externalSystemCode2": "SYS",The code of the second user's external system
"externalId2": "PLR-1002",The ID of the second user in the external system
"block_cash": true,Shows if cash games are allowed for this pair of players
"block_mtt": false,Shows if scheduled tournaments are allowed for this pair of players
"block_sng": false,Shows if Sit&Go tournaments are allowed for this pair of players
"block_transfer": falseShows if transfers are allowed for this pair of players
"externalSessionId"Additional field with session identifier
}

OnCooperativeBlockDeleted

This event takes places when team block is deleted.

JSON sampleDescription
{
"recordId": 123,The ID of the record from the DB table t_cooperative_block
"playerId1": 1001,The ID of the first player in the poker system
"externalSystemCode1": "SYS",The code of the first user's external system
"externalId1": "PLR-1001",The ID of the first user in the external system
"playerId2": 1002,The ID of the second player in the poker system
"externalSystemCode2": "SYS",The code of the second user's external system
"externalId2": "PLR-1002",The ID of the second user in the external system
"externalSessionId"Additional field with session identifier
}

OnCasinoRoundClosed

This event takes place when a casino round is closed (completed).

JSON sampleDescription
[
{
"provider": "MyProvider",Provider code
"externalRoundId": "436546-4554",External round ID in the provider's system
"playerId": 23110634,Player ID in the Evenbet system
"closeMethod": 1,The code of the method that was used to close the round
"closedByPlayerId": 100,The code of the user who closed the round, either the player or administrator
"hasTransaction": false,Shows if there was a transaction and other additional data in the request to close the round. It is used for internal needs.
"transaction": {Transaction info starts here
"playerId": 23110634,Player ID in the Evenbet system
"moneyType": 80,Currency code in the Evenbet system
"amount": 0,Amount of the transaction in cents.
"subtype": 0,Transaction sub-type
"notes": "",Transaction notes, if any
"isReverse": false,Shows if the money was added or taken from the user
"isResultSuccess": false,Shows if transaction was successful
"resultText": "",The message with the result of the transaction processing (for example, the message with error text from the server)
"resultTransactionId": 0,The transaction ID in the Evenbet system if transaction was successful
"spendingPriority": 0,The spending priority used for the transaction
"entityType": 0,The data for spending money priority to consider the proportions of real/bonus part (3 is used for casino)
"entityId": 0,The data for spending money priority to consider the proportions of real/bonus part (internal round ID)
"skipCreation": falseShows if transaction should be done on the server, false - the transaction will not be done on the server, used for seamless wallet
},
"hasRoundExtInfo": false,Required for internal needs
"creditBalancePriority": 0,Shows the spending money priority used for crediting the winnings
"betMultiplier": 0,Final coefficient
"betType": 0,Bet type, used for sports bets:
BET_TYPE_UNKNOWN = 0
BET_TYPE_ORDINARY = 1
BET_TYPE_EXPRESS = 2
"oldRoundCloseMethod": 0,The previous closedMethod of the round used before this closure. Required for round re-openings.
"objectId": 23110634Player ID
}
]

OnPlayerBalanceChanged

JSON sampleDescription
{
"playerId": playerId,The ID of the user in the Evenbet system.
"moneyType": moneyType,The currency of the changed balance.
"oldAmount": oldAmount,Previous amount of money on the real money balance in cents.
"newAmount": newAmount,New amount of money on the real money balance in cents.
"oldBonusAmount": oldBonusAmount,Old amount at bonus balance in cents.
"newBonusAmount": newBonusAmount,New amount at bonus balance in cents
"skinId":skinId,User's skin.
"externalId":externalId,The ID of the user in the external system.
"externalSystemCode":externalSystemCode,The code of the external system.
"newInPlayAmount":newInPlayAmount
}

OnTransactionNotification

JSON sampleDescription
{
"paramTournamentId": 0,The ID of the tournament, to which the transaction is related.
"createdStamp": "2024-03-07 04:23:20",The time when the transaction was created.
"playerId": 0,Not used. Please refer to the "paramPlayerId" for the ID of the user in the Evenbet system.
"notes": "",Transaction notes, if any.
"externalSystemCode": "",Not used. Please refer to the "paramExternalSystemCode" for the code of the external system.
"transactionSubType": 113,The sub-type of the transaction.
"paramExternalSystemCode": "12345",The code of the external system.
"paramExternalId": "12341234",The ID of the user in the external system.
"moneyType": 80,The currency of the transaction.
"externalSessionId": "",Not used. Please refer to the "paramExternalSessionId" for the additional field with session identifier.
"spendingPriority": 0,The spending priority of the transaction.
"amount": 1,The amount of the transaction with the precision set up in the currency settings, usually 2 decimal places.
"paramExternalSessionId": "",Additional field with session identifier.
"externalId": "",Not used. Please refer to the "paramExternalId" for the ID of the user in the external system.
"paramPlayerId": 106,ID of the user in the Evenbet system.
"transactionId": 337686,The ID of the transaction in the Evenbet system.
"paramTableId": 846897,The ID of the table, to which the transaction is related.
"transactionType": 501The type of the transaction.
}

OnP2PTransfer

JSON sampleDescription
{
"senderId": senderId,The ID of the user who attempts to send money in the Evenbet system.
"senderExternalId": senderExternalId,The ID of the user who attempts to send money in the external system.
"senderExternalSystemCode": senderExternalSystemCode,The code of the sender's external system.
"receiverId": receiverId,The ID of the receiver in the Evenbet system.
"receiverExternalId": receiverExternalId,The ID of the receiver in the external system.
"receiverExternalSystemCode": receiverExternalSystemCode,The code of the receiver's external system.
"moneyType": moneyType,The currency of the transaction.
"amount": amount,The amount of the transaction in cents.
"request": request,Shows if it is a request to process the transaction or if it has already been completed.
"success": successShows if the transaction/request was successful.
}

OnGetCash

JSON sampleDescription
{
"transactionId": transactionId,The ID of the transaction in the Evenbet system.
"playerId": playerId,The ID of the user in the Evenbet system.
"externalId": externalId,The ID of the user in the external system.
"externalSystemCode": externalSystemCode,The code of the external system.
"moneyType": moneyType,The currency of the transaction.
"amount": amount,The amount of transaction in cents.
"tableId": tableId,The ID of the table related to the transaction.
"tournamentId": tournamentId,The ID of the tournament related to the transaction.
"transactionType": transactionType,The type of the transaction.
"transactionSubType": transactionSubType,The sub-type of the transaction.
"playerOnTableId": playerOnTableId,Table Session ID.
"tournamentBuyIn": tournamentPaymentDetails.buyIn(),Tournament buy-in.
"tournamentEntryFee": tournamentPaymentDetails.entryFee(),Tournament entry fee.
"tournamentBountyKnockout": tournamentPaymentDetails.bntyKnockout(),Tournament knockout fee.
"skinId": skinId,User's skin.
"playerInTournamentId": playerInTournamentId,Tournament Session ID.
"externalParams": externalParamsString value sent from the client.
}

OnReturnCash

JSON sampleDescription
{
"transactionId": transactionId,The ID of the transaction in the Evenbet system.
"playerId": playerId,The ID of the user in the Evenbet system.
"externalId": externalId,The ID of the user in the external system.
"externalSystemCode": externalSystemCode,The code of the external system.
"moneyType": moneyType,The currency of the transaction.
"amount": amount,The amount of transaction in cents.
"playerEntryIdx": playerEntryIdx,Entry number.
"tableId": tableId,Table ID
"tournamentId": tournamentId,Tournament ID
"transactionType": transactionType,The type of the transaction.
"transactionSubType": transactionSubType,The sub-type of the transaction.
"playerOnTableId": playerOnTableId,Table Session ID.
"sumBetAmount": sumBetAmount,The amount of money put in the pot by the player.
"tournamentBuyIn": tournamentPaymentDetails.buyIn(),Tournament buy-in
"tournamentEntryFee": tournamentPaymentDetails.entryFee(),Tournament entry fee
"tournamentBountyKnockout": tournamentPaymentDetails.bntyKnockout(),Tournament knockout fee
"skinId": skinId,User's skin.
"playerInTournamentId": playerInTournamentId,Tournament Session ID.
"numHandsPlayed": numHandsPlayedThe number of hands played during this entry.
}

OnGetBalance

JSON sampleDescription
{
"playerId": playerId,The ID of the user in the Evenbet system.
"externalId": externalId,The ID of the user in the external system.
"externalSystemCode": externalSystemCode,The code of the external system.
"moneyType": moneyType,The currency of the balance.
"skinId": skinId,User's skin.
}

OnUpdatePlayerBlockStatus

This event is triggered when the user is blocked.

JSON sampleDescription
{
"blockingLimit": "2023-10-09 10:57:21",Time period until the user is blocked.
"objectId": null,Not used.
"playerId": 105,Internal player ID.
"isBlocked": true,True - player is blocked, false - player is not blocked/the block has been lifted.
"externalSystemCode": "",External system reference.
"skinId": 0,Skin ID.
"externalId": "",External system player ID
"blockingReason": 71Reason for the block:
0 - Unknown
32 - None
71 - GeneralViolation (user blocked by administrator)
73 - ProhibitedIp (user IP is blocked)
77 - MessageRestriction (block due to anti-ddos mechanism, too many messages received from user side in a short period of time)
80 - PasswordPolicyViolation (block due to entering incorrect password too many times)
}

OnTFAPreLogin

This event is triggered when the player enters their login and starts the TFA process; the recipient should send or prepare an SMS code or other confirmation methods.

JSON sampleDescription
{
login: “john”,The login used for entry
playerId: 6158,The ID of the user in the Evenbet system, obtained from login
tfaType: 83,2FA type used for authentication:
tfaSMS = 83,
tfaEMail = 69,
tfaGoogleAuthenticator = 71,
tfaOneTimePassword = 84,
tfaIdentityVerificationCode = 73;
Note: In the case of tfaOneTimePassword, if the server matches the login with an email or phone, it may change the type to tfaEmail or tfaSMS.
skinId: 2User's skin
}

OnTFALogin

This event is triggered when the player already provided a code from SMS or email; the recipient should check the auth field and respond by calling the poker_player_tfa_login_result method.

JSON sampleDescription
{
login: “john”,The login used for entry
playerId: 6158,The ID of the user in the Evenbet system, obtained from login
tfaType: 83,2FA type used for authentication:
tfaSMS = 83,
tfaEMail = 69,
tfaGoogleAuthenticator = 71,
tfaOneTimePassword = 84,
tfaIdentityVerificationCode = 73;
skinId: 2User's skin
auth: "1234"Code from SMS or email
}

OnExternalLogin

This event takes place in case the skin or player account requires login through the external subsystem; the result with the response should be sent through calling the poker_external_login_validation_result method.

JSON sampleDescription
{
login: “john”,The login used for entry
password: "123456",Password used for entry
skinKey: "evenbet",Skin key
ip: "127.0.0.1",User’s IP address
auth: "BDAAB7E52ED69D597CA96CDFFCA68324"The token issued to the user, which will be used for subsequent logins
}

OnTournamentCreated

This event is triggered when a tournament is created successfully.

JSON sampleDescription
{
"objectId": 180408,Tournament ID
"tournamentId": 180408Tournament ID
}

OnTableCreated

This event is triggered upon successful creation of a table, including scenarios when a new club table or balanced table is created.

JSON sampleDescription
{
"tableId": 955897,Table ID
"objectId": 955897,Table ID
"templateTableId": 0Template (parent) table ID
0 - indicates that there is no template for this table
}