How It Works
Flow
Step 1: Add isTest: true to OTT Issuance
When issuing an OTT from the game server, add isTest: true to put the entire session into test mode.
- cURL
- Node SDK
- Go SDK
isTest propagates from OTT to the session and persists for the session’s lifetime. It cannot be set from the WebView URL or client-side — it must be set at OTT issuance using the Server API Key.Step 2: Test in the WebView
When entering the test mode WebView, a purple TEST MODE banner is displayed at the top.Campaign List
In normal mode, onlyIN_PROGRESS and COMPLETED campaigns are shown. In test mode, campaigns from draft/review stages are also visible:
This allows WebView QA from the draft stage (
DRAFT) through pre-launch (EXPOSED, PENDING_EXPOSURE).
Creators
In test mode, fixed mock creators are returned:Boost
When registering/changing/removing a boost:- DB write: None
- Response: Mock data
- Webhook: Actually sent (includes
_isTestData: true) - Session state: Stored in Redis session, persists across page refreshes
Step 3: Handle _isTestData in Webhooks
Webhooks from test mode include an _isTestData: true field:
_isTestData in your webhook handler to distinguish test webhooks from real ones:
- Node.js
- Go
sponsor.created, sponsor.changed, sponsor.ended
Important Notes
- Coupons are not affected by test mode: Redeeming a coupon in test mode consumes the actual coupon
- Sandbox vs Live: Test mode is safe to use in the live environment. It can be used alongside the sandbox environment
- Integration verification: Calls with
isTest: truecount toward integration completion requirements
Related Pages
- WebView + Webhook Integration — Full WebView integration flow
- WebView Integration — OTT issuance, URL configuration, security details
- Webhook Events — Webhook reception and signature verification
- Test Mode — Server/Client API isTest usage