iHubGamesiHubGamesdocs

Referência da API

Consultar saldo por moeda

Mesma informação de Consultar saldo, separada por moeda — uma entrada por moeda em que a conta tem saldo ou bloqueio. Use esta quando a conta opera fora do BRL, ou quando já operou em mais de uma moeda (por exemplo, depois de uma liquidação de câmbio). Todos os valores em centavos da própria moeda.

GET/accounts/balances
Quando a rota antiga não serve
balance GET /accounts/balance devolve um bloco só, sem dizer a moeda. Numa conta que tem saldo em mais de uma, ela retorna o de MAIOR valor — um número real, mas de uma moeda que a resposta não identifica. A rota antiga segue funcionando e não muda; para conta multi-moeda, use esta.

Autenticação

HTTP Basic Auth. Envie sua secret key no header:

Authorization: Basic {base64(secret:SUA_SECRET_KEY)}

Respostas

200

Saldos por moeda. A ordem é alfabética pelo código da moeda; conta em uma moeda só devolve uma entrada.

JSON
{
  "result": [
    {
      "currency": "ARS",
      "balance": 4500000,
      "balanceCreditCard": 0,
      "pendingBalance": 0,
      "garanteeBalance": 0,
      "precautionaryBlock": 0
    },
    {
      "currency": "BRL",
      "balance": 150000,
      "balanceCreditCard": 50000,
      "pendingBalance": 20000,
      "garanteeBalance": 30000,
      "precautionaryBlock": 10000
    }
  ]
}
401

API key ausente, malformada ou revogada.

JSON
{
  "statusCode": 401,
  "message": "Unauthorized"
}
403

API key válida, mas sem a permissão viewBalance.

JSON
{
  "statusCode": 403,
  "message": "You do not have permission to access this resource"
}

Exemplos

cURL
curl -X GET "https://api.ihubplay.com/accounts/balances" \
  -H "Authorization: Basic $(echo -n 'secret:SUA_SECRET_KEY' | base64)"
JavaScript
const token = Buffer.from("secret:" + process.env.IHUBGAMES_SECRET_KEY).toString("base64");

const res = await fetch("https://api.ihubplay.com/accounts/balances", {
  headers: { Authorization: `Basic ${token}` },
});

const { result } = await res.json();

for (const saldo of result) {
  // Centavos da PROPRIA moeda — nao converta com uma taxa fixa.
  console.log(saldo.currency, saldo.balance / 100);
}

// Saldo de uma moeda especifica:
const ars = result.find((s) => s.currency === "ARS");
console.log("Disponivel em ARS:", ars ? ars.balance / 100 : 0);
Python
import base64, os, requests

token = base64.b64encode(
    f"secret:{os.environ['IHUBGAMES_SECRET_KEY']}".encode()
).decode()

res = requests.get(
    "https://api.ihubplay.com/accounts/balances",
    headers={"Authorization": f"Basic {token}"},
)
res.raise_for_status()

for saldo in res.json()["result"]:
    # Centavos da propria moeda.
    print(saldo["currency"], saldo["balance"] / 100)