RONGOPS Game API / docs
← Home

Reseller Game API

Register players, launch OxenTech games and move funds through one JSON API. Base URL: https://api.nonstoplive.cyou/api

Quick start

  1. Admin creates a reseller and gives you an API key + secret.
  2. Create a player with /api/create-player.
  3. Launch a game with /api/game-url (or /api/launch) and open the returned URL.
  4. Play — bets and wins are settled through the seamless wallet callback, and the reseller's own wallet funds the player.
All requests are POST with a JSON body. Every answer has a top-level status: true for success, false for an error.

Admin panel: where to do what

Game API homeStatus page + this documentation Game API SettingsOxenTech reseller ID, API token, secret key, player prefix, launch provider Game CatalogueSync Now, search by game name, per-game / provider on-off Game ResellersCreate a reseller, copy its API key / secret Game PlayersPlayers created through the API and their balances Game TransactionsDeposits, withdrawals and every wallet move

1. OxenTech credentials — Game API Settings

Open Admin → Game Management → Game API Settings and fill in:

FieldWhere to get it
OxenTech Reseller IDYour OxenTech reseller account
API Key / TokenOxenTech panel (sent as X-API-Token)
Secret KeyOxenTech panel (sent as X-Secret-Key)
Player PrefixOptional. RS_MYSHOP creates players as RS_MYSHOP_<username>
Launch providerOxenTech for seamless mode (recommended)
Credentials are stored in the database, never in code. Change them only from this page.

2. Catalogue — Game Catalogue

3. Reseller — Game Resellers

Authentication

Send both headers on every request except /api/ping:

X-API-KEY: gk_live_xxxxxxxxxxxxxxxx
X-API-SECRET: your-secret

Alternatively sign the raw JSON body with HMAC-SHA256 using the secret and send X-SIGNATURE.

Endpoints

POST /api/ping — no auth

{ "status": true, "message": "OK", "data": { "service": "RONGOPS Game API" } }

POST /api/providers

Every active provider: code, name, vendor_code, logo.

POST /api/games

FieldTypeNotes
provider optionalstringProvider code, e.g. pgsoft
search optionalstringGame name or game UID
page / limit optionalintDefault 1 / 100, max 200
{ "game_uid": "1eb74f99…", "name": "Air Jet", "image": "…/uploads/game_images/1eb74f99….webp",
  "category": "Crash", "provider": "100hp", "provider_name": "100HP" }

POST /api/create-player

{ "player_id": "user-1001", "name": "Karim", "currency": "BDT" }

Returns player_id, username, balance, currency, status.

POST /api/game-url (alias: /api/launch)

{ "player_id": "user-1001", "provider": "100hp", "game_uid": "1eb74f99…" }

Returns game_url. Open it in an iframe or redirect the player. The URL is short-lived — request a fresh one each time.

POST /api/balance

{ "player_id": "user-1001" }

Returns the ledger balance and, in seamless mode, the live game balance (same figure).

POST /api/transactions · /api/players

Paged history. Filters: player_id, type, status, search, page, limit.

Wallet callback (platform side)

The game provider calls https://api.nonstoplive.cyou/api/callback with:

{
  "action": "balance | bet | win | refund | bet_and_win",
  "player_id": "RS_MYSHOP_user-1001",
  "amount": 100,
  "win_amount": 250,
  "provider_txn_id": "TXN_87654321",
  "currency": "BDT"
}

Success: {"status":"SUCCESS","balance":1200.00}. Failure: HTTP 400 with {"status":"FAILED","error":"INSUFFICIENT_FUNDS","balance":…}.

Errors

HTTPcodeMeaning
401invalid_api_keyMissing or wrong key/secret
404player_not_foundCreate the player first
405method_not_allowedUse POST
422insufficient_balanceWithdraw more than the balance
502upstream_errorOxenTech refused or timed out
503database_unavailableTemporary database problem

Go-live checklist

RONGOPS Game API · this page is static and lightweight (no external scripts or fonts).