iHubGamesiHubGamesdocs

Referência da API

Liquidações de câmbio

Lista as liquidações de câmbio da conta — a cotação com que um saldo em moeda estrangeira (ex.: MXN) foi convertido para BRL. Cada item traz as três pontas da cotação: a de referência (quotedRate), o spreadPercent aplicado e a cotação efetivamente aplicada (rate). Os valores de origem e destino vêm em centavos da respectiva moeda. Ordenado do mais recente para o mais antigo.

GET/accounts/conversions
A cotação aplicada é o `rate`
rate rate = quotedRate × (1 − spreadPercent/100). É o número que reproduz os valores convertidos — quotedRate é a referência do câmbio antes do spread, exposta por transparência. A liquidação também dispara o webhook balance.converted no momento em que ocorre; use o webhook para capturar a cotação em tempo real e este endpoint para consultar o histórico.

Autenticação

HTTP Basic Auth. Envie sua secret key no header:

Authorization: Basic {base64(secret:SUA_SECRET_KEY)}

Parâmetros

limitnumberopcional

Quantas liquidações retornar (padrão 50, máximo 200). As mais recentes primeiro.

Exemplo: 50

Respostas

200

Liquidações de câmbio da conta. Conta que nunca teve liquidação devolve result vazio.

JSON
{
  "result": [
    {
      "settlementId": "1790912451003000001234",
      "from": { "currency": "MXN", "amount": 100000 },
      "to": { "currency": "BRL", "amount": 28000 },
      "quotedRate": 0.284,
      "spreadPercent": 1.5,
      "rate": 0.2797,
      "convertedAt": "2026-10-02T12:00:00.000Z"
    }
  ]
}
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/conversions" \
  -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/conversions", {
  headers: { Authorization: `Basic ${token}` },
});

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

for (const liq of result) {
  // 'rate' e a cotacao aplicada; 'amount' em centavos da propria moeda.
  console.log(
    liq.from.currency, liq.from.amount / 100,
    "->", liq.to.currency, liq.to.amount / 100,
    "@", liq.rate,
  );
}
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/conversions",
    headers={"Authorization": f"Basic {token}"},
)
res.raise_for_status()

for liq in res.json()["result"]:
    # 'rate' = cotacao aplicada; valores em centavos da propria moeda.
    print(liq["from"]["currency"], liq["from"]["amount"] / 100,
          "->", liq["to"]["currency"], liq["to"]["amount"] / 100,
          "@", liq["rate"])