https://arcade-provider-backend.onrender.com


ADMIN API

POST /api/admin/login

//REQUEST
{
    "password": "@Test1234@"
}

//RESPONSE
{
    "success": true,
    "message": "admin login successfully",
    "data": {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTU0MjYwNDAsInVzZXJfaWQiOjF9.ZkBlCyCo8YoEWb-FBDUfzM0R_7zWwWLM9s62xLCZccQ"
    }
}

POST /api/admin/client/deposit

//JWT = jwt_token_admin

//REQUEST
{
    "amount" : 1000,
    "client_id": 58
}

//RESPONSE
{
    "success": true,
    "message": "client deposit successfully",
    "data": {
        "id": 59,
        "client_id": 58,
        "balance": 1000
    }
}

POST /api/admin/client/withdraw

//JWT = jwt_token_admin

//REQUEST
{
    "amount" : 500,
    "client_id": 58
}

//RESPONSE
{
    "success": true,
    "message": "client withdraw successfully",
    "data": {
        "id": 59,
        "client_id": 58,
        "balance": 500
    }
}

GET /api/admin/transactions

//JWT = jwt_token_admin

//RESPONSE
{
    "success": true,
    "message": "admin transactions called successfully",
    "data": [
        {
            "id": 16,
            "client_id": 60,
            "amount": 80,
            "Type": "deposit"
        },
        {
            "id": 15,
            "client_id": 60,
            "amount": 123,
            "Type": "withdraw"
        },
    ]
}

GET /api/admin/clients

//JWT = jwt_token_admin

//RESPONSE
{
    "success": true,
    "message": "clients called successfully",
    "data": [
        {
            "id": 60,
            "username": "bella",
            "email": "[email protected]",
            "password": "$2a$10$aKZ/3Au3DBZLmDJtp059q.wJaw3ZIxWL1aKeBuHZ5UxwZ7mnbGKjy",
            "api_key": "672f2a4af098429c9302ab84172cb0566df24047b7cdbb126306843f511deea4",
            "Wallet": {
                "id": 61,
                "client_id": 60,
                "balance": 43
            }
        },
        {
            "id": 58,
            "username": "john",
            "email": "[email protected]",
            "password": "$2a$10$TiXL8c8fyutR4OZ2yrJ1xeNy8hCJTAKPtzBAAnAJ9pssSHo1kGwxq",
            "api_key": "2e3317d9401e9ff4276f2dc69731af4293ed40ce7ddf8a773e62891ea8da0f59",
            "Wallet": {
                "id": 59,
                "client_id": 58,
                "balance": 340
            }
        }
    ]
}

GET /api/admin/client/profile

//JWT =jwt_token_admin

//REQUEST
{
    "id": 58
}

//RESPONSE
{
    "success": true,
    "message": "client profile fetched",
    "data": {
        "id": 58,
        "username": "john",
        "email": "[email protected]",
        "password": "$2a$10$TiXL8c8fyutR4OZ2yrJ1xeNy8hCJTAKPtzBAAnAJ9pssSHo1kGwxq",
        "api_key": "2e3317d9401e9ff4276f2dc69731af4293ed40ce7ddf8a773e62891ea8da0f59",
        "Wallet": {
            "id": 59,
            "client_id": 58,
            "balance": 340
        }
    }
}

GET /api/admin/players

//JWT = jwt_token_admin

//RESPONSE
{
    "success": true,
    "message": "players called successfully",
    "data": [
        {
            "id": 17,
            "username": "alex",
            "client_id": 58,
            "wallet": {
                "id": 12,
                "player_id": 17,
                "client_id": 58,
                "balance": 90
            }
        },
        {
            "id": 16,
            "username": "billy",
            "client_id": 58,
            "wallet": {
                "id": 11,
                "player_id": 16,
                "client_id": 58,
                "balance": 0
            }
        }
    ]
}

GET /api/admin/player/profile

//JWT = jwt_token_admin

//REQUEST
{
    "id": 17
}

//RESPONSE
{
    "success": true,
    "message": "player profile fetched",
    "data": {
        "id": 17,
        "username": "alex",
        "client_id": 58,
        "wallet": {
            "id": 12,
            "player_id": 17,
            "client_id": 58,
            "balance": 90
        }
    }
}

CLIENT API

POST /api/client/register

//REQUEST
{
    "username": "john",
    "password": "12341234",
    "Email": "[email protected]"
}

//RESPONSE
{
    "success": true,
    "message": "client registered successfully",
    "data": {
        "api_key": "2e3317d9401e9ff4276f2dc69731af4293ed40ce7ddf8a773e62891ea8da0f59"
    }
}

POST /api/client/login

//REQUEST
{
    "identifier": "john",
    "password": "12341234"
}

//RESPONSE
{
    "success": true,
    "message": "client login successfully",
    "data": {
        "api_key": "2e3317d9401e9ff4276f2dc69731af4293ed40ce7ddf8a773e62891ea8da0f59",
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTU4NjQ4MDcsImlkIjo1OCwicm9sZSI6ImNsaWVudCJ9.cNxJb1VUCfhoyo5CWYW1H41feX-CmW5pN9Vkp0WMFo4"
    }
}

POST /api/client/logout

