BetSolutions Player API

Player information and game data retrieval

OpenAPI Specification

betsolutions-player-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: BetSolutions Wallet Player API
  description: Two-mode wallet integration for casino operators. Transfer mode provides deposit, withdraw, and balance operations managed by BetSolutions. Seamless mode enables operator-side wallet management where BetSolutions calls the operator's server for bet, win, cancel, and balance operations.
  version: 1.0.0
  contact:
    url: https://betsolutions.com
  x-generated-from: documentation
servers:
- url: https://api.betsolutions.com/v1
  description: BetSolutions API v1
- url: https://api-staging.betsolutions.com/v1
  description: BetSolutions API Staging
security:
- sha256Auth: []
tags:
- name: Player
  description: Player information and game data retrieval
paths:
  /game/list:
    post:
      operationId: getGameList
      summary: BetSolutions Get Game List
      description: Retrieve the list of available games with product metadata including game IDs, product IDs, names, launch URLs, RTP, and rake percent.
      tags:
      - Player
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GameListRequest'
            examples:
              GetGameListRequestExample:
                summary: Default getGameList request
                x-microcks-default: true
                value:
                  merchantId: merchant-001
                  hash: d4e5f6g7...
      responses:
        '200':
          description: Successful game list retrieval.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GameListResponse'
              examples:
                GetGameList200Example:
                  summary: Default getGameList 200 response
                  x-microcks-default: true
                  value:
                    success: true
                    products:
                    - gameId: game-001
                      productId: 2
                      name: Book of Ra
                      hasFreePay: true
                      launchUrl: https://games.betsolutions.com/slots/book-of-ra
                      rtp: 96.0
                      rakePercent: 3.5
        '401':
          description: Invalid merchant credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /player/info:
    post:
      operationId: getPlayerInfo
      summary: BetSolutions Get Player Info
      description: Returns player details including UserId, UserName, FirstName, LastName, Email, CountryCode, and Currency.
      tags:
      - Player
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlayerInfoRequest'
            examples:
              GetPlayerInfoRequestExample:
                summary: Default getPlayerInfo request
                x-microcks-default: true
                value:
                  merchantId: merchant-001
                  playerId: player-500123
                  hash: e5f6g7h8...
      responses:
        '200':
          description: Successful player info retrieval.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlayerInfoResponse'
              examples:
                GetPlayerInfo200Example:
                  summary: Default getPlayerInfo 200 response
                  x-microcks-default: true
                  value:
                    success: true
                    userId: player-500123
                    userName: jsmith
                    firstName: Jane
                    lastName: Smith
                    email: jsmith@example.com
                    countryCode: US
                    currency: USD
        '404':
          description: Player not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    GameListResponse:
      title: GameListResponse
      type: object
      description: Response containing available games and product metadata.
      properties:
        success:
          type: boolean
          description: Whether the request succeeded.
          example: true
        products:
          type: array
          description: Array of available game products.
          items:
            $ref: '#/components/schemas/Game'
    GameListRequest:
      title: GameListRequest
      type: object
      description: Request body for retrieving the available game list.
      required:
      - merchantId
      - hash
      properties:
        merchantId:
          type: string
          description: The merchant's unique identifier.
          example: merchant-001
        hash:
          type: string
          description: SHA-256 hash for request authentication.
          example: d4e5f6g7...
    ErrorResponse:
      title: ErrorResponse
      type: object
      description: Error response returned when a request fails.
      properties:
        success:
          type: boolean
          description: Always false for error responses.
          example: false
        errorCode:
          type: integer
          description: Numeric error code.
          example: 400
        errorMessage:
          type: string
          description: Human-readable error description.
          example: Invalid hash signature.
    PlayerInfoRequest:
      title: PlayerInfoRequest
      type: object
      description: Request body for retrieving player information.
      required:
      - merchantId
      - playerId
      - hash
      properties:
        merchantId:
          type: string
          description: The merchant's unique identifier.
          example: merchant-001
        playerId:
          type: string
          description: The player's unique identifier.
          example: player-500123
        hash:
          type: string
          description: SHA-256 hash for request authentication.
          example: e5f6g7h8...
    Game:
      title: Game
      type: object
      description: A BetSolutions game with product metadata.
      properties:
        gameId:
          type: string
          description: Unique game identifier.
          example: game-001
        productId:
          type: integer
          description: Product category ID (1=Table Games, 2=Slots, 3=Provably Fair).
          example: 2
        name:
          type: string
          description: Game display name.
          example: Book of Ra
        hasFreePay:
          type: boolean
          description: Whether the game supports freespin/freeplay campaigns.
          example: true
        launchUrl:
          type: string
          description: URL to launch the game.
          example: https://games.betsolutions.com/slots/book-of-ra
        rtp:
          type: number
          format: double
          description: Return-to-player percentage.
          example: 96.0
        rakePercent:
          type: number
          format: double
          description: Rake percentage for the game.
          example: 3.5
    PlayerInfoResponse:
      title: PlayerInfoResponse
      type: object
      description: Player profile and account information.
      properties:
        success:
          type: boolean
          description: Whether the request succeeded.
          example: true
        userId:
          type: string
          description: Unique player user ID.
          example: player-500123
        userName:
          type: string
          description: Player's username.
          example: jsmith
        firstName:
          type: string
          description: Player's first name.
          example: Jane
        lastName:
          type: string
          description: Player's last name.
          example: Smith
        email:
          type: string
          format: email
          description: Player's email address.
          example: jsmith@example.com
        countryCode:
          type: string
          description: ISO 3166-1 alpha-2 country code.
          example: US
        currency:
          type: string
          description: ISO 4217 currency code for the player's account.
          example: USD
  securitySchemes:
    sha256Auth:
      type: apiKey
      in: query
      name: hash
      description: SHA-256 hash of concatenated request parameters using pipe (|) separator and merchant secret key for request signing.