Download as pdf or txt
Download as pdf or txt
You are on page 1of 81

DWARVEN HOARD RGS -

CLIENT REQUEST

API Documentation

Version 1.3

14/12/2017
Dwarven Hoard RGS – Client Request API Documentation

Disclaimer
This document is confidential and proprietary to Games Incorporated Limited and/or its
partners and is provided for information purposes only. No part of this publication may be
reproduced, stored in a retrieval system, or transmitted in any form or by any means,
electronic, mechanical, photocopying, recording, or otherwise, without the prior written
permission of Games Incorporated Limited.

This document is provided ‘as is’ without any warranty concerning its accuracy or quality. In
no event will Games Incorporated Limited be liable for direct or indirect damages resulting
from incidental defects of inaccuracies in this document.

Games Incorporated Limited reserves the right to review and modify digital copies of this
document at any time without prior notice.

Any trademarks, company names or products referenced within this document are
recognised as the property of their respective owners.

Copyright © 2017 Games Incorporated Limited. All rights are reserved.

Copyright © 2017 | Confidential & Proprietary


-2-
Dwarven Hoard RGS – Client Request API Documentation

Contents
1 Team .................................................................................................................. 5
2 Terminologies Used ..................................................................................... 6
3 Full Response Data View Overview ....................................................... 7
4 Basic Response Structure ........................................................................12
5 Element Definitions ....................................................................................13
5.1 Game (game) .......................................................................................................................... 13
5.2 Game View (game.view) ..................................................................................................... 13
5.3 Base Persistent Feature Properties (game.view.pf[x]).............................................. 14
5.4 Pattern Trail Persistent Feature (game.view.pf[x]) .................................................... 15
5.5 Rage Trail Persistent Feature (game.view.pf[x])......................................................... 16
5.6 Base Consumable Feature (game.view.cf[x]) .............................................................. 17
5.7 Cascade Consumable Feature (game.view.cf[x]) ....................................................... 17
5.8 Symbol Replace Consumable Feature (game.view.cf[x])........................................ 18
5.9 Multiplier Consumable Feature (game.view.cf[x]) .................................................... 20
5.10 Spin (game.view.rsc[x])........................................................................................................ 20
5.11 Reel (game.view.rsc[x].reels[y]) ........................................................................................ 22
5.12 Bet (game.view.bets[x]) ....................................................................................................... 22
5.13 Base Win (game.view.bets[x].wins[y]) ............................................................................ 24
5.14 Reel Win (game.view.bets[x].wins[y])............................................................................. 24
5.15 Reel Award (game.view.bets[x].wins[y].award) .......................................................... 26
5.16 Prize Win (game.view.bets[x].wins[y])............................................................................ 26
5.17 Initial Reel Setup (game.view.irs) .................................................................................... 27
5.18 Game Configuration (game.view.gc) ............................................................................. 28
5.19 Stake Configuration (game.view.gc.stake)................................................................... 30
5.20 Winline (game.view.gc.wl[x])............................................................................................. 31
5.21 Game Details (game.details) ............................................................................................. 32
5.22 Base Promotion (game.promo[x]) .................................................................................. 33
5.23 Free Game Promotion (game.promo[x]) ...................................................................... 33
5.24 Customer (cust)...................................................................................................................... 34
5.25 Currency (cust.curr) .............................................................................................................. 35
5.26 Error (error).............................................................................................................................. 36

6 Scenario Samples........................................................................................37

Copyright © 2017 | Confidential & Proprietary


-3-
Dwarven Hoard RGS – Client Request API Documentation

6.1 Game Initialization ................................................................................................................ 37


6.1.1 Init Request ........................................................................................................................................ 37
6.1.2 Init Response ..................................................................................................................................... 37
6.2 Initiating a Game Round .................................................................................................... 42
6.2.1 Start Request ..................................................................................................................................... 42
6.2.2 Start Response (Losing Spin) ...................................................................................................... 43
6.2.3 Start Response (Losing Spin - Cascade) ................................................................................. 45
6.2.4 Start Response (Winning Spin - Cascade Feature) ............................................................. 48
6.2.5 Update Request (Winning Spin - Cascade Feature)........................................................... 52
6.2.6 Update Response (Winning Spin - Update Cascade Feature) ....................................... 54
6.2.7 Update Request (Winning Spin - Cascade Feature Complete) ..................................... 59
6.2.8 Update Response (Winning Spin - Free Spins Rage Pot) ................................................ 60

7 Freespins ........................................................................................................66
7.1.1 Update Request ................................................................................................................................ 66
7.1.2 Update Response ............................................................................................................................. 66
7.1.3 Terminate Request & Response ................................................................................................ 71
7.1.4 Pattern Trail Initialization - Init Response .............................................................................. 73
7.1.5 Pattern Trail Point Completion - Start & Update Response ........................................... 74

8 Resume Scenarios.......................................................................................76
9 Promotions ....................................................................................................77
10 Error and Fail Handling.............................................................................79
11 Heartbeat .......................................................................................................80
12 Revision history ...........................................................................................81

Copyright © 2017 | Confidential & Proprietary


-4-
Dwarven Hoard RGS – Client Request API Documentation

1 Team

Member Name Role Contact

Richard Kilvington Software API Engineer richard.kilvington@gamesinc.co.uk

Tom Orchard Technical Director tom.orchard@gamesinc.co.uk

Thomas Edwards Head of Operations thomas.edwards@gamesinc.co.uk

Copyright © 2017 | Confidential & Proprietary


-5-
Dwarven Hoard RGS – Client Request API Documentation

2 Terminologies Used

Member Name Contact

Game Cycle This refers to a cycle invoked by a spin of the reels through
to completing any features that were activated during the
spin - initiation, update and end.

Coins Win amount divided by bet per line.

Cash Win amount multiplied by bet per line.

Copyright © 2017 | Confidential & Proprietary


-6-
Dwarven Hoard RGS – Client Request API Documentation

3 Full Response Data View Overview


The following is a sample of a complete view of the internal game model generated
by the game logic. The individual components of the data view are explained in
detail in later sections of the document.

