NAV
json

Introduction

AMB SuperAPI is designed around RESTFUL API. Our API is made for everyone to be able to read and predictable oriented URLs.The AMB SuperAPI allows you to integrate with the various game providers around the world without handling every risk during the integration of the game provider by yourself and super simple to use..

After Start

When you request the API endpoint these need to use a valid API Key. You can get your API key from the AMB SuperAPI Agent Profile Page

Authentication

An API Key is required to be sent as a part of every request, In the form of Basic Authentication in the request header,

such as Authorization: Basic abcdefghijklmnop

So, The abcdefghijklmnop it comes from Base64-encoded of string agent_username:x-api-key.

that means the username of basic auth is an agent_username and the password is an x-api-key

If you do not have an API Key, you can easily generate one by heading over to the AMB SuperAPI Agent Profile Page

image

API Key related error response

If an API Key is missing, malformed, or invalid, you will receive a 403 Unauthorised response code and the following JSON response:

API Referance

Category Lists

Value Description
EGAMES Games Slot
LIVECASINO Live Casino
SPORT Sportbook
POKER Poker
TRADING Trading

Product Lists

Games Slot

Product ID Product Name Description Seamless Transfer
PGSOFT2 PG Soft PG Soft -
PGSOFT Pg Soft
(For seamless wallet, please move to PGSOFT2)
PG Soft -
SLOTXO Slotxo Slotxo
JOKER Joker123 Joker123
ASKMEBET Askmebet Askmebet
HABANERO Habanero Habanero
SPADE Spade Gaming Spade Gaming
MICRO Micro Gaming (Slot) Micro Gaming (Slot)
SIMPLEPLAY Simple Play Simple Play
LIVE22 Live22 Live22
EVOPLAY Evoplay Evoplay
CQ9 CQ9 (Slot) CQ9 (Slot)
KAGAME KA Gaming KA Gaming -
MANNA Mannaplay Mannaplay
FUNKY Funky Games Funky Games -
YGGDRASIL Yggdrasil Gaming Yggdrasil Gaming -
UPG UPG Slot UPG Slot -
ROYAL Royal Slot Gaming Royal Slot Gaming
AMEBA Ameba Ameba -
ASKMESLOT Askmeslot Askmeslot -
NETENT Netent Netent -
REDTIGER Red Tiger Red Tiger -
DRAGONGAMING Dragon Gaming Dragon Gaming -
ACE333 Ace333 Ace333 -
I8 I8 I8 -
WMSLOT WMSlot Wmslot -
NINJA Ninja slot Ninja slot -
918KISS 918Kiss 918Kiss -
ASKMEPLAY Askmeplay Askmeplay -
PRAGMATIC_SLOT Pragmatic Play (Slot) Pragmatic Play (Slot)
RELAX Relax Gaming Relax Gaming -
759GAMING 759 Gaming 759 Gaming -
NOLIMIT Nolimit city Nolimit city -
HACKSAW Hacksaw Hacksaw -
ADVANT Advant Play Advant Play -
NEXTSPIN Nextspin Nextspin -
GOLDY Goldy Goldy -
WAZDAN Wazdan Wazdan -
BOOONGO Booongo Booongo -
FUNTA Funta Funta -
BOOMING Booming Booming -
GIOCO Gioco Plus Gioco Plus -
SEXY_SLOT Sexy Slot Sexy Slot -
RICH88 Rich88 Rich88 -
PLAYNGO Play'n Go Play'n Go -
AMBGAMING AmbGaming AmbGaming -
FACHAI Fachai Fachai -
AFB1188_SLOT AFB1188 (Slot) AFB1188 (Slot) -
YGR Ygr Ygr -
OCTOPLAY Octoplay Octoplay -
RTGSLOT Real Time Gaming Real Time Gaming -
5G_GAMES 5G Games 5G Games -
DRAGONGAMING Dragon Gaming Dragon Gaming -
UMBET UM Bet UM Bet -

Live Casino

Product ID Product Name Description Seamless Transfer
SEXY Sexy Gaming Sexy Gaming
BIGGAME Big Gaming Big Gaming
DREAM Dream Gaming Dream Gaming
WM WM Casino WM Casino -
BETGAME BetgamesTV BetgamesTV -
ALLBET AllBet AllBet
AGGAME Asia Gaming AG Asia Gaming AG -
PRETTY Pretty Gaming Pretty Gaming
SAGAME SA Gaming SA Gaming
PRAGMATIC_LIVECASINO Pragmatic Play (Live Casino) Pragmatic Play (Live Casino)
CQ9_LIVECASINO Motivation Motivation -
WECASINO WE Casino WE Casino -
MICRO_LIVECASINO Micro Gaming (Live Casino) Micro Gaming (Live Casino) -
YEEBET Yeebet Yeebet -
AFB1188_LIVECASINO AFB1188 (Live Casino) AFB1188 (Live Casino) -

Sportbook

Product ID Product Name Description Seamless Transfer
MSPORT M-Sport M-Sport -
SBO Sbobet Sbobet -
COCKFIGHT Cockfight Cockfight -
AMBSPORTBOOK AMB sportbook AMB sportbook -
SABASPORTS Saba Sport Saba Sport -
PARLAYBAY parlaybay parlaybay -
LALIKA Lalika Lalika -
AFB1188 AFB1188 AFB1188 -
VIRTUAL_SPORT Virtual Sportbook Virtual Sportbook -

Game Card

Product ID Product Name Description Seamless Transfer
KINGPOKER Kingpoker Kingpoker -
KINGMAKER King Maker King Maker -
AMBPOKER Ambpoker Ambpoker
MIKIWORLD Miki Worlds Miki Worlds -

Laguange Lists

Value Description
en English
th Thai
zh Simplified Chinese
id Bahasa Indonesia
ja Japanese
ko Korean
ms Malaysian
my Burmese
vi Vietnamese

Supported currencies

Currency Description
THB Thai Baht
MMK Myanmar Kyat
CNY Chinese Yuan
EUR Euro
GBP Pound sterling
IDR Indonesian Rupiah
INR Indian Rupee
JPY Japanese Yen
KHR Cambodian Riel
KRW South Korean won
LAK Laotian Kip
PHP Philippine Peso
USD US Dollar
VND Vietnamese Dong
AUD Australian Dollar
TWD New Taiwan Dollar

API - Transfer

Overview

Let's play

  1. First, Create a member/gambler on the product that you want in the above Product List
  2. Deposit some credit to member for playing the game
  3. Login and get a URL to play the game and turn into a millionire
  4. Withdraw

List Games GET

This api is use get game lists. Use field code to login in field gameCode

JSON response example:

{
  "reqId": "fa3c2578-1328-494b-aa65-b007ab0dcf5d",
  "code": 0,
  "message": "Success",
  "data": {
    "games": [
      {
        "name": "Roulette",
        "category": "LIVECASINO",
        "type": "ROULETTE",
        "code": "MX-LIVE-009",
        "img": "https://superapi-products.s3-ap-southeast-1.amazonaws.com/SEXY/1623865160196_591833.png",
        "rank": 0,
        "providerCode": "0"
      },
      {
        "name": "SicBo",
        "category": "LIVECASINO",
        "type": "SICBO",
        "code": "MX-LIVE-007",
        "img": "https://superapi-products.s3-ap-southeast-1.amazonaws.com/SEXY/1623865171298_689823.png",
        "rank": 1,
        "providerCode": "1"
      },
      {
        "name": "DragonTiger",
        "category": "LIVECASINO",
        "type": "DRAGONTIGER",
        "code": "MX-LIVE-006",
        "img": "https://superapi-products.s3-ap-southeast-1.amazonaws.com/SEXY/1623865186531_813952.png",
        "rank": 2,
        "providerCode": "2"
      },
      {
        "name": "Baccarat Classic",
        "category": "LIVECASINO",
        "type": "BACCARAT",
        "code": "MX-LIVE-001",
        "img": "https://superapi-products.s3-ap-southeast-1.amazonaws.com/SEXY/1623865198433_527612.png",
        "rank": 3,
        "providerCode": "3"
      },
      {
        "name": "Baccarat Insurance",
        "category": "LIVECASINO",
        "type": "BACCARAT",
        "code": "MX-LIVE-003",
        "img": "https://superapi-products.s3-ap-southeast-1.amazonaws.com/SEXY/1623865227459_588976.png",
        "rank": 4,
        "providerCode": "4"
      }
    ]
  }
}

HTTP Request

GET {{ API_URL }}/games?productId={{ productId }}

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Parameter Description

Property Type Required Description
productId string Required Product ID (Ref. Product List) (Example : SEXY)

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data GameData Required Game list data

Game Data

Property Type Required Description
games Game[] Required List of games

Game

Property Type Required Description
name string Required Game name
category string Required Game category (use as filter in report page)
type string Required Game type
code string Required Game code (login parameter)
img string Required Image url
rank number Required Game index
providerCode string Optional Game Code of Provider

Create Member POST

This api is use for create member.

Request Body

{
  "username": "test00001",
  "productId": "PRETTY"
}

JSON response example:

{
  "reqId": "f5987096-43bc-4b39-b589-5ee470c11eb8",
  "code": 0,
  "message": "Success",
  "data": {
    "username": "test00001",
    "currency": "THB",
    "status": "SUCCESS"
  }
}

HTTP Request

POST {{ API_URL }}/member

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Parameter Description

Create a Member also know as Gambler in whatever product

Property Type Required Description
username string Required Member username
productId string Required Product ID (Ref. Product List) (Example : SEXY)

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data CreateMemberData Required Member data

Create Member Data

Property Type Required Description
username string Required Username
currency string Required ISO 4217 currency code
status string Required Response status

Get Balance GET

This api is use for get money of member.

JSON response example:

{
  "reqId": "4a597d2c-1ac8-413b-aaa7-a673b4939494",
  "code": 0,
  "message": "Success",
  "data": {
    "balance": "10000",
    "status": "SUCCESS",
    "username": "test00001"
  }
}

HTTP Request

GET {{ API_URL }}/balance?username={{ username }}&productId={{ productId }}

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Parameter Description

Property Type Required Description
username string Required Member username
productId string Required Product ID (Ref. Product List) (Example : SEXY)

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data GetBalanceData Required Get balance data

Get Balance Data

Property Type Required Description
username string Required Username
balance string Required Current balance on each productId
status string Required Response status

Deposit POST

This api is use for deposit money of member.

Request Body

{
  "username": "test00001",
  "amount": "10.10",
  "transactionRef": "test00001lhhh1629781123",
  "productId": "PRETTY"
}

JSON response example:

{
  "reqId": "f09ac2e9-29ba-4ea2-a702-4b557b1247ad",
  "code": 0,
  "message": "Success",
  "data": {
    "status": "SUCCESS",
    "amount": "10.1",
    "balance": "10010.1",
    "txId": "test00001lhhh1629781123",
    "username": "test00001",
    "beforeBalance": "10000.00"
  }
}

HTTP Request

POST {{ API_URL }}/deposit

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Parameter Description

Property Type Required Description
username string Required Member username
amount Decimal Required Amount to deposit (2 digits)
transactionRef string Required Unique transaction ref
productId string Required Product ID (Ref. Product List) (Example : SEXY)

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data DepositData Required Deposit data

Deposit Data

Property Type Required Description
username string Required Username
amount Decimal Required Deposit amount
beforeBalance Decimal Required Balance on each productId before deposit
balance Decimal Required Balance on each productId after deposit
txId string Required Unique transaction ref drawn from the request
status string Required Response status

Withdraw POST

This api is use for withdraw money of member.

Request Body

{
  "username": "test00001",
  "amount": "100.25",
  "transactionRef": "test00001rxqd1629781421",
  "productId": "SEXY"
}

JSON response example:

{
  "reqId": "c16510ed-6462-414a-9cc5-f380848723a0",
  "code": 0,
  "message": "Success",
  "data": {
    "status": "SUCCESS",
    "amount": "100.25",
    "balance": "10010.1",
    "txId": "test00001rxqd1629781421",
    "username": "test00001",
    "beforeBalance": "9909.85"
  }
}

HTTP Request

POST {{ API_URL }}/withdraw

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Parameter Description

Property Type Required Description
username string Required Member username
amount Decimal Required Amount to deposit 2 digits
transactionRef string Required Unique transaction ref
productId string Required Product ID (Ref. Product List) (Example : SEXY)

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data WithdrawData Required Withdraw data

Withdraw Data

Property Type Required Description
username string Required Username
amount string Required Withdrawal amount
beforeBalance string Required Balance on each productId before withdrawal
balance string Required Balance on each productId after withdrawal
txId string Required Unique transaction ref drawn from the request
status string Required Response status

Verify Deposit Withdraw POST

This api is verify transaction of deposit or withdraw to successfully or fail.

Request Body

{
  "username": "test00001",
  "transactionRef": "test00001rxqd1629781421",
  "productId": "SEXY",
  "type": "DEPOSIT"
}

JSON response example (Success):

{
  "reqId": "c16510ed-6462-414a-9cc5-f380848723a0",
  "code": 0,
  "message": "Success",
  "data": {
    "success": true,
    "username": "test00001",
    "productId": "SEXY",
    "currency": "THB",
    "transactionRef": "test00001rxqd1629781421",
    "amount": "100.00",
    "beforeBalance": "0.00",
    "afterBalance": "100.00"
  }
}

HTTP Request

POST {{ API_URL }}/verifyDepositWithdraw

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Parameter Description

Property Type Required Description
username string Required Member username
transactionRef string Required Unique transaction ref
productId string Required Product ID (Ref. Product List) (Example : SEXY)
type string Required Either DEPOSIT or WITHDRAW

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data VerifyDepositWithdrawData Required Verify deposit/withdraw data

Verify Deposit Withdraw Data

Property Type Required Description
success boolean Required Indicate whether the transaction was successful or not
true: transaction has success
false: Transaction has fail
username string Required Username
productId string Required Product associated with the transaction
currency string Required Currency associated with the transaction
transactionRef string Required Unique transaction ref
amount string Required Deposit or withdrawal amount
beforeBalance string Required Balance on before deposit or withdrawal
afterBalance string Required Balance on after deposit or withdrawal

Login POST

This api is use for enter to the game.

Request Body

{
  "username": "test00001",
  "productId": "SEXY",
  "gameCode": "MX-LIVE-001",
  "isMobileLogin": false
}

JSON response example:

{
  "reqId": "7c4d1ed5-b036-4bcf-a534-9236970678c8",
  "code": 0,
  "message": "Success",
  "data": {
    "url": "https://ttt.onlinegames22.com/player/login/apiLogin0?userId=000166xgz&agentId=superapitest&tokenId=yMrZlUH4vLLItmM10dZARVAwAkRWqBIIpMxZXnUGXwswnKRM-Zw_X19NBuSEfmYq&isMobileLogin=false&isShowSymbol=true&currencySymbol=&isApp=false&gameCode=MX-LIVE-001&platform=SEXYBCRT&gameType=LIVE&isLaunchGame=true&language=&isNewGameHall=false",
    "username": "test00001"
  }
}

HTTP Request

POST {{ API_URL }}/logIn

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Parameter Description

Property Type Required Description
username string Required Member username
productId string Required Product ID (Ref. Product List) (Example : SEXY)
gameCode string Required Game code of product (Example : BAC)
isMobileLogin boolean Required Mobile Mode (Example : true)
language string Optional Language Code default th Language List (Example : th)
betLimit BetLimits Optional Player's bet limits
limit number See more Optional Player common bet limit format

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data LoginData Required Login data

Login Data

Property Type Required Description
username string Required Username
url string Required Game url

Get BetLimits GET

GET Optional Get bet limit (Live casino only).
Now support only: SEXY, PRETTY (Other products coming soon)

