Games API

Games API is the core API for using Nirova. It allows Operators to request and receive the list of available games, one singular game URL as well as a game round. All the games provided via the API are provided and implemented by Nirova.

Games API Reference

Get a Game URL

POST /operator/generic/v2/game/url HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 368

{
  "user": "john12345",
  "token": "f562a685-a160-4d17-876d-ab3363db331c",
  "sub_partner_id": "my-platform-id",
  "platform": "GPL_DESKTOP",
  "operator_id": 1,
  "meta": {},
  "lobby_url": "https://amazing-platform.com/lobby",
  "lang": "en",
  "ip": "142.245.172.168",
  "game_code": "clt_softwareid",
  "deposit_url": "https://amazing-platform.com/deposit",
  "currency": "EUR",
  "game_currency": "EUR",
  "country": "EE"
}
								

Returns the landing URL of the chosen game. Operator has to forward the user to the returned URL. There are several ways to forward the User: 1. Embed URL into iframe on your site; 2. Redirect User to the URL; 3. Open the URL in a new window/tab of browser.

Header parameters
  • uX-Nirova-Signature - any · required

    • RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key associated with the provided operator_id.

Body
  • user - string · min: 3 · required

    • The unique user ID in the Operator’s system. In case of DEMO gameplay, this parameter may be omitted.

    • Example: john12345

  • token - string · max: 255 · optional

    • Operator's back end generates a token associated with the User, Game, user's current currency and maybe other parameters depending on the Operator's preferences. The token acts as an ID parameter for the game session. It is important that the currency is not changed during the current game session. If the User changes the currency or display unit, the Operator's backend needs to generate a new token and re-open the game with new token. In case of DEMO gameplay, this parameter may be omitted. Minimum length 10 characters, maximum length 255 characters.

    • Example: f562a685-a160-4d17-876d-ab3363db331c

  • sub_partner_id - string · optional

    • ID of Operator's sub-partner (brand, whitelabel, site, etc.) which uses same integration and credentials as an Operator. Used for detailed reporting and integration type switching. Sites under the same Operator can use different integration types: TransferWallet or SeamlessWallet. A single site (sub_partner_id) can NOT have both kinds of integration at the same time.

    • Example: my-platform-id

  • platform - string · enum · required

    • The platform layout, either mobile or desktop, the User has. This property can be ignored, if the mode is chosen based on User's browser attributes (user-agent, resolution, ratio, orientation).

    • Example: GPL_ID

  • operator_id - integer · required

    • Unique identifier for the Operator in Nirova system. Used to authorize incoming requests. You can obtain your operator_id from the Nirova BackOffice after your Operator entity is registered and set up in the Nirova system by the internal teams.

    • Example: 1

  • meta - object · optional

    • Additional parameters which can be used for certain game Suppliers. It depends on the Operator's choice of Game Providers/Suppliers.

  • lobby_url - string · max: 255 · required

    • lobby_url specifies the URL to which the game redirects to when the user clicks the Home button in the UI. Maximum length 255 characters.

    • Example: https://amazing-platform.com/lobby

  • lang - string · enum · required

    • The ISO 639-1 language code, applicable to the User in the current session.

    • Example: en

    • Available options: aa, ab, ae, af, ak, am, an, ar, as, av, ay, az, ba, be, bg, bh, bi, bm, bn, bo, br, bs, ca, ce, ch, co, cr, cs, cu, cv, cy, da, de, dv, dz, ee, el, en, eo, es, et, eu, fa, ff, fi, fj, fo, fr, fy, ga, gd, gl, gn, gu, gv, ha, he, hi, ho, hr, ht, hu, hy, hz, ia, id, ie, ig, ii, ik, io, is, it, iu, ja, jv, ka, kg, ki, kj, kk, kl, km, kn, ko, kr, ks, ku, kv, kw, ky, la, lb, lg, li, ln, lo, lt, lu, lv, mg, mh, mi, mk, ml, mn, mr, ms, mt, my, na, nb, nd, ne, ng, nl, nn, no, nr, nv, ny, oc, oj, om, or, os, pa, pi, pl, ps, pt, pt-br, qu, rm, rn, ro, ru, rw, sa, sc, sd, se, sg, si, sk, sl, sm, sn, so, sq, sr, ss, st, su, sv, sw, ta, te, tg, th, ti, tk, tl, tn, to, tr, ts, tt, tw, ty, ug, uk, ur, uz, ve, vi, vo, wa, wo, xh, yi, yo, za, zh, zu

  • ip - string · required

    • The user's IP address.

    • Example: 142.245.172.168

  • game_code - string · required

    • The unique game identifier in Nirova system in the form of a string. game_code can be obtained from the /game/list endpoint.

    • Example: clt_softwareid

  • deposit_url - string · optional

    • The page URL where a user/user can make a monetary deposit.

    • Example: https://amazing-platform.com/deposit

  • currency - string · enum · required

    • The ISO 4217 currency code. The following list contains all currencies supported by our system. Native gameplay support for these currencies may vary per Provider.

    • Example: EUR

    • Available options: BSD, TTD, ZMW, BMD, USD, BYR, UGX, HKD, MGA, GIP, UZS, MKD, PTS, mLTC, EGP, AWG, CZK, ILS, MZN, TND, XPF, SOS, DOP, RUB, KRW, BTN, KGS, BAM, AOA, SOC, AMS, BND, RSD, FKP, PEN, EOS, GHS, JPY, TRY, SBD, UAH, LTL, FJD, GNF, MDL, AFN, ZAR, MOP, TJS, BOB, JMD, QAR, IRR, SYP, XXX, NAD, MYR, CUP, NOK, BGN, KPW, MNT, NZD, uETH, SGD, PYG, OMR, DZD, EUR, TMT, MMK, PTQ, ANG, TZS, CRC, CVE, SET, BTH, BZD, LYD, CHF, MVR, KES, CVE, LSL, KMF, SZL, KYD, BRL, AED, WST, YER, ALL, TRX, HUF, GTQ, uBTC, IDR, MWK, CUC, DKK, TWD, XCD, BBD, LRD, KZT, JOD, BYN, BIF, PLN, SDG, VUV, SEK, BDT, HNL, BWP, VND, ISK, SLL, BHD, HTG, USDt, ADA, MUR, ERN, uLTC, LKR, COP, GEL, AUD, GBP, CAD, PHP, PAB, DJF, GMD, PKR, NIO, AMD, RWF, RON, NGN, TOP, UYU, AZN, SRD, KWD, PGK, CDF, SAR, IQD, XRP, SCR, mETH, MAD, GYD, INR, LBP, ARS, MXN, CLP, BNB, CNY, KHR, LAK, HRK, BZD, SSP, XOF, XAF, MRU, NPR, mBTC

  • game_currency - string · enum · optional

    • The ISO 4217 currency code. Native gameplay support with these currencies may vary per Provider.

    • Example: EUR

    • Available options: BSD, TTD, ZMW, BMD, USD, BYR, UGX, HKD, MGA, GIP, UZS, MKD, PTS, mLTC, EGP, AWG, CZK, ILS, MZN, TND, XPF, SOS, DOP, RUB, KRW, BTN, KGS, BAM, AOA, SOC, AMS, BND, RSD, FKP, PEN, EOS, GHS, JPY, TRY, SBD, UAH, LTL, FJD, GNF, MDL, AFN, ZAR, MOP, TJS, BOB, JMD, QAR, IRR, SYP, XXX, NAD, MYR, CUP, NOK, BGN, KPW, MNT, NZD, uETH, SGD, PYG, OMR, DZD, EUR, TMT, MMK, PTQ, ANG, TZS, CRC, CVE, SET, BTH, BZD, LYD, CHF, MVR, KES, CVE, LSL, KMF, SZL, KYD, BRL, AED, WST, YER, ALL, TRX, HUF, GTQ, uBTC, IDR, MWK, CUC, DKK, TWD, XCD, BBD, LRD, KZT, JOD, BYN, BIF, PLN, SDG, VUV, SEK, BDT, HNL, BWP, VND, ISK, SLL, BHD, HTG, USDt, ADA, MUR, ERN, uLTC, LKR, COP, GEL, AUD, GBP, CAD, PHP, PAB, DJF, GMD, PKR, NIO, AMD, RWF, RON, NGN, TOP, UYU, AZN, SRD, KWD, PGK, CDF, SAR, IQD, XRP, SCR, mETH, MAD, GYD, INR, LBP, ARS, MXN, CLP, BNB, CNY, KHR, LAK, HRK, BZD, SSP, XOF, XAF, MRU, NPR, mBTC

  • country - string · enum · required

    • The ISO 3166-1 country code, applicable to the User in the current session.

    • Example: EE

    • Available options: XX, AD, AE, AF, AG, AI, AL, AM, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CR, CU, CV, CW, CX, CY, CZ, DE, DJ, DK, DM, DO, DZ, EC, EE, EG, EH, ER, ES, ET, FI, FJ, FK, FM, FO, FR, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SV, SX, SY, SZ, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TR, TT, TV, TW, TZ, UA, UG, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, YE, YT, ZA, ZM, ZW

