API Endpoints
Seamless wallet endpoints
Games API
Request game landing URL
POST
https://<oneapi_site>/game/url
The game operator will open a new window with the provided game url to allow the user to access the game.
Headers
Content-Type*
String
application/json
X-Signature*
String
A digital signature generated using HMAC-SHA256 algorithm signed using the operator's API secret key on the request body.
X-API-Key*
String
Operator's API key
Request Body
username*
String
The username of the user in the operator's system.
traceId*
String
A Universally Unique Identifier (UUID) generated by the Operator's system for each API request.
gameCode*
String
Game code of the selected game in Game Aggregator's system.
language*
String
The selected language which the game should be opened. Default: 'en'
platform*
String
The platform that the game will open on. Possible values: 1. web (default)
2. H5
currency*
String
ISO-4217 currency code (eg. USD)
lobbyUrl*
String
Operator site Url to navigate the user back to the game lobby.
ipAddress*
String
User's location IP Address in either IPv4 or IPv6 format.
Returns the list of supported vendors for the operator.
POST
https://<oneapi_site>/game/vendors
Headers
Content-Type*
String
application/json
X-API-Key*
String
Operator's API key
X-Signature*
String
A digital signature generated using HMAC-SHA256 algorithm signed using the operator's API secret key on the request body.
Request Body
traceId*
String
A Universally Unique Identifier (UUID) generated by the Operator's system for each API request.
displayLanguage
String
The language code for localised Game Vendor name translation
currency
String
ISO-4217 currency code (eg. USD)
Returns the list of supported games for the operator.
POST
https://<oneapi_site>/game/list
Headers
Content-Type*
String
application/json
X-API-Key*
String
Operator's API key
X-Signature*
String
A digital signature generated using HMAC-SHA256 algorithm signed using the operator's API secret key on the request body.
Request Body
traceId*
String
A Universally Unique Identifier (UUID) generated by the Operator's system for each API request.
vendorCode*
String
Vendor's code
pageNo*
Integer
Page number
pageSize
Integer
Page size. Default: 100
displayLanguage
String
The language code for localized Game name and images text translation
currency
String
ISO-4217 currency code (eg. USD)
Terminates a player's game session.
POST
https://<oneapi_site>/game/terminate
Headers
Content-Type*
String
application/json
X-API-Key*
String
Operator's API key
X-Signature*
String
A digital signature generated using HMAC-SHA256 algorithm signed using the operator's API secret key on the request body.
Request Body
traceId*
String
A Universally Unique Identifier (UUID) generated by the Operator's system for each API request.
username*
String
The username of the user in the operator's system.
Wallet API
Retrieve user's latest balance.
POST
https://<operator_site>/wallet/balance
Implemented by Operator. The Game Aggregator will call this endpoint to retrieve the user's latest wallet balance.
Headers
Content-Type*
String
application/json
X-Signature*
String
A digital signature generated using HMAC-SHA256 algorithm signed using the operator's API secret key on the request body.
Request Body
traceId*
String
A Universally Unique Identifier (UUID) provided by the Game Aggregator's system for each API request.
username*
String
The username of the user in the Operator's system.
currency*
String
ISO-4217 currency code (eg. USD)
token*
String
User's session token generated by Game Aggregator.
A bet transaction to deduct amount from the wallet balance.
POST
https://<operator_site>/wallet/bet
Called by the Game Aggregator when the user performs a bet.
The Operator is expected to deduct the given amount
from user's wallet and returns the latest balance.
Each bet transaction is identified by transactionId
, Operator is expected to validate that the bet transaction is not processed before.
Important: This API call is idempotent, multiple calls with the same transactionId
should not be processed again and return the latest balance of the user (SC_OK) if the Operator has successfully processed the transaction before.
Currently, this API only applies to Pragmatic Play & CQ9 game vendors.
Headers
Content-Type*
String
application/json
X-Signature*
String
A digital signature generated using HMAC-SHA256 algorithm signed using the operator's API secret key on the request body.
Request Body
traceId*
String
A Universally Unique Identifier (UUID) provided by the Game Aggregator's system for each API request.
username*
String
The username of the user in the Operator's system.
transactionId*
String
A unique Id that identifies this transaction.
betId*
String
A unique Id that identifies this bet request transaction
externalTransactionId*
String
An external transaction Id provided by Game Vendors.
amount*
Decimal
Amount of the bet transaction
currency*
String
ISO-4217 currency code representing the currency used for this transaction.
token*
String
User's session token generated by Game Aggregator.
gameCode*
String
A unique game identifier in Game Aggregator system.
roundId*
String
Game round Id for grouping all bets and wins in a single round.
timestamp
Number
Unix timestamp of this transaction in milliseconds.
A bet transaction request to add and/or deduct funds from the user balance.
POST
https://<operator_site>/wallet/bet_result
Called by the Game Aggregator when the user performs a bet or receives a bet result.
The Operator is expected to update the user's wallet balance based on the resultType
and return the final balance.
Important: This API call is idempotent, multiple calls with the same transactionId
should not be processed again and return the latest balance of the user (SC_OK) if the Operator has successfully processed the transaction before.
Headers
Content-Type*
String
application/json
X-Signature*
String
A digital signature generated using HMAC-SHA256 algorithm signed using the operator's API secret key on the request body.
Request Body
traceId*
String
A Universally Unique Identifier (UUID) provided by the Game Aggregator's system for each API request.
username*
String
The username of the user in the Operator's system.
transactionId*
String
A unique Id that identifies this transaction.
betId*
String
A unique Id that identifies this bet request transaction
externalTransactionId*
String
An external transaction Id provided by Game Vendors.
roundId*
String
Game round Id for grouping all bets and wins in a single round.
betAmount*
Decimal
Amount of the bet transaction.
winAmount*
Decimal
Amount of the win, Operator is expected to add winAmount
to user's wallet when the winAmount
is more than 0.
effectiveTurnover*
Decimal
Amount of the effective turnover
winLoss*
Decimal
Amount of the absolute Win or Loss
jackpotAmount
Decimal
Amount of the Jackpot, Operator is expected to add jackpotAmount
to user's wallet when jackpotAmount
is more than 0.
resultType*
String
The type of transaction process
1) "WIN" - (Player wins a bet)
2) "BET_WIN" - (Player places a bet and win)
3) "BET_LOSE" - (Player places a bet and lose)
4) "LOSE" - (Player loses a bet)
5) "END" - (To notify Operator that the round has ended for a bet, no operation on wallet is required)
isFreespin*
Integer (0,1)
The status to indicate the bet is a free spin bet
isEndRound*
Integer (0,1)
The status to indicate the bet is completed
currency*
String
ISO-4217 currency code representing the currency used for this transaction.
token*
String
User's session token generated by Game Aggregator.
gameCode*
String
A unique game identifier in Game Aggregator system.
betTime*
Number
The initial request Unix timestamp of this transaction in milliseconds.
settledTime
Number
The bet settlement Unix timestamp of this transaction in milliseconds.
A rollback action on a bet transaction
POST
https://<operator_site>/wallet/rollback
Called by the Game Aggregator to reverse a previous bet transaction.
The Operator is expected to find the previous bet transaction based on the given betId
to roll back its effect (credit/debit) to the user balance and return the latest balance.
Important: This API call is idempotent, multiple calls with the same transactionId
should not be processed again and return the latest balance of the user (SC_OK) if the Operator has successfully processed the transaction before.
Headers
Content-Type*
String
application/json
X-Signature*
String
A digital signature generated using HMAC-SHA256 algorithm signed using the operator's API secret key on the request body.
Request Body
traceId*
String
A Universally Unique Identifier (UUID) provided by the Game Aggregator's system for each API request.
transactionId*
String
A unique Id that identifies this transaction.
betId*
String
A bet transaction Id to roll back its affected (credit/debit) to the user balance.
externalTransactionId*
String
An external transaction Id provided by Game Vendors.
roundId*
String
Game round Id for grouping all bets and wins in a single round.
gameCode*
String
A unique game identifier in Game Aggregator system.
username*
String
The username of the user in the Operator's system.
currency*
String
ISO-4217 currency code representing the currency used for this transaction.
timestamp
Number
Unix timestamp of this transaction in milliseconds.
An adjustment on the win amount of a game round.
POST
https://<operator_site>/wallet/adjustment
Called by the Game Aggregator to adjust a previous round of the bet transaction win/loss result. The Operator is expected to add or deduct the given amount on the user's wallet and returns the latest balance.
This API only applies to Live and Sport game categories.
Important: This API call is idempotent, multiple calls with the same transactionId
should not be processed again and return the latest balance of the user (SC_OK) if the Operator has successfully processed the transaction before.
Headers
Content-Type*
String
application/json
X-Signature*
String
A digital signature generated using HMAC-SHA256 algorithm signed using the operator's API secret key on the request body.
Request Body
traceId*
String
A Universally Unique Identifier (UUID) provided by the Game Aggregator's system for each API request.
username*
String
The username of the user in the Operator's system.
transactionId*
String
A unique Id that identifies this transaction.
externalTransactionId*
String
An external transaction Id provided by Game Vendors.
roundId*
String
Game round Id for the previous transaction to be adjusted
amount*
Decimal
Amount to be adjusted for this transaction
1) positive (add balance)
2) negative (deduct balance)
currency*
String
ISO-4217 currency code representing the currency used for this transaction.
gameCode*
String
A unique game identifier in Game Aggregator system.
timestamp
Number
Unix timestamp of this transaction in milliseconds.
Transactions API
Returns the list of transactions by a specific time period.
POST
https://<oneapi_site>/transaction/list
The game operator will get a list of transaction history by searching the transaction bet time
Bet Status definition:
0 = Unsettled Bet
1 = Settled Bet
2 = Cancelled Bet
3 = Refunded Bet
Headers
Content-Type*
String
application/json
X-API-Key*
String
Operator's API key
X-Signature*
String
A digital signature generated using HMAC-SHA256 algorithm signed using the operator's API secret key on the request body.
Request Body
traceId*
String
A Universally Unique Identifier (UUID) generated by the Operator's system for each API request.
fromTime*
Long
The timestamp to retrieve transactions from.
toTime*
Long
To retrieve transactions up to this timestamp.
pageNo*
Integer
Page number.
pageSize
Integer
Page size. Default: 2000, Max: 5000
Returns the detail transaction info for a specific bet transaction
POST
https://<oneapi_site>transaction/detail
The game operator will get a single transaction history detail by searching the transactionId with/without the bet history detail url provided by Game Vendor
Bet Status definition:
0 = Unsettled Bet
1 = Settled Bet
2 = Cancelled Bet
3 = Refunded Bet
Headers
Content-Type*
String
application/json
X-API-Key*
String
Operator's API key
X-Signature*
String
A digital signature generated using HMAC-SHA256 algorithm signed using the operator's API secret key on the request body.
Request Body
traceId*
String
A Universally Unique Identifier (UUID) generated by the Operator's system for each API request.
betId*
String
The unique Id that identifies this bet request transaction
displayLanguage
String
The language code for localised Game Vendor bet detail Url translation
Last updated