JSON response example:

{
  "reqId": "395e9c4d-be1f-403d-b58a-e3e1ce4b7250",
  "code": 0,
  "message": "Success",
  "data": [
    {
      "productId": "SEXY",
      "BetLimit": [
        {
          "limit": 1,
          "Min": 5,
          "Max": 2000
        },
        {
          "limit": 2,
          "Min": 50,
          "Max": 5000
        },
        {
          "limit": 3,
          "Min": 100,
          "Max": 20000
        }
      ]
    }
  ]
}

HTTP Request

GET {{ API_URL }}/betLimitsV2?productId={{ productId }}&username={{ username }}&currency={{ currency }}

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Parameter Description

Property Type Required Description
username string Required Member username
productId string Required Product ID (Ref. Product List) (Example : SEXY)
currency string Required ISO 4217 currency code

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data BetLimits[] Required List of bet limits

Bet limits response

Property Type Required Description
productId string Required Product ID (Ex. PRETTY, SEXY, etc)
BetLimit LimitData[] Required Either betLimit or winLimit

Limit data

Property Type Required Description
limit number Required Limit parameter, use this value to set in limit parameter when call /logIn.
Max number Required Maximum wager for player.
Min number Required Minimum wager for player.

Query Outstanding GET

This api is check transactions to be outstanding.

JSON response example:

{
  "reqId": "a784a34b-1e67-4102-bf66-deb068f6dd02",
  "code": 0,
  "message": "Success",
  "data": [
    {
      "productId": "SLOTXO",
      "outstanding": 3000
    }
  ]
}

HTTP Request

GET {{ API_URL }}/outstanding?username={{ username }}

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Parameter Description

Property Type Required Description
username string Required Member username

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data Outstanding[] Required List of current outstanding

Outstanding

Property Type Required Description
productId string Required Product ID (Ref. Product List) (Example : SLOTXO)
outstanding number Required Unfinished bet amount
txns SportTransaction[] Optional Pending sport transactions

Sport Transaction

Property Type Required Description
id string Required Transacion ID (Example : PAR5659622569)
stake string Required Total stake of the ticket (Example : 10.00)
odds number Required Total odds of the ticket (Example : 4.515)
subTxns SportSubTransaction[] Required Sub transactions of the ticket

Sport Subtransaction

Property Type Required Description
id string Required Transacion ID (Example : 182719729)
odds number Required Transacion odds (Example : 1.71)
side string Required Choosen side
matchDateTime string Required Match start time (Example : 2022-09-28T23:00:00.000+00:00)
leaguename string Required League name (Example : FINLAND VEIKKAUSLIIGA (PLAY OFF))
hometeam string Required Home team name (Example : Inter Turku)
awayteam string Required Away team name (Example : Haka)
result string Required Match result
score string Required Match score (Example : '','0-0')

Sport Side

Value Description
1 Home/Over/Odd
2 Away/Under/Even
X Draw

Sport Result

Value
Match not over
Win all
Lost all
Win half
Lost half
Draw
Unknown

Query Bet Records GET

JSON response example:

{
  "reqId": "afd71177-960f-4669-90ed-8a34eed3d7d3",
  "code": 0,
  "message": "Success",
  "data": {
    "nextId": "613af94ce2d30c10be22dc6b",
    "txns": [
      {
        "id": "613af94ce2d30c10be22dc06",
        "betId": "21352670",
        "username": "tor0002",
        "currency": "THB",
        "accountingDate": "2021-09-10T06:20:06.000+00:00",
        "updatedDate": "2021-09-10T06:20:06.000+00:00",
        "stake": 40,
        "payout": 30,
        "productId": "SIMPLEPLAY",
        "gameCode": "EG-SLOT-A044",
        "gameName": "Bomber Squad",
        "roundId": "4500052193296",
        "betStatus": "SETTLED",
        "payoutStatus": "LOSE",
        "commission": 0
      },
      {
        "id": "613af94ce2d30c10be22dc34",
        "betId": "21352676",
        "username": "tor0002",
        "currency": "THB",
        "accountingDate": "2021-09-10T06:20:20.000+00:00",
        "updatedDate": "2021-09-10T06:20:20.000+00:00",
        "stake": 40,
        "payout": 15,
        "productId": "SIMPLEPLAY",
        "gameCode": "EG-SLOT-A044",
        "gameName": "Bomber Squad",
        "roundId": "4500085747728",
        "betStatus": "SETTLED",
        "payoutStatus": "LOSE",
        "commission": 0
      }
    ]
  }
}

GET {{ API_URL }}/betTransactionsV2?productId={{ productId }}&date={{ date }}&nextId={{ nextId }} Note: there's a high chance of request timeout when using this variant. If there's a request timeout, please consider querying by range instead.

or

GET {{ API_URL }}/betTransactionsV2?productId={{ productId }}&startTime={{ startTime }}&endTime={{ endTime }}&nextId={{ nextId }} Note: query range should not be greater than 1 hour. If there's a request timeout, please reduce query range.

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Parameter Description

Property Type Required Description
productId string Required Product ID (Ref. Product List) (Example : SEXY)
date string Optional Date in format yyyy-MM-dd
startTime string Optional Date-time in ISO 8601 format eg 2013-07-16T19:23:51Z
endTime string Optional Date-time in ISO 8601 format eg 2013-07-16T19:23:51Z
nextId string Optional Taken from previous chunk response, indicating the start of requesting chunk

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data QueryBetDataV2 Required Query bet data

Query Bet Data

