Get Bet Slip and Validate Token
/betSlip
The Bet Slip API extends the standard validateToken request by returning the layer's bet slip data.
This endpoint is used in Simulatta to retrieve active bets associated with the Player session.
Bet Slip Request
The request structure is identical to validateToken.
| Parameter | Type | Description | Required |
|---|---|---|---|
| merchantId | UUID | Merchant identifier | Yes |
| timestamp | Long | UNIX timestamp in milliseconds | Yes |
| authToken | String | Game session identifier | Yes |
| hash | String | HMAC SHA256 signature used to verify the request | Yes |
Hash Fields
The hash is calculated by concatenating the following fields in the exact order:
- merchantId
- timestamp
For details on how the hash is generated, see Hash Algorithm.
Request Example
{
"merchantId": "21385394-6dda-4171-a003-02fa4a975643",
"timestamp": 1709289932725,
"authToken": "b5e10b6b-4d88-475c-9496-a461052a8448",
"hash": "288db34c0f1eb6e9c11f38ff2feb90d0"
}
Bet Slip Response
| Parameter | Type | Description | Required |
|---|---|---|---|
| errorCode | Integer | Error code (default 0, indicates success) | No |
| errorText | String | Error message | No |
| playerId | String | Merchant Player identifier | Yes |
| balance | Decimal | Player balance | Yes |
| currency | String | Currency code (ISO 4217) | Yes |
| betSlip | List<Bet> | Bet Slip Item data, check Bet table | Yes |
| username | String | Player username | No |
| nickname | String | Player nickname | No |
| firstName | String | Player first name | No |
| lastName | String | Player last name | No |
| gender | String | Player gender | No |
| String | Player email address | No | |
| phone | String | Player phone number | No |
| ipAddress | String | Player IP address | No |
| language | String | Preferred language (ISO 639-3, e.g. ENG) | No |
| devicePlatform | String | Device platform (e.g. Desktop, Mobile) | No |
| address | String | Player address | No |
| city | String | Player city | No |
| country | String | Country code (ISO 3166) | No |
| test | Boolean | Indicates whether the Player is a test user | Yes |
Bet Object
| Parameter | Type | Description | Required |
|---|---|---|---|
| sportId | String | Sport identifier | Yes |
| sportName | String | Sport name | Yes |
| betSlipId | String | Bet identifier (Merchant side) | No |
| matchName | String | Match name | Yes |
| matchId | String | Match identifier | Yes |
| competitionId | String | Competition identifier | Yes |
| competitionName | String | Competition name | Yes |
| marketId | String | Market identifier | Yes |
| marketName | String | Market description | Yes |
| marketOptionId | String | Option identifier | Yes |
| marketOptionName | String | Selected market option name | Yes |
| odd | Double | Betting odd for the selected market option | Yes |
| margin | Double | Margin for the odds | Required for specific markets like over/under |
| homeTeam | String | Name of the home team | Yes |
| awayTeam | String | Name of the away team | Yes |
Response Example
{
"errorCode": 0,
"errorText": "",
"playerId": "c8d9e0f1-2345-4a6b-8c9d-0e1f2a3b4c5d",
"test": false,
"balance": 120.5,
"currency": "EUR",
"betSlip": [
{
"sportId": "1",
"sportName": "Football",
"betSlipId": "915259f2-0412-478d-bb32-b08d02f71a0c",
"matchName": "Monaco - Crvena Zvezda",
"matchId": "1234",
"competitionId": "10",
"competitionName": "UEFA - Champions League",
"marketId": "1",
"marketName": "The Match will end with Draw result",
"marketOptionId": "2",
"marketOptionName": "Draw",
"odd": 1.38,
"margin": null,
"homeTeam": "Monaco",
"awayTeam": "Crvena Zvezda"
},
{
"sportId": "2",
"sportName": "Basketball",
"betSlipId": "a7f8a612-d391-4d9b-beb2-efa87f1b5a3d",
"matchName": "Lakers - Celtics",
"matchId": "5678",
"competitionId": "20",
"competitionName": "NBA - Finals",
"marketId": "3",
"marketName": "Total Points Over/Under",
"marketOptionId": "5",
"marketOptionName": "Over 215.5",
"odd": 1.95,
"margin": 215.5,
"homeTeam": "Lakers",
"awayTeam": "Celtics"
}
]
}