Responses
{"url":"https://the-best-game-provider.com/the-game?session=d4d73882-b3fb-11e7-a3a6-58404eea6d16"}
{"error":"The `operator_id` does not correspond to any existing Operators."}

Get a Game round


POST /operator/generic/v2/game/round HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 121

{
  "user": "john12345",
  "transaction_uuid": "16d2dcfe-b89e-11e7-854a-58404eea6d16",
  "round": "rNEMwgzJAOZ6eR3V",
  "operator_id": 1
}
								

The endpoint allows to retrieve details of a game round. round or transaction_uuid must be passed for the request to pass.

Header parameters
  • uX-Nirova-Signature - any · required

    • RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key associated with the provided operator_id.

Body
  • user - string · min: 3 · required

    • The unique user ID in the Operator’s system. In case of DEMO gameplay, this parameter may be omitted.

    • Example: john12345

  • transaction_uuid - string · optional

    • The transaction identifier, which you recive from us through the API during a gameplay.

    • Example: 16d2dcfe-b89e-11e7-854a-58404eea6d16

  • round - string · required

    • The round identifier, which you recive from us through the API during a gameplay.

    • Example: rNEMwgzJAOZ6eR3V

  • operator_id - integer · required

    • Unique identifier for the Operator in Nirova system. Used to authorize incoming requests. You can obtain your operator_id from the Nirova BackOffice after your Operator entity is registered and set up in the Nirova system by the internal teams.

    • Example: 1

