Notell API Docs
Русский

Features

Demo mode

Demo mode opens any game as a free-play demo for a visitor who is not logged in on your site. The game, its math and the original client are the same as in a real-wallet session; only the money is virtual. Use it for "Play for fun" buttons and previews.

  • No wallet. A demo session never calls your wallet callbacks (session_info, bet, win, round_info) and writes nothing to your reports, totals or GGR. Its rounds belong to an internal demo project that no report includes.
  • Isolated demo wallet. The balance is a separate play-money balance in the session currency, 100 000.00 by default. Demo wallets of different projects never mix.
  • Same launch method. Demo mode is POST /playGame.do with gametype: "fun". The real-wallet mode is gametype: "demo" (the value is named demo for historical reasons); see Game launch.
  • Same behaviour. Bets, wins, free spins inside the game, bonus buys and ante bets work as normal.
  • Not available in demo. Operator free spins, target outcomes and personal RTP apply to real-wallet sessions only. The legacy freespins launch field is refused.

Launch a demo game#

POST/playGame.dogametypefun

Creates a demo session and returns a link to the game client. The request is the launch request with gametype: "fun" and the demo fields below.

Request#

curl
curl -s -X POST https://notell-api.com/playGame.do \
  -H 'Content-Type: application/json' \
  -d '{
    "provider": "own",
    "partner": "demo-casino",
    "api_key": "YOUR_API_KEY",
    "symbol": "gates-of-olympus",
    "currency": "EUR",
    "gametype": "fun",
    "player_id": "player-1024",
    "demo_balance": "5000.00",
    "demo_reset": true,
    "lang": "en"
  }'
JSON
{
  "provider": "own",
  "partner": "demo-casino",
  "api_key": "YOUR_API_KEY",
  "symbol": "gates-of-olympus",
  "currency": "EUR",
  "gametype": "fun",
  "player_id": "player-1024",
  "demo_balance": "5000.00",
  "demo_reset": true,
  "lang": "en"
}
FieldTypeRequiredDescription
provider, partner, api_key, symbol, currency, lang, client_platform, regionAs in Game launch.
gametypeenumyes"fun" for demo mode.
player_idstringno1–128 characters. Only scopes the demo wallet (see below); it is never sent to your wallet.
demo_balancemoneynoStarting demo balance as a JSON number or a decimal string with at most 2 decimals, from 1.00 to 10 000 000.00. Default: 100000.00.
demo_resetbooleannoRefill the demo wallet to demo_balance at this launch. Meaningful with player_id. Any other type is INVALID_REQUEST.

demo_balance and demo_reset are accepted only with gametype: "fun"; with gametype: "demo" they fail with INVALID_REQUEST.

Response#

json
{
  "status": "ok",
  "link": "https://notell-api.com/… (game client address with the session token)",
  "meta": {
    "session_id": "9d0c3f7e-2b1a-4c58-a6d3-7e4f1b0c9a28",
    "currency": "EUR",
    "language": "en",
    "gametype": "fun"
  }
}
FieldTypeDescription
linkstringThe URL to open in the player's browser. It contains the session token.
meta.session_idstringId of the demo session.
meta.currency, meta.languagestringThe currency and the language code of the session.
meta.gametypestring"fun" for a demo session.

The meta object also carries informational fields about the game build; ignore the ones you do not know.

Errors#

CodeHTTPWhen
INVALID_DEMO_BALANCE400demo_balance is outside 1.00–10 000 000.00, is not a number or numeric string, or has more than two decimals.
INVALID_REQUEST400demo_reset is not a boolean, player_id is not 1–128 characters, or demo_balance / demo_reset is sent with gametype: "demo".
DEMO_UNAVAILABLE503Demo mode is not provisioned on the server.

Other launch errors (UNAUTHORIZED, UNSUPPORTED_GAME, …) are the same as for any launch.

How the demo wallet behaves#

  • Without player_id every launch gets a new wallet with a fresh balance. A repeated call with the same Idempotency-Key returns the same session.
  • With player_id the demo wallet is kept for that id (per project and currency) across launches and across games: the balance carries over. demo_reset: true refills it to demo_balance, and a balance below 1.00 is refilled automatically so the visitor never gets stuck at zero.
  • Reload. Reloading the game or relaunching with an unfinished round continues that round; the balance is restored from the demo wallet.

See also#

Documentation for operators and integrators.TEST_ONLY platform: non-withdrawable units, no real payments.