//RESPONSE
{
    "success": true,
    "message": "logged out"
}

GET /api/client/profile

//JWT = jwt_token_client

//RESPONSE
{
    "success": true,
    "message": "client profile fetched",
    "data": {
        "id": 58,
        "username": "john",
        "email": "[email protected]",
        "password": "",
        "api_key": "2e3317d9401e9ff4276f2dc69731af4293ed40ce7ddf8a773e62891ea8da0f59",
        "Wallet": {
            "id": 59,
            "client_id": 58,
            "balance": 340
        }
    }
}

GET /api/client/players

//JWT = jwt_token_client

//RESPONSE
{
    "success": true,
    "message": "client players called successfully",
    "data": [
        {
            "id": 17,
            "username": "alex",
            "client_id": 58,
            "wallet": {
                "id": 12,
                "player_id": 17,
                "client_id": 58,
                "balance": 90
            }
        },
        {
            "id": 16,
            "username": "billy",
            "client_id": 58,
            "wallet": {
                "id": 11,
                "player_id": 16,
                "client_id": 58,
                "balance": 0
            }
        }
    ]
}

GET /api/client/player/profile

//JWT = jwt_token_client

//REQUEST
{
    "id" : 17
}

//RESPONSE
{
    "success": true,
    "message": "player profile fetched",
    "data": {
        "id": 17,
        "username": "alex",
        "client_id": 58,
        "wallet": {
            "id": 12,
            "player_id": 17,
            "client_id": 58,
            "balance": 90
        }
    }
}

POST /api/client/player/deposit

//JWT = jwt_token_client

//REQUEST
{
    "id": 16,
    "amount": 120
}

//RESPONSE
{
    "success": true,
    "message": "player deposit successfully",
    "data": {
        "client_wallet": {
            "id": 59,
            "client_id": 58,
            "balance": 220
        },
        "amount": 120,
        "player_wallet": {
            "id": 11,
            "player_id": 16,
            "client_id": 58,
            "balance": 120
        }
    }
}

POST /api/client/player/withdraw

//JWT = jwt_token_client

//REQUEST
{
    "id": 16,
    "amount": 10
}

//RESPONSE
{
    "success": true,
    "message": "player withdraw successfully",
    "data": {
        "client_wallet": {
            "id": 59,
            "client_id": 58,
            "balance": 200
        },
        "amount": 10,
        "player_wallet": {
            "id": 11,
            "player_id": 16,
            "client_id": 58,
            "balance": 140
        }
    }
}

GET /api/client/transactions

//JWT = jwt_token_client

//RESPONSE
{
    "success": true,
    "message": "client transactions called successfully",
    "data": [
        {
            "id": 167,
            "client_id": 58,
            "amount": 10,
            "Type": "bet_lose_player",
            "client_wallet_id": 59
        },
        {
            "id": 166,
            "client_id": 58,
            "amount": 20,
            "Type": "bet_win_player",
            "client_wallet_id": 59
        },
        {
            "id": 128,
            "client_id": 58,
            "amount": 200,
            "Type": "deposit",
            "client_wallet_id": 59
        },
        {
            "id": 127,
            "client_id": 58,
            "amount": 200,
            "Type": "withdraw",
            "client_wallet_id": 59
        }
    ]
}

PLAYER API

POST /api/player/register

X-API-Key: {api_key}

//REQUEST
{
	"username": "billy"
}

//RESPONSE
{
    "success": true,
    "message": "client registered successfully"
}

GET /api/player/profile

X-API-Key: {api_key}

//REQUEST
{
    "id": 17
}

//RESPONSE
{
    "success": true,
    "message": "player profile fetched",
    "data": {
        "id": 17,
        "username": "alex",
        "client_id": 58,
        "wallet": {
            "id": 12,
            "player_id": 17,
            "client_id": 58,
            "balance": 90
        }
    }
}

GET /api/player/transactions

//JWT = YES
X-API-Key: {api_key}

//REQUEST
{
    "id": 17
}

//RESPONSE
{
    "success": true,
    "message": "player transactions called successfully",
    "data": [
        {
            "id": 134,
            "client_id": 58,
            "player_id": 17,
            "player_wallet_id": 12,
            "game_session_id": {
                "Int64": 51,
                "Valid": true
            },
            "amount": 10,
            "Type": "bet_lose_player"
        },
        {
            "id": 133,
            "client_id": 58,
            "player_id": 17,
            "player_wallet_id": 12,
            "game_session_id": {
                "Int64": 50,
                "Valid": true
            },
            "amount": 20,
            "Type": "bet_win_player"
        }
    ]
}

GAME API

POST /api/game/start

//HEADERS
X-API-Key: {api_key}

//BODY
{
    "player_id": 17,
    "bet_amount": 10,
    "game_id": "pikachu"
}

//RESPONSE
{
    "success": true,
    "message": "game spined successfully",
    "data": {
        "symbols": {
            "slot1": "Bulbasaur",
            "slot2": "Bulbasaur",
            "slot3": "Bulbasaur"
        },
        "Type": "win",
        "amount": 20,
        "player_wallet": {
            "id": 12,
            "player_id": 17,
            "client_id": 58,
            "balance": 900
        }
    }
}
}