Message Protocol
Kalamba SDK, Kalamba SDK Wrapper and the wrapper plugins communicate exclusively through window.postMessage. Game developers normally never touch raw messages — KalambaSdk methods (configure, openGame, play, send, on) wrap all of it. This page documents the wire contract for wrapper and plugin authors. See Building a Wrapper and Plugins.
Typed Communication
By default, extra data exchanged between the Game Client and the RGS is untyped (unknown). You can provide custom codecs to get fully typed sdk.openGame() and sdk.play() calls — both the extra request payload and the response data will be inferred from your codec definitions.
Error Handling
By default Kalamba SDK Wrapper handles RGS errors and triggers error popup with proper error message. If you want to handle errors manually, you can send showErrors 'ERRORCODE1', 'ERRORCODE2']. In that case wrapper will not trigger error popup for ERRORCODE1 and ERRORCODE2 and you must do it [manually if you want to show error popup.
Free Rounds
Free rounds are bonus rounds funded by the operator. They are managed entirely by the Kalamba SDK Wrapper — the wrapper detects them in RGS responses, restricts the bet, injects the required payload into play requests and informs the Game Client about lifecycle changes. The Game Client does not talk to the RGS about free rounds directly.