Property Type Required Description
nextId string Optional Id indicating the start of next chunk. (If not present it means there's no next chunk.)
txns Txn[] Required Transactions list.

Txn

Property Type Required Description
id string Required Transaction id
betId string Required Unique bet id on each user
username string Required Username
currency string Required ISO 4217 currency code
accountingDate string Required Settlement time
updatedDate string Required Latest update time
stake number Required Stake amount
payout number Required Payout amount (including stake)
productId string Required Product id
gameCode string Required Game code
gameName string Required Game name
roundId string Required Round id
betStatus string Required Bet status (OPEN, SETTLED, UNSETTLED, VOID)
payoutStatus string Required Payout status (LOSE, WIN, DRAW, UNKNOWN)
commission number Required Commission fee

Query Transfer Bet-records GET

JSON response example:

{
  "reqId": "afd71177-960f-4669-90ed-8a34eed3d7d3",
  "code": 0,
  "message": "Success",
  "data": {
    "txns": [
      {
        "id": "613af94ce2d30c10be22dc06",
        "betId": "21352670",
        "username": "tor0002",
        "currency": "THB",
        "accountingDate": "2021-09-10T06:20:06.000+00:00",
        "updatedDate": "2021-09-10T06:20:06.000+00:00",
        "stake": 40,
        "payout": 30,
        "productId": "SIMPLEPLAY",
        "gameCode": "EG-SLOT-A044",
        "gameName": "Bomber Squad",
        "roundId": "4500052193296",
        "betStatus": "SETTLED",
        "payoutStatus": "LOSE",
        "commission": 0
      },
      {
        "id": "613af94ce2d30c10be22dc34",
        "betId": "21352676",
        "username": "tor0002",
        "currency": "THB",
        "accountingDate": "2021-09-10T06:20:20.000+00:00",
        "updatedDate": "2021-09-10T06:20:20.000+00:00",
        "stake": 40,
        "payout": 15,
        "productId": "SIMPLEPLAY",
        "gameCode": "EG-SLOT-A044",
        "gameName": "Bomber Squad",
        "roundId": "4500085747728",
        "betStatus": "SETTLED",
        "payoutStatus": "LOSE",
        "commission": 0
      }
    ]
  }
}

GET {{ API_URL }}/betTransactionsTransfer?productId={{ productId }}&startTime={{ startTime }}&endTime={{ endTime }}

Note: This API support only transfer-wallet integration and data will be available after November 21, 2024 05:00:00.000 UTC

Due to issue about fetch huge data take a long time, so we implemented the new API to resolve the problem.

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Parameter Description

Property Type Required Description
productId string Required Product ID (Ref. Product List) (Example : SEXY)
startTime string Required Date-time in ISO 8601 format eg 2013-07-16T19:23:51Z
endTime string Required Date-time in ISO 8601 format eg 2013-07-16T19:23:51Z

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data QueryBetDataV2 Required Query bet data

Query Bet Data

Property Type Required Description
txns Txn[] Required Transactions list

Txn

Property Type Required Description
id string Required Transaction id
betId string Required Unique bet id on each user
username string Required Username
currency string Required ISO 4217 currency code
accountingDate string Required Settlement time
updatedDate string Required Latest update time
stake number Required Stake amount
payout number Required Payout amount (including stake)
productId string Required Product id
gameCode string Required Game code
gameName string Required Game name
roundId string Required Round id
betStatus string Required Bet status (OPEN, SETTLED, UNSETTLED, VOID)
payoutStatus string Required Payout status (LOSE, WIN, DRAW, UNKNOWN)
commission number Required Commission fee

Query Replay GET

JSON response example:

{
  "reqId": "7ba79e9c-ebaf-4f06-bd73-d8648ec7f8d3",
  "code": 0,
  "message": "Success",
  "data": {
    "url": "https://ttt.worldcdn-mega.com/page/wallet/replay.jsp?platform=SEXYBCRT&gameType=LIVE&roundId=Mexico-705-GA25440063&path=https%3A%2F%2Fbfsiz6.bikimex.net%2Ftoken%2Fresult%2Freplay.jsp%3Ftoken%3D4i9oFD7dThHHWUNgOxt4BdyvpOsmfZg3vdQmJ0yvDxAYJsQHk%252BABwgJF1rezSA6dnjOsNoqMf9LA3G%252FEMkXUsWQmedAoq7iLO%252F1yrsQbTd%252Fntj4j8ZM2Sk8CHB0u8ME4sHewbWzt5C4D281OlohjBw%253D%253D%26lang%3Den%26reverseBPColor%3Dfalse"
  }
}

GET {{ API_URL }}/betTransactionReplay?productId={{ productId }}&username={{ username }}&betId={{ betId }}

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Parameter Description

Property Type Required Description
productId string Required Product ID (Ref. Product List) (Example : SEXY)
betId string Required Bet ID
username string Required Member username

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data QueryReplay Required Query replay data

Query Replay

Property Type Required Description
url string Required Replay url
urls Array Optional Replay url for sub detail ProductSupport

Product For Support

ProductId Description
SPADE Spade gaming

Set Member Password POST

Request Body

{
  "username": "u12345",
  "productId": "SLOTXO",
  "password": "testp1234"
}

JSON response example:

{
  "reqId": "0ffe1434-c931-4ea8-a430-c7fac8bf5a96",
  "code": 0,
  "message": "Success",
  "data": {
    "applicationUsername": "TFPF.000ful499"
  }
}

HTTP Request

POST {{ API_URL }}/setPassword

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Parameter Description

Property Type Required Description
username string Required Member username
productId string Required Product ID of SLOTXO Slotxo only
password string Required password

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data SetPasswordData Required Set password data

Set Password Data

Property Type Required Description
applicationUsername string Required App login username

Get Member Alias GET

JSON response example:

{
  "reqId": "44b308ec-4235-4c47-82e6-8d370dbf1fc9",
  "code": 0,
  "message": "Success",
  "data": {
    "memberAlias": "TFPF.000ful499"
  }
}

HTTP Request

GET {{ API_URL }}/member/{{ username }}/alias?productId={{ productId }}

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Parameter Description

Property Type Required Description
username string Required Member username
productId string Required Product ID of SLOTXO Slotxo only

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data GetAlias Required Get alias data

Get Alias Data

Property Type Required Description
memberAlias string Required App login username

Error message transfer

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data ErrorMessage Required Error message

Error message

Code Response status
0 Success
10 Unauthorized
12 This user is reserved as a special username for system, please choose other name
13 Create user failed or duplicate user, please choose other name
20 Invalid request payload
21 Require sessionToken
22 Invalid betLimit
23 Invalid betLimit size
40 Not found
800 Error from cache, please wait before try again
900 Upstream error
901 Request product error
910 Downstream error
950 Http request error
960 Error decoding
403 Game code did not support
413 SessionToken size should not exceed 20 characters
1000 Error, please try again later
1001 Invalid account setting, please contact admin
1002 Currency did not support for this operator
3000 Get Balance failed
4000 Deposit Failed
4001 Transaction has duplicate
4002 Deposit Invalid Amount
5003 Not enough credit
5000 Withdraw Failed
5001 Transaction has duplicate
5002 Withdraw Invalid Amount
5004 Transaction not found
9001 Invalid productID
9002 Member not found
9004 Unauthorized ProductID

API - Seamless

Overview

Let's play

  1. First, Create a member/gambler on the product that you want in the above Product List
  2. Login and get a URL to play the game and turn into a millionire

List Games GET

This api is use for get game lists. Please use field code to login in field gameCode

JSON response example:

{
  "reqId": "91ffb817-1f8e-4608-a86d-472dddc2eed7",
  "code": 0,
  "message": "Success",
  "data": {
    "games": [
      {
        "name": "games",
        "category": "EGAMES",
        "type": "SLOT",
        "code": "games",
        "img": "https://img",
        "rank": 1,
        "providerCode": "1"
      }
    ]
  }
}

HTTP Request

GET {{ API_URL }}/seamless/games?productId={{ productId }}

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Parameter Description

Property Type Required Description
productId string Required Product ID (Ref. Product List) (Example : SEXY)

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data GameData Required Query games data

Query Games Data

Property Type Required Description
name string Optional Game Name
category string Required Game Category
type string Required Game Type
code string Required Game Id
img string Required Game Image
rank number Required Rank of game
providerCode string Optional Game Code of Provider

List Freegames GET

This api is use for get free game lists. Please use field code to login in field gameCode

JSON response example:

{
  "reqId": "91ffb817-1f8e-4608-a86d-472dddc2eed7",
  "code": 0,
  "message": "Success",
  "data": {
    "games": [
      {
        "name": "games",
        "category": "EGAMES",
        "type": "SLOT",
        "code": "games",
        "img": "https://img",
        "rank": 1,
        "providerCode": "1"
      }
    ]
  }
}

HTTP Request

GET {{ API_URL }}/seamless/freeGameList?productId={{ productId }}

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Parameter Description

Property Type Required Description
productId string Required Product ID (Ref. Product List) (Example : PGSOFT2)

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data GameData Required Query games data

Query Games Data

Property Type Required Description
name string Optional Game Name
category string Required Game Category
type string Required Game Type
code string Required Game Id
img string Required Game Image
rank number Required Rank of game
providerCode string Optional Game Code of Provider

Login POST

This api is use for enter to the game.

Request Body

{
  "username": "test00001",
  "productId": "PRETTY",
  "gameCode": "BAC",
  "isMobileLogin": true,
  "limit": 1
  "sessionToken": "d4be70d1-349f-4fc1-a955-35d2a4bff244",
  "betLimit": []
}

JSON response example:

{
  "reqId": "5557191a-4421-4753-a757-8ca7b45828dc",
  "code": 0,
  "message": "Success",
  "data": {
    "url": "https://test.ambsuperapi.com/seamless/directLogin?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkGOsdNc5bUOJGom4CsnBbR3JC6lHUZUMl9TRUFNTEVTUy9USEIiLCJ0eXBlIjoiUEdTT0ZUMiIsImNhbGxiYWNrVXJsIjoiaHR0cHM6Ly9hcmVhNTIuYW1ic3VwZXJhcGkuY29tL3Rlc3RTZWFtbGVzc0NvbW1vbiJ9XSwid2FsbGV0VHlwZSI6InNlYW1sZXNzIiwiY3VycmVuY3kiOiJUSEIifSwicmVxdWVzdElkIjoiMTQ5ODYzNzAtYTY3Zi00ZGY1LTk1MDUtZDA0YWY3YzliNWNiIiwiaWF0IjoxNzMwMjYxMzk4fQ.VEpqPoRwwm7SJP08gwlUTAjow-x2VuiiAbPOCap4kNc"
  }
}

HTTP Request

POST {{ API_URL }}/seamless/logIn

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Parameter Description

Property Type Required Description
username string Required Member username
productId string Required Product ID (Ref. Product List) (Example : SEXY)
gameCode string Required Game code of product (Example : BAC)
isMobileLogin boolean Required Mobile Mode (Example : true)
limit number Optional Player's bet limits Betlimit List
sessionToken string Required SessionToken generate by Operator. Note: In some products, provider didn't support the same token when player had login many times. So, please try to change the sessionToken regulary, if you found an error abnormally.
Note: Some products has a maximum length of sessionToken if you found some callback remove your sessionToken length or sent to your system with some part of your provided sessionToken, please try to reduce sessionToken length.
currency string Optional Login currency, please specify if you need to select the currency (Default value based on agent)
language string Optional Language Code default th Language List (Example : th)
callbackUrl string Optional Exit url, url that you need to redirect if player quit the game from Game GUI.
betLimit any[] Optional Values are depended on productId, please refer to each product in callbacks section for more details

Custom bet-limit config

Optional: If you need to custom bet-limit (mostly for Sport-type products), please following this setup parameters. Due to the complexity of setup parameters in some products, we have to separates the custom parameters for your login's parameters request.

The following products supports these custom setup:

Product name ProductID
AMB Sportbook AMBSPORTBOOK
Lalika LALIKA
AFB1188 Sport AFB1188
Saba Sport SABASPORTS

The description and example for each products:

Lalika

{
  "betLimit": [
    {
      "sport_type": 0,
      "market_type": 0,
      "min_bet": 5,
      "max_bet": 500,
      "max_bet_per_match": 100000
    }
  ]
}

Response parameter description

Property Type Required Description
sport_type number Required Sport type code.
market_type number Required Market type code.
min_bet number Required Minimum bet amount daily.
max_bet number Required Maximum bet amount daily.
max_bet_per_match number Required Maximum bet amount per match.

COMING SOON


Query Bet Records GET

JSON response example:

{
  "reqId": "afd71177-960f-4669-90ed-8a34eed3d7d3",
  "code": 0,
  "message": "Success",
  "data": {
    "nextId": "613af94ce2d30c10be22dc6b",
    "txns": [
      {
        "id": "613af94ce2d30c10be22dc06",
        "betId": "21352670",
        "username": "tor0002",
        "currency": "THB",
        "accountingDate": "2021-09-10T06:20:06.000+00:00",
        "updatedDate": "2021-09-10T06:20:06.000+00:00",
        "stake": 40,
        "payout": 30,
        "productId": "SIMPLEPLAY",
        "gameCode": "EG-SLOT-A044",
        "gameName": "Bomber Squad",
        "roundId": "4500052193296",
        "betStatus": "SETTLED",
        "payoutStatus": "LOSE"
      },
      {
        "id": "613af94ce2d30c10be22dc34",
        "betId": "21352676",
        "username": "tor0002",
        "currency": "THB",
        "accountingDate": "2021-09-10T06:20:20.000+00:00",
        "updatedDate": "2021-09-10T06:20:20.000+00:00",
        "stake": 40,
        "payout": 15,
        "productId": "SIMPLEPLAY",
        "gameCode": "EG-SLOT-A044",
        "gameName": "Bomber Squad",
        "roundId": "4500085747728",
        "betStatus": "SETTLED",
        "payoutStatus": "LOSE"
      }
    ]
  }
}

GET {{ API_URL }}/seamless/betTransactionsV2?productId={{ productId }}&date={{ date }}&nextId={{ nextId }} Note: there's a high chance of request timeout when using this variant. If there's a request timeout, please consider querying by range instead.
or

GET {{ API_URL }}/seamless/betTransactionsV2?productId={{ productId }}&startTime={{ startTime }}&endTime={{ endTime }}&nextId={{ nextId }} Note: query range should not be greater than 1 hour. If there's a request timeout, please reduce query range.

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Parameter Description

Property Type Required Description
productId string Required Product ID (Ref. Product List) (Example : SEXY)
date string Optional Date in format yyyy-MM-dd
startTime string Optional Date-time in ISO 8601 format eg 2013-07-16T19:23:51Z
endTime string Optional Date-time in ISO 8601 format eg 2013-07-16T19:23:51Z
nextId string Optional Taken from previous chunk response, indicating the start of requesting chunk

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data QueryBetDataV2 Required Query bet data

Query Bet Data V2

Property Type Required Description
nextId string Optional Id indicating the start of next chunk (If not present it means there's no next chunk)
txns Txn[] Required Payout status (LOSE, WIN, DRAW, UNKNOWN)

Txn

Property Type Required Description
id string Required Transaction id
betId string Required Unique bet id on each user
username string Required Username
currency string Required ISO 4217 currency code
accountingDate string Required Settlement time
updatedDate string Required Latest update time
stake number Required Stake amount
payout number Required Payout amount (including stake)
productId string Required Product id
gameCode string Required Game code
gameName string Required Game name
roundId string Required Round id
betStatus string Required Bet status (OPEN, SETTLED, UNSETTLED, VOID)
payoutStatus string Required Payout status (LOSE, WIN, DRAW, UNKNOWN)

Query Replay POST

Important note: This API support only this common request Products. In the future, this will the main API to get replay bet-detail.

Request body:


{
  "productId":"PGSOFT2",
  "username":"testmocha00001",
  "dataGetBetDetail": {
    "betId":"1862415682197651968",
    "walletType":"seamless"
  }
}

JSON resposne example:

{
  "reqId": "7ba79e9c-ebaf-4f06-bd73-d8648ec7f8d3",
  "code": 0,
  "message": "Success",
  "data": {
    "url": "https://ttt.worldcdn-mega.com/page/wallet/replay.jsp?platform=SEXYBCRT&gameType=LIVE&roundId=Mexico-705-GA25440063&path=https%3A%2F%2Fbfsiz6.bikimex.net%2Ftoken%2Fresult%2Freplay.jsp%3Ftoken%3D4i9oFD7dThHHWUNgOxt4BdyvpOsmfZg3vdQmJ0yvDxAYJsQHk%252BABwgJF1rezSA6dnjOsNoqMf9LA3G%252FEMkXUsWQmedAoq7iLO%252F1yrsQbTd%252Fntj4j8ZM2Sk8CHB0u8ME4sHewbWzt5C4D281OlohjBw%253D%253D%26lang%3Den%26reverseBPColor%3Dfalse",
    "urls": ["https://xxx1", "https://xxx2", "https://xxx3"]
  }
}

HTTP Request

POST {{ API_URL }}/seamless/betReplay

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Parameter Description

Property Type Required Description
username string Required Member username
productId string Required Product ID (Ref. Products) Example : PGSOFT2)
dataGetBetDetail object Required Bet detail data please see below for more description

Data dataGetBetDetail

Property Type Required Description
betId string Required Bet ID
walletType string Required Wallet Type (seamless or transfer)
date string Optional ISO Time (You can skip this property if you don't know the exact date for this betId)
isJsonType boolean Optional Json Type, in case you need raw JSON for more custom Replay GUI (Now, support only SBO)

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data QueryReplay Required Query replay data

Query Replay GET

JSON response example:

{
  "reqId": "7ba79e9c-ebaf-4f06-bd73-d8648ec7f8d3",
  "code": 0,
  "message": "Success",
  "data": {
    "url": "https://ttt.worldcdn-mega.com/page/wallet/replay.jsp?platform=SEXYBCRT&gameType=LIVE&roundId=Mexico-705-GA25440063&path=https%3A%2F%2Fbfsiz6.bikimex.net%2Ftoken%2Fresult%2Freplay.jsp%3Ftoken%3D4i9oFD7dThHHWUNgOxt4BdyvpOsmfZg3vdQmJ0yvDxAYJsQHk%252BABwgJF1rezSA6dnjOsNoqMf9LA3G%252FEMkXUsWQmedAoq7iLO%252F1yrsQbTd%252Fntj4j8ZM2Sk8CHB0u8ME4sHewbWzt5C4D281OlohjBw%253D%253D%26lang%3Den%26reverseBPColor%3Dfalse"
  }
}

GET {{ API_URL }}/seamless/betTransactionReplay?productId={{ productId }}&username={{ username }}&betId={{ betId }}&parentBetId={{ parentBetId }}&gameCode={{ gameCode }}

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Parameter Description

Property Type Required Description
productId string Required Product ID (Ref. Product List) (Example : SEXY)
betId string Required Bet ID
username string Required Member username
parentBetId string Optional Parent bet ID, if productId: PGSOFT2 this field is required and you need to send roundId (in format xxxx-xxxx-106-0)
gameCode string Optional Parent bet ID, if productId: PGSOFT2 this field is required and you need to send gameCode (in format lucky-neko)

Response Description

Property Type Required Description
reqId string Required Unique reference for each request
code number Required Response status
message string Required Additional information on response status
data QueryReplay Required Query replay data

Query Replay

Property Type Required Description
url string Required Replay url

Note Products not have Replay

Product ID Product Name
SIMPLEPLAY Simple Play
AGGAME Asia Gaming AG
EVOPLAY Evoplay
ALLBET Allbet
REDTIGER Red Tiger
NETENT Netent
NOLIMIT Nolimit City
GOLDY Goldy

Get BetLimits GET

GET Optional Get bet limit (Live casino only).

JSON response example:

{
  "reqId": "395e9c4d-be1f-403d-b58a-e3e1ce4b7250",
  "code": 0,
  "message": "Success",
  "data": [
    {
      "productId": "PRETTY",
      "BetLimit": [
        {
          "limit": 1,
          "Min": 5,
          "Max": 2000
        },
        {
          "limit": 2,
          "Min": 50,
          "Max": 5000
        },
        {
          "limit": 3,
          "Min": 100,
          "Max": 20000
        }
      ]
    }
  ]
}

HTTP Request

GET {{ API_URL }}/seamless/betLimitsV2?productId={{ productId }}

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Parameter Description

Property Type Required Description
productId string Required Product ID (Ref. Product List) (Example : SAGAME)

Verify Deposit/Withdraw Fishing game type transaction POST

Optional For product SLOTXO or JOKER only.
This API is neccessary if you need to verify the transaction when user playing Fishing game type.

JSON example request:

{
  "username": "foobar",
  "transactionId": "xe6ns1mycwwwh_xe6gxumgykk3e_795913499644948991"
}

JSON example response:

/* Verified success transaction */
{
  "code": 0,
  "message": "Success",
  "data": [
    {
      "id": "xe6ns1mycwwwh_xe6gxumgykk3e_795913499644948991",
      "time": "2021-08-05T15:16:03.982",
      "amount": 500,
      "type": "TopUp",
      "username": "foobar"
    }
  ]
}

/* Verified failed transaction */
{
  "code": 1,
  "message": "Can't verify transaction id: xe6ns1mycwwwh_xe6gxumgykk3e_795913499644948991",
  "data": null
}

HTTP Request (For SLOTXO product)

POST {{ API_URL }}/xo_seamless/verify-topup

HTTP Request (For JOKER product)

POST {{ API_URL }}/joker_seamless/verify-topup

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Request parameter description

Property Type Required Description
username string Required Player username
transactionId string Required Transaction id that your system got from callback /deposit or /withdraw on product SLOTXO/JOKER

Response parameter description

Property Type Required Description
code number Required Code status
0: success
1: failed.
message string Required Message description
data [ object ] or null Required An array of transaction data description (See more below). null value if verify failed or an error occur

Response data parameter description

Property Type Required Description
id string Required Transaction id (This should be the same id with your input)
time string Required Time when transaction generated (ISO format)
amount number Required Transaction amount (This amount can be negative number when the type is Withdraw)
type string Required Type of transaction
TopUp: Deposit credit to SLOTXO or JOKER system
Withdraw: Withdraw credit back to player
username string Required Player username

Check player status

Optional This APIs use to check ACTIVE/INACTIVE status of player.

JSON example request:

{
  "productId": "PGSOFT2",
  "username": "foobar"
}

JSON example response:

{
  "reqId": "05e287a6-00a9-4558-9bb2-2e422494ef22",
  "code": 0,
  "message": "Success",
  "data": {
    "status": "ACTIVE",
    "username": "foobar"
  }
}

HTTP Request

GET {{ API_URL }}/seamless/checkPlayerStatus?productId={{ productId }}&username={{ username }}

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Request parameter description

Property Type Required Description
username string Required Player username
productId string Required Product ID (Ref. Product List) (Example : PGSOFT2)

Response parameter description

Property Type Required Description
reqId string Required Request ID for each request.
code number Required Code status
0: success
1: failed.
message string Required Message description
data object Required An array of transaction data description (See more below).

Response data parameter description

Property Type Required Description
status string Required status description, for example: ACTIVE
username string Required Player username

Check player online status

Optional This APIs use to check ONLINE/OFFLINE status of player.

JSON example request:

{
  "productId": "PGSOFT2",
  "username": "foobar"
}

JSON example response:

{
  "reqId": "05e287a6-00a9-4558-9bb2-2e422494ef22",
  "code": 0,
  "message": "Success",
  "data": {
    "status": "ACTIVE",
    "username": "foobar"
  }
}

HTTP Request

GET {{ API_URL }}/seamless/checkOnlineStatus?productId={{ productId }}&username={{ username }}

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Request parameter description

Property Type Required Description
username string Required Player username
productId string Required Product ID (Ref. Product List) (Example : PGSOFT2)

Response parameter description

Property Type Required Description
reqId string Required Request ID for each request.
code number Required Code status
0: success
1: failed.
message string Required Message description
data object Required An array of transaction data description (See more below).

Response data parameter description

Property Type Required Description
status string Required online/offline status description, for example: ACTIVE
username string Required Player username

Get players online list

Optional This APIs use to check ONLINE (playing) players under your agent.

JSON example request:

{
  "productId": "PGSOFT2"
}

JSON example response:

{
  "reqId": "d3921d76-0488-4ca1-b65d-0093f410ea63",
  "code": 0,
  "message": "Success",
  "data": {
    "users": ["foobar", "barfoo"]
  }
}

HTTP Request

GET {{ API_URL }}/seamless/checkOnlinePlayerList?productId={{ productId }}

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Request parameter description

Property Type Required Description
productId string Required Product ID (Ref. Product List) (Example : PGSOFT2)

Response parameter description

Property Type Required Description
reqId string Required Request ID for each request.
code number Required Code status
0: success
1: failed.
message string Required Message description
data object Required An array of transaction data description (See more below).

Response data parameter description

Property Type Required Description
users string[] Required Online players list

Kick out player

Optional This APIs use to kick an ONLINE player under your agent. If you use this API, the player were kicked out from game temporary.

JSON example request:

{
  "productId": "PGSOFT2",
  "username": "foobar"
}

JSON example response:

{
  "reqId": "05e287a6-00a9-4558-9bb2-2e422494ef22",
  "code": 0,
  "message": "Success",
  "data": {
    "status": "SUCCESS",
    "username": "foobar"
  }
}

HTTP Request

POST {{ API_URL }}/seamless/kickOutPlayer

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Request parameter description

Property Type Required Description
username string Required Player username
productId string Required Product ID (Ref. Product List) (Example : PGSOFT2)

Response parameter description

Property Type Required Description
reqId string Required Request ID for each request.
code number Required Code status
0: success
1: failed.
message string Required Message description
data object Required An array of transaction data description (See more below).

Response data parameter description

Property Type Required Description
status string Required Success status description, for example: SUCCESS
username string Required Player username

Suspend out player

Optional This APIs use to suspend player under your agent. If you use this API, the player were suspended from provider system.

JSON example request:

{
  "productId": "PGSOFT2",
  "username": "foobar"
}

JSON example response:

{
  "reqId": "05e287a6-00a9-4558-9bb2-2e422494ef22",
  "code": 0,
  "message": "Success",
  "data": {
    "status": "SUCCESS",
    "username": "foobar"
  }
}

HTTP Request

GET {{ API_URL }}/seamless/suspendPlayer

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Request parameter description

Property Type Required Description
username string Required Player username
productId string Required Product ID (Ref. Product List) (Example : PGSOFT2)

Response parameter description

Property Type Required Description
reqId string Required Request ID for each request.
code number Required Code status
0: success
1: failed.
message string Required Message description
data object Required An array of transaction data description (See more below).

Response data parameter description

Property Type Required Description
status string Required Success status description, for example: SUCCESS
username string Required Player username

Resume out player

Optional This APIs use to resume suspended status for player under your agent. If you use this API, the player's status will back to ACTIVE and can access the provider system.

JSON example request:

{
  "productId": "PGSOFT2",
  "username": "foobar"
}

JSON example response:

{
  "reqId": "05e287a6-00a9-4558-9bb2-2e422494ef22",
  "code": 0,
  "message": "Success",
  "data": {
    "status": "SUCCESS",
    "username": "foobar"
  }
}

HTTP Request

GET {{ API_URL }}/seamless/resumePlayer

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Request parameter description

Property Type Required Description
username string Required Player username
productId string Required Product ID (Ref. Product List) (Example : PGSOFT2)

Response parameter description

Property Type Required Description
reqId string Required Request ID for each request.
code number Required Code status
0: success
1: failed.
message string Required Message description
data object Required An array of transaction data description (See more below).

Response data parameter description

Property Type Required Description
status string Required Success status description, for example: SUCCESS
username string Required Player username

Freegame

Optional This APIs use give a freegame to player under operator. Note: The operator must take full responsibility for this bet themselves.

JSON example request:

{
  "player_name": "foobar",
  "free_game_name": "happy day",
  "expired_date": 24,
  "game_count": 30,
  "bet_amount": 100,
  "game_ids": "87",
  "productId": "PGSOFT2"
}

JSON example response:

{
  "reqId": "05e287a6-00a9-4558-9bb2-2e422494ef22",
  "code": 0,
  "message": "Success",
  "data": {
    "freeGameId": 888
  }
}

HTTP Request

POST {{ API_URL }}/seamless/free-game

Authorization

Authorization: Basic Base64({{ agent_username }}:{{ x-api-key }})

Content Type

Type: application/json

Request parameter description

Property Type Required Description
player_name string Required Player username
free_game_name string Required Freegame name
expired_date int Required number of expire date for freegame unit is hour
bet_amount int Required amount of freegame
game_count int Required count of freegame
game_ids string Required gameid of freegame
productId string Required Product ID (Ref. Product List) (Example : PGSOFT2)

Response parameter description

Property Type Required Description
reqId string Required Request ID for each request.
code number Required Code status
0: success
1: failed.
message string Required Message description
data object Required An array of transaction data description (See more below).

Response data parameter description

Property Type Required Description
freeGameId string Required freegameId from provider

Product Callbacks

Request common flows

image

This new callback common flow, we simplifies callbacks from provider and standardize it to our own understandable. Please check the following support products.

Products to support Common

Games Slot

Product ID Product Name
LIVE22 Live22
ROYAL Royal Slot Gaming
SLOTXO Slotxo
JOKER Joker123
PLAYNGO Play'n Go
AMBGAMING AMB Gaming
FACHAI Fachai
AFB1188_SLOT AFB1188 (Slot)
CQ9 CQ9 (Slot)
YGR YGR
MANNA Mannaplay
SEXY_SLOT Sexy Slot
PRAGMATIC_SLOT Pragmatic Play (Slot)
OCTOPLAY Octoplay
RTGSLOT Real Time Gaming
MICRO Micro Gaming (Slot)
UPG UPG slot
ASKMESLOT Askmeslot
SPADE Spade Gaming
RELAX Relax Gaming
I8 I8
EVOPLAY Evoplay
YGGDRASIL Yggdrasil
AMEBA Ameba
CG Creative Gaming
ASKMEBET Askmebet
5G_GAMES 5G Games
ACE333 Ace333
RICH88 Rich88
NETENT Netent
REDTIGER Redtiger
SIMPLEPLAY Simple Play
HACKSAW Hacksaw
ASKMEPLAY Askmeplay
GIOCO Gioco Plus
WMSLOT WMSlot
NOLIMIT Nolimit City
NEXTSPIN Nextspin
DRAGONGAMING Dragon Gaming
ADVANT Advant Play
GOLDY Goldy
BOOMING Booming
OCTOPLAY Octoplay
759GAMING 759 Gaming
FUNKY Funky Game

Live Casino

Product ID Product Name
SAGAME SA Gaming
AFB1188_LIVECASINO AFB1188 (Live Casino)
DREAM Dream Gaming
PRAGMATIC_LIVECASINO Pragmatic Play (Live Casino)
CQ9_LIVECASINO Motivation
WM WM Casino
MICRO_LIVECASINO Micro gaming (Live Casino)
ALLBET Allbet
SEXY Sexy Gaming
PRETTY Pretty Gaming
WECASINO WE Casino
AGGAME Asia Gaming
BIGGAME Big Gaming
YEEBET Yeebet

Sportbook

Product ID Product Name
LALIKA Lalika
AFB1188 AFB1188 (Sportbook)
VIRTUAL_SPORT Virtual Sportbook
COCKFIGHT Cockfight
AMBSPORTBOOK AMB Sportbook
SABASPORTS SABASPORTS
UMBET UM Bet

Game Card

Product ID Product Name
KINGMAKER King Maker
AMBPOKER Ambpoker
MIKIWORLD Miki Worlds

Check Balance POST

Get latest balance from member.

Request Body

{
  "id": "2989ccc8-aae3-4ff4-803c-47de52f7c4d5",
  "currency": "THB",
  "productId": "{{ ProductID }}",
  "timestampMillis": 1712641926000,
  "username": "foobar",
  "gameCode": "3300",
  "sessionToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}

JSON response example:

{
  "id": "2989ccc8-aae3-4ff4-803c-47de52f7c4d5",
  "statusCode": 0,
  "timestampMillis": 1712641927000,
  "productId": "{{ ProductID }}",
  "currency": "THB",
  "balance": 10000,
  "username": "foobar"
}

HTTP Request

POST {{ API_URL }}/checkBalance

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id (Unique value)
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
gameCode string Optional Game code that input from /logIn API (Depend on provider, sometimes this property didn't sent from provider site).
sessionToken string Optional Session token that your system sent when call /logIn (Depend on provider, sometimes this property didn't sent from provider site)

Response Description

Property Type Required Description
id string Required Response ID (No need to response the same request ID)
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the response Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balance number Required Player's current balance
username string Required User id on agent system

Place Bets POST

When player play or place bet on the Game GUI, system will sent this request to your system callback url (That you set on the Backoffice site) You have to check player's balance. If they have enough balance, please deduct their balance and response success to our system to continue the game flow.

Request Body

{
  "id": "6849b62b-2b52-472a-88a4-c26c3371a62a",
  "productId": "{{ Product ID }}",
  "username": "foobar",
  "currency": "THB",
  "timestampMillis": 1712760660000,
  "txns": [
    {
      "id": "T-001",
      "txnId": "T-001",
      "gameCode": "10300",
      "status": "OPEN",
      "roundId": "R-0001",
      "betAmount": 200,
      "playInfo": "Golden Coyote",
      "isFeature": false,
      "isFeatureBuy": false,
      "skipBalanceUpdate": false
    }
  ]
}

JSON response example:

{
  "id": "279478c1-c870-407e-91be-b70bf6a623f9",
  "statusCode": 0,
  "timestampMillis": 1712760660100,
  "productId": "{{ ProductID }}",
  "currency": "THB",
  "balanceBefore": 10000,
  "balanceAfter": 9800,
  "username": "foobar"
}

HTTP Request

POST {{ API_URL }}/placeBets

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transaction id on agent system

Place Bet transaction parameters (txns)

Property Type Required Description
id string Required Transaction ID
status string Required Bet status (Usually OPEN or WAITING (if game is SPORT type))
roundId string Required Round id
betAmount number Required Stake amount
gameCode string Required Game code
playInfo string Required Information regarding the player was chosen. If Live-casino game this should be the position that player wager on that round if system can identified the position (e.g. player, banker). Other games, the value should be the game name, if we can't identified game name or game code, we will send 'UNKNOWN' into this value.
isFeature boolean Required The value indicates request is feature spin/game from provider.
If isFeature: true possibly coming with betAmount: 0 (default value: false)
isFeatureBuy boolean Required The value indicates request is "buying" feature spin/game from provider. (default value: false)
skipBalanceUpdate boolean Required Flag indicating whether a round is this transaction need to update user's balance or not
true: Don't update user's balance
false: Update user's balance with betAmount or payoutAmount.
Usually occur in SPORT game type, when provider considering the player's wagering on the game.
(default value: false)
txnId string Optional Transaction ID (Usually send the same value as id)

Response Description

Property Type Required Description
id string Required Response ID (No need to response the same request ID)
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the response Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before bet
balanceAfter number Required Player's balance after bet
username string Required User id on agent system

Settle Bets POST

This request usually sent to your system after /placeBets was called and response success. SuperAPI sent the round result. You can check the payoutAmount and increase the player's balance after that please response success to our system to allow player play in a next round.

Some product (e.g. PGSOFT2, etc) has only this request to complete the round, the round do not start by /placeBets we will sent both betAmount and payoutAmount to your system. You have to check player's balance by betAmount first. If they have enough balance to player, check the payoutAmount to identified is player win or lose (normally, if betAmount > 0 and payoutAmount > betAmount, the player is win)

Request Body

{
  "id": "26cf1ce1-8ee1-4bbf-9d42-872631054bcf",
  "productId": "{{ Product ID }}",
  "username": "foobar",
  "currency": "THB",
  "timestampMillis": 1712767012000,
  "txns": [
    {
      "id": "T-002",
      "txnId": "T-002",
      "status": "SETTLED",
      "roundId": "R-0001",
      "betAmount": 0,
      "turnOver": 0,
      "payoutAmount": 5000,
      "gameCode": "10300",
      "playInfo": "Golden Coyote",
      "isEndRound": true,
      "isSingleState": false,
      "isFeature": false,
      "isFeatureBuy": false,
      "skipBalanceUpdate": false,
      "transactionType": "BY_ROUND"
    }
  ]
}

JSON response example:

{
  "id": "37e10565-ca3f-4367-b3ad-c6aa2f01ffd0",
  "statusCode": 0,
  "productId": "{{ Product ID }}",
  "timestampMillis": 1712767012100,
  "username": "foobar",
  "currency": "THB",
  "balanceBefore": 9800,
  "balanceAfter": 14800
}

HTTP Request

POST {{ API_URL }}/settleBets

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transaction Id on agent system

Settle Bet transaction parameters (txns)

Property Type Required Description
id string Required Transaction ID
status string Required Bet status (Always SETTLED)
roundId string Required Round ID
betAmount number Required Stake amount (Sometimes this value equal to 0 because we can't identify the betAmount from /placeBets request)
payoutAmount number Required Payout amount (stake + win amount)
gameCode string Required Game code
playInfo string Required Information regarding the player was chosen. If Live-casino game this should be the position that player wager on that round if system can identified the position (e.g. player, banker). Other games, the value should be the game name, if we can't identified game name or game code, we will send 'UNKNOWN' into this value.
turnOver number Optional Turn over for each round, if system can identify turn-over this value should not be 0 (Default value is 0)
isEndRound boolean Required Value indicates whether a round is end round or not (The default value is false)
isSingleState boolean Required Value indicates whether the round for this request is end in single /settleBets request (No /placeBets, it's mean the round has no OPEN status) Product
transactionType string Required The value that indicate transaction action, have 2 values:
1. BY_TRANSACTION: This type, you have to consider the action is a transaction-level.
Find the transaction inside your data storage using id and action only found transaction.
2. BY_ROUND: This type, you have to consider the action is a round-level.
Find entire transactions that belongs to roundId and actions all transactions at once.
isFeature boolean Required The value indicates request is feature spin/game from provider.
If isFeature: true possibly coming with betAmount: 0 (default value: false)
isFeatureBuy boolean Required The value indicates request is "buying" feature spin/game from provider. (default value: false)
skipBalanceUpdate boolean Required Flag indicating whether a round is this transaction need to update user's balance or not
true: Don't update user's balance
false: Update user's balance with betAmount or payoutAmount.
Usually occur in SPORT game type, when provider considering the player's wagering on the game.
(default value: false)
txnId string Optional Transaction ID (Usually send the same value as id) if transactionType: BY_ROUND sometimes the value will be the same as roundId.

Response Description

Property Type Required Description
id string Required Request ID
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product ID associated with the response Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before settle
balanceAfter number Required Player's balance after settle
username string Required User id on agent system

Product Single State

Product ID Product Name
PGSOFT2 PG Soft
BOOMING Booming
GIOCO Gioco Plus
I8 I8
AFB1188_SLOT AFB1188 (Slot)
FACHAI Fachai
759GAMING 759 Gaming
ASKMEBET Askmebet

Cancel Bets POST

Provider will send the user's cancel information when bet have a problem or timeout.

Request Body

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "productId": "{{ Product ID }}",
  "username": "foobar",
  "currency": "THB",
  "timestampMillis": 1712767745000,
  "txns": [
    {
      "id": "R-0001",
      "status": "REFUND",
      "roundId": "R-0001",
      "txnId": "R-0001",
      "betAmount": 200,
      "gameCode": "10300",
      "playInfo": "Golden Coyote",
      "transactionType": "BY_ROUND"
    }
  ]
}

JSON response example:

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "statusCode": 0,
  "timestampMillis": 1712767745100,
  "productId": "{{ Product ID }}",
  "currency": "THB",
  "balanceBefore": 14800,
  "balanceAfter": 10000,
  "username": "foobar"
}

HTTP Request

POST {{ API_URL }}/cancelBets

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request ID
timestampMillis number Required Requesting time
productId string Required Product ID associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User ID on agent system
txns Txn[] Required Transaction Id

Cancel Bet transaction parameters (txns)

Property Type Required Description
id string Required Transaction ID
status string Required Bet status (Should be an either REFUND or REJECT)
roundId string Required Round id
betAmount number Required Stake amount, you can use this value to refund to your player's balance.
gameCode string Required Game code
playInfo string Required Information regarding the player was chosen. If Live-casino game this should be the position that player wager on that round if system can identified the position (e.g. player, banker). Other games, the value should be the game name, if we can't identified game name or game code, we will send 'UNKNOWN' into this value.
transactionType string Required The value that indicate transaction action, have 2 values:
1. BY_TRANSACTION: This type, you have to consider the action is a transaction-level.
Find the transaction inside your data storage using id and action only found transaction.
2. BY_ROUND: This type, you have to consider the action is a round-level.
Find entire transactions that belongs to roundId and actions all transactions at once.
txnId string Optional Transaction ID (Usually send the same value as id)

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the response Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before cancel
balanceAfter number Required Player's balance after cancel
username string Required User id on agent system

Adjust Bets POST

Sometimes the provider need to adjust the wagered amount. If you got this request, you can use the value inside the body to adjust player's balance.
Adjust bet = (Member Balance + Old Bet Amount) - New Bet Amount
Start Balance = 10000
Bet Amount = 10
Balance = 9990
Adjust Bet = 20
Balance = 9980
calculate Balance = 9990 + 10 - 20

Request Body

{
  "id": "2a561272-df13-4c1e-99d4-06eb7f061fe2",
  "productId": "{{ Product ID }}",
  "username": "foobar",
  "currency": "THB",
  "timestampMillis": 1724047571704,
  "txns": [
    {
      "id": "285110bjm7rjvo",
      "status": "OPEN",
      "roundId": "2rj3byk76ks4yn",
      "betAmount": 20,
      "gameCode": "d5qfgs4amfxf6",
      "playInfo": "Respin Mania"
    }
  ]
}

JSON Response Body

{
  "id": "eb62c4bf-32e4-402e-8dc0-a714456bb904",
  "statusCode": 0,
  "productId": "{{ Product ID }}",
  "timestampMillis": 1712768088100,
  "username": "foobar",
  "currency": "THB",
  "balanceBefore": 10000,
  "balanceAfter": 9980
}

HTTP Request

POST {{ API_URL }}/adjustBets

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transaction Id on agent system

Adjust Bet transaction parameters (txns)

Property Type Required Description
id string Required Transaction ID
status string Required Bet status (Always OPEN)
roundId string Required Round id
gameCode string Required Game code
playInfo string Required Information regarding the player was chosen. If Live-casino game this should be the position that player wager on that round if system can identified the position (e.g. player, banker). Other games, the value should be the game name, if we can't identified game name or game code, we will send 'UNKNOWN' into this value.
betAmount number Required The value that system need to adjust the wagering amount.
txnId string Optional Transaction ID (Usually send the same value as id)

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the request Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before unsettle
balanceAfter number Required Player's balance after unsettle
username string Required User id on agent system

Rollback POST

This request will be sent if the provider need to change the result of the ended round. You have to roll the state of the round status to running again. However, this can action both REFUND and SETTLED status. When the previous status is REFUND you have to roll the canceled round to running again by reduced the balance that refunded. When the previous status is SETTLED you have to roll the ended round to running again by reduced the balance that already win/lose.

Request Body

{
  "id": "e75db240-d519-44dd-8e37-d68ec1c6f9b2",
  "productId": "{{ Product ID }}",
  "username": "foobar",
  "currency": "THB",
  "timestampMillis": 1645775403311,
  "txns": [
    {
      "id": "9621055643135717",
      "txnId": "9621055643135717",
      "status": "ROLLBACK",
      "roundId": "962105564",
      "gameCode": "BB001",
      "playInfo": "Player 1 Double",
      "payoutAmount": 100,
      "betAmount": 0,
      "transactionType": "BY_ROUND"
    }
  ]
}

JSON response example:

{
  "id": "e75db240-d519-44dd-8e37-d68ec1c6f9b2",
  "statusCode": 0,
  "productId": "{{ Product ID }}",
  "timestampMillis": 1645775403663,
  "username": "foobar",
  "currency": "THB",
  "balanceBefore": 9997.5,
  "balanceAfter": 9897.5
}

HTTP Request

POST {{ API_URL }}/rollback

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transaction Id on agent system

Rollback transaction parameters (txns)

Property Type Required Description
id string Required Bet ID
status string Required Bet status (Will be ROLLBACK)
roundId string Required Round id
gameCode string Required Game code
playInfo string Required Information regarding the player was chosen. If Live-casino game this should be the position that player wager on that round if system can identified the position (e.g. player, banker). Other games, the value should be the game name, if we can't identified game name or game code, we will send 'UNKNOWN' into this value.
payoutAmount number Required The amount that round need to rollback, use this value to update balance if previous status is SETTLED, player's balance will be reduced.
betAmount number Required The amount that round need to rollback, use this value to update balance if previous status is REFUND, player's balance will be reduced.
transactionType string Required The value that indicate transaction action, have 2 values:
1. BY_TRANSACTION: This type, you have to consider the action is a transaction-level.
Find the transaction inside your data storage using id and action only found transaction.
2. BY_ROUND: This type, you have to consider the action is a round-level.
Find entire transactions that belongs to roundId and actions all transactions at once.
txnId string Optional Transaction ID (Usually send the same value as id)

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the request Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before unsettle
balanceAfter number Required Player's balance after unsettle (deduct from payoutAmount - betAmount of previous settle request)
username string Required User id on agent system

Win Rewards POST

When provider has some event and their need to sent the reward (Jackpot or Bonus) this request will be called.

Request Body

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "productId": "{{ Product ID }}",
  "username": "foobar",
  "currency": "THB",
  "timestampMillis": 1631599542778,
  "txns": [
    {
      "id": "e723b240-d519-44dd-8e37-d6823c6f9b2",
      "txnId": "Txn-001",
      "status": "SETTLED",
      "roundId": "R-0909",
      "payoutAmount": 1000,
      "gameCode": "MX-LIVE-001",
      "playInfo": "Banker"
    }
  ]
}

JSON response example:

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "statusCode": 0,
  "timestampMillis": 1631599542821,
  "productId": "{{ Product ID }}",
  "currency": "THB",
  "balanceBefore": 8600,
  "balanceAfter": 9600,
  "username": "foobar"
}

HTTP Request

POST {{ API_URL }}/winRewards

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transactions

Win Rewards transaction parameters (txns)

Property Type Required Description
id string Required Bet id
status string Required Bet status (Should always be SETTLED)
roundId string Required Round id
payoutAmount number Required Win amount
gameCode string Required Game code
playInfo string Required Information regarding the player was chosen. If Live-casino game this should be the position that player wager on that round if system can identified the position (e.g. player, banker). Other games, the value should be the game name, if we can't identified game name or game code, we will send 'UNKNOWN' into this value.
betAmount number Optional Stake amount.
txnId string Optional Transaction ID (Usually send the same value as id)

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the request Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before get rewards
balanceAfter number Required Player's balance after get rewards
username string Required User id on agent system

Pay Tips POST

This request will be sent if player tips game provider (usually tips dealer in live-casino game). This callback is an optional callbacks, some product has this callback. Ex. Pretty gaming.

Request Body

{
  "id": "26cf1ce1-8ee1-4bbf-9d42-872631054bcf",
  "productId": "{{ Product ID }}",
  "username": "foobar",
  "currency": "THB",
  "timestampMillis": 1712767012000,
  "txns": [
    {
      "id": "Tip-001",
      "txnId": "Tip-001",
      "status": "TIPS",
      "roundId": "Tip-R-0001",
      "betAmount": 1000
    }
  ]
}

JSON response example:

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "statusCode": 0,
  "timestampMillis": 1631599542878,
  "productId": "{{ Product ID }}",
  "currency": "THB",
  "balanceBefore": 10000,
  "balanceAfter": 9000,
  "username": "foobar"
}

HTTP Request

POST {{ API_URL }}/placeTips

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transaction Id

Pay Tips transaction parameters (txns)

Property Type Required Description
id string Required Transaction ID
status string Required Bet status (Always TIPS)
roundId string Required Round ID
betAmount number Required Stake amount (Sometimes this value is 0 due to no information from provider)
txnId string Optional Transaction ID (Usually send the same value as id) if transactionType: BY_ROUND sometimes the value will be the same as roundId.

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the request Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before cancel
balanceAfter number Required Player's balance after cancel
username string Required User id on agent system

Cancel Tips POST

Request Body

{
  "id": "26cf1ce1-8ee1-4bbf-9d42-872631054bcf",
  "productId": "{{ Product ID }}",
  "username": "foobar",
  "currency": "THB",
  "timestampMillis": 1712767012000,
  "txns": [
    {
      "id": "Tip-001",
      "status": "REFUND",
      "roundId": "Tip-R-0001",
      "betAmount": 1000
    }
  ]
}

JSON response example:

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "statusCode": 0,
  "timestampMillis": 1631599542878,
  "productId": "{{ Product ID }}",
  "currency": "THB",
  "balanceBefore": 8600,
  "balanceAfter": 8700,
  "username": "testProduct1"
}

HTTP Request

POST {{ API_URL }}/cancelTips

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transaction Id

Cancel Tips transaction parameters (txns)

Property Type Required Description
id string Required Bet id
status string Required Bet status (Should always be REFUND)
roundId string Required Round id
betAmount number Required Stake amount
txnId string Optional Transaction ID (Usually send the same value as id) if transactionType: BY_ROUND sometimes the value will be the same as roundId.

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the request Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before cancel
balanceAfter number Required Player's balance after cancel
username string Required User id on agent system

Void Settle POST

Instead of cancel, sometimes provider use VOID as a cancel. This mean the round will be completely canceled, usually not revoke the round again. For this request, you have to increase player's balance with betAmount - payoutAmount.
For example:
If player's initial balance is 1000.00

  1. Player bet 100.00 into the game. So, balance equal 900.00
  2. Player win 500.00 into the game. So, balance equal 1400.00
  3. Game provider need to void the above round, our system will send betAmount: 100.00 and payoutAmount: 500.00
  4. Your system have to update balance 1400.00 + (100.00 - 500.00) (Player balance + (betAmount - payoutAmount)), So final balance must equal 1000.00
    In the end of the /voidSettled, player's balance must equal 1000.00 like the initial balance.

HTTP Request

POST {{ API_URL }}/voidSettled

Request Body

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "productId": "{{ Product ID }}",
  "username": "foobar",
  "currency": "THB",
  "timestampMillis": 1631599542778,
  "txns": [
    {
      "id": "VB-T-001",
      "txnId": "VB-T-001",
      "status": "VOID",
      "roundId": "R-001",
      "betAmount": 100,
      "payoutAmount": 1000,
      "gameCode": "108",
      "playInfo": "Magic Lamp",
      "transactionType": "BY_ROUND"
    }
  ]
}

