GameProvider integration to BOG

Communication between servers go through our secure HTTPS RESTful service using JSON with POST method. The service must be implemented by the external system according to specification.


Method are split into two categories depending on which party is making the call:

  • Seamless methods that your game server issues to our server (you call example.com/api/seamless/s2s/gh). The seamless request should be a „GET“ url request containing parameters in query string.
  1. Get player balance (balance)
  2. Debit player account (debit)
  3. Credit player account (credit)
  4. Rollback transaction (rollback)
  1. Provide game url (demo / real) (getGame - mandatory)
  2. Award freerounds (addFreeRounds - optional)
  3. Provide reports (getGameHistory - optional)

Idempotency

To get a robust connection between systems when the calling system does not get a proper reply to a request, it may need to redo the operation in case the first time did fail, or cancel it in case it did actually happen.

Such actions are supported by an idempotency scheme that makes repeating an operation into a no-op. The transactions are identified by a so called transaction_id. Thus if there is a failure, the calling service can safely repeat the request until it receives an OK reply, without risking double debits or credits.

An advantage of the “idempotency” approach to robustness in the API is that it is resilient also to messages that arrive very late. E.g. if a protocol instead asked “what happened to transaction N” and acted on that result it could well happen that the reply about what happened could be sent before transaction N arrives to the operator system. That way the game server could e.g. deduce that there is no need to refund money, but then the money is actually reserved for the failed bet.

Setup

  • we inform you with callback URL we will use and configure things (system) on our end. Your seamless requests will go to that url.
  • you need to provide us api url and at least two valid game IDs so we can import them to our DB
  • you generate and provide us callerId and callerPassword and salt. callerId and callerPassword should be sent on all seamless requests, salt is used to hash requests.
  • we provide you with testing players on our platform once connected