Documentação Completa
Sistema profissional de trading analytics com tecnologia avançada de pool de conexões,
cache inteligente e monitoramento em tempo real.
Desenvolvido para traders que precisam de dados precisos e
performance ultra-otimizada.
🚀 Introdução
A Bullex Analytics API permite gerenciar múltiplas contas de trading simultaneamente com reutilização de SSID e atualizações em tempo real. Nossa API é construída com tecnologia de ponta para oferecer performance e confiabilidade máximas.
URL Base
https://api.bullex-analytics.com/v1
Autenticação
Todas as requisições requerem autenticação via credenciais Bull-ex. O sistema gerencia automaticamente sessões e renovação de tokens.
🛠️ Endpoints
Adiciona uma nova conta Bull-ex ao pool de conexões ativas.
Parâmetros do Body:
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| string | Sim | Email da conta Bull-ex | |
| password | string | Sim | Senha da conta |
| connection_id | string | Não | ID personalizado (auto-gerado se omitido) |
Verifica o status da conexão, informações da sessão e dados do perfil do usuário conectado.
Consulta saldos atuais de todas as contas conectadas com detecção automática de moeda.
Obtém histórico completo de trades de uma conexão específica.
Parâmetros de Query:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| limit | integer | Número máximo de trades (padrão: 100, máximo: 1000) |
Calcula PnL agregado de todas as contas para análise de performance.
Parâmetros de Query:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| date | string | Data no formato YYYY-MM-DD (hoje se omitido) |
💻 Exemplos de Código
PHP - Classe Completa
baseUrl = rtrim($baseUrl, '/') . '/api';
}
}
/**
* Adiciona uma nova conexão Bull-ex
*/
public function addConnection($email, $password, $connectionId = null) {
$data = [
'email' => $email,
'password' => $password
];
if ($connectionId) {
$data['connection_id'] = $connectionId;
}
return $this->makeRequest('POST', '/connections', $data);
}
/**
* Obtém status de todas as conexões
*/
public function getStatus() {
return $this->makeRequest('GET', '/status');
}
/**
* Obtém saldos de todas as contas
*/
public function getAllBalances() {
return $this->makeRequest('GET', '/balances');
}
/**
* Obtém PnL agregado
*/
public function getAggregatedPnL($date = null) {
$url = '/pnl/aggregated';
if ($date) {
$url .= '?date=' . urlencode($date);
}
return $this->makeRequest('GET', $url);
}
/**
* Obtém saldo de conexão específica
*/
public function getConnectionBalance($connectionId) {
return $this->makeRequest('GET', "/connections/{$connectionId}/balance");
}
/**
* Obtém histórico de conexão específica
*/
public function getConnectionHistory($connectionId, $limit = 100) {
return $this->makeRequest('GET', "/connections/{$connectionId}/history?limit={$limit}");
}
/**
* Remove uma conexão
*/
public function removeConnection($connectionId) {
return $this->makeRequest('DELETE', "/connections/{$connectionId}");
}
/**
* Faz requisição HTTP
*/
private function makeRequest($method, $endpoint, $data = null) {
$url = $this->baseUrl . $endpoint;
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => $this->timeout,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Accept: application/json',
'User-Agent: BullexAnalytics-PHP/1.0'
]
]);
if ($method === 'POST') {
curl_setopt($ch, CURLOPT_POST, true);
if ($data) {
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
}
} elseif ($method === 'DELETE') {
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
}
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
throw new Exception("cURL Error: " . $error);
}
return [
'status_code' => $httpCode,
'data' => json_decode($response, true),
'raw_response' => $response
];
}
}
// Exemplo de uso
try {
$api = new BullexAnalyticsAPI();
// Adicionar conexão
$result = $api->addConnection('email@dominio.com', '123456');
if ($result['data']['success']) {
$connectionId = $result['data']['connection_id'];
echo "✅ Conexão adicionada: {$connectionId}\n";
// Aguardar conexão estabelecer
sleep(3);
// Obter saldo
$balance = $api->getConnectionBalance($connectionId);
echo "💰 Saldo: " . json_encode($balance['data']) . "\n";
// Obter histórico
$history = $api->getConnectionHistory($connectionId, 50);
$tradeCount = count($history['data']['data'] ?? []);
echo "📊 Histórico: {$tradeCount} trades\n";
// PnL agregado
$pnl = $api->getAggregatedPnL();
$totalPnl = $pnl['data']['data']['total_pnl'] ?? 0;
echo "📈 PnL Total: R$ {$totalPnl}\n";
} else {
echo "❌ Erro: " . ($result['data']['message'] ?? 'Erro desconhecido') . "\n";
}
} catch (Exception $e) {
echo "🔥 Exception: " . $e->getMessage() . "\n";
}
?>
Baixe os exemplos completos e classes prontas para uso em seus projetos