JSON response example:

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "statusCode": 0,
  "timestampMillis": 1631599542821,
  "productId": "{{ Product ID }}",
  "currency": "THB",
  "balanceBefore": 10000,
  "balanceAfter": 9100,
  "username": "foobar"
}

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transaction Id on agent system

Void settle transaction parameters (txns)

Property Type Required Description
id string Required Bet ID
status string Required Bet status (always VOID)
roundId string Required Round ID
betAmount number Required Stake amount (Use this value to increase player's balance)
payoutAmount number Required Payout amount (Use this value to decrease player's balance)
gameCode string Required Game code
playInfo string Required Information regarding the player was chosen. If Live-casino game this should be the position that player wager on that round if system can identified the position (e.g. player, banker). Other games, the value should be the game name, if we can't identified game name or game code, we will send 'UNKNOWN' into this value.
transactionType string Required The value that indicate transaction action, have 2 values:
1. BY_TRANSACTION: This type, you have to consider the action is a transaction-level.
Find the transaction inside your data storage using id and action only found transaction.
2. BY_ROUND: This type, you have to consider the action is a round-level.
Find entire transactions that belongs to roundId and actions all transactions at once.
txnId string Optional Transaction ID (Usually send the same value as id)

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the request Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before unsettle
balanceAfter number Required Player's balance after unsettle (deduct from payoutAmount - betAmount of previous settle request)
username string Required User id on agent system

Adjust balance POST

In a game that have to deposit/withdraw credit before play the game (e.g. Fishing type). We uses this callback to operates an action. Please carefully check the refId as a duplicates reference. Sometimes this callback can call to your side concurrenry, you have to check player's balance before send the success to our system.

HTTP Request

POST {{ API_URL }}/adjustBalance

Request Body

{
  "id": "46a0a0da-22c9-4016-94bd-d80ab6d97026",
  "productId": "{{ Product ID }}",
  "username": "foobar",
  "currency": "THB",
  "timestampMillis": 1631599542778,
  "txns": [
    {
      "refId": "e7de2c76-f534-473d-b8fb-f5c901a3c582",
      "status": "DEBIT",
      "amount": 1500
    }
  ]
}

JSON response example:

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "statusCode": 0,
  "timestampMillis": 1631599542821,
  "productId": "{{ Product ID }}",
  "currency": "THB",
  "balanceBefore": 10000,
  "balanceAfter": 8500,
  "username": "foobar"
}

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transaction Id on agent system

Adjust balance transaction parameters (txns)

Property Type Required Description
refId string Required Transaction reference ID
status string Required Adjust status, have 2 values:
1. DEBIT: You have to deduct player's balance.
2. CREDIT: You have to increase player's balance.
amount number Required Balance amount to calculate the player's balance.

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the request Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before unsettle
balanceAfter number Required Player's balance after unsettle (deduct from payoutAmount - betAmount of previous settle request)
username string Required User id on agent system

Status Code and Common failed resposne format

You can use these status-codes and format in case of you need to response failed back to our side. This status code and failed response format can use in every callbacks.

JSON response fail example:

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "statusCode": 10001,
  "productId": "{{ Product ID }}",
  "timestampMillis": 1631599542878,
  "balance": 1000.0
}

