Create a Wuzzlo game session

View as Markdown
**Direction:** Operator → Wuzzlo Creates a player session and returns a playable Wuzzlo game or lobby URL. ### Processing order 1. **Build the JSON payload** with `operatorId`, `userId`, `username`, and `gameId`. 2. **Sign the exact UTF-8 JSON bytes** with the operator private key. 3. **Send the Base64 signature** in the `Signature` header. 4. **Store the returned URL and expiry** for the player session. ### Response contract | Scenario | HTTP | Body status | Result | | --- | ---: | ---: | --- | | Game or lobby launch succeeds | `200` | `0` | Returns `gameUrl` and `expiresAtUtc` | | Operator is invalid | `200` | `3` | No game URL | | Game is invalid | `200` | `4` | No game URL | ### Launch notes - Use `gameId: "9000"` to open the lobby. - `X-Request-Id` is optional; Wuzzlo generates one when omitted. > **Security:** Never send the operator private key. Only send the signature generated from the exact request body.

Authentication

Signaturestring

Operator-to-Wuzzlo: Base64 RSA-SHA256 PKCS#1 v1.5 signature of the exact UTF-8 JSON body, created with the operator private key.

Headers

X-Request-IdstringOptional
Optional request correlation id for operator login. If omitted, GameService generates one internally.

Request

This endpoint expects an object.
operatorIdstringRequired<=64 characters
userIdstringRequired<=100 characters
usernamestringRequired<=200 characters
gameIdstringRequired<=50 characters
currencystringOptional<=10 characters
clientIpstringOptional

Response

Business success or business error encoded in the response body
requestIdstring
statusinteger
errorDescriptionstring
gameUrlstringOptional
expiresAtUtcdatetime or nullOptional