Appearance
Register (or update) a player in the hizi.io database
POST
/registerPlayer
Optional — an unknown playerId in a getGameURL call triggers this implicitly. Idempotent: repeated calls update the information linked to the player account. No personal data is linked, only the operator-side player ID; submitting country, gender and birthDate is recommended because free-play templates can target them.
If free-play templates are associated with any of the submitted playerdetails, they are granted when a new record is created (isNew = true). Stored information can be read back with getPlayerDetails.
Fields to sign (in order): secret, X-H-AUTH-ID, X-H-TIMESTAMP, playerId.
Authorizations
hiziAuthId
Operator ID. Sent on every request in both directions, and part of every signature.
Type
API Key (header: X-H-AUTH-ID)
hiziAuthSignature
Signature of the request, sent on every request in both directions.
OpenAPI cannot express an HMAC-over-computed-string scheme natively, so this is modelled as an apiKey header. The value is not a static key: it is the base64-encoded SHA-256 HMAC digest of a defined, ordered set of request fields joined with a hash character (#).
The first three fields are always the shared secret, the X-H-AUTH-ID header and the X-H-TIMESTAMP header; the remaining fields differ per operation and are listed in each operation's description under "Fields to sign". For doTransactions the per- transaction hashes (and non-zero amounts) are appended in exactly the order the transactions appear in the payload.
The secret is retrieved by logging in to the hizi.io backoffice, which also provides sample implementations. Including the timestamp in the signature is what makes it safe to share the secret without ever sending it.
Type
API Key (header: X-H-AUTH-SIG)
hiziTimestamp
ISO 8601 timestamp of the request (UTC recommended, e.g. 2020-01-21T14:48:04Z). Sent on every request in both directions and always included in the signature.
Type
API Key (header: X-H-TIMESTAMP)
Request Body
application/json
JSON "playerId": "string", "playerdetails": { "displayName": "TheBoss", "country": "GB", "affiliate": "string", "promotionCode": "string", "gender": "string", "birthDate": "1978-05-12", "isTestPlayer": false, "additionalProperties": "string" }
{
}
Responses
Player was created or updated.
application/json
JSON "isNew": true, "internalPlayerId": "string", "errorCode": { "id": 1, "msg": "player id unknown", "clientmsg": "You reached your daily betting limit!" }
{
}