Obter taxa de câmbio
POST
/api/v1/bank/wallet/fx/rate/Bearer TokenCabeçalhos da requisição
| Cabeçalho | Valor | Obrigatório |
|---|---|---|
Authorization | Bearer {A55_ACCESS_TOKEN} | Sim |
Content-Type | application/json | Sim |
Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
from_currency | string | Sim | Código ISO 4217 da moeda de origem |
to_currency | string | Sim | Código ISO 4217 da moeda de destino |
amount | number | Não | Valor a converter (padrão 1.00) |
Moedas suportadas
| Código | Moeda |
|---|---|
USD | Dólar americano |
BRL | Real brasileiro |
EUR | Euro |
MXN | Peso mexicano |
ARS | Peso argentino |
COP | Peso colombiano |
CLP | Peso chileno |
PEN | Sol peruano |
56 pares de conversão estão disponíveis em todas as combinações.
Campos da resposta
| Campo | Tipo | Descrição |
|---|---|---|
from_currency | string | Código da moeda de origem |
to_currency | string | Código da moeda de destino |
rate | number | Taxa de câmbio (origem → destino) |
inverse_rate | number | Taxa de câmbio inversa (destino → origem) |
amount | number | Valor de entrada |
converted_amount | number | Valor convertido na taxa atual |
rate_timestamp | string | Timestamp ISO 8601 de quando a taxa foi cotada |
valid_until | string | Timestamp ISO 8601 — expiração da taxa |
Códigos de status HTTP
| Status | Descrição |
|---|---|
| 200 | Taxa retornada com sucesso |
| 400 | Código de moeda inválido ou origem/destino iguais |
| 401 | Token Bearer inválido ou expirado |
| 403 | FX não habilitado para esta carteira |
| 422 | Par de moedas não suportado |
| 429 | Limite de requisições excedido |
| 500 | Erro interno do servidor — tente novamente com backoff exponencial |
Exemplos de código
- cURL
- Python
- Node.js
curl -s -X POST https://core-manager.a55.tech/api/v1/bank/wallet/fx/rate/ \
-H "Authorization: Bearer $A55_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"from_currency": "USD",
"to_currency": "BRL",
"amount": 1000.00
}'
import requests
import os
token = os.environ["A55_ACCESS_TOKEN"]
base = os.environ.get("A55_API_URL", "https://core-manager.a55.tech")
try:
response = requests.post(
f"{base}/api/v1/bank/wallet/fx/rate/",
json={
"from_currency": "USD",
"to_currency": "BRL",
"amount": 1000.00,
},
headers={
"Authorization": f"Bearer {token}",
"Content-Type": "application/json",
},
)
response.raise_for_status()
fx = response.json()
print(f"Rate: 1 {fx['from_currency']} = {fx['rate']} {fx['to_currency']}")
print(f"Converted: {fx['amount']} {fx['from_currency']} = {fx['converted_amount']} {fx['to_currency']}")
print(f"Valid until: {fx['valid_until']}")
except requests.exceptions.HTTPError as e:
print(f"HTTP {e.response.status_code}: {e.response.json()}")
except requests.exceptions.RequestException as e:
print(f"Request failed: {e}")
const token = process.env.A55_ACCESS_TOKEN;
const base = process.env.A55_API_URL || "https://core-manager.a55.tech";
try {
const response = await fetch(`${base}/api/v1/bank/wallet/fx/rate/`, {
method: "POST",
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
from_currency: "USD",
to_currency: "BRL",
amount: 1000.00,
}),
});
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
const fx = await response.json();
console.log(`Rate: 1 ${fx.from_currency} = ${fx.rate} ${fx.to_currency}`);
console.log(`Converted: ${fx.amount} ${fx.from_currency} = ${fx.converted_amount} ${fx.to_currency}`);
console.log(`Valid until: ${fx.valid_until}`);
} catch (error) {
console.error("FX rate failed:", error.message);
}
Exemplo de resposta de erro
{
"status": "error",
"message": [
{
"code": "UNSUPPORTED_PAIR",
"source": "fx",
"description": "Currency pair GBP/BRL is not supported"
}
]
}