Documentation Index
Fetch the complete documentation index at: https://docs.voxfi.com.br/llms.txt
Use this file to discover all available pages before exploring further.
Formato de Resposta de Erro
Todos os erros seguem um formato consistente:
{
"error": "mensagem de erro",
"error_code": "CODIGO_ERRO"
}
Códigos de Status HTTP
- 200 OK: Requisição bem-sucedida;
- 400 Bad Request: Parâmetros de requisição inválidos;
- 401 Unauthorized: Chave de API ausente ou inválida;
- 403 Forbidden: Chave de API não tem permissões necessárias ou IP não permitido;
- 406 Not Acceptable: Requisição não pode ser processada (ex: mercado fechado);
- 429 Too Many Requests: Limite de taxa excedido;
- 500 Internal Server Error: Erro do servidor.
Códigos de Erro
Erros de Colocação de Ordem
Descrição: Preço é inválido (deve estar entre 0-100 ticks para ordens limitadas, ou value_cents deve ser positivo para ordens a mercado)
Descrição: Quantidade é inválida (deve ser positiva)
Descrição: Conta não tem saldo suficiente para fazer a ordem
Descrição: Conta não tem contratos suficientes para vender
Descrição: Mercado não tem liquidez suficiente para executar a ordem
Descrição: Ordem não encontrada (ao tentar cancelar)
Descrição: Usuário não está autorizado a realizar esta ação
Descrição: Mercado está fechado e não está mais aceitando ordens
Descrição: Ocorreu um erro inesperado
Erros de Autenticação
401 Unauthorized
{
"error": "unauthorized"
}
Causas:
- Cabeçalho
X-Api-Key ausente
- Chave de API inválida
- Chave de API expirou
- Chave de API está desabilitada
Solução: Verifique se sua chave de API está correta e ativa em Perfil → Segurança
403 Forbidden
{
"error": "ip not allowed"
}
Causas:
- Seu endereço IP não está na whitelist da chave de API
Solução: Adicione seu endereço IP à lista de IPs permitidos da chave de API
Limitação de Taxa
429 Too Many Requests
{
"error": "rate limit exceeded",
"retry_after": 60
}
Descrição: Você excedeu o limite de taxa para este endpoint
Cabeçalhos de Resposta:
Retry-After: Número de segundos para esperar antes de tentar novamente
Solução: Aguarde o tempo especificado antes de fazer outra requisição
Boas Práticas de Tratamento de Erros
- Verificar Códigos de Status: Sempre verifique códigos de status HTTP antes de processar respostas
- Tratar Limites de Taxa: Implemente backoff exponencial para erros de limite de taxa
- Validar Entrada: Valide todos os parâmetros antes de enviar requisições
- Verificar Status do Mercado: Verifique se o mercado está aberto antes de fazer ordens
- Monitorar Saldo: Verifique o saldo disponível antes de fazer ordens
- Registrar Erros: Registre códigos e mensagens de erro para depuração
Exemplo de Tratamento de Erros
try {
const response = await fetch('https://data-api-dev.voxfi.com.br/v1/trade/order', {
method: 'POST',
headers: {
'X-Api-Key': apiKey,
'Content-Type': 'application/json'
},
body: JSON.stringify(orderData)
});
const data = await response.json();
if (!response.ok) {
if (response.status === 429) {
const retryAfter = response.headers.get('Retry-After');
console.error(`Limitado por taxa. Tente novamente após ${retryAfter} segundos`);
// Implementar lógica de retry
} else if (data.error_code) {
console.error(`Erro ${data.error_code}: ${data.error}`);
// Tratar códigos de erro específicos
} else {
console.error(`Erro: ${data.error}`);
}
return;
}
// Processar resposta bem-sucedida
console.log('Ordem feita:', data);
} catch (error) {
console.error('Erro de rede:', error);
}