{
"pf": [
{
"ft": "TRAIL_PATTERN",
"pt": "REEL_POST_WIN",
"p": [
{
"ri": 0,
"si": 0
},
{
"ri": 1,
"si": 0
}
],
"pc": [
1
],
"levels": [ 1 ]
},
{
"ft": "TRAIL_RAGE",
"pt": "REEL_POST_WIN",

Copyright © 2017 | Confidential & Proprietary


-7-
Dwarven Hoard RGS – Client Request API Documentation

"wa": 10,
"ma": 20
}
],
"cf": [
{
"fi": 1,
"pt": "REEL_PRE_WIN",
"ft": "REPLACE",
"rs": [
{
"p": [
[
0,
0
],
[
1,
0
]
],
"rs": 1
}
],
"fc": []
},
{
"fi": 2,
"pt": "REEL_POST_WIN",

Copyright © 2017 | Confidential & Proprietary


-8-
Dwarven Hoard RGS – Client Request API Documentation

"ft": "CASCADE",
"cascade": true,
"pr": [
[
0,
0
],
[
2,
0
]
],
"fc": [
{
"fi": 3,
"ft": "MULTIPLIER",
"pt": "REEL_PRE_WIN",
"multi": 1
}
]
}
],
"rsc": [
{
"ar": [
4
],
"si": 0,
"sipli": 0,

Copyright © 2017 | Confidential & Proprietary


-9-
Dwarven Hoard RGS – Client Request API Documentation

"sipui": 1,
"reels": [
{
"si": [
3
],
"id": 0
},
{
"si": [
5
],
"id": 1
}
]
}
],
"ctwco": 0,
"bets": [
{
"wins": [
{
"wi": -1,
"award": {
"fi": -1,
"pt": 0,
"jp": false,
"type": "WINLINE"
},

Copyright © 2017 | Confidential & Proprietary


-10-
Dwarven Hoard RGS – Client Request API Documentation

"type": "REEL_WIN",
"cash": 1,
"coin": 10,
"pos": [
{
"ri": 3,
"si": 0
},
{
"ri": 4,
"si": 0
}
]
}
],
"twca": 1,
"twco": 10,
"ts": 1
}
],
"ctwca": 1
}

Copyright © 2017 | Confidential & Proprietary


-11-
Dwarven Hoard RGS – Client Request API Documentation

4 Basic Response Structure

{
"fail": null,
"game": {
"view": {},
"details": {},
"promo": [],
"resume": false
},
"success": true,
"type": "responseType",
"error": null,
"cust": {
"curr": {}
}
}

Copyright © 2017 | Confidential & Proprietary


-12-
Dwarven Hoard RGS – Client Request API Documentation

5 Element Definitions

5.1 Game (game)


Key Value Type Description
details Game JSONObject Game details container object.
Details
view Game View JSONObject Game view container object.
promo Promotions JSONArray Contains a list of promotions that
are relevant within the gameplay
session.
res Resume Boolean Signifies whether a resume scenario
has occurred.

5.2 Game View (game.view)


Key Value Type Description
pf Persistent JSONArray The persistent features property
Features contains information about all
active persistent features in the
form of an array of JSON objects. A
persistent feature is a bonus within
the game that’s lifetime spans the
entirety of a game session.
cf Consumable JSONArray The consumable features property
Features contains information about all
active consumable features in the
form of an array of JSON objects. A
consumable feature is a bonus
within the game that has a fixed
lifetime, dictated by the length of
the game cycle. Typically the
feature itself will have rules that
dictate when it's life cycle has
ended.

Copyright © 2017 | Confidential & Proprietary


-13-
Dwarven Hoard RGS – Client Request API Documentation

Key Value Type Description


rsc Reel Spin JSONArray The reel spin container property
Container contains information about the
spin results; in the form of an array
of JSON objects. A spin result will
show what the outcome of the spin
was. Typically this will provide the
initiating spin result and the current
spin result.
bets Bets JSONArray The bets container property
contains all relevant information
about all the bets that were placed
for the given game cycle, in the
form of an array of JSON objects.
twco Total Win int The total win amount of the game
Coin cycle/round in coins represented as
an integer.
twca Total Win double The total win amount of the game
Cash cycle/round in cash represented as
a double.
irs Initial Reel JSONObject The “irs” object contains all
Setup information required for the initial
setup of the reels before any game
cycles have been started/ended.
This property will only ever be
present during the "InitResponse"
event.
gc Game JSONObject The "gc" object contains all
Configuration information that will be needed to
configure the game. This property
will only ever be present during the
"InitResponse" event.

5.3 Base Persistent Feature Properties (game.view.pf[x])


Key Value Type Description
ft Feature Type String Specifies the type of persistent
feature.

Copyright © 2017 | Confidential & Proprietary


-14-
Dwarven Hoard RGS – Client Request API Documentation

Key Value Type Description


pt Presentation String Specifies the presentation type of the
Type feature. Possible values are
“REEL_SPIN”, “REEL_PRE_WIN”,
“REEL_POST_WIN” and “OFF_REEL”.

5.4 Pattern Trail Persistent Feature (game.view.pf[x])

{
"ft": "TRAIL_PATTERN",
"pt": "REEL_POST_WIN",
"p": [
{
"ri": 0,
"si": 0
},
{
"ri": 1,
"si": 0
}
],
"pc": [
2
],
"levels": [ 1 ]
}

Copyright © 2017 | Confidential & Proprietary


-15-
Dwarven Hoard RGS – Client Request API Documentation

Key Value Type Description


p Points JSONArray Contains the positions that are
required to level up in the form of an
array of JSON objects. Each object will
include the reel index and symbol
index, represented as "ri" and "si". The
positions contained within the array
will always be ordered by reel id in
ascending order. The points property
is only included for the initialization of
the feature.
pc Points JSONArray Dual purpose property. In a resume
Complete scenario this property contains all
points that had been completed
before the session was severed. In any
other scenario this property contains
points that have been completed by
an interaction with the game. Each
point object consists of a reel index
and a symbol index.
levels Levels JSONArray The “levels” property indicates what
levels of the feature are currently
activated.

5.5 Rage Trail Persistent Feature (game.view.pf[x])

{
"ft": "TRAIL_RAGE",
"pt": "REEL_POST_WIN",
"wa": 10,
"ma": 20
}

Copyright © 2017 | Confidential & Proprietary


-16-
Dwarven Hoard RGS – Client Request API Documentation

Key Value Type Description


wa Wins double An accumulation of the win
Accumulation amount.
ma Max Amount double Represents the win maximum
threshold for the feature.

5.6 Base Consumable Feature (game.view.cf[x])


Key Value Type Description
fi Feature Id int Specifies the feature ID.
pt Presentation String Specifies the presentation type of
Type the feature. Possible values are
“REEL_SPIN”, “REEL_PRE_WIN”,
“REEL_POST_WIN” and
“OFF_REEL”.
ft Feature Type String Dictates the type of feature that
needs to run and what it’s internal
logic should be. Expected feature
types are “REPLACE”, “CASCADE”
and “MULTIPLIER”.
fc Feature JSONArray The feature children property
Children contains a list of active child
features in the form of an array of
JSON objects. The life cycle of
child features exists within the
scope of the parent feature.
Features can have sub features
which need to be executed as
part of the parent features
lifetime.

