Skip to content

(Operator implements, optional) Receive a game event

POST
/logEvent

Informs the operator about events that happen during play — big wins, free spins won, bonus level entered and similar. An event is always bound to a player and optionally to a gameround. Can be switched on and off in the hizi.io backoffice.

Storing this data is the operator's responsibility; exposing it to the operator helpdesk is recommended, as it may carry information about big wins or big stakes. See Appendix A for the event catalogue.

Fields to sign (in order): secret, X-H-AUTH-ID, X-H-TIMESTAMP, playerId, gameround (if present in the payload).

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",
  
"gameRound": "123e4567-e89b-12d3-a456-426655440000",
  
"eventType": "BONUSROUND",
  
"eventData": {
  
  
"additionalProperties": "string"
  
},
  
"reason": "string"
}

Responses

Success. The documented sample response is an empty JSON object; an errorCode object may be present but is ignored on a 200 unless X-H-ERROR-ID is also set.

application/json
JSON
{
  
"errorCode": {
  
  
"id": 1,
  
  
"msg": "player id unknown",
  
  
"clientmsg": "You reached your daily betting limit!"
  
},
  
"additionalProperties": "string"
}

Samples

Powered by VitePress OpenAPI