API Documentation

Integrate once with omnigaming and unlock the full game catalog. One API — the provider layer is handled for you.

1 Base URL & Flow

All requests go to your omnigaming endpoint. You never talk to game providers directly — we route launches, callbacks and billing behind a single API.

https://omnigaming.online/api/

Flow: your site requests a launch URL → we return a wrapped game URL → the player plays → we send you bet/win callbacks to update the player's wallet.

2 Authentication

Every request is authenticated with your API key and secret, sent as headers. Get them from your Client dashboard.

X-API-Key: your_api_key
X-API-Secret: your_api_secret

3 Game List

GEThttps://omnigaming.online/api/games.php

Returns every game available to your account. Cache it and render your lobby from it. Optional ?provider=slug filters to one provider.

// Response
{
  "code": 0,
  "msg": "Success",
  "count": 11580,
  "games": [
    {
      "game_uid": "10035",
      "name": "10 Sparkling Crown",
      "category": "Slot",
      "image": "https://.../10035/public",
      "provider_name": "JILI",
      "provider_slug": "sa-49",
      "provider_logo": "https://...",
      "provider_image_url": "https://..." // or null
    }
  ]
}

Only games enabled for your account are returned (games/providers switched off for you are hidden and cannot be launched).

3b Provider List

GEThttps://omnigaming.online/api/providers.php

Providers available to your account with their logo. image_url is an absolute https URL, or null when no logo is set.

{
  "code": 0, "msg": "Success", "count": 5,
  "providers": [
    { "id": 255, "name": "JILI", "slug": "sa-49", "game_count": 328, "image_url": "https://..." }
  ]
}

4 Launch a Game

POSThttps://omnigaming.online/api/index.php/launch

Send the player id, the game and the player's current balance. We return a ready-to-open game URL. Send member_account as your own player id — we namespace it internally.

// Request body (JSON)
{
  "member_account": "1001",      // your player id
  "game_uid": "10035",        // from Game List
  "balance": 1500.00,          // player balance
  "home_url": "https://yoursite.com"
}

// Response
{
  "code": 0,
  "msg": "Success",
  "payload": { "game_launch_url": "https://.../play.php?t=..." }
}

Open game_launch_url in an iframe or redirect. On error you get a non-zero code and a msg.

If the game or its provider is switched off for your account you still get "code": 0 with "maintenance": true; the game_launch_url then opens a neutral "under maintenance" page (with a back button to your home_url).

5 Player Balance

GEThttps://omnigaming.online/api/index.php/balance

Returns the balance we hold for the authenticated client. Your own wallet remains the source of truth for players.

{ "code": 0, "balance": 1500.00, "currency": "BDT" }
You implement this

6 Wallet Callback (Platform → Your Server)

Set your callback URL in the dashboard (e.g. https://yoursite.com/omni-callback.php). After every bet/win we POST JSON to it. Update the player wallet and respond HTTP 200 quickly. Requests come only from our server IP — whitelist it.

// We POST this to your callback URL
{
  "member_account": "1001",    // your player id
  "game_uid": "10035",
  "bet_amount": 10.00,
  "win_amount": 25.00,
  "balance": 1515.00,
  "serial_number": "abc123",   // use for idempotency
  "game_round": "...",
  "currency": "BDT"
}

// Your response
{ "code": 0, "msg": "Success", "balance": 1515.00 }

Idempotency: if you have already processed a serial_number, return the stored balance and skip. Never double-apply a round.

7 Response Codes

codeMeaning
0Success
1Invalid or inactive API credentials
3Insufficient balance (your balance or your reseller's balance is 0)
4 / 5Invalid member_account
6Game / provider unavailable for your account
7Account (or your reseller) is blocked
99Provider error (see msg)