5.7 Cascade Consumable Feature (game.view.cf[x])

{
"fi": 2,

Copyright © 2017 | Confidential & Proprietary


-17-
Dwarven Hoard RGS – Client Request API Documentation

"pt": "REEL_POST_WIN",
"ft": "CASCADE",
"cascade": true,
"pr": [
{
"ri": 0,
"si": 0
},
{
"ri": 1,
"si": 0
}
],
"fc": []
}

Key Value Type Description


pr Positions JSONArray Specifies a list of symbol positions
Removed that need to be removed from the
slot grid. The symbols to be
removed are represented as an
array of json objects, containing a
reel index and symbol index.
cascade Cascade boolean Indicates whether a subsequent
cascade is triggered.

5.8 Symbol Replace Consumable Feature (game.view.cf[x])

{
"fi": 1,

Copyright © 2017 | Confidential & Proprietary


-18-
Dwarven Hoard RGS – Client Request API Documentation

"pt": "REEL_PRE_WIN",
"ft": "REPLACE",
"rs": [
{
"p": [
{
"ri": 0,
"si": 0
},
{
"ri": 1,
"si": 0
}
],
"si": 1
}
],
"fc": []
}

Key Value Type Description


rs Replacement JSONArray Specifies a list of replacement
Symbols symbols, including the position of
the symbol on the reels and the
symbol ID. Represented in the
form of an array of json objects.

Copyright © 2017 | Confidential & Proprietary


-19-
Dwarven Hoard RGS – Client Request API Documentation

5.9 Multiplier Consumable Feature (game.view.cf[x])

{
"fi": 3,
"ft": "MULTIPLIER",
"pt": "REEL_PRE_WIN",
"multi": 1,
"fc": []
}

Key Value Type Description


multi Multiplier int Specifies the multiplier value for
wins.

5.10 Spin (game.view.rsc[x])

{
"ar": [
4
],
"si": 0,
"lb": 0,
"ub": 1,
"reels": [
{
"si": [
3
],
"id": 0

Copyright © 2017 | Confidential & Proprietary


-20-
Dwarven Hoard RGS – Client Request API Documentation

},
{
"si": [
5
],
"id": 1
}
]
}

Key Value Type Description


si Spin ID int The spin ID.
reels Reels JSONArray The reels property contains all
information about each of the
reels current state; represented in
the form of an array of JSON
Objects. Each json object
represents an individual reel and
are identified by the internal “id”
property.
ar Anticipation JSONArray Specifies the indices of the reels
Reels that should trigger the
anticipation animation. The
property will contain an array of
ints whereby each int will
represent the reel index that
requires anticipation logic.
lb Lower Bounds int Specifies the lower bounds of the
reel symbols in play as an index.
ub Upper Bounds int Specifies the upper bounds of the
reel symbols in play as an index.

Copyright © 2017 | Confidential & Proprietary


-21-
Dwarven Hoard RGS – Client Request API Documentation

5.11 Reel (game.view.rsc[x].reels[y])

{
"si": [
3
],
"id": 0
}

Key Value Type Description


si Symbol IDs JSONArray The symbol id’s property contains
a list of new symbols that the
reels will need to render. The
property comprises an array of
ints representing symbol ids; the
symbols need to be rendered in
the order that they are presented
in the array.
id Reel ID int The reel ID. This property is
representative of the reel position
on the slot grid.

5.12 Bet (game.view.bets[x])

{
"wins": [
{
"wi": -1,

Copyright © 2017 | Confidential & Proprietary


-22-
Dwarven Hoard RGS – Client Request API Documentation

"award": {
"fi": -1,
"pt": 0,
"jp": false,
"type": "WINLINE"
},
"type": "REEL_WIN",
"cash": 1,
"coin": 10,
"pos": [
{
"ri": 3,
"si": 0
},
{
"ri": 4,
"si": 0
}
]
}
],
"twca": 1,
"twco": 10,
"ts": 1
}

Copyright © 2017 | Confidential & Proprietary


-23-
Dwarven Hoard RGS – Client Request API Documentation

Key Value Type Description


wins Wins JSONArray The wins property contains a list
of wins that have been achieved
as part of a bet, in the form of an
array of JSON objects.
twca Total Win Cash double The total win amount of the bet in
cash.
twco Total Win int The total win amount of the bet in
Coins coins.
ts Total Stake double The total stake of the bet in cash.

5.13 Base Win (game.view.bets[x].wins[y])


Key Value Type Description
wi Win ID int The Win ID.
type Type String Specifies the type of win, this can
be one of the two strings
“PRIZE_WIN” and “REEL_WIN”.
Reel win dictates that the win
value has come from a win
condition based upon the state of
the reel. Prize win dictates that
the win value has come from
feature instead of the reel.
cash Win Amount double Specifies the win amount in cash.
Cash
coins Win Amount int Specifies the win amount in coins.
Coins

5.14 Reel Win (game.view.bets[x].wins[y])

{
"wi": -1,
"award": {
"fi": -1,

Copyright © 2017 | Confidential & Proprietary


-24-
Dwarven Hoard RGS – Client Request API Documentation

"pt": 0,
"jp": false,
"type": "WINLINE"
},
"type": "REEL_WIN",
"cash": 1,
"coin": 10,
"pos": [
{
"ri": 3,
"si": 0
},
{
"ri": 4,
"si": 0
}
]
}

Key Value Type Description


award Reel Award JSONObject The award associated with the
win.
pos Positions JSONArray Specifies a list of the positions of
the winning symbols on the reels,
represented as an array of JSON
objects. Each object will contain
individual reel and symbol
indexes defining the winning
symbols exact location.

Copyright © 2017 | Confidential & Proprietary


-25-
Dwarven Hoard RGS – Client Request API Documentation

5.15 Reel Award (game.view.bets[x].wins[y].award)

{
"fi": -1,
"pt": 0,
"jp": false,
"type": "WINLINE"
}

Key Value Type Description


fi Feature Id int Only applicable if the award is
associated with a feature,
otherwise the value is -1.
pt Presentation int Signifies the presentation type of
Type the reel award. Value will be 0 in
all awards for this game.
jp Jackpot Boolean Signifies whether the award is
classed as a jackpot.
type Type String Signifies the type of Reel Award.
Possible values are “WINLINE”,
“SCATTER” or “STACKED”.