Responses
{"url":"https://the-best-game-provider.com/roundCheck?round=rNEMwgzJAOZ6eR3V"}
{"url":"https://error-page.host/error?message=round-is-still-unfinished"}

Get the Game List


POST /operator/generic/v2/game/list HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 17

{
  "operator_id": 1
}
								

Provides a list of games that are available for the Operator.

Header parameters
  • uX-Nirova-Signature - any · required

    • RSA-SHA256 is used to sign the request body using the private key. The signature is validated using the public key associated with the provided operator_id.

Body
  • operator_id - integer · required

    • Unique identifier for the Operator in Nirova system. Used to authorize incoming requests. You can obtain your operator_id from the Nirova BackOffice after your Operator entity is registered and set up in the Nirova system by the internal teams.

    • Example: 1

Responses
[
  {
    "url_thumb": "https://picture-hosting.com/blackjack/thumb.png",
    "url_background": "https://picture-hosting.com/blackjack/bg.png",
    "product": "OneTouch",
    "platforms": [
      "GPL_DESKTOP",
      "GPL_MOBILE"
    ],
    "name": "Classic",
    "game_code": "ont_classic",
    "reward_support": true,
    "phoenix_jackpot_support": false,
    "enabled": true,
    "category": "Blackjack",
    "blocked_countries": [
      "PL",
      "BG"
    ],
    "release_date": "2017-11-05",
    "volatility": 1,
    "rtp": "98.8",
    "paylines": 0,
    "hit_ratio": "45.50",
    "certifications": [
      "CURACAO",
      "MGA",
      "IOM"
    ],
    "languages": [
      "eng",
      "jpn",
      "kor",
      "deu"
    ],
    "technology": [
      "HTML5"
    ],
    "features": [
      "Bonus Buy",
      "Bonus Rounds",
      "Network ",
      "In-game "
    ]
  }
]
{"error":"The `operator_id` does not correspond to any existing Operators."}