Hotdog provides these corresponding APIs interfaces for Agent to call.
Hotdog will actively call Agent APIs interface and Agent needs to obtain the corresponding information to the Hotdog server.
| No. | Document Description | Date | Version |
|---|---|---|---|
| 1 | Add single round result page | 2024-06-15 | 1.2 |
| 2 | Add supported currencies & language | 2024-09-10 | 1.3 |
| 3 | Add singlelogin and add exitgame function | 2024-09-15 | 1.3.1 |
| 4 | Add game exit callback and add onlinestatus api | 2024-09-30 | 1.3.2 |
| 5 | Add game list and modify supported currencies | 2024-12-12 | 1.3.3 |
| 6 | Modify supported currencies | 2024-12-12 | 1.3.4 |
| 7 | Add Cash Bonus | 2024-12-31 | 1.4 |
| 8 | Add session_id description for win&rollback api, Add parent_id,amount in win api | 2025-01-06 | 1.4.1 |
| 9 | Add New Currency for PGK | 2025-03-03 | 1.4.2 |
| 10 | Add image url for banner 300x300 size Get Game List API | 2025-04-07 | 1.4.3 |
| 11 | Add New API for Bet Options | 2025-04-09 | 1.5 |
| 12 | Add New API for Get Player/Agent Stats | 2025-04-23 | 1.6 |
| 13 | Add image url for banner 380x500 size Get Game List API | 2025-07-09 | 1.6.1 |
| 14 | Add optional "bet_completed" parameter in win request | 2025-10-31 | 1.6.2 |
| 15 | Add optional parameter "mcode" in Single Login request. It is for sub agent flag | 2026-01-12 | 1.6.3 |
| 16 | Add Appendix: Test Kit | 2026-03-31 | 1.6.4 |
| 17 | Add parameter "code" to rollback response | 2026-04-11 | 1.6.5 |
Get demo play, service actived for Staging Enviroment ONLY. Launch demo using production API will auto redirect to staging enviroment demo service
| Key | Type | Required | Description | |
|---|---|---|---|---|
| Reference to the Encrytion | ||||
| Key | Type | Required | Description |
|---|---|---|---|
| agent_id | String | Yes | Provided by Hotdog |
| game_id | String | Yes | Provided by Hotdog |
| language | String | Yes | Please refer to Language Code |
| return_url | String | Optional | Redirect url when player exit game |
| Key | Type | Required | Description |
|---|---|---|---|
| status | Boolean | Yes | true on success, false on failure |
| url | String | Yes | Demo game running address |
{
"agent_id": ""Agent1",
"game_id": "hd-bull-bull",
"language": "en",
"return_url": "https://agentsite.com"
}
{
"status": true,
"url": "https://example.com?game=hd-bull-bull&code=xxxxx"
}
Get result page for single round
| Key | Type | Required | Description | |
|---|---|---|---|---|
| Reference to the Encrytion | ||||
| Key | Type | Required | Description |
|---|---|---|---|
| agent_id | String | Yes | Provided by Hotdog |
| round_id | String | Yes | Generated by Hotdog |
| Key | Type | Required | Description |
|---|---|---|---|
| status | Boolean | Yes | true on success, false on failure |
| url | String | Yes | Browser open url directly, will expired in 10 minutes |
{
"agent_id": "Agent1",
"round_id": "23567689072"
}
{
"status": true,
"url": "https://example.com/result?code=GK6BMY"
}
Launch lobby/game & SingleLogin (Please provide your balance endpoint before launch game, HOTDOG
will try to get player's
balance from agent when launch game, you will receive error FAILED_GET_BALANCE_AGENT
when it failed to get balance.)
Lanuch to HOTDOG Gaming lobby set game_id as "lobby"
in your request and Lanuch to Specified game(hd-bull-bull) set game_id as "hd-bull-bull"
| Key | Type | Required | Description | |
|---|---|---|---|---|
| Reference to the Encrytion | ||||
| Key | Type | Required | Description |
|---|---|---|---|
| agent_id | String | Yes | Provided by Hotdog |
| game_id | String | Yes | Provided by Hotdog |
| player_id | String | Yes | Player id from Agent, numbers, english letters, @, #, -, _, 3-20 characters. |
| session_id | String | Yes | Unique,Generated by Agent,Use in following communicate API |
| language | String | Yes | Please refer to Language Code |
| currency | String | Yes | Please refer to Currency Code |
| return_url | String | Optional | Redirect url when player exit game |
| mcode | String | Optional | It is for sub agent flag |
| Key | Type | Required | Description |
|---|---|---|---|
| status | Boolean | Yes | true on success, false on failure |
| url | String | Yes | Game running address |
{
"agent_id": "Agent1",
"game_id": "hd-bull-bull",
"player_id": "PLAYER1",
"session_id": "c4ca4238a0b923820dcc509a6f75849b",
"language": "en",
"currency": "USD",
"return_url": "https://agentsite.com",
"mcode": "pipo"
}
{
"status": true,
"url": "https://example.com?game=hd-bull-bull&code=xxxxx"
}
Exit Game directly then callback Agent's exit api
| Key | Type | Required | Description | |
|---|---|---|---|---|
| Reference to the Encrytion | ||||
| Key | Type | Required | Description |
|---|---|---|---|
| agent_id | String | Yes | Provided by Agent |
| game_id | String | Yes | Provided by Hotdog |
| player_id | String | Yes | Player id from Agent |
| Key | Type | Required | Description |
|---|---|---|---|
| status | Boolean | Yes | true on success, false on failure |
{
"agent_id": "Agent1",
"game_id": "hd-bull-bull",
"player_id": "PLAYER1"
}
{
"status": true
}
Check player online status at Hotdog
| Key | Type | Required | Description | |
|---|---|---|---|---|
| Reference to the Encrytion | ||||
| Key | Type | Required | Description |
|---|---|---|---|
| agent_id | String | Yes | Provided by Agent |
| game_id | String | Yes | Provided by Hotdog |
| player_id | String | Yes | Player id from Agent |
| Key | Type | Required | Description |
|---|---|---|---|
| status | Boolean | Yes | true on success, false on failure |
| online | Boolean | Yes | true is online, false is offline |
{
"agent_id": "Agent1",
"game_id": "hd-bull-bull",
"player_id": "PLAYER1"
}
{
"status": true,
"online": true
}
Get game list for Hotdog
| Key | Type | Required | Description | |
|---|---|---|---|---|
| Reference to the Encrytion | ||||
| Key | Type | Required | Description |
|---|---|---|---|
| currency | String | Yes | Please refer to Currency Code |
| agent_id | String | Yes | Provide by HOTDOG |
| Key | Type | Required | Description |
|---|---|---|---|
| list | Game List | Yes | Game list, please refer to Sample Response for format |
| Key | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Unique identifier for the game |
| game | string | Yes | Game name identifier (usually matches id) |
| name | string | Yes | Display name of the game |
| ecode | string | Yes | Short game code/abbreviation |
| logo_url | string | Yes | URL to the game's logo image |
| image_url | string | Yes | Primary banner image URL for the game |
| image_url_300x300 | string | Yes | Square thumbnail image URL (300×300 pixels) |
| image_url_380x500 | string | Yes | Portrait banner image URL (380×500 pixels) |
| type | string | Yes | Game type/format (e.g., "3x5 slot") |
| rtp | string | Yes | Return to Player percentage (e.g., "97.50%") |
| betline | integer | Yes | Number of betting lines/paylines in the game |
| multiplier | string | Yes | Maximum win multiplier (e.g., "5000x") |
| volatility | string | Yes | Risk level (Low/Medium/High) |
| betsize | array | Yes | Array of bet size options, each containing [coin value, max bet] pairs |
| freegame_chance | string | Yes | Probability of triggering free games (e.g., "0.55%") |
{
"currency": "USD",
"agent_id": "1"
}
{
"list": [
{
"id": "hd-labubu-win",
"game": "hd-labubu-win",
"name": "Labubu Win!",
"ecode": "LBW",
"logo_url": "https://examples.com/icons/hd-labubu-win.png",
"image_url": "https://examples.com/banners/hd-labubu-win.png",
"image_url_300x300": "https://examples.com/banners/300x300/hd-labubu-win.png",
"image_url_380x500": "https://examples.com/banners/380x500/hd-labubu-win.png",
"type": "3x5 slot",
"rtp": "97.50%",
"betline": 30,
"multiplier": "5000x",
"volatility": "High",
"betsize": [
[
1.5,
300
],
[
1.5,
600
],
[
1.5,
900
]
],
"freegame_chance": "0.55%"
}
]
}
Get Bet Options for Hotdog(bet size details by level)
| Key | Type | Required | Description | |
|---|---|---|---|---|
| -- | ||||
| Key | Type | Required | Description |
|---|---|---|---|
| currency | String | Yes | MUST currency supported by HOTDOG |
| level | Integer | Yes | MUST 1,2,3,4,5 |
| Key | Type | Required | Description |
|---|---|---|---|
| level | Integer | Yes | Player's bet limit setting |
| options | Array | Yes | Player's bet limit setting |
{
"currency": "THB",
"level": 3
}
{
"level": 3,
"options": [
0.05,
0.1,
0.5,
1,
2,
3
]
}
Get Player/Agent Stats, Time range max 30 days.
| Key | Type | Required | Description | |
|---|---|---|---|---|
| Reference to the Encrytion | ||||
| Key | Type | Required | Description |
|---|---|---|---|
| agent_id | String | Yes | Provided by HOTDOG |
| player_id | String | Optional | Player id from Agent |
| game_id | String | Optional | Provided by HOTDOG |
| start_timestamp | Integer | Yes | Query start time |
| end_timestamp | Integer | Yes | Query end time |
| Key | Type | Required | Description |
|---|---|---|---|
| status | Boolean | Yes | true on success, false on failure |
| player_id | String | Optional | Player id from Agent |
| game_id | String | Optional | Provided by Hotdog |
| stats | Array | Yes | include total_bet, total_win, total_spincount, win_lose |
{
"agent_id":"AGENT1",
"player_id":"PLAYER1",
"game_id":"hd-labubu-win",
"start_timestamp":1743436800000,
"end_timestamp":1745942400000
}
{
"status": true,
"player_id": "PLAYER1",
"game_id": "hd-labubu-win",
"stats": {
"total_bet": 17.1,
"total_win": 7.29,
"total_spincount": 19,
"win_loss": -9.81
}
}
Get Player Balance
| Key | Type | Required | Description | |
|---|---|---|---|---|
| Reference to the Encrytion | ||||
| Key | Type | Required | Description |
|---|---|---|---|
| action | String | Yes | MUST "balance" |
| player_id | String | Yes | Player id from Agent |
| session_id | String | Yes | Unique,Generated by Agent,Use in following communicate API |
| Key | Type | Required | Description |
|---|---|---|---|
| balance | String | Yes | |
| status | Boolean | Yes | true on success, false on failure |
{
"action": "balance",
"player_id": "PLAYER1",
"session_id": "c4ca4238a0b923820dcc509a6f75849b"
}
{
"balance": "20.02",
"status": true
}
This API is called when player place bet.
| Key | Type | Required | Description | |
|---|---|---|---|---|
| Reference to the Encrytion | ||||
| Key | Type | Required | Description |
|---|---|---|---|
| action | String | Yes | MUST "bet" |
| player_id | String | Yes | Player id from Agent |
| session_id | String | Yes | Unique,Generated by Agent,Use in following communicate API |
| transaction_id | String | Yes | Unique id used to identify the communicate message only, can directly reply to the same or create with YY + MM + DD + HH + MIN + SS + IPs + Random(Ips: Last 3 number of your IP, pad 0 when less than 3 digits, 19->019.Random: Random(1,99999), pad 0 when less than 5 digits, 8765->08765.) |
| game_id | String | Yes | Provided by Hotdog |
| parent_id | String | Yes | Parent round_id of free spin |
| round_id | String | Yes | Unique id of game round/bet |
| amount | String | Yes | Total bet amount |
| currency | String | Yes | Please refer to Currency Code |
| Key | Type | Required | Description |
|---|---|---|---|
| balance | String | Yes | |
| status | Boolean | Yes | true on success, false on failure |
{
"action": "bet",
"player_id": "some_user_id",
"session_id": "c4ca4238a0b923820dcc509a6f75849b",
"transaction_id":"202403012206010100",
"game_id": "hd-bull-bull",
"parent_id":"1286579087",
"round_id":"1286579088",
"amount":"1.50",
"currency": "USD"
}
{
"balance": "20.02",
"status": true
}
This API is called when bet receive success respond.
The round_id is unique and Agent is required to check if they received a duplicate and
respond the appropriate error. Agent needs to also match the round_id in Win API with round_id
in Bet API request. Please respond error if unable to match the round_id. if timeout or receive
false, Hotdog will try to re-send until success.
The session_id is unique and Generated by Agent, It will keep 24 hours in memory for
Hotdog System. Sometimes, there is no session_id for repair win transacion due to it was over 24
hours and removed already. Agent should ignore verify when it was over 24 hours.
Agent MUST implement idempotent handling for the WIN (deposit) API and perform the following validation checks upon receiving a WIN request:
round_id
round_id.
If so, the WIN request MUST be rejected
round_id.
If so, the WIN MUST NOT be processed again
WIN MUST ONLY be processed if the original bet exists, was successfully
deducted, and no rollback has been executed for the same round_id.
Failure to implement the above validations may result in duplicate credits or players receiving WIN payouts on already-cancelled bets, presenting a fraud risk.
| Key | Type | Required | Description | |
|---|---|---|---|---|
| Reference to the Encrytion | ||||
| Key | Type | Required | Description |
|---|---|---|---|
| action | String | Yes | MUST "win" |
| player_id | String | Yes | Player id from Agent |
| session_id | String | Yes | Unique,Generated by Agent,Use in following communicate API |
| transaction_id | String | Yes | Unique id used to identify the communicate message only, can directly reply to the same or create with YY + MM + DD + HH + MIN + SS + IPs + Random(Ips: Last 3 number of your IP, pad 0 when less than 3 digits, 19->019.Random: Random(1,99999), pad 0 when less than 5 digits, 8765->08765.) |
| game_id | String | Yes | Provided by Hotdog |
| round_id | String | Yes | Unique id of game round/bet |
| parent_id | String | Yes | parent round id which get free spin |
| amount | String | Yes | Total bet amount |
| payout | String | Yes | Total win amount, not winlose or PnL |
| currency | String | Yes | Please refer to Currency Code |
| bet_completed | Integer | Optional | 1: end round true, 0: end round false |
| Key | Type | Required | Description |
|---|---|---|---|
| balance | String | Yes | |
| status | Boolean | Yes | true on success, false on failure |
{
"action": "win",
"player_id": "PLAYER1",
"session_id": "c4ca4238a0b923820dcc509a6f75849b",
"transaction_id":"202403012206010100",
"game_id": "hd-bull-bull",
"round_id":"1286579088",
"parent_id":"",
"amount":"1.50",
"payout":"1.50",
"currency": "USD",
"bet_completed": 1
}
{
"balance": "20.02",
"status": true
}
This API is called when we did not receive a respond from bet API hence Agent would need to do
their own checking whether the bet for the specified round_id has been received and player
balance is deducted, ALWAYS need return with status as "true" after handle this rollback
transaction even specified round_id has not been received or the balance has been returned to
the player. If Hotdog receive "false" will try to re-send until receive "true".
The session_id is unique and Generated by Agent, It will keep 24 hours in memory for
Hotdog System. Sometimes, there is no session_id for re-send rollback transacion due to it was
over 24 hours and removed already. Agent should ignore verify when it was over 24 hours.
Agent MUST implement idempotent handling for the rollback API and perform the following validation checks upon receiving a rollback request:
round_id
round_id
Rollback MUST ONLY be processed if the bet exists and the balance has been successfully deducted/settled.
In all cases, Agent MUST return status = "true"
after handling the request (including cases where no action is taken), to prevent repeated
retries.
Failure to implement the above validations may result in duplicate refunds or incorrect balance adjustments.
| Key | Type | Required | Description | |
|---|---|---|---|---|
| Reference to the Encrytion | ||||
| Key | Type | Required | Description |
|---|---|---|---|
| action | String | Yes | MUST "refund" |
| player_id | String | Yes | Player id from Agent |
| session_id | String | Yes | Unique,Generated by Agent,Use in following communicate API |
| transaction_id | String | Yes | Unique id used to identify the communicate message only, can directly reply to the same or create with YY + MM + DD + HH + MIN + SS + IPs + Random(Ips: Last 3 number of your IP, pad 0 when less than 3 digits, 19->019.Random: Random(1,99999), pad 0 when less than 5 digits, 8765->08765.) |
| game_id | String | Yes | Provided by Hotdog |
| round_id | String | Yes | Unique id of game round/bet |
| currency | String | Yes | Please refer to Currency Code |
| Key | Type | Required | Description |
|---|---|---|---|
| balance | String | Yes | |
| status | Boolean | Yes | true on success, false on failure |
| code | String | Yes | R001: Transaction not found | R002: Already rollback | Empty or omitted: Treated as success |
{
"action": "refund",
"player_id": "PLAYER1",
"session_id": "c4ca4238a0b923820dcc509a6f75849b",
"transaction_id":"202403012206010100",
"game_id": "hd-bull-bull",
"round_id":"1286579088",
"currency": "USD"
}
{
"balance": "20.02",
"status": true,
"code": "" // Success: ""; Failure: Transaction not found ("code": "R001") | Already rollback ("code": "R002")
}
This API is called when player win or get bonus from event. The transaction_id and bonus_id
combinated with unique and Agent is required to check if they received a duplicate and respond
the appropriate error. If there is no duplication, Agent would need to add the payout to player
balance.
| Key | Type | Required | Description | |
|---|---|---|---|---|
| Reference to the Encrytion | ||||
| Key | Type | Required | Description |
|---|---|---|---|
| action | String | Yes | MUST "cashbonus" |
| player_id | String | Yes | Player id from Agent |
| transaction_id | String | Yes | Unique id used to identify the communicate message only, can directly reply to the same or create with YY + MM + DD + HH + MIN + SS + IPs + Random(Ips: Last 3 number of your IP, pad 0 when less than 3 digits, 19->019.Random: Random(1,99999), pad 0 when less than 5 digits, 8765->08765.) |
| bonus_id | String | Yes | bonus id |
| bonus_type | String | Yes | bonus type |
| payout | String | Yes | amount for cash bouns |
| currency | String | Yes | Please refer to Currency Code |
| Key | Type | Required | Description |
|---|---|---|---|
| balance | String | Yes | |
| status | Boolean | Yes | true on success, false on failure |
{
"action": "cashbonus",
"player_id": "PLAYER1",
"transaction_id":"202403012206010100",
"bonus_id": "123ABC",
"bonus_type": "cash",
"payout":"1.50",
"currency": "USD"
}
{
"balance": "20.02",
"status": true
}
If the agent provides an exit callback endpoint, HOTDOG will call the endpoint after the player
leaves the game view for 60 seconds, or when the player exit the game by in-game
menu.
| Key | Type | Required | Description | |
|---|---|---|---|---|
| Reference to the Encrytion | ||||
| Key | Type | Required | Description |
|---|---|---|---|
| action | String | Yes | MUST "exit" |
| session_id | String | Yes | Unique,Generated by Agent,Use in following communicate API |
| game_id | String | Yes | Provided by Hotdog |
| player_id | String | Yes | Player id from Agent |
| Key | Type | Required | Description |
|---|---|---|---|
| status | Boolean | Yes | true on success, false on failure |
{
"action": "exit",
"session_id": "c4ca4238a0b923820dcc509a6f75849b",
"game_id": "hd-bull-bull",
"player_id": "PLAYER1"
}
{
"status": true
}
| Currency Code | Currency Description | Currency Ratio |
|---|---|---|
| AED | UAE Dirham | 1 |
| AFN | Afghan Afghani | 1 |
| ALL | Albanian Lek | 1 |
| AMD | Armenian Dram | 1 |
| ANG | Netherlands Antillean Guilder | 1 |
| AOA | Angolan Kwanza | 1 |
| ARS | Argentine Peso | 1 |
| AUD | Australian Dollar | 1 |
| AWG | Aruban Florin | 1 |
| AZN | Azerbaijani Manat | 1 |
| BAM | Bosnia-Herzegovina Convertible Mark | 1 |
| BBD | Barbadian Dollar | 1 |
| BDT | Bangladeshi Taka | 1 |
| BGN | Bulgarian Lev | 1 |
| BHD | Bahraini Dinar | 1 |
| BIF | Burundian Franc | 1 |
| BMD | Bermudian Dollar | 1 |
| BND | Brunei Dollar | 1 |
| BOB | Bolivian Boliviano | 1 |
| BRL | Brazilian Real | 1 |
| BSD | Bahamian Dollar | 1 |
| BTN | Bhutanese Ngultrum | 1 |
| BWP | Botswana Pula | 1 |
| BYN | Belarusian Ruble | 1 |
| BZD | Belize Dollar | 1 |
| CAD | Canadian Dollar | 1 |
| CDF | Congolese Franc | 1 |
| CHF | Swiss Franc | 1 |
| CLF | Chilean Unit of Account (UF) | 1 |
| CLP | Chilean Peso | 1 |
| CNH | Chinese Yuan (Offshore) | 1 |
| CNY | Chinese Yuan | 1 |
| COP | Colombian Peso | 1 |
| CRC | Costa Rican Colón | 1 |
| CUC | Cuban Convertible Peso | 1 |
| CUP | Cuban Peso | 1 |
| CVE | Cape Verdean Escudo | 1 |
| CZK | Czech Koruna | 1 |
| DEMO | Testing Currency Code | 1 |
| DJF | Djiboutian Franc | 1 |
| DKK | Danish Krone | 1 |
| DOP | Dominican Peso | 1 |
| DZD | Algerian Dinar | 1 |
| EGP | Egyptian Pound | 1 |
| ERN | Eritrean Nakfa | 1 |
| ETB | Ethiopian Birr | 1 |
| ETBB | ETBB | 1 |
| EUR | Euro | 1 |
| FJD | Fijian Dollar | 1 |
| FKP | Falkland Islands Pound | 1 |
| GBP | British Pound | 1 |
| GEL | Georgian Lari | 1 |
| GGP | Guernsey Pound | 1 |
| GHS | Ghanaian Cedi | 1 |
| GIP | Gibraltar Pound | 1 |
| GMD | Gambian Dalasi | 1 |
| GNF | Guinean Franc | 1 |
| GTQ | Guatemalan Quetzal | 1 |
| GYD | Guyanese Dollar | 1 |
| HKD | Hong Kong Dollar | 1 |
| HNL | Honduran Lempira | 1 |
| HRK | Croatian Kuna | 1 |
| HTG | Haitian Gourde | 1 |
| HUF | Hungarian Forint | 1 |
| IDR | Indonesian Rupiah | 1 |
| ILS | Israeli New Shekel | 1 |
| IMP | Isle of Man Pound | 1 |
| INR | Indian Rupee | 1 |
| IQD | Iraqi Dinar | 1 |
| IRR | Iranian Rial | 1 |
| ISK | Icelandic Króna | 1 |
| JEP | Jersey Pound | 1 |
| JMD | Jamaican Dollar | 1 |
| JOD | Jordanian Dinar | 1 |
| JPY | Japanese Yen | 1 |
| KES | Kenyan Shilling | 1 |
| KGS | Kyrgyzstani Som | 1 |
| KHR | Cambodian Riel | 1 |
| KMF | Comorian Franc | 1 |
| KPW | North Korean Won | 1 |
| KRW | South Korean Won | 1 |
| KWD | Kuwaiti Dinar | 1 |
| KYD | Cayman Islands Dollar | 1 |
| KZT | Kazakhstani Tenge | 1 |
| LAK | Lao Kip | 1 |
| LBP | Lebanese Pound | 1 |
| LKR | Sri Lankan Rupee | 1 |
| LRD | Liberian Dollar | 1 |
| LSL | Lesotho Loti | 1 |
| LYD | Libyan Dinar | 1 |
| MAD | Moroccan Dirham | 1 |
| MDL | Moldovan Leu | 1 |
| MGA | Malagasy Ariary | 1 |
| MKD | Macedonian Denar | 1 |
| MMK | Myanmar Kyat | 1 |
| MNT | Mongolian Tugrik | 1 |
| MOP | Macanese Pataca | 1 |
| MRU | Mauritanian Ouguiya | 1 |
| MUR | Mauritian Rupee | 1 |
| MVR | Maldivian Rufiyaa | 1 |
| MWK | Malawian Kwacha | 1 |
| MXN | Mexican Peso | 1 |
| MYR | Malaysian Ringgit | 1 |
| MZN | Mozambican Metical | 1 |
| NAD | Namibian Dollar | 1 |
| NGN | Nigerian Naira | 1 |
| NIO | Nicaraguan Córdoba | 1 |
| NOK | Norwegian Krone | 1 |
| NPR | Nepalese Rupee | 1 |
| NZD | New Zealand Dollar | 1 |
| OMR | Omani Rial | 1 |
| PAB | Panamanian Balboa | 1 |
| PEN | Peruvian Sol | 1 |
| PGK | Papua New Guinean Kina | 1 |
| PHP | Philippine Peso | 1 |
| PKR | Pakistani Rupee | 1 |
| PLN | Polish Złoty | 1 |
| PYG | Paraguayan Guaraní | 1 |
| QAR | Qatari Riyal | 1 |
| RON | Romanian Leu | 1 |
| RSD | Serbian Dinar | 1 |
| RUB | Russian Ruble | 1 |
| RWF | Rwandan Franc | 1 |
| SAR | Saudi Riyal | 1 |
| SBD | Solomon Islands Dollar | 1 |
| SCR | Seychellois Rupee | 1 |
| SDG | Sudanese Pound | 1 |
| SEK | Swedish Krona | 1 |
| SGD | Singapore Dollar | 1 |
| SHP | Saint Helena Pound | 1 |
| SLL | Sierra Leonean Leone | 1 |
| SOS | Somali Shilling | 1 |
| SRD | Surinamese Dollar | 1 |
| SSP | South Sudanese Pound | 1 |
| STD | SSão Tomé & Príncipe Dobra (Pre-2018) | 1 |
| STN | SSão Tomé & Príncipe Dobra | 1 |
| SVC | Salvadoran Colón | 1 |
| SYP | Syrian Pound | 1 |
| SZL | Swazi Lilangeni | 1 |
| THB | Thai Baht | 1 |
| TJS | Tajikistani Somoni | 1 |
| TMT | Turkmenistani Manat | 1 |
| TND | Tunisian Dinar | 1 |
| TOP | Tongan Paʻanga | 1 |
| TRY | Turkish Lira | 1 |
| TTC | Testing Currency Code | 1 |
| TTD | Trinidad & Tobago Dollar | 1 |
| TWD | New Taiwan Dollar | 1 |
| TZS | Tanzanian Shilling | 1 |
| UAH | Ukrainian Hryvnia | 1 |
| UGX | Ugandan Shilling | 1 |
| USD | US Dollar | 1 |
| USDT | - | 1 |
| UYU | Uruguayan Peso | 1 |
| UZS | Uzbekistani Som | 1 |
| VES | Venezuelan Bolívar Soberano | 1 |
| VND | Vietnamese Đồng | 1 |
| VUV | Vanuatu Vatu | 1 |
| WST | Samoan Tala | 1 |
| XAF | Central African CFA Franc | 1 |
| XAG | Silver (Troy Ounce) | 1 |
| XCD | East Caribbean Dollar | 1 |
| XDR | IMF Special Drawing Rights | 1 |
| XOF | West African CFA Franc | 1 |
| XPF | CFP Franc | 1 |
| YER | Yemeni Rial | 1 |
| ZAR | South African Rand | 1 |
| ZMW | Zambian Kwacha | 1 |
| ZWL | Zimbabwean Dollar (2009) | 1 |
| {CURRENCY_CODE}# | Base on {CURRENCY_CODE} | 1:1000 ( Example: IDR# | 1 IDR# = 1000 IDR ) |
| MMK3 | Base on MMK | 1:100 (Example: 1 MMK3 = 100 MMK) |
| TWD2 | Base on TWD | 130:1 (Example: 130 TWD2 = 1 TWD) |
| YHD | Base on TWD | 130:1 (Example: 130 YHD = 1 TWD) |
| MYR2 | Base on MYR | 1:100 (Example: 1 MYR2 = 100 MYR) |
| CREDITS | Base on USD | 100:1 (Example: 100 CREDITS = 1 USD) |
| PHPT | Base on PHP | 1:1 (Example: 1 PHPT = 1 PHP) |
| Language Code | Language |
|---|---|
| en | English |
| ko | Korean |
| th | Thai |
| vi | Vietnamese |
| hi | Hindi |
| ru | Russian |
| ja | Japanese |
| fr | French |
| tr | Turkish |
| es | Spanish |
| de | German |
| id | Indonesian |
| pt-br | Portuguese |
| uz | Uzbek |
| zh-TW | Traditional Chinese |
| Code | Description |
|---|---|
| UNDER_MAINTENANCE | UNDER_MAINTENANCE |
| INTERNAL_ERROR | INTERNAL_ERROR |
| SESSION_NOT_FOUND | SESSION_NOT_FOUND |
| INVALID_SIGN_OR_IP | INVALID_SIGN_OR_IP |
| WRONG_INPUT_PARAMETERS | WRONG_INPUT_PARAMETERS |
| AMOUNT_SHOULD_BE_POSITIVE | AMOUNT_SHOULD_BE_POSITIVE |
| INSUFFICIENT_BALANCE | INSUFFICIENT_BALANCE |
| ACTION_IS_NOT_EXIST | ACTION_IS_NOT_EXIST |
| FAILED_GET_BALANCE | FAILED_GET_BALANCE |
| INVALID_GAME_ID | INVALID_GAME_ID |
| GAME_NOT_AVAILABLE | GAME_NOT_AVAILABLE |
All requests between Agent and HOTDOG must contain authorization header.Sha256 hmac algorithm with Secret (provided by HOTDOG) is used for signing.
PHP example of the X-Sign :
$secret= 'MVaoC9xKdJesozkX';
$requestBody = [ 'return_url' => 'https://abc', 'game_id' =>
'zxcv67890'];
$requestJson = json_encode($requestBody);
$sign = hash_hmac('sha256', $requestJson, $secret);
$headers = [
'Content-Type: application/json',
'x-sign:'. $sign
];
->
ff0873a8d79f744158a46944ae3387677004b116171a68d4998147c8b84c74e8
Node example of the X-Sign :
let secret= 'MVaoC9xKdJesozkX';
let requestJson =
JSON.stringify({return_url:'https://abc',game_id:'zxcv67890'});
requestJson = requestJson.replace(/\//g, "\\/");
//!important
const sign =
crypto.createHmac('sha256',secret).update(requestJson).digest('hex');
const headers = {
'Content-Type: application/json',
'x-sign:'. $sign
};
->
ff0873a8d79f744158a46944ae3387677004b116171a68d4998147c8b84c74e8
The Test Kit is a sandbox environment designed to support integration and testing of the gaming platform.