5.16 Prize Win (game.view.bets[x].wins[y])

{
"wi": -1,
"type": "PRIZE_WIN",
"fi": 2,
"cash": 1,
"coin": 10
}

Copyright © 2017 | Confidential & Proprietary


-26-
Dwarven Hoard RGS – Client Request API Documentation

Key Value Type Description


fi Feature ID int The ID of the associated feature.
This will dictate what feature
trigger the given win.

5.17 Initial Reel Setup (game.view.irs)

{
"lb": 0,
"ub": 1,
"reels": [
{
"si": [
3
],
"id": 0
},
{
"si": [
5
],
"id": 1
}
]
}

Copyright © 2017 | Confidential & Proprietary


-27-
Dwarven Hoard RGS – Client Request API Documentation

Key Value Type Description


reels Reels JSONArray The reels property contains all
information about each of the
reels current state; represented in
the form of an array of JSON
Objects. Each json object
represents an individual reel and
are identified by the internal “id”
property.
lb Lower Bounds int Specifies the lower bounds of the
reel symbols in play as an index.
ub Upper Bounds int Specifies the upper bounds of the
reel symbols in play as an index.

5.18 Game Configuration (game.view.gc)

{
"stake": {
"cv": 1,
"values": [
0.2,
0.4,
0.6,
1,
2,
4,
6,
10,
20,
40,
60,
100,

Copyright © 2017 | Confidential & Proprietary


-28-
Dwarven Hoard RGS – Client Request API Documentation

200
],
"cl": 0,
"levels": [
1
]
},
"wl": [
{
"pos": [
{
"ri": 0,
"si": 0
},
{
"ri": 1,
"si": 0
}
],
"id": 0
},
{
"pos": [
{
"ri": 2,
"si": 0
},
{
"ri": 3,

Copyright © 2017 | Confidential & Proprietary


-29-
Dwarven Hoard RGS – Client Request API Documentation

"si": 0
}
],
"id": 1
}
]
}

Key Value Type Description


stake Stake JSONObject Container for stake configuration
Configuration properties.
wl Winlines JSONArray The winlines property presents an
array of JSON objects that each
represent a win line. The winline
object will contain all data that
formed the winline.

5.19 Stake Configuration (game.view.gc.stake)

{
"cv": 1,
"values": [
0.2,
0.4,
0.6,
1,
2,
4,
6,

Copyright © 2017 | Confidential & Proprietary


-30-
Dwarven Hoard RGS – Client Request API Documentation

10,
20,
40,
60,
100,
200
]
}

Key Value Type Description


cv Current Stake int The index of the current stake
Value value in the values array. This
dictates what our current stake is.
When the player has changed the
stake, this will be changed.
values Stake Values JSONArray An array of double values
showing all of the possible stakes
that are available to the player.

5.20 Winline (game.view.gc.wl[x])

{
"pos": [
{
"ri": 0,
"si": 0
},
{
"ri": 1,
"si": 0

Copyright © 2017 | Confidential & Proprietary


-31-
Dwarven Hoard RGS – Client Request API Documentation

}
],
"id": 0
}

Key Value Type Description


id Winline ID int The Winline ID.
pos Positions JSONArray Specifies a list of positions that
formed the win line, represented
as an array of JSON objects, each
JSON object will contain both a
reel index and a symbol index,
presented as “ri” and “si”.

5.21 Game Details (game.details)

{
"id": 5,
"type": "Slot",
"title": "Dwarven Hoard",
"drtp": 97.3
}

Key Value Type Description


id Game ID int The game ID.
type Type String A human readable game type
descriptor.
title Game Title String The game title.
drtp Desired RTP double The desired RTP for the game.

Copyright © 2017 | Confidential & Proprietary


-32-
Dwarven Hoard RGS – Client Request API Documentation

5.22 Base Promotion (game.promo[x])


Key Value Type Description
id Id String Unique identifier of the
promotion.
type Type String Type descriptor of the promotion.
name Name String Name of the promotion.
gc Game Count int The number of games played
using the promotion.
wa Win Amount double The total winnings using the
promotion.
cons Consumed double The amount of the promotion
that has been consumed as a
percentage.
status Status String The current status of the
promotion for the user (ACTIVE,
COMPLETE, EXPIRED)
id Id String Unique identifier of the
promotion.

5.23 Free Game Promotion (game.promo[x])

{
"id": "daw82j3ghd83l",
"type": "FREE_GAME",
"name": "My Test Promotion",
"ga": 10,
"gc": 0,
"sv": 0.1,
"sl": 1,
"sd": true,
"wa": 0,

Copyright © 2017 | Confidential & Proprietary


-33-
Dwarven Hoard RGS – Client Request API Documentation

"cons": 0,
"status": "ACTIVE"
}

Key Value Type Description


ga Games int Number of free games awarded.
Awarded
sv Stake Value double The effective stake value of free
games offered by the promotion.
sl Stake Level int The effective stake level of free
games offered by the promotion.
sd Stake Deduct boolean Signifies whether the stake value
is deducted from any wins
achieved using the promotion.

5.24 Customer (cust)

{
"pbal": 1000,
"bal": 1000,
"curr": {
"maj": "%E2%82%AC",
"gp": 3,
"code": "eur",
"min": "",
"dp": 2,
"ds": ",",
"msp": true,
"scale": 1,
"gs": "."

Copyright © 2017 | Confidential & Proprietary


-34-
Dwarven Hoard RGS – Client Request API Documentation

}
}

Key Value Type Description


pbal Projected double The projected balance at the
Balance end of the game cycle/round.
bal Balance double The current balance.
curr Currency JSONObject The customer’s choice of
currency.

5.25 Currency (cust.curr)

{
"maj": "%E2%82%AC",
"gp": 3,
"code": "eur",
"min": "",
"dp": 2,
"ds": ",",
"msp": true,
"scale": 1,
"gs": "."
}

Key Value Type Description


pbal Projected double The projected balance at the
Balance end of the game cycle/round.
bal Balance double The current balance.

Copyright © 2017 | Confidential & Proprietary


-35-
Dwarven Hoard RGS – Client Request API Documentation

Key Value Type Description


maj Major Symbol String The major symbol after URL
encoding
gp Group Places int The number of digits that are
grouped, typically to delineate
thousands.
code Currency Code String Currency code according to the
ISO 4217 standard.
min Minor Symbol String The minor symbol after URL
encoding.
dp Decimal Places int The number of decimal places.
ds Decimal String The symbol used as the decimal
Separator point.
msp Major Symbol boolean Indicates whether the major
Prefix symbol should precede the
value.
scale Scale double Specifies a scale value. Currency
amounts should be multiplied
by this value as part of
formatting.