Common error response's parameter Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the request Product
balance number Required Player's balance when error occur.
Code Description
0 Success
10001 User not found
10002 User has insufficient balance to proceed
20001 Transaction not found
20002 Transaction duplicate
30001 Invalid token
40003 Forbidden request
50001 Internal server error

Request Common

Products to support Common

Product ID Product Name
PGSOFT2 PGSoft
NINJA Ninja slot
918KISS 918Kiss
SBO Sbobet
BETGAME Betgames TV
WAZDAN Wazdan
FUNTA Funta
BOOONGO Booongo
KAGAME KA Gaming
PARLAYBAY Parlaybay

Common Check Balance POST

Get latest balance from member.

Request Body

{
  "id": "58f0a8b2-0e60-4bf8-9eee-b7528917c01b",
  "timestampMillis": 1631120940430,
  "productId": "{{ Product ID }}",
  "currency": "THB",
  "username": "testProduct1",
  "sessionToken": "d4be70d1-349f-4fc1-a955-35d2a4bff244"
}

JSON response example:

{
  "id": "58f0a8b2-0e60-4bf8-9eee-b7528917c01b",
  "statusCode": 0,
  "timestampMillis": 1631120940530,
  "productId": "{{ Product ID }}",
  "currency": "THB",
  "balance": 10000,
  "username": "testProduct1"
}

HTTP Request

