GAP Seamless Wallet — Game API
These APIs are called by the Operator to GAP's server.
POST operator/login
Operator Login: POST /api/operator/login
To get authenticated with Games system and get the active session. Parameter should be in JSON format.
- Request URL:
https://dev-api.dreamdelhi.com/api/operator/login[POST] - Content-Type:
application/json - Signature:
byMYoU1abC/86EVvEbwNtumfgZnlbGaAwbeJ3qu668RCZRnkFv8B3fCRAzM9rDnDdjommrhK0B3BVmbpdCv6UzyY1avfxE2lbihvrF/LMkY4oKOyL8IJuGBbSLgzpI+hKYzcb+qD/En9ZAH0V4gNXh6RqI/XIgfWhB55zF9pBs4=
Request
| Parameter | Type | Enforce | Description |
|---|---|---|---|
| operatorId | String | Yes | operatorId of the operator |
| userId | String | Yes | User unique ID in operator system |
| platformId | String | Yes | DESKTOP/MOBILE |
| currency | String | Yes | Currency of the user (fiat only: INR/HKD/BDT/AED/USD — no custom codes) |
| username | String | Yes | User friendly name in operator system |
| lobby | Boolean | Yes | If it is lobby or not: True/False |
| gameId | String | Yes | Game id of the game |
| clientIp | String | Yes | Ip address of the client |
| balance | Float64 | Yes | Current User Balance (initial value — GAP calls /balance endpoint for real-time balance during gameplay) |
| redirectUrl | String | Yes | operator Redirect URL |
| subOperatorId | String | No | Sub Operator Id |
| partnerId | String | No | Partner ID |
Example: Sample Object of the data
{
OperatorId string `json:"operatorId"`
UserId string `json:"userId"`
PlatformId string `json:"platformId"`
Currency string `json:"currency"`
ClientIp string `json:"clientIp"`
Username string `json:"username"`
Lobby bool `json:"lobby"`
GameId string `json:"gameId"`
Balance float64 `json:"balance"`
SubOperatorId string `json:"subOperatorId"`
RedirectUrl string `json:"redirectUrl"`
PartnerId string `json:"partnerId"`
}
Response
| Parameter | Type | Enforce | Description |
|---|---|---|---|
| userId | String | Yes | User unique ID in operator System |
| token | String | Yes | Token created from GAP for each game session |
| url | String | Yes | Redirected URL to access the game UI |
| providerId | String | Yes | providerId of the Game provider |
| providerName | String | Yes | providerName of the Game provider |
| status | Int | Yes | Response Status message code |
| errorDescription | String | Yes | Detailed Error Response Message |
Example: Sample Object of the data
{
UserId string `json:"userId"`
OperatorToken string `json:"token"`
Url string `json:"url"`
ProviderId string `json:"providerId"`
ProviderName string `json:"providerName"`
Status int `json:"status"`
ErrorDescription string `json:"errorDescripion"`
}
Response Status and Error Description
| Status Integer | Description String |
|---|---|
| 0 | Completed Successfully |
| 1 | General Error |
| 2 | Operator Signature Invalid |
| 3 | OperatorId Invalid |
| 4 | GameId Invalid |
| 5 | Provider Details Invalid |
| 6 | Token Not Created |
| 7 | Provider Details not Found for Currency (ensure currency is a supported fiat code for the target provider) |
| 8 | User Blocked (to Play Games) |
Token Lifecycle: Tokens expire after 6 hours (hard timeout, user activity does not extend). Rollback/refund only comes from the game provider, NOT from GAP.
Example Request
curl --location 'https://dev-api.dreamdelhi.com/api/operator/login' \
--header 'Signature: byMYoU1abC/86EVvEbwNtumfgZnlbGaAwbeJ3qu668RCZRnkFv8B3fCRAzM9rDnDdjommrhK0B3BVmbpdCv6UzyY1avfxE2lbihvrF/LMkY4oKOyL8IJuGBbSLgzpI+hKYzcb+qD/En9ZAH0V4gNXh6RqI/XIgfWhB55zF9pBs4=' \
--data '{
"operatorId": "xyz",
"providerName": "EZUGI",
"gameId": "100066",
"userId": "xyz_user_id",
"username": "xyz_user_id",
"platformId": "desktop",
"lobby": false,
"clientIp": "13.41.207.164",
"currency": "INR",
"balance": 949.38,
"redirectUrl": "https://xyz.com"
}'
Example Response (200 OK)
{
"userId": "xyz_user_id",
"token": "f562a685-a160-4d17-876d-ab3363db331c",
"url": "https://the-best-game-provider.com/the-game?session=d4d73882-b3fb-11e7-a3a6-58404eea6d16",
"providerId": "xyz",
"status": 0,
"errorDescripion": "Completed Successfully"
}
POST operator/get-games-list
Games List: POST /api/operator/get-games-list
To get Games List provided by the GAP. Parameter should be in JSON format.
- Request URL:
https://dev-api.dreamdelhi.com/api/operator/get-games-list[POST] - Content-Type:
application/json - Signature:
byMYoU1abC/86EVvEbwNtumfgZnlbGaAwbeJ3qu668RCZRnkFv8B3fCRAzM9rDnDdjommrhK0B3BVmbpdCv6UzyY1avfxE2lbihvrF/LMkY4oKOyL8IJuGBbSLgzpI+hKYzcb+qD/En9ZAH0V4gNXh6RqI/XIgfWhB55zF9pBs4=
Request
| Parameter | Type | Enforce | Description |
|---|---|---|---|
| operator_id | String | Yes | Operator Id of the Operator |
| page | Int | No | Page Number |
| page_size | Int | No | Page Size |
Example: Sample Object of the data
{
OperatorId string `json:"operator_id"`
ProviderName string `json:"provider_name"`
SubProviderName string `json:"sub_provider_name"`
Category string `json:"category"`
Page string `json:"page"`
PageSize string `json:"page_size"`
}
Response
| Parameter | Type | Enforce | Description |
|---|---|---|---|
| count | Int | Yes | Total number of Games |
| data | GamesList | Yes | Games List Structure |
| message | String | Yes | Error Description |
| Status | Int | Yes | Status Code |
GamesList
| Parameter | Type | Description |
|---|---|---|
| game_id | String | Unique Game Id |
| game_name | String | Game Name |
| category | String | Game Category |
| provider_name | String | Provider Name |
| sub_provider_name | String | Sub Provider Name |
| status | String | Status of the Game |
| url_thumb | String | Thumbnail for Game |
| game_code | String | Unique Game Code |
Example: Sample Object of the data
{
Count int `json:"count"`
data GamesList `json:"token"`
Message string `json:"message"`
Status int `json:"status"`
}
GamesList:
{
GameId string `json:"game_id"`
GameName string `json:"game_name"`
Category string `json:"category"`
ProviderName string `json:"provider_name"`
SubProviderName string `json:"sub_provider_name"`
Status string `json:"status"`
UrlThumb string `json:"url_thumb"`
GameCode string `json:"game_code"`
}
Example Request
curl --location 'https://dev-api.dreamdelhi.com/api/operator/get-games-list' \
--header 'Signature: byMYoU1abC/86EVvEbwNtumfgZnlbGaAwbeJ3qu668RCZRnkFv8B3fCRAzM9rDnDdjommrhK0B3BVmbpdCv6UzyY1avfxE2lbihvrF/LMkY4oKOyL8IJuGBbSLgzpI+hKYzcb+qD/En9ZAH0V4gNXh6RqI/XIgfWhB55zF9pBs4=' \
--data '{
"operator_id": "xyz",
"page": 1,
"page_size": 20
}'
Example Response
{
"count": 449,
"data": [
{
"game_id": "200000",
"game_name": "Peek Baccarat",
"category": "Live Baccarat",
"provider_name": "DC",
"sub_provider_name": "Evolution Gaming",
"status": "ACTIVE",
"url_thumb": "https://cdn.dreamcasino.live/evolution/evo_peekbaccarat.webp",
"game_code": "evo_peekbaccarat"
},
{
"game_id": "200138",
"game_name": "Super Sic Bo",
"category": "Live Games",
"provider_name": "DC",
"sub_provider_name": "Evolution Gaming",
"status": "ACTIVE",
"url_thumb": "https://cdn.dreamcasino.live/evo_supersicbo.webp",
"game_code": "evo_super_sic_bo"
},
{
"game_id": "200139",
"game_name": "Dragon Tiger",
"category": "Live Games",
"provider_name": "DC",
"sub_provider_name": "Evolution Gaming",
"status": "ACTIVE",
"url_thumb": "https://cdn.dreamcasino.live/evo_dragontiger.webp",
"game_code": "evo_dragon_tiger"
}
],
"message": "Success",
"status": 200
}