5.26 Error (error)

{
"mes": "We apologise but a technical fault has occurred with the
game. This error cannot be resolved at this time. Please try again.",
"sev": 0
}

Key Value Type Description


mes Error Message String A human-readable description
of the error.
sev Severity Code int A code signifying the severity of
the error. 0 = FATAL, 1 = NON-
FATAL

Copyright © 2017 | Confidential & Proprietary


-36-
Dwarven Hoard RGS – Client Request API Documentation

6 Scenario Samples

6.1 Game Initialization

6.1.1 Init Request


Upon game launch the client should send the Init request to the server. The
freeplay, playToken and vendor properties are drawn directly from the URL
parameters used in the request to load the client, whereas the game code is
typically drawn from an external configuration file. The version property signifies
the version of the game client.

{
"type": "init",
"freeplay": "false",
"playToken": "2244",
"game": {"code":"bs007_dhs", "version":"1.0.1" },
"vendor": "bs",
"requestId": ""
}

6.1.2 Init Response


The server responds with the Initial Reel Setup (irs) and Game Configuration (gc)
objects, which the client can then use in conjunction with the Game Details and
Customer Currency objects to initialize the game.

{
"fail": null,
"game": {

Copyright © 2017 | Confidential & Proprietary


-37-
Dwarven Hoard RGS – Client Request API Documentation

"view": {
"pf": [
{
"ft": "TRAIL_PATTERN",
"pt": "REEL_POST_WIN",
"p": [
{
"ri": 0,
"si": 0
},
{
"ri": 1,
"si": 0
}
],
"pc": [],
"levels": [ 1 ]
},
{
"ft": "TRAIL_RAGE",
"pt": "REEL_POST_WIN",
"wa": 0,
"ma": 20
}
],
"irs": {
"lb": 0,
"ub": 1,
"reels": [

Copyright © 2017 | Confidential & Proprietary


-38-
Dwarven Hoard RGS – Client Request API Documentation

{
"si": [
3
],
"id": 0
},
{
"si": [
5
],
"id": 1
}
]
},
"gc": {
"stake": {
"cv": 12,
"values": [
0.2,
0.4,
0.6,
1,
2,
4,
6,
10,
20,
40,
60,

Copyright © 2017 | Confidential & Proprietary


-39-
Dwarven Hoard RGS – Client Request API Documentation

100,
200
],
"cl": 0,
"levels": [
1
]
},
"wl": [
{
"pos": [
{
"ri": 0,
"si": 0
},
{
"ri": 1,
"si": 0
}
],
"id": 0
},
{
"pos": [
{
"ri": 2,
"si": 0
},
{

Copyright © 2017 | Confidential & Proprietary


-40-
Dwarven Hoard RGS – Client Request API Documentation

"ri": 3,
"si": 0
}
],
"id": 1
}
]
},
"twco": 0,
"bets": [],
"twca": 0
},
"details": {
"id": 5,
"type": "Slot",
"title": "Dwarven Hoard",
"drtp": 97.3
}
},
"success": true,
"type": "initResponse",
"error": null,
"cust": {
"pbal": 1000,
"bal": 1000,
"curr": {
"maj": "%E2%82%AC",
"gp": 3,
"code": "eur",

Copyright © 2017 | Confidential & Proprietary


-41-
Dwarven Hoard RGS – Client Request API Documentation

"min": "",
"dp": 2,
"ds": ",",
"msp": true,
"scale": 1,
"gs": "."
}
}
}

6.2 Initiating a Game Round

6.2.1 Start Request


To initiate a game round and place a bet, the client sends the Start Request to the
RGS. The “cv” and “cl” properties inside the stake object refer directly to the lists of
stake values and levels that was transmitted as part of the Init Response.

{
"type": "start",
"bet": {
"stake": {
"cv": 3,
"cl": 0
}
}
}

Copyright © 2017 | Confidential & Proprietary


-42-
Dwarven Hoard RGS – Client Request API Documentation

6.2.2 Start Response (Losing Spin)


On a losing spin the server will respond with the reel symbols to display stored
inside the Reel Spin Container. The wins array is empty signifying that user has
achieved no wins from the symbols in play.

{
"fail": null,
"game": {
"view": {
"pf": [
{
"ft": "TRAIL_PATTERN",
"pt": "REEL_POST_WIN",
"pc": [],
"levels": [ 1 ]
},
{
"ft": "TRAIL_RAGE",
"pt": "REEL_POST_WIN",
"wa": 0,
"ma": 20
}
],
"rsc": [
{
"ar": [],
"si": 0,
"lb": 0,

Copyright © 2017 | Confidential & Proprietary


-43-
Dwarven Hoard RGS – Client Request API Documentation

"ub": 1,
"reels": [
{
"si": [
3
],
"id": 0
},
{
"si": [
5
],
"id": 1
}
]
}
],
"twco": 0,
"bets": [
{
"wins": [],
"twca": 0,
"twco": 0,
"ts": 1
}
],
"twca": 0
}
},

Copyright © 2017 | Confidential & Proprietary


-44-
Dwarven Hoard RGS – Client Request API Documentation

"success": true,
"type": "startResponse",
"error": null,
"cust": {
"pbal": 999,
"bal": 999,
"curr": {
"maj": "%E2%82%AC",
"gp": 3,
"code": "eur",
"min": "",
"dp": 2,
"ds": ",",
"msp": true,
"scale": 1,
"gs": "."
}
}
}

6.2.3 Start Response (Losing Spin - Cascade)


On a losing spin, the server will respond with the reel symbols to display stored
inside the Reel Spin Container. The wins array is empty signifying that user has
achieved no wins from the symbols in play. The differentiating factor with this lose
condition is that the response will contain a list of symbols that need to be replaced.
The new symbol layout with the replacement symbols may create a winning
scenario.

Example of response:

Copyright © 2017 | Confidential & Proprietary


-45-
Dwarven Hoard RGS – Client Request API Documentation