POST {{ API_URL }}/checkBalance

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
sessionToken string Optional Session token that your system sent when call /logIn (Depend on provider, sometimes this property didn't sent from provider site)

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the response Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balance number Required Player's current balance
username string Required User id on agent system

Common Place Bets POST

When player play or place bet on the Game GUI, system will sent this request to your system callback url (That you set on the Backoffice site) You have to check player's balance. If they have enough balance, please deduct their balance and response success to our system to continue the game flow.

Request Body

{
  "id": "279478c1-c870-407e-91be-b70bf6a623f9",
  "productId": "{{ Product ID }}",
  "username": "testProduct1",
  "currency": "THB",
  "timestampMillis": 1631514418044,
  "txns": [
    {
      "id": "fcb2ba36-4dd9-4a7f-84ae-9ee997bf6667",
      "status": "OPEN",
      "roundId": "01138QI30537E4",
      "betAmount": 100,
      "txnId": "fcb2ba36-4dd9-4a7f-84ae-9ee997bf6667",
      "gameCode": "B001",
      "playInfo": "Binary",
      "isEndround": false
    }
  ]
}

JSON response example:

{
  "id": "279478c1-c870-407e-91be-b70bf6a623f9",
  "statusCode": 0,
  "timestampMillis": 1631514418144,
  "productId": "{{ Product ID }}",
  "currency": "THB",
  "balanceBefore": 10000,
  "balanceAfter": 9900,
  "username": "testProduct1"
}

HTTP Request

POST {{ API_URL }}/placeBets

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transaction id on agent system

Common Place Bet Txn

Property Type Required Description
id string Required Transaction ID
status string Required Bet status (OPEN or sometimes WAITING in sport type)
roundId string Required Round id
betAmount number Required Stake amount
gameCode string Required Game code
playInfo string Required Information regarding the chosen play
txnId string Required Transaction ID (Useally send the same id)
isEndRound boolean Optional Flag indicating whether a round is end round or not
skipBalanceUpdate boolean Optional Flag indicating whether a round is this transaction need to update user's balance or not
true: Don't update user's balance
false: Update user's balance with betAmount or payoutAmount

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the response Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before bet
balanceAfter number Required Player's balance after bet
username string Required User id on agent system

Common Settle Bets POST

This request usually sent to your system after /placeBets was called and response success. SuperAPI sent the round result. You can check the payoutAmount and increase the player's balance after that please response success to our system to allow player play in a next round.

Some product (e.g. PGSOFT2, etc) has only this request to complete the round, the round do not start by /placeBets we will sent both betAmount and payoutAmount to your system. You have to check player's balance by betAmount first. If they have enough balance to player, check the payoutAmount to identified is player win or lose (normally, if betAmount > 0 and payoutAmount > betAmount, the player is win)

Request Body

{
  "id": "f764e781-1b18-417b-ae3f-388b88c41352",
  "productId": "{{ Product ID }}",
  "username": "testProduct1",
  "currency": "THB",
  "timestampMillis": 1645774809145,
  "txns": [
    {
      "id": "279478c1-c870-407e-91be-b70bf6a62332",
      "status": "SETTLED",
      "roundId": "01138QI30537E4",
      "txnId": "279478c1-c870-407e-91be-b70bf6a62332",
      "betAmount": 0,
      "payoutAmount": 10,
      "gameCode": "B001",
      "playInfo": "Binary",
      "isEndRound": true
    }
  ]
}

JSON response example:

{
  "id": "f764e781-1b18-417b-ae3f-388b88c41352",
  "statusCode": 0,
  "productId": "{{ Product ID }}",
  "timestampMillis": 1645774809605,
  "username": "testProduct1",
  "currency": "THB",
  "balanceBefore": 9900,
  "balanceAfter": 9910
}

HTTP Request

POST {{ API_URL }}/settleBets

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transaction Id on agent system

Common Settle Bet Txn

Property Type Required Description
id string Required Transaction ID
status string Required Bet status (Will be SETTLED)
roundId string Required Round id
betAmount number Required Stake amount
payoutAmount number Required Payout amount (stake + win amount)
gameCode string Required Game code
playInfo string Required Information regarding the chosen play
txnId string Required Transaction ID (Useally send the same id)
turnOver number Optional TurnOver (Send the same bet amount)
isEndRound boolean Optional Flag indicating whether a round is end round or not
isFeature boolean Optional Flag indicating whether a round is feature (free-spin/bonus) round or not
isFeatureBuy boolean Optional Flag indicating whether a round is feature buy (free-spin/bonus) round or not
skipBalanceUpdate boolean Optional Flag indicating whether a round is this transaction need to update user's balance or not
true: Don't update user's balance
false: Update user's balance with betAmount or payoutAmount

Data GetBetDetail

Property Type Required Description
betId string Required Bet ID
date string Required Datetime String ISO Format
walletType string Required Wallet Type

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the response Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before settle
balanceAfter number Required Player's balance after settle
username string Required User id on agent system

Common Cancel Bets POST

Provider will send the user's cancel information when bet have an problem or timeout.

Request Body

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "productId": "{{ Product ID }}",
  "username": "testProduct1",
  "currency": "THB",
  "timestampMillis": 1631599542778,
  "txns": [
    {
      "id": "fcb2ba36-4dd9-4a7f-84ae-9ee322bf6667",
      "status": "REFUND",
      "roundId": "01138QI30537E4",
      "txnId": "fcb2ba36-4dd9-4a7f-84ae-9ee322bf6667",
      "betAmount": 100,
      "gameCode": "B001",
      "playInfo": "Binary"
    }
  ]
}

JSON response example:

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "statusCode": 0,
  "timestampMillis": 1631599542878,
  "productId": "{{ Product ID }}",
  "currency": "THB",
  "balanceBefore": 9910,
  "balanceAfter": 10010,
  "username": "testProduct1"
}

HTTP Request

POST {{ API_URL }}/cancelBets

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transaction Id

Common Cancel Bet Txn

Property Type Required Description
id string Required Transaction ID
status string Required Bet status (Should always be REFUND)
roundId string Required Round id
betAmount number Required Stake amount
gameCode string Required Game code
playInfo string Required Information regarding the chosen play
txnId string Required Transaction ID (Useally send the same id)

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the response Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before cancel
balanceAfter number Required Player's balance after cancel
username string Required User id on agent system

Common Adjust Bets POST

Sometimes the provider need to adjust the wagered amount. If you got this request, you can use the value inside the body to adjust player's balance.
Adjust bet = (Member Balance + Old Bet Amount) - New Bet Amount
Start Balance = 10000
Bet Amount = 10
Balance = 9990
Adjust Bet = 20
Balance = 9980
calculate Balance = 9990 + 10 - 20

Request Body

{
  "id": "eb62c4bf-32e4-402e-8dc0-a714456bb904",
  "productId": "{{ Product ID }}",
  "username": "testProduct1",
  "currency": "THB",
  "timestampMillis": 1645793496380,
  "txns": [
    {
      "id": "8267374961748311",
      "status": "OPEN",
      "roundId": "826737496",
      "betAmount": 10,
      "gameCode": "B001",
      "playInfo": "Binary",
      "txnId": "8267374961748311"
    }
  ]
}

JSON Response Body

{
  "id": "eb62c4bf-32e4-402e-8dc0-a714456bb904",
  "statusCode": 0,
  "productId": "{{ Product ID }}",
  "timestampMillis": 1645793496739,
  "username": "testProduct1",
  "currency": "THB",
  "balanceBefore": 10000,
  "balanceAfter": 9990
}

Request Body

{
  "id": "3c0e61ab-98f7-46f6-9e8d-b6bf12df2fac",
  "productId": "{{ Product ID }}",
  "username": "testProduct1",
  "currency": "THB",
  "timestampMillis": 1645793516204,
  "txns": [
    {
      "id": "8267374961748311",
      "status": "OPEN",
      "roundId": "826737496",
      "betAmount": 20,
      "gameCode": "B001",
      "playInfo": "Player",
      "txnId": "8267374961748311"
    }
  ]
}

JSON response example:

{
  "id": "3c0e61ab-98f7-46f6-9e8d-b6bf12df2fac",
  "statusCode": 0,
  "productId": "{{ Product ID }}",
  "timestampMillis": 1645793516442,
  "username": "testProduct1",
  "currency": "THB",
  "balanceBefore": 9990,
  "balanceAfter": 9980
}

HTTP Request

POST {{ API_URL }}/adjustBets

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transaction Id on agent system

Common Adjust Bet Txn

Property Type Required Description
id string Required Transaction ID
status string Required Bet status
roundId string Required Round id
gameCode string Required Game code
playInfo string Required Information regarding the chosen play
txnId string Required Transaction ID (Useally send the same id)

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the request Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before unsettle
balanceAfter number Required Player's balance after unsettle
username string Required User id on agent system

Common Unsettle Bets POST

Request Body

{
  "id": "e75db240-d519-44dd-8e37-d68ec1c6f9b2",
  "productId": "{{ Product ID }}",
  "username": "testProduct1",
  "currency": "THB",
  "timestampMillis": 1645775403311,
  "txns": [
    {
      "id": "9621055643135717",
      "status": "UNSETTLED",
      "roundId": "962105564",
      "gameCode": "BB001",
      "playInfo": "Player 1 Double",
      "txnId": "9621055643135717"
    }
  ]
}

JSON response example:

{
  "id": "e75db240-d519-44dd-8e37-d68ec1c6f9b2",
  "statusCode": 0,
  "productId": "{{ Product ID }}",
  "timestampMillis": 1645775403663,
  "username": "testProduct1",
  "currency": "THB",
  "balanceBefore": 9997.5,
  "balanceAfter": 9987.5
}

HTTP Request

POST {{ API_URL }}/unsettleBets

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transaction Id on agent system

Common Unsettle Bet Txn

Property Type Required Description
id string Required Bet id
status string Required Bet status (Will be UNSETTLED)
roundId string Required Round id
gameCode string Required Game code
playInfo string Required Information regarding the chosen play
txnId string Required Transaction ID (Useally send the same id)

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the request Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before unsettle
balanceAfter number Required Player's balance after unsettle (deduct from payoutAmount - betAmount of previous settle request)
username string Required User id on agent system

Win Rewards POST

Request Body

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "productId": "{{ Product ID }}",
  "username": "testProduct1",
  "currency": "THB",
  "timestampMillis": 1631599542778,
  "txns": [
    {
      "id": "e723b240-d519-44dd-8e37-d6823c6f9b2",
      "status": "SETTLED",
      "roundId": "2866",
      "betAmount": 0,
      "payoutAmount": 1000,
      "gameCode": "BB01",
      "playInfo": "player"
    }
  ]
}

JSON response example:

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "statusCode": 0,
  "timestampMillis": 1631599542821,
  "productId": "{{ Product ID }}",
  "currency": "THB",
  "balanceBefore": 8600,
  "balanceAfter": 9600,
  "username": "testProduct1"
}

HTTP Request

POST {{ API_URL }}/winRewards

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transactions

Common Win Rewards Txn

Property Type Required Description
id string Required Bet id
status string Required Bet status (Should always be SETTLED)
roundId string Required Round id
betAmount number Required Stake amount (Should always be 0)
payoutAmount number Required Win amount
gameCode string Required Game code
playInfo string Required Information regarding the chosen play

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the request Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before get rewards
balanceAfter number Required Player's balance after get rewards
username string Required User id on agent system

Common Pay Tips POST

Request Body

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "productId": "{{ Product ID }}",
  "username": "testProduct1",
  "currency": "THB",
  "timestampMillis": 1631599542778,
  "txns": [
    {
      "id": "Mjg2Ni0y",
      "status": "OPEN",
      "roundId": "2866",
      "betAmount": 100,
      "gameCode": "BAC",
      "playInfo": "row3"
    }
  ]
}

JSON response example:

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "statusCode": 0,
  "timestampMillis": 1631599542878,
  "productId": "{{ Product ID }}",
  "currency": "THB",
  "balanceBefore": 8700,
  "balanceAfter": 8600,
  "username": "testProduct1"
}

HTTP Request

POST {{ API_URL }}/placeTips

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transaction Id

Common Pay Tips Txn

Property Type Required Description
id string Required Bet id
status string Required Bet status (Should always be OPEN)
roundId string Required Round id
betAmount number Required Stake amount
gameCode string Required Game code
playInfo string Required Information regarding the chosen play

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the request Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before cancel
balanceAfter number Required Player's balance after cancel
username string Required User id on agent system

Common Pay Tips Cancel POST

Request Body

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "productId": "{{ Product ID }}",
  "username": "testProduct1",
  "currency": "THB",
  "timestampMillis": 1631599542778,
  "txns": [
    {
      "id": "Mjg2Ni0y",
      "status": "REFUND",
      "roundId": "2866",
      "betAmount": 100,
      "gameCode": "BAC",
      "playInfo": "row3"
    }
  ]
}

JSON response example:

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "statusCode": 0,
  "timestampMillis": 1631599542878,
  "productId": "{{ Product ID }}",
  "currency": "THB",
  "balanceBefore": 8600,
  "balanceAfter": 8700,
  "username": "testProduct1"
}

HTTP Request

POST {{ API_URL }}/cancelTips

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transaction Id

Common Pay Tips Cancel Txn

Property Type Required Description
id string Required Bet id
status string Required Bet status (Should always be REFUND)
roundId string Required Round id
betAmount number Required Stake amount
gameCode string Required Game code
playInfo string Required Information regarding the chosen play

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the request Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before cancel
balanceAfter number Required Player's balance after cancel
username string Required User id on agent system

Common Void Bets POST

HTTP Request

POST {{ API_URL }}/voidBets

Request Body

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "productId": "{{ Product ID }}",
  "username": "testProduct1",
  "currency": "THB",
  "timestampMillis": 1631599542778,
  "txns": [
    {
      "id": "e723b240-d519-44dd-8e37-d6823c6f9b2",
      "status": "VOID",
      "roundId": "2866",
      "betAmount": 100,
      "payoutAmount": 1000,
      "gameCode": "BB01",
      "playInfo": "player"
    }
  ]
}

JSON response example:

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "statusCode": 0,
  "timestampMillis": 1631599542821,
  "productId": "{{ Product ID }}",
  "currency": "THB",
  "balanceBefore": 8600,
  "balanceAfter": 9600,
  "username": "testProduct1"
}

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transaction Id on agent system

Common Void Bet Txn

Property Type Required Description
id string Required Bet id
status string Required Bet status (Will be VOID)
roundId string Required Round id
betAmount number Required Stake amount
payoutAmount number Required Payout amount (stake + win amount)
gameCode string Required Game code
playInfo string Required Information regarding the chosen play
txnId string Required Transaction ID (Useally send the same id)

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the request Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before unsettle
balanceAfter number Required Player's balance after unsettle (deduct from payoutAmount - betAmount of previous settle request)
username string Required User id on agent system

Common Adjust balance POST

HTTP Request

POST {{ API_URL }}/adjustBalance

Request Body

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "productId": "{{ Product ID }}",
  "username": "testProduct1",
  "currency": "THB",
  "timestampMillis": 1631599542778,
  "txns": [
    {
      "id": "e723b240-d519-44dd-8e37-d6823c6f9b2",
      "txnId": "030c0030-8826-4b33-9b4d-646d8397d90a",
      "status": "SETTLED",
      "roundId": "2866",
      "betAmount": 100,
      "turnOver": 100,
      "payoutAmount": 0,
      "gameCode": "BB01",
      "playInfo": "DEBIT"
    }
  ]
}

JSON response example:

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "statusCode": 0,
  "timestampMillis": 1631599542821,
  "productId": "{{ Product ID }}",
  "currency": "THB",
  "balanceBefore": 10000,
  "balanceAfter": 9900,
  "username": "testProduct1"
}

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request id
timestampMillis number Required Requesting time
productId string Required Product id associated with the request Product
currency string Required Player's currency code in ISO 4217 (Example: "THB")
username string Required User id on agent system
txns Txn[] Required Transaction Id on agent system

Common adjust balance txn

Property Type Required Description
id string Required Bet id
txnId string Required Transaction ID (Useally send the same id)
status string Required Bet status (Will be SETTLED)
roundId string Required Round id
betAmount number Required Stake amount
turnOver number Required Valid stake amount
payoutAmount number Required Payout amount (stake + win amount)
gameCode string Required Game code
playInfo string Required Information regarding the chosen play

Response Description

Property Type Required Description
id string Required Request id
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product id associated with the request Product
currency string Required Player's currency codein ISO 4217 (Example: "THB")
balanceBefore number Required Player's balance before unsettle
balanceAfter number Required Player's balance after unsettle (deduct from payoutAmount - betAmount of previous settle request)
username string Required User id on agent system

Common Status Code

JSON response fail example:

{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "statusCode": 10001,
  "productId": "{{ Product ID }}",
  "timestampMillis": 1631599542878
}
Code Description
0 Success
10001 User not found
10002 User has insufficient balance to proceed
20001 Transaction not found
20002 Transaction duplicate
20003 Bet has already canceled
20004 Bet has already settled
30001 Invalid token
40003 Forbidden request
50001 Internal server error

PG Soft

PG soft using new callback urls

image

  1. Login with productId "PGSOFT2"

Special note: If /settleBets request duplicate, please check your database, if your system saved this transaction already, please response with success but do not increase the user's balance. If your system didn't save the transaction yet, proceed the transaction normally.

