PHP SDK (no external deps) for igamewin.com REST API v1

This package's canonical repository appears to be gone and the package has been frozen as a result. Email us for help if needed.

Installs: 1

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/igamingwin/sdk

v0.1.0 2025-08-27 11:28 UTC

This package is not auto-updated.

Last update: 2025-10-23 10:44:35 UTC


README

SDK pequeno e limpo para integrar com a API https://igamewin.com/api/v1 usando apenas PHP e cURL.

Requisitos

  • PHP 7.4+ (ou superior)
  • Extensão cURL habilitada

Instalação e Autoload

  1. Baixe/clonE este repositório no seu projeto.
  2. Gere o autoload PSR-4 via Composer:
composer dump-autoload -o

Configuração

  • URL base da API: https://igamewin.com/api/v1
  • Você precisa do agent_code e agent_token fornecidos pela plataforma.

Início rápido

<?php
require __DIR__ . '/vendor/autoload.php';

use IgamingWin\Api\Client;

$client = new Client(
    'https://igamewin.com/api/v1',
    'SEU_AGENT_CODE',
    'SEU_AGENT_TOKEN'
);

// Criar usuário demo
$resp = $client->createUser('usuario_teste', true);
var_dump($resp);

// Depositar 10000 unidades
$resp = $client->deposit('usuario_teste', 10000);
var_dump($resp);

// Abrir jogo
$resp = $client->launchGame('usuario_teste', 'PRAGMATIC', 'vs20doghouse', 'en');
var_dump($resp);

Cobertura da API (métodos do cliente)

  • Criar usuário: createUser(string $userCode, bool $isDemo = false)
  • Depositar: deposit(string $userCode, int $amount)
  • Sacar: withdraw(string $userCode, int $amount)
  • Resetar saldo: resetBalance(string $userCode)
  • Definir demo: setDemo(string $userCode)
  • Iniciar jogo: launchGame(string $userCode, string $providerCode, ?string $gameCode, string $lang = 'en')
  • Listar provedores: getProviderList()
  • Listar jogos: getGameList(string $providerCode)
  • Controlar RTP (1 usuário): controlRtp(string $userCode, int $rtp)
  • Controlar RTP (em lote): controlRtpBulk(array $userCodes, int $rtp)

Exemplos por funcionalidade

Todos os métodos retornam arrays PHP (decodificação JSON). Em caso de falha na API, normalmente status = 0 e msg/detail informam o motivo.

  1. Criar usuário
$client->createUser('usuario123');           // comum
$client->createUser('usuario_demo', true);    // demo
  1. Depositar e Sacar
$client->deposit('usuario123', 10000);   // deposita 10000
$client->withdraw('usuario123', 5000);   // saca 5000
  1. Resetar saldo e Definir Demo
$client->resetBalance('usuario123');
$client->setDemo('usuario123');
  1. Iniciar jogo / Lobby
// Jogo específico
$client->launchGame('usuario123', 'PRAGMATIC', 'vs20doghouse', 'en');

// Lobby do EVOLUTION (sem game_code)
$client->launchGame('usuario123', 'EVOLUTION', null, 'en');
  1. Listar provedores e jogos
$client->getProviderList();
$client->getGameList('PRAGMATIC');
  1. Controlar RTP
// Usuário único
$client->controlRtp('usuario123', 92);

// Em lote
$client->controlRtpBulk(['usuario1', 'usuario2'], 92);

Tratamento de erros

  • Erros de rede/HTTP/decodificação lançam RuntimeException.
  • Respostas da API são arrays; valide status e msg/detail para tratar erros de negócio.

Boas práticas

  • Guarde agent_token em local seguro (variáveis de ambiente).
  • Trate respostas com status = 0 antes de prosseguir no seu fluxo.
  • amount deve seguir a unidade esperada pela API (ex.: centavos).

Executar o exemplo

Um script de exemplo está em examples/quickstart.php.

export IGW_AGENT_CODE="seu_code" && export IGW_AGENT_TOKEN="seu_token"
php examples/quickstart.php

No Windows PowerShell:

$env:IGW_AGENT_CODE="seu_code"; $env:IGW_AGENT_TOKEN="seu_token"; php examples/quickstart.php

Roadmap

  • Adicionar método “Get Balance of Agent and User” (quando o formato for confirmado).