{
"pf": [
{
"ft": "TRAIL_PATTERN",
"pt": "REEL_POST_WIN",
"pc": [
],
"levels": [ 1 ]
},
{
"ft": "TRAIL_RAGE",
"pt": "REEL_POST_WIN",
"wa": 0,
"ma": 20
}
],
"cf": [
{
"rs": [
{
"p": [
[
1,
0
]
],
"rs": 16
}
],

Copyright © 2017 | Confidential & Proprietary


-46-
Dwarven Hoard RGS – Client Request API Documentation

"fi": 1,
"pt": "REEL_PRE_WIN",
"ft": "REPLACE"
}
],
"rsc": [
{
"si": 0,
"ar": [],
"sipli": 0,
"sipui": 1,
"reels": [
{
"si": [
3
],
"id": 0
},
{
"si": [
3
],
"id": 1
},
{
"si": [
5
],
"id": 1

Copyright © 2017 | Confidential & Proprietary


-47-
Dwarven Hoard RGS – Client Request API Documentation

}
]
}
],
"ctwco": 0,
"bets": [
{
"wins": [],
"twca": 0,
"twco": 0,
"ts": 1
}
],
"ctwca": 0
}

6.2.4 Start Response (Winning Spin - Cascade Feature)


On a winning spin, the server will respond with a new set of symbols and a list of
wins associated with the spin. New symbols will be included with the response and
will need to replace the winning symbols that are in view. The "wins" array located
within the bet object shall contain all wins that are relevant for the current spin.
Each win shall include all necessary information, including the positions of the
symbols which generated the win. The cascading feature object will contain a list of
symbols to be removed.

{
"pf": [

Copyright © 2017 | Confidential & Proprietary


-48-
Dwarven Hoard RGS – Client Request API Documentation

{
"ft": "TRAIL_PATTERN",
"pt": "REEL_POST_WIN",
"pc": [
],
"levels": [ 1 ]
},
{
"ft": "TRAIL_RAGE",
"pt": "REEL_POST_WIN",
"wa": 10,
"ma": 20
}
],
"cf": [
{
"fi": 2,
"pt": "REEL_POST_WIN",
"ft": "CASCADE",
"cascade": true,
"pr": [
{
"ri": 0,
"si": 0
},
{
"ri": 1,
"si": 0
}

Copyright © 2017 | Confidential & Proprietary


-49-
Dwarven Hoard RGS – Client Request API Documentation

],
"fc": [
{
"fi": 3,
"ft": "MULTIPLIER",
"pt": "REEL_PRE_WIN",
"multi": 1
}
]
}
],
"rsc": [
{
"ar": [
4
],
"si": 0,
"sipli": 0,
"sipui": 1,
"reels": [
{
"si": [
1
],
"id": 0
},
{
"si": [
1

Copyright © 2017 | Confidential & Proprietary


-50-
Dwarven Hoard RGS – Client Request API Documentation

],
"id": 1
}
]
}
],
"ctwco": 0,
"bets": [
{
"wins": [
{
"wi": -1,
"award": {
"fi": -1,
"pt": 0,
"jp": false,
"type": "WINLINE"
},
"type": "REEL_WIN",
"cash": 1,
"coin": 10,
"pos": [
{
"ri": 0,
"si": 0
},
{
"ri": 1,
"si": 0

Copyright © 2017 | Confidential & Proprietary


-51-
Dwarven Hoard RGS – Client Request API Documentation

}
]
}
],
"twca": 1,
"twco": 10,
"ts": 1
}
],
"ctwca": 1
}

6.2.5 Update Request (Winning Spin - Cascade Feature)


While a cascade feature is active the client must send update requests to the server
to trigger the next cascade. The client will need to continue sending update
requests after presenting the cascade until the cascade property, located within the
feature object of the response, is equal to false.

Example where the client must initiate an update.

"cf": [
{
"fi": 2,
"pt": "REEL_POST_WIN",
"ft": "CASCADE",
"cascade": true,
"pr": [

Copyright © 2017 | Confidential & Proprietary


-52-
Dwarven Hoard RGS – Client Request API Documentation

{
"ri": 0,
"si": 0
},
{
"ri": 1,
"si": 0
}
]
}
]

Example where the feature is finished and a complete event must be initiated.

"cf": [
{
"fi": 2,
"pt": "REEL_POST_WIN",
"ft": "CASCADE",
"cascade": false,
"pr": [
{
"ri": 0,
"si": 0
},
{
"ri": 1,
"si": 0

Copyright © 2017 | Confidential & Proprietary


-53-
Dwarven Hoard RGS – Client Request API Documentation

}
]
}
]

In order to receive the next event sequence the client sends update requests, seen
as thus:

{
"type": "update",
"subType": 3,
}

6.2.6 Update Response (Winning Spin - Update Cascade Feature)


Example of response

{
"pf": [
{
"ft": "TRAIL_PATTERN",
"pt": "REEL_POST_WIN",
"pc": [
],
"levels": [ 1 ]
},

Copyright © 2017 | Confidential & Proprietary


-54-
Dwarven Hoard RGS – Client Request API Documentation

{
"ft": "TRAIL_RAGE",
"pt": "REEL_POST_WIN",
"wa": 10,
"ma": 20
}
],
"cf": [
{
"fi": 2,
"pt": "REEL_POST_WIN",
"ft": "CASCADE",
"cascade": true,
"pr": [
{
"ri": 0,
"si": 0
},
{
"ri": 1,
"si": 0
}
],
"fc": [
{
"fi": 3,
"ft": "MULTIPLIER",
"pt": "REEL_PRE_WIN",
"multi": 1

Copyright © 2017 | Confidential & Proprietary


-55-
Dwarven Hoard RGS – Client Request API Documentation

}
]
}
],
"rsc": [
{
"ar": [
4
],
"si": 0,
"sipli": 0,
"sipui": 1,
"reels": [
{
"si": [
1
],
"id": 0
},
{
"si": [
1
],
"id": 1
}
]
},
{
"ar": [],

Copyright © 2017 | Confidential & Proprietary


-56-
Dwarven Hoard RGS – Client Request API Documentation

"si": 0,
"sipli": 0,
"sipui": 1,
"reels": [
{
"si": [
-1
],
"id": 0
},
{
"si": [
-1
],
"id": 1
}
]
}
],
"ctwco": 0,
"bets": [
{
"wins": [
{
"wi": -1,
"award": {
"fi": -1,
"pt": 0,
"jp": false,

Copyright © 2017 | Confidential & Proprietary


-57-
Dwarven Hoard RGS – Client Request API Documentation

"type": "WINLINE"
},
"type": "REEL_WIN",
"cash": 1,
"coin": 10,
"pos": [
{
"ri": 0,
"si": 0
},
{
"ri": 1,
"si": 0
}
]
}
],
"twca": 1,
"twco": 10,
"ts": 1
}
],
"ctwca": 1
}

Copyright © 2017 | Confidential & Proprietary


-58-
Dwarven Hoard RGS – Client Request API Documentation

6.2.7 Update Request (Winning Spin - Cascade Feature Complete)


Once the cascade property is equal to false, the client must send an update event
with a “subType” of 4 for the server to acknowledge that the feature has completed.