Check Balance POST

This callback url used to check your player's remaining balance.

Request Body

{
  "id": "58f0a8b2-0e60-4bf8-9eee-b7528917c01b",
  "timestampMillis": 1631120940430,
  "productId": "PGSOFT2",
  "currency": "THB",
  "username": "foobar",
  "gameCode": "lucky-neko",
  "sessionToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6ImZvb2JhciIsImlhdCI6MTUxNjIzOTAyMn0.rvCSZduLNsFeXuViC_2gZf2y9Avo-TquLIVxzXb2wFc"
}

JSON response example:

{
  "id": "58f0a8b2-0e60-4bf8-9eee-b7528917c01b",
  "statusCode": 0,
  "timestampMillis": 1631120940530,
  "productId": "PGSOFT2",
  "currency": "THB",
  "balance": 10000,
  "username": "foobar"
}

HTTP Request

POST {{ API_URL }}/checkBalance

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request ID
timestampMillis number Required Requesting time
productId string Required Product ID associated with the request (Example: PGSOFT2)
currency string Required Player's currency code in ISO 4217 (Example: THB)
username string Required User ID on agent system
sessionToken string Optional User token (This value will be the same value as you input to /seamless/logIn API)

Response Description

Property Type Required Description
id string Required Request ID
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time
productId string Required Product ID associated with the response (Example: PGSOFT2)
currency string Required Player's currency codein ISO 4217 (Example: THB)
balance number Required Player's current balance
username string Required User ID on agent system

Settle Bets POST

Note:

  1. Please always verify betAmount and user's balance before proceed the transaction. If user's balance less than betAmount please response insufficient balance.
  2. (Very important!) If /settleBets request duplicate, please check your database, if your system saved this transaction already, please response with success but do not increase the user's balance. If your system didn't save the transaction yet, proceed the transaction normally.

Request Body

{
  "id": "0d677667-8419-4625-904e-07553a3b44ab",
  "productId": "PGSOFT2",
  "username": "foobar",
  "currency": "THB",
  "timestampMillis": 1631515500995,
  "txns": [
    {
      "id": "1517414362204114945",
      "status": "SETTLED",
      "roundId": "1517414362204114945-1517414362204114945-101-0",
      "betAmount": 1000,
      "payoutAmount": 1500,
      "gameCode": "lucky-neko",
      "playInfo": "lucky-neko",
      "txnId": "1517414362204114945",
      "isEndRound": false,
    }
  ]
}

JSON response example:

{
  "id": "0d677667-8419-4625-904e-07553a3b44ab",
  "statusCode": 0,
  "timestampMillis": 1631515501095,
  "productId": "PGSOFT2",
  "currency": "THB",
  "balanceBefore": 10000,
  "balanceAfter": 10500,
  "username": "foobar"
}

HTTP Request

POST {{ API_URL }}/settleBets

Content Type

Type: application/json

Parameter Description

Property Type Required Description
id string Required Request ID
timestampMillis number Required Requesting time
productId string Required Product ID associated with the request (Example: PGSOFT2)
currency string Required Player's currency code in ISO 4217 (Example: THB)
username string Required User ID on agent system
txns Txn[] Required Transaction ID on agent system
transactionType string Optional Transaction type detail

PGSOFT2 Settle Bet Txn

Property Type Required Description
id string Required Bet ID (You can use this to reference in the provider system)
status string Required Bet status (Should always be SETTLED)
roundId string Required Round ID
betAmount number Required Stake amount
payoutAmount number Required Payout amount
gameCode string Required Game code
playInfo string Required Information regarding the chosen play
txnId string Required Bet ID (You can use this to reference in the provider system)
isEndRound boolean Optional Flag indicating whether a round is end round or not
isFeature boolean Optional Flag indicating whether a round is feature (free-spin/bonus) round or not
isFeatureBuy boolean Optional Flag indicating whether a round is feature buy (free-spin/bonus) round or not

Data GetBetDetail

Property Type Required Description
betId string Required Bet ID
date string Required Datetime String ISO Format
walletType string Required Wallet Type

Response Description

Property Type Required Description
id string Required Request ID
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time in milli-second
productId string Required Product id associated with the response (Example: PGSOFT2)
currency string Required Player's currency codein ISO 4217 (Example: THB)
balanceBefore number Required Player's balance before settle
balanceAfter number Required Player's balance after settle
username string Required User id on your system

Common error response

Please use this error response format when implement an integration.

Example error response

{
  "id": "cbc9320e-9b88-4e33-94c2-2caf8cf105af",
  "statusCode": 30001,
  "timestampMillis": 1631120940430,
  "productId": "PGSOFT2"
}

Error response Description

Property Type Required Description
id string Required Request ID that found an issue
statusCode number Required Status from StatusCode
timestampMillis number Required Responding time in milli-second
productId string Required Product id associated with the response (Example: PGSOFT2)

PGSOFT2 Status Code

Code Description
0 Success
10001 User not found
10002 User has insufficient balance to proceed with
30001 Invalid token
40003 Forbidden request
50001 Internal server error

Sexy Gaming

Let's play

  1. Login with productId "SEXY"

Please checks SuperAPI common flows (See more: New common flow)

Big Gaming

Let's play

  1. Login with productId "BIGGAME"

Please checks SuperAPI common flows (See more: New common flow)

SA Gaming

Let's play

  1. Login with productId "SAGAME"

Please checks SuperAPI common flows (See more: New common flow)

SlotXo/Joker

Let's play

  1. Login with productId "SLOTXO" or "JOKER" If you need to integrate slotxo product, use SLOTXO as a productId. If you need to integrate joker product, use JOKER as a productId.

Please checks SuperAPI common flows (See more: New common flow)

Evoplay

Let's play

  1. Login with productId "EVOPLAY"

Please checks SuperAPI common flows (See more: New common flow)

Dream Gaming

Let's play

  1. Login with productId "DREAM"

Please checks SuperAPI common flows (See more: New common flow)

Live22

Let's play

  1. Login with productId "LIVE22"

Please checks SuperAPI common flows (See more: New common flow)

Simple Play

Let's play

  1. Login with productId "SIMPLEPLAY"

Please checks SuperAPI common flows (See more: New common flow)

Netent/Redtiger

Let's play

  1. Login with productId "NETENT" or "REDTIGER" If you need to integrate netent product, use NETENT as a productId. If you need to integrate redtiger product, use REDTIGER as a productId.

Please checks SuperAPI common flows (See more: New common flow)

Nolimit

Let's play

  1. Login with productId "NOLIMIT" If you need to integrate nolimit-city product, use NOLIMIT as a productId.

Please checks SuperAPI common flows (See more: New common flow)

Spade Gaming

Let's play

  1. Login with productId "SPADE"

Please checks SuperAPI common flows (See more: New common flow)

Askmebet

Let's play

  1. Login with productId "ASKMEBET"

Please checks SuperAPI common flows (See more: New common flow)

Habanero

Let's play

  1. Login with productId "HABANERO"

Seamless Integration APIs

1. Player detail request (Verify session and Get balance) POST

Verify token and get latest balance from user.

Request Body Example:

{
    "type": "playerdetailrequest",
    "dtsent": "2021-05-04T06:00:00.000Z",
    "basegame": {
        "brandgameid": "c7098074-a238-41fa-a6b3-ed0f150a2b47",
        "keyname": "SGFortuneDogs"
    },
    "auth": {
        "username": "habanero",
        "passkey": "cKYLRerqXJec228",
        "machinename": "hb-vm01-test",
        "locale": "en",
        "brandid": "8c77579e-1bbd-446a-8e8f-2a6e9e150778"
    },
    "playerdetailrequest": {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6ImZvb2JhciIsImlhdCI6MTUxNjIzOTAyMn0.rvCSZduLNsFeXuViC_2gZf2y9Avo-TquLIVxzXb2wFc",
        "gamelaunch": true 
    },
    "playerdetailresponse": {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6ImZvb2JhciIsImlhdCI6MTUxNjIzOTAyMn0.rvCSZduLNsFeXuViC_2gZf2y9Avo-TquLIVxzXb2wFc",
        "gamelaunch": true 
    }
}

JSON response example:

{
    "playerdetailresponse": {
        "status": {
            "success": true,
            "autherror": false,
            "nofunds": false,
            "successdebit": true,
            "successcredit": true,
            "refundstatus": 0,
            "message": "success",
        },
        "accountid": "foobar",
        "accountname": "foobar",
        "balance": "10000.00",
        "currencycode": "THB"
    }
}

HTTP Request

POST {{ API_URL }}

Content Type

Type: application/json

Verify session and Get balance Request parameter description

Property Type Required Description
type string Required Request type, for this request fixed value: playerdetailrequest
dtsent string Required Request date time in ISO format
basegame object Required basegame information see more in below table
auth object Required auth information see more in below table
playerdetailrequest object Required playerdetailrequest information see more in below table
playerdetailresponse object Required playerdetailresponse information see more in below table

basegame request description

Property Type Required Description
brandgameid string Required Brand game id, provided by Habanero provider
keyname string Required Game key name, provided by Habanero provider

auth request description

Property Type Required Description
username string Required Username from provider fixed value: habanero
passkey string Required Passkey that auto generated from Habanero provider
machinename string Required Habanero provider machine's name
locale string Required Language that user is playing
brandid string Required Brand id, provided by Habanero provider

playerdetailrequest request description

Property Type Required Description
token string Required Token that operator's system need to verify
gamelaunch boolean Required Game launch status

playerdetailresponse request description

Property Type Required Description
token string Required Token that operator's system need to verify
gamelaunch boolean Required Game launch status

Verify session and Get balance Response parameter description

Property Type Required Description
playerdetailresponse object Required playerdetailresponse information see more in below table

playerdetailresponse request description

Property Type Required Description
status object Required status information see more in below table
accountid string Required Player username id
accountname string Required Player username
balance string Required Lastest player balance
currencycode string Required Player currency

status response description

Property Type Required Description
success boolean Required Request succes status
Return true if success and false if not success
autherror boolean Required Request authentication error status
Return false if success and true if authentication error
nofunds boolean Required Is player has enough credit?
true: Yes, false: No
successdebit boolean Required Status of 'stake' is success or not
successcredit boolean Required Status of 'settle' is success or not
refundstatus number Required Refund status:
1: Refund is required
2: Refund is not required
message string Required Response message, if success return Success

2. Bet/Settle POST

Game provider send the user's bet or settle information.

Bet/Settle Request Body Example:

    {
    "type": "fundtransferrequest",
    "dtsent": "2021-05-04T04:43:31.9682165Z",
    "basegame": {
        "brandgameid": "0de61a6f-4676-402c-84fd-e88f092caa65",
        "keyname": "SGHeySushi"
    },
    "auth": {
        "username": "habanero",
        "passkey": "cKYLRerqXJec228",
        "machinename": "hb-vm01-test",
        "locale": "en",
        "brandid": "58b5e4b9-8b5f-411c-9a31-3a6d9aba73f0"
    },
    "fundtransferrequest": {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6ImZvb2JhciIsImlhdCI6MTUxNjIzOTAyMn0.rvCSZduLNsFeXuViC_2gZf2y9Avo-TquLIVxzXb2wFc",
        "accountid": "foobar",
        "customplayertype": 0,
        "gameinstanceid": "7b421bda-0af3-4cf5-8a84-4fd4c50d5777",
        "friendlygameinstanceid": 1367717267,
        "isretry": false,
        "retrycount": 0,
        "isrefund": false,
        "isrecredit": false,
        "funds": {
            "debitandcredit": true,
            "fundinfo": [
                {
                    "gamestatemode": 1,
                    "transferid": "40edc812-60bd-4db1-95e9-7ffa04a60a58",
                    "currencycode": "THB",
                    "amount": -40.0,
                    "bonusamount": 0,
                    "jpwin": false,
                    "jpcont": 0,
                    "isbonus": false,
                    "dtevent": "2021-04-30T00:00:31.953Z",
                    "initialdebittransferid": "40edc812-60bd-4db1-95e9-7ffa04a60a58",
                    "accounttransactiontype": 712,
                    "gameinfeature": false
                },
                {
                    "gamestatemode": 0,
                    "transferid": "0c78707b-b3e4-4134-890a-d7f3e908aaa4",
                    "currencycode": "THB",
                    "amount": 0,
                    "bonusamount": 100.00,
                    "jpwin": false,
                    "jpcont": 0,
                    "isbonus": true,
                    "dtevent": "2021-04-30T00:00:31.953Z",
                    "initialdebittransferid": "40edc812-60bd-4db1-95e9-7ffa04a60a58",
                    "accounttransactiontype": 712,
                    "gameinfeature": false
                }
            ]
        },
        "gamedetails": {
            "name": "Hey Sushi",
            "keyname": "SGHeySushi",
            "gametypeid": 11,
            "gametypename": "Video Slots",
            "brandgameid": "0de61a6f-4676-402c-84fd-e88f092caa65",
            "gamesessionid": "00c01606-35ee-4431-96c7-1fcad6de0735",
            "gameinstanceid": "7b421bda-0af3-4cf5-8a84-4fd4c50d5777",
            "friendlygameinstanceid": 1367717267,
            "channel": 1,
            "device": "NA",
            "browser": "NA"
        }
    }
}

Bet/Settle JSON response example:

{
    "fundtransferresponse": {
        "status": {
            "success": true,
            "nofunds": false,
            "successdebit": true,
            "successcredit": true,
            "refundstatus": 0
        },
        "balance": "10000.00",
        "currencycode": "THB"
    }
}

HTTP Request

POST {{ API_URL }}

Content Type

Type: application/json

Bet/Settle Request parameter description

Property Type Required Description
type string Required Request type, for this request fixed value: playerdetailrequest
dtsent string Required Request date time in ISO format
basegame object Required basegame information see more in below table
auth object Required auth information see more in below table
fundtransferrequest object Required fundtransferrequest information see more in below table

basegame request description

Property Type Required Description
brandgameid string Required Brand game id, provided by Habanero provider
keyname string Required Game key name, provided by Habanero provider

auth request description

Property Type Required Description
username string Required Username from provider fixed value: habanero
passkey string Required Passkey that auto generated from Habanero provider
machinename string Required Habanero provider machine's name
locale string Required Language that user is playing
brandid string Required Brand id, provided by Habanero provider

fundtransferrequest request description

Property Type Required Description
token string Required Token that operator's system need to verify
accountid string Required Player username id
customplayertype number Required Player type:
0: Normal player
1: Tester in Habanero Backoffice
gameinstanceid string Required UUID for the round game
friendlygameinstanceid string Required An identity integer value representing the game number which is shown on the player's screen
isretry boolean Required This is set to true in conjunction with either Is refund or Is recredit.
retrycount number Required Retry counter
isrefund boolean Required true/false if this is a refund attempt
isrecredit boolean Required true/false if this is a recredit attempt
funds object Required funds information see more in below table
gamedetails object Required gamedetails information see more in below table

funds request description

Property Type Required Description
debitandcredit boolean Required Indicate that this is the Debit and Credit package
fundinfo [object] Optional fundinfo information see more in below table
refund object Optional refund information if the refund needed see more in below table

fundinfo or refund request description

