Functionality
The endpoint called when the player wins (credit)- The Operator is expected to increase player’s balance by payout and return a new balance.
- Each win has transactionId which is unique for each transaction. Before any altering of player’s balance, Operator has to check that win wasn’t processed before.
- If the bet payout fails, the system will automatically retry up to 3 times. If all retries fails, a revert operation will be triggered for that bet to ensure consistency.
Headers
A unique identifier associated with operator calling API.
A SHA256 HMAC signature generated using the request body and timestamp.
Format: HMAC_SHA256(JSON.stringify(data) + ’|’ + timestamp), signed using the
provided secret key.
An Unix timestamp (milliseconds) when the request was sent. Ensure the same
value is used in signature generation.
Must be set to
application/jsonRequest Body
The unique transaction identifier. An action with same transactionId shouldn’t be processed more than once.
Unique identifier of the transaction that this transaction is referencing, which is the transactionId of the bet.
A unique identifier for the session.
The unique identifier for the player.
The unique identifier for the game.
Player’s current session currency code.
The amount won by the player.
To maintain precision and avoid floating-point errors, the amount field is processed as an integer value by multiplying the actual amount by
100000.For example, a amount of 12.34567 will be represented as 1234567 in the API.Indicates whether the player won the bet.
Response
Code indicates status of the request weather it is succeed or failed. We have listed error codes here
An ID of an action that is generated for each of our calls to the Operator, used to sync OppiGame and Operator sides for debugging purposes. The Operator has to respond with the same transactionId as the one received in request.
The updated balance of the player.
To maintain precision and avoid floating-point errors, the balance field is processed as an integer value by multiplying the actual amount by
100000.For example, a balance of 12.34567 will be represented as 1234567 in the API.