Example of request

{
"type":"update",
"subType":4
}

The client will get updated with a complete feature response containing an updated
balance; as seen from the full model breakdown above.

{
"type":"end"
}

Copyright © 2017 | Confidential & Proprietary


-59-
Dwarven Hoard RGS – Client Request API Documentation

6.2.8 Update Response (Winning Spin - Free Spins Rage Pot)


When there are no available cascades from a spin, the server will perform a check
to determine whether a feature was activated. In this case of this game, the feature
that can be activated is a Free Spins feature linked via the "Rage Pot" ( please
consult with the game design document for more information on the rage pot ).
Activated features are located within the feature children property "fc" and the free
spins feature can be differentiated by the feature type "INSTANT". It is important to
note that the cascading feature must be completed or lost before any feature children
can be activated.

{
"pf": [
{
"ft": "TRAIL_PATTERN",
"pt": "REEL_POST_WIN",
"pc": [
],
"levels": [ 1 ]
},
{
"ft": "TRAIL_RAGE",
"pt": "REEL_POST_WIN",
"wa": 10,
"ma": 20
}
],

Copyright © 2017 | Confidential & Proprietary


-60-
Dwarven Hoard RGS – Client Request API Documentation

"pc": [
{
"fi": 2,
"pt": "REEL_POST_WIN",
"ft": "CASCADE",
"cascade": false,
"pr": [],
"fc": [
{
"fi": 3,
"ft": "MULTIPLIER",
"pt": "REEL_PRE_WIN",
"multi": 2
},
{
"P": {
"amount": 8,
"fi": 5,
"id": 0,
"type": "FREESPIN"
},
"fi": 4,
"pt": "REEL_POST_WIN",
"ft": "INSTANT"
}
]
},
{
"fi": 5,

Copyright © 2017 | Confidential & Proprietary


-61-
Dwarven Hoard RGS – Client Request API Documentation

"pt": "OFF_REEL",
"fsr": 8,
"fsa": 8,
"ft": "FREESPIN",
"fc": []
}
],
"rsc": [
{
"ar": [],
"si": 0,
"sipli": 0,
"sipui": 1,
"reels": [
{
"si": [
1
],
"id": 0
},
{
"si": [
1
],
"id": 1
}
]
},
{

Copyright © 2017 | Confidential & Proprietary


-62-
Dwarven Hoard RGS – Client Request API Documentation

"ar": [],
"si": 0,
"sipli": 0,
"sipui": 1,
"reels": [
{
"si": [
-1
],
"id": 0
},
{
"si": [
-1
],
"id": 1
}
]
},
{
"ar": [],
"si": 1,
"sipli": 0,
"sipui": 1,
"reels": [
{
"si": [
2
],

Copyright © 2017 | Confidential & Proprietary


-63-
Dwarven Hoard RGS – Client Request API Documentation

"id": 0
},
{
"si": [
3
],
"id": 1
}
]
}
],
"ctwco": 0,
"bets": [
{
"wins": [
{
"wi": -1,
"award": {
"fi": -1,
"pt": 0,
"jp": false,
"type": "WINLINE"
},
"type": "REEL_WIN",
"cash": 1,
"coin": 10,
"pos": [
{
"ri": 0,

Copyright © 2017 | Confidential & Proprietary


-64-
Dwarven Hoard RGS – Client Request API Documentation

"si": 0
},
{
"ri": 1,
"si": 0
}
]
}
],
"twca": 1,
"twco": 10,
"ts": 1
}
],
"ctwca": 1
}

Copyright © 2017 | Confidential & Proprietary


-65-
Dwarven Hoard RGS – Client Request API Documentation

7 Freespins

7.1.1 Update Request


Similar to the above strategy for the cascading feature, the client must send update
requests to the server until the feature is wholly finished/consumed.

Request Example

{
"type": "update",
"subType": 3,
}

7.1.2 Update Response


Each time a request is made the server will respond with all the required information
for the client to continue processing the freespins. The client can detect when the
feature has completed by checking whether the free spins remaining (“fsr”)
property is equal to zero.

Response Example

{
"pf": [],
"cf": [
{
"fi": 5,
"pt": "OFF_REEL",
"fsr": 7,
"fsa": 8,

Copyright © 2017 | Confidential & Proprietary


-66-
Dwarven Hoard RGS – Client Request API Documentation

"ft": "FREESPIN",
"fc": [
{
"fi": 2,
"pt": "REEL_POST_WIN",
"ft": "CASCADE",
"cascade": false,
"pr": [
{
"ri": 0,
"si": 0
},
{
"ri": 1,
"si": 0
}
],
"fc": [
{
"fi": 11,
"ft": "MULTIPLIER",
"pt": "REEL_PRE_WIN",
"multi": 1
}
]
}
]
}
],

Copyright © 2017 | Confidential & Proprietary


-67-
Dwarven Hoard RGS – Client Request API Documentation

"rsc": [
{
"ar": [],
"si": 4,
"sipli": 0,
"sipui": 1,
"reels": [
{
"si": [
5
],
"id": 0
},
{
"si": [
5
],
"id": 1
},
{
"si": [
5
],
"id": 2
}
]
},
{
"ar": [],

Copyright © 2017 | Confidential & Proprietary


-68-
Dwarven Hoard RGS – Client Request API Documentation

"si": 5,
"sipli": 0,
"sipui": 1,
"reels": [
{
"si": [
-1
],
"id": 0
},
{
"si": [
-1
],
"id": 1
},
{
"si": [
5
],
"id": 2
}
]
}
],
"ctwco": 20,
"bets": [
{
"wins": [

Copyright © 2017 | Confidential & Proprietary


-69-
Dwarven Hoard RGS – Client Request API Documentation

{
"wi": 1,
"award": {
"fi": 11,
"pt": 0,
"jp": false,
"type": "WINLINE"
},
"type": "REEL_WIN",
"cash": 2,
"coin": 20,
"pos": [
{
"ri": 0,
"si": 0
},
{
"ri": 1,
"si": 0
},
{
"ri": 2,
"si": 0
}
]
}
],
"twca": 2,
"twco": 20,

Copyright © 2017 | Confidential & Proprietary


-70-
Dwarven Hoard RGS – Client Request API Documentation

"ts": 1
}
],
"ctwca": 2
}

7.1.3 Terminate Request & Response


When the server has responded with zero assigned to the free spins remaining
property, the client shall send an update request with a subType of 4.

Example of request

{
"type":"update",
"subType":4
}

Example of response

{
"pf": [],
"cf": [
{
"fi": 5,
"pt": "OFF_REEL",
"fsr": 0,
"fsa": 8,

Copyright © 2017 | Confidential & Proprietary


-71-
Dwarven Hoard RGS – Client Request API Documentation

"ft": "FREESPIN",
"fc": []
}
],
"rsc": [
{
"ar": [],
"si": 6,
"sipli": 0,
"sipui": 1,
"reels": [
{
"si": [
5
],
"id": 0
},
{
"si": [
5
],
"id": 1
},
{
"si": [
5
],
"id": 2
}

Copyright © 2017 | Confidential & Proprietary


-72-
Dwarven Hoard RGS – Client Request API Documentation

]
}
],
"ctwco": 0,
"bets": [
{
"wins": [],
"twca": 0,
"twco": 0,
"ts": 1
}
],
"ctwca": 0
}

7.1.4 Pattern Trail Initialization - Init Response

{
"ft": "TRAIL_PATTERN",
"pt": "REEL_POST_WIN",
"p": [
{
"ri": 0,
"si": 0
},
{
"ri": 3,
"si": 0

Copyright © 2017 | Confidential & Proprietary


-73-
Dwarven Hoard RGS – Client Request API Documentation

}
],
"pc": [],
"levels": [ 1 ]
}

The pattern trail object initially contains the points of the trail. These points should
be stored by the client in preparation for updates to the trail in the start and update
response.

7.1.5 Pattern Trail Point Completion - Start & Update Response


After each win has occurred, the pattern trail feature gets updated accordingly with
the newly completed points. The indices stored within the points completed (“pc”)
property refer to the elements with the points array that was included in the Init
Response.

Updated Trail Example

{
"wi": 1,
"award": {
"fi": 11,
"pt": 0,
"jp": false,
"type": "WINLINE"
},
"type": "REEL_WIN",
"cash": 2,
"coin": 20,

Copyright © 2017 | Confidential & Proprietary


-74-
Dwarven Hoard RGS – Client Request API Documentation

"pos": [
{
"ri": 0,
"si": 0
},
{
"ri": 1,
"si": 0
},
{
"ri": 2,
"si": 0
}
]
}
{
"ft": "TRAIL_PATTERN",
"pt": "REEL_POST_WIN",
"pc": [
0
],
"levels": [ 1 ]
}

Copyright © 2017 | Confidential & Proprietary


-75-
Dwarven Hoard RGS – Client Request API Documentation

8 Resume Scenarios
In the event of a resume scenario the RGS will set the “res” property of the game object to
true as part of the initResponse. The client should recognize this occurrence and interrogate
the persistent and consumable feature arrays to present the resumed feature state to the
user.

Copyright © 2017 | Confidential & Proprietary


-76-
Dwarven Hoard RGS – Client Request API Documentation

9 Promotions

{
"id": "daw82j3ghd83l",
"type": "FREE_GAME",
"name": "My Test Promotion",
"ga": 10,
"gc": 0,
"sv": 0.1,
"sl": 1,
"sd": true,
"wa": 0,
"cons": 0,
"status": "ACTIVE"
}

Promotion objects contain details of the state of promotions that are applicable to
the user. If a promotion object is present (that wasn't present before) in either the
Init Response or End Response event and the status property is set to “ACTIVE”,
then the user has been deemed eligible and therefore activated the promotion. The
client would typically convey the promotion activation to the user and display any
progress bars or win meters as part of the promotion presentation. Alternatively, if
a promotion object is present and the status property is set to “EXPIRED”, then the
promotion has expired and can no longer be consumed by the user. This should
also be conveyed to the user appropriately within the client.

Upon initiating a bet and specifying to consume a given promotion, the Start
Response and subsequent End Response shall contain updated game count, win
amount and consumed properties which can be used to visually update any

Copyright © 2017 | Confidential & Proprietary


-77-
Dwarven Hoard RGS – Client Request API Documentation

progress bars or win meters on-screen. If the status property has changed to
"COMPLETE" on the End Response then the promotion has been fully consumed.
At this point the client typically would present a summary panel to present the total
winnings from the promotion to the user.

Copyright © 2017 | Confidential & Proprietary


-78-
Dwarven Hoard RGS – Client Request API Documentation

10 Error and Fail Handling

{
"mes": "We apologise but a technical fault has occurred with the
game. This error cannot be resolved at this time. Please try again.",
"sev": 0
}

The error property (error) is used by the RGS to convey an error condition to the
client. In the interest of clarity, error conditions are restricted to occurrences that
are unexpected by RGS e.g. technical malfunctions. The severity code allows for
non-fatal errors to be conveyed, but currently the only type of error that will be
transmitted by the RGS will match the sample above. In response, the client should
display an error message and prevent the user from continuing the gameplay
session.

Fail conditions are dictated by the game logic. Therefore, as with the game view,
fail objects are abstract to the RGS. The game logic is free to determine the structure
and contents of the fail object - the RGS merely recognizes the existence of a fail
object in the response from the game logic and returns the fail object in the JSON
response to the client. An example of a type of fail condition that is typically
implemented by the game logic would be the condition of insufficient funds. By
recognizing a fail object with a distinct id or code the client can handle this type of
scenario gracefully.

Copyright © 2017 | Confidential & Proprietary


-79-
Dwarven Hoard RGS – Client Request API Documentation

11 Heartbeat
In additional to the various request types that are accepted by the RGS, the client
is also required to periodically transmit a heartbeat message to prevent the RGS
from inferring a timeout scenario. The heartbeat message consists of a single
character 'h' and should be sent on an interval of around 10 seconds. This interval
can be reset when a request is sent as the RGS considers the requests to be a form
of heartbeat.

Copyright © 2017 | Confidential & Proprietary


-80-
Dwarven Hoard RGS – Client Request API Documentation

12 Revision history

Version Author Comment

1.0 Richard Kilvington Initial Document creation.


Fields and JSON explained.
1.1 Tom Orchard Document Formatted.
Explanations elaborated.
1.2 Thomas Edwards Scenarios added.
Formatting of JSON snippets changed to
use googles add-in Code Blocks so we
all have a tool we can use to format the
snippets.
Added Update History, Team and Title
page.
Team Members added with contact info.
1.3 Tom Orchard Minor corrections to request structure.
Added ‘Resume Scenarios’, ‘Promotions’,
‘Error and Fail Handling’ and ‘Heartbeat’
sections.
Added Game and Reel Award element
definitions.
Revised numerous descriptions within
the Scenario Samples section.
Updated TOC.

Copyright © 2017 | Confidential & Proprietary


-81-

You might also like