Property Type Required Description
gamestatemode number Required Game stage mode
== Bet/Settle request ==
1: Game round start (Bet)
2: Game round end (Settle)
3: Expired (Player left the game and reach the expired date)
0: Continuation (free-spin/bonus/jackpot, game still open not Settle yet)
== Refund request ==
2: Refund the first debit transaction
0: Refund continuation (Sub transaction inside free-spin/bonus/jackpot)
transferid string Required The UUID for this fund transfer element
currencycode string Required Player's currency code
amount number Required Player's bet/settle amount (Value can be postitive or negative, if amount < 0 mean bet/lose credit, other is for settle/earn credit)
bonusamount number Optional Specifies the Bonus Bet or the Bonus Win amount
jpwin boolean Required true/false indicating if this credit "amount" is from a jackpot win
jpcont number Required The amount contributed towards all active jackpots.
isbonus boolean Required Indicates this is a bonus payout from a coupon that has met wagering requirements
dtevent string Required Date time of the event in ISO format
initialdebittransferid string Required The transferid for the first bet of the game
accounttransactiontype string Required The account transac tion type id for this action
gameinfeature boolean Required Indicates if the game (slot) is in feature mode

gamedetails request description

Property Type Required Description
name string Required Habanero's game name (in English)
keyname string Required Habanero's game key name
gametypeid number Required Game type id (See more on Game Type ID)
gametypename string Required The description of the game-type
brandgameid string Required Game identifier
gamesessionid string Required The habanero game session which is started when opening an instance of a game
gameinstanceid string Required Copy of the parent gameinstanceid
friendlygameinstanceid number Required Copy of the parent friendlygameinstanceid
channel number Required See more on Channel type
device string Required See more on Channel type
browser string Required See more on Channel type

Bet/Settle Response parameter description

Property Type Required Description
fundtransferresponse object Required fundtransferresponse information see more in below table

fundtransferresponse request description

Property Type Required Description
status object Required status information see more in below table
balance string Required Lastest player balance
currencycode string Required Player currency

status response description

Property Type Required Description
success boolean Required Request succes status
Return true if success and false if not success
nofunds boolean Required Is player has enough credit?
true: Yes, false: No
successdebit boolean Required Identify the 'debit'(Bet) is success or not
successcredit boolean Required Identify the 'credit'(Settle) is success or not
refundstatus number Required Refund status:
1: Refund is required
2: Refund is not required

3. Query request POST

Game provider send the request to check the fundtransferrequest status.

Request Body Example:

{
    "type": "queryrequest",
    "dtsent": "2021-12-24T05:14:33.2039245Z",
    "basegame": {
        "brandgameid": "8aaf31df-0c18-4de4-bb34-7ea1c8f3820b",
        "keyname": "BlackJack3H"
    },
    "auth": {
        "username": "habanero",
        "passkey": "b8b954e1-d73c-41e9-8f5c-21da90b6ae21",
        "machinename": "TESTSERVER",
        "locale": "en",
        "brandid": "a46dc7d8-8320-4147-87db-8dd39dcc5c3a"
    },
    "queryrequest": {
        "transferid": "00e7c704-369a-42cb-a9cd-a734f6957075",
        "accountid": "153",
        "gameinstanceid": "0f9bf62b-2dcd-48dd-9a80-2e333572d920",
        "friendlygameinstanceid": 1330637,
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6ImZvb2JhciIsImlhdCI6MTUxNjIzOTAyMn0.rvCSZduLNsFeXuViC_2gZf2y9Avo-TquLIVxzXb2wFc",
        "queryamount": -125
    }
}

JSON response example:

{
    "fundtransferresponse": {
        "status": {
          "success": true,
        }
    }
}

HTTP Request

POST {{ API_URL }}

Content Type

Type: application/json

Query request Request parameter description

Property Type Required Description
type string Required Request type, for this request fixed value: playerdetailrequest
dtsent string Required Request date time in ISO format
basegame object Required basegame information see more in below table
auth object Required auth information see more in below table
queryrequest object Required queryrequest information see more in below table

basegame request description

Property Type Required Description
brandgameid string Required Brand game id, provided by Habanero provider
keyname string Required Game key name, provided by Habanero provider

auth request description

Property Type Required Description
username string Required Username from provider fixed value: habanero
passkey string Required Passkey that auto generated from Habanero provider
machinename string Required Habanero provider machine's name
locale string Required Language that user is playing
brandid string Required Brand id, provided by Habanero provider

queryrequest request description

Property Type Required Description
transferid string Required The unique id for this fund transfer element
accountid string Required UNIQUE primary-key of the player in your database
gameinstanceid string Required Unique game ID as a UUID
friendlygameinstanceid number Required Unique game ID as an integer
token string Required Token that operator's system need to verify
queryamount number Required Value of the original transfer being queried

Query request Response parameter description

Property Type Required Description
fundtransferresponse object Required fundtransferresponse information see more in below table

fundtransferresponse request description

Property Type Required Description
status object Required Object contain only success value the value should be:
true: Query request is success
false: Query is not success

Habanero - Appendix

Habanero - Channel type ID

Name Value
1 Desktop Browser
4 Mobile Browser
5 App - Android
6 App - iOS

Habanero - Game type ID

GameTypeID Name
2 Baccarat
4 Blackjack
5 Roulette
6 Video Poker
7 Gamble
8 Casino Poker
11 Video Slots
15 Sic Bo
16 War
17 Dragon Tiger
18 Other Table Games
20 Shooting Games

CQ9 (Slot)

Let's play

  1. Login with productId "CQ9"

Please checks SuperAPI common flows (See more: New common flow)

Manna Play

Let's play

  1. Login with productId "MANNA"

Please checks SuperAPI common flows (See more: New common flow)

Micro Gaming (Slot)/UPG Slot

Let's play

  1. Login with productId "MICRO" when integrate Micro Gaming (Slot)
  2. Login with productId "UPG" when integrate UPG Slot

Please checks SuperAPI common flows (See more: New common flow)

Ambpoker

Let's play

  1. Login with productId "AMBPOKER"

Please checks SuperAPI common flows (See more: New common flow)

Creative Gaming

Let's play

  1. Login with productId "CG"

Please checks SuperAPI common flows (See more: New common flow)

Betgames TV

Let's play

  1. Login with productId "BETGAME"

Common Request

Redirect to Common Request


Yggdrasil

Let's play

  1. Login with productId "YGGDRASIL"

Please checks SuperAPI common flows (See more: New common flow)

WM Casino

Let's play

  1. Login with productId "WM"

Please checks SuperAPI common flows (See more: New common flow)

Ameba

Let's play

  1. Login with productId "AMEBA"

Please checks SuperAPI common flows (See more: New common flow)

Pretty Gaming

Let's play

  1. Login with productId "PRETTY"

Please checks SuperAPI common flows (See more: New common flow)

Allbet

Let's play

  1. Login with productId "ALLBET"

Please checks SuperAPI common flows (See more: New common flow)

King Maker

Let's play

  1. Login with productId "KINGMAKER"

Please checks SuperAPI common flows (See more: New common flow)

Asia Gaming

Let's play

  1. Login with productId "AGGAME"

Please checks SuperAPI common flows (See more: New common flow)

I8

Let's play

  1. Login with productId "I8"

Please checks SuperAPI common flows (See more: New common flow)

Cockfight

Let's play

  1. Login with productId "COCKFIGHT"

Please checks SuperAPI common flows (See more: New common flow)

WMSlot

Let's play

  1. Login with productId "WMSLOT"

Please checks SuperAPI common flows (See more: New common flow)

Funky Game

Let's play

  1. Login with productId "FUNKY"

Please checks SuperAPI common flows (See more: New common flow)

Sbobet

Let's play

  1. Login with productId "SBO"

1. Login SBO POST

Request Body Example:

{
    "username": "foobar",
    "productId": "SBO",
    "gameCode": 0,
    "sessionToken": "070d45b4-cef9-4652-b7ac-ef130752736d",
    "betLimit":[
        {
            "sport_type":0,
            "market_type":0,
            "min_bet":5,
            "max_bet":500,
            "max_bet_per_match":100000
        },
        {
            "sport_type":1,
            "market_type":1,
            "min_bet":5,
            "max_bet":500,
            "max_bet_per_match":100000
        }
    ]
}


JSON response example:

{
    "reqId": "5d778389-c37a-4312-bb7c-7521f9ff210b",
    "code": 0,
    "message": "Success",
    "data": {
        "url": "https://****************rue&lang=th-th&oddstyle=MY&theme=SBO&oddsmode=single&device=d"
    }
}

Sport Type

SportType Description
0 ALL
1 Soccer
2 Basketball
3 Football
4 Ice Hockey
5 Badminton
6 Pool
7 Motor Sport
8 Tennis
9 Baseball
10 Volleyball
11 Others
12 Golf
13 Boxing
14 Cricket
15 Table Tennis
16 Rugby
17 Handball
18 Cycling
19 Athletics
20 Beach_Soccer
21 Futsal
22 Entertainment
23 Financial
24 Darts
25 Olympic
26 Lacrosse
27 Water Polo
28 Winter Sports
29 Squash
30 Field_Hockey
31 Mixed_Martial_Arts
32 E_Sports
33 Gaelic_Football
34 Hurling
35 Muay_Thai
36 Bandy
37 Winter_Olympics

Market Type

SportTypeId Description
0 ALL
1 Handicap
2 Odd/Even
3 Over/Under
4 Correct Score
5 1X2
6 Total Goal
7 First Half Hdp
8 First Half 1x2
9 First Half O/U
10 HT/FT
11 Money Line
12 First Half O/E
13 First Goal/Last Goal
14 First Half CS
15 Double Chance
16 Live Score
17 First Half Live Score
39 Outright
40 Mix Parlay
666 In Between
800000 First Half 1X2 & O/U
800001 D/C & First Half O/U
900000 1X2 & O/U
900001 D/C & O/U
800002 First Half RCS
900002 Reverse Correct Score

Common Request

Redirect to Common Request

AMB Sportbook

Let's play

  1. Login with productId "AMBSPORTBOOK"

1. Login AMBSPORTBOOK POST

Request Body Example:

{
  "username": "foobar",
  "productId": "AMBSPORTBOOK",
  "gameCode": 0,
  "sessionToken": "070d45b4-cef9-4652-b7ac-ef130752736d",
  "betLimit": [
    {
      "sportType": 0,
      "market_type": 1,
      "min_bet": 5,
      "max_bet": 500,
      "max_bet_per_match": 100000
    },
    {
      "sportType": 0,
      "market_type": 2,
      "min_bet": 5,
      "max_bet": 500,
      "max_bet_per_match": 100000
    }
  ]
}

JSON response example:

{
  "reqId": "5d778389-c37a-4312-bb7c-7521f9ff210b",
  "code": 0,
  "message": "Success",
  "data": {
    "url": "https://stagin**********d/?uuid=655cfd523a3e99311a6a0b64&lang=th"
  }
}

Sport Type

SportType Description
0 ALL

Market Type

SportTypeId Description
1 Handicap
2 Odd/Even
3 Over/Under
5 1X2
7 First Half Hdp
8 First Half 1x2
9 First Half O/U
10 Money Line
11 First Half Money Line

Please checks SuperAPI common flows (See more: New common flow)

Askmeslot

Let's play

  1. Login with productId "ASKMESLOT"

Please checks SuperAPI common flows (See more: New common flow)

Pragmatic Play (Live Casino)

Let's play

  1. Login with productId "PRAGMATIC_CASINO"

Please checks SuperAPI common flows (See more: New common flow)

Pragmatic Play (Slot)

Let's play

  1. Login with productId "PRAGMATIC_SLOT"

Please checks SuperAPI common flows (See more: New common flow)

Relax Gaming

Let's play

  1. Login with productId "RELAX"

Please checks SuperAPI common flows (See more: New common flow)

759 Gaming

Let's play

  1. Login with productId "759GAMING"

Please checks SuperAPI common flows (See more: New common flow)

Motivation

Let's play

  1. Login with productId "CQ9_LIVECASINO"

Please checks SuperAPI common flows (See more: New common flow)

Hacksaw

Let's play

  1. Login with productId "HACKSAW"

Please checks SuperAPI common flows (See more: New common flow)

WE Casino

Let's play

  1. Login with productId "WECASINO"

Please checks SuperAPI common flows (See more: New common flow)

Advant Play

Let's play

  1. Login with productId "ADVANT"

Please checks SuperAPI common flows (See more: New common flow)

Nextspin

Let's play

  1. Login with productId "NEXTSPIN"

Please checks SuperAPI common flows (See more: New common flow)

Micro gaming (Live Casino)

Let's play

  1. Login with productId "MICRO_LIVECASINO"

Please checks SuperAPI common flows (See more: New common flow)

Yeebet

Let's play

  1. Login with productId "YEEBET"

Please checks SuperAPI common flows (See more: New common flow)

Goldy

Let's play

  1. Login with productId "GOLDY"

Please checks SuperAPI common flows (See more: New common flow)

Wazdan

Let's play

  1. Login with productId "WAZDAN"

Common Request

Redirect to Common Request


Funta

Let's play

  1. Login with productId "FUNTA"

Common Request

Redirect to Common Request


Booongo

Let's play

  1. Login with productId "BOOONGO"

Common Request

Redirect to Common Request


KA Gaming

Let's play

  1. Login with productId "KAGAME"

Common Request

Redirect to Common Request


Booming

Let's play

  1. Login with productId "BOOMING"

Please checks SuperAPI common flows (See more: New common flow)

Gioco Plus

Let's play

  1. Login with productId "GIOCO"

Please checks SuperAPI common flows (See more: New common flow)

Parlaybay

Let's play

  1. Login with productId "PARLAYBAY"

Common Request

Redirect to Common Request


Sexy Slot

Let's play

  1. Login with productId "SEXY_SLOT"

Please checks SuperAPI common flows (See more: New common flow)

Rich88

Let's play

  1. Login with productId "RICH88"

Please checks SuperAPI common flows (See more: New common flow)

Royal Slot Gaming

Let's play

  1. Login with productId "ROYAL"

Please checks SuperAPI common flows (See more: New common flow)

Play'n Go

Let's play

  1. Login with productId "PLAYNGO"

Please checks SuperAPI common flows (See more: New common flow)

AMB Gaming

Let's play

  1. Login with productId "AMBGAMING"

Please checks SuperAPI common flows (See more: New common flow)

Fachai

Let's play

  1. Login with productId "FACHAI"

Please checks SuperAPI common flows (See more: New common flow)

Miki Worlds

Let's play

  1. Login with productId "MIKIWORLD"

Please checks SuperAPI common flows (See more: New common flow)

Lalika

Let's play

  1. Login with productId "LALIKA"

Please checks SuperAPI common flows (See more: New common flow)

AFB1188 (Live Casino)

Let's play

  1. Login with productId "AFB1188_LIVECASINO"

Please checks SuperAPI common flows (See more: New common flow)

AFB1188 (Sport)

Let's play

  1. Login with productId "AFB1188"

Please checks SuperAPI common flows (See more: New common flow)

AFB1188 (Slot)

Let's play

  1. Login with productId "AFB1188_SLOT"

Please checks SuperAPI common flows (See more: New common flow)

YGR

Let's play

  1. Login with productId "YGR"

Please checks SuperAPI common flows (See more: New common flow)

Octoplay

Let's play

  1. Login with productId "OCTOPLAY"

Please checks SuperAPI common flows (See more: New common flow)

Real Time Gaming

Let's play

  1. Login with productId "RTGSLOT"

Please checks SuperAPI common flows (See more: New common flow)

5G Games

Let's play

  1. Login with productId "5G_GAMES"

Please checks SuperAPI common flows (See more: New common flow)

Virtual Sportbook

Let's play

  1. Login with productId "VIRTUAL_SPORT"

Please checks SuperAPI common flows (See more: New common flow)

Askmeplay

Let's play

  1. Login with productId "ASKMEPLAY"

Please checks SuperAPI common flows (See more: New common flow)

Dragon Gaming

Let's play

  1. Login with productId "DRAGONGAMING"

Please checks SuperAPI common flows (See more: New common flow)

UM Bet

Let's play

  1. Login with productId "UMBET"

Please checks SuperAPI common flows (See more: New common flow)