Pular para o conteúdo

Em ISP, Datacenter e Gaming, cada registro de log é uma conexão, e não uma única requisição: o registro é gravado quando a conexão é encerrada. Em HTTP simples, uma única conexão keep-alive pode levar várias requisições; o campo request mostra apenas a primeira. Uma conexão que ainda está aberta não aparece na lista até ser encerrada.

Todo registro, independentemente do tipo de serviço, vem com o mesmo conjunto fixo de chaves; uma chave sem valor é null e nunca é omitida. As chaves exclusivas da família ISP são sempre null nos registros de Mobile/Residential, e statusCode é sempre null na família ISP. A lista é ordenada do registro mais recente para o mais antigo.

Três armadilhas

Campos

✓ vem preenchido neste tipo; null está sempre vazio neste tipo. Um campo marcado com ✓ também pode ser null se nenhum valor foi gravado para aquela conexão.

CampoFamília ISPMobile / ResidentialSignificado
id✓✓ID do registro. Na família ISP, é igual a requestId (ULID); em registros anteriores a 17/09/2026, é um ID estável e derivado.
timestamp✓✓ISO-8601, UTC. Na família ISP, é o momento em que a conexão foi ENCERRADA, com resolução de segundos. A lista é ordenada do mais recente para o mais antigo.
level✓✓connect, disconnect, error, quota ou auth. Na família ISP, é derivado de result (tabela de códigos de resultado).
message✓✓Resumo legível, por exemplo, HTTP CONNECT → example.com:443. Na família ISP, em registros com falha sem dados de conexão, é a descrição legível e o código de resultado (por exemplo, This command/protocol is not supported (#103)). O formato pode mudar; não faça parsing, leia os campos correspondentes.
method✓✓Comando ou método HTTP: CONNECT, GET, POST … Na família ISP, é igual a command (incluindo UDP ASSOCIATE). null se a conexão foi recusada antes de chegar a essa etapa.
ip✓✓Destino, no formato host:porta (o IP, se não houver nome de host). null em uma conexão recusada antes de o destino ser definido.
sourceIp✓✓O IP do seu cliente; a máquina que se conecta ao proxy.
bytesIn✓✓Bytes BAIXADOS (do destino para você).
bytesOut✓✓Bytes ENVIADOS (de você para o destino).
durationMs✓✓Tempo em que a conexão ficou aberta, em ms. NÃO é latência.
statusCodenull✓Código de status HTTP. Apenas Mobile/Residential.
headersnull✓Cabeçalhos HTTP da requisição (texto JSON). Apenas Mobile/Residential.
requestId✓nullID único da conexão (ULID de 26 caracteres). Informe-o ao pedir suporte. null em registros anteriores a 17/09/2026.
result✓nullCódigo de resultado (tabela abaixo). null em registros anteriores a 17/09/2026.
resultCategory✓nullsuccess, client, policy, upstream ou unknown. Se result for null, é derivado de ok: success ou unknown.
ok✓nullSe a conexão foi bem-sucedida (true / false).
errorCode✓nullresult como texto de 5 dígitos, por exemplo, 00104 (00000 em caso de sucesso). null se result for null.
service✓nullO protocolo efetivamente usado: http ou socks (SOCKS5). No protocolo auto, a mesma porta aceita os dois. null se a conexão foi recusada antes de chegar a essa etapa.
proxyType✓nullNome antigo; mesmo valor de service.
command✓nullCONNECT, GET, POST … ou UDP ASSOCIATE (UDP via SOCKS5; suportado no protocolo auto). null se a conexão foi recusada antes de chegar a essa etapa.
request✓nullA PRIMEIRA linha de requisição da conexão. Em uma conexão keep-alive, só a primeira é gravada. null se a conexão foi recusada antes de a requisição ser lida.
targetHost✓nullNome do host de destino (o IP, se a conexão foi feita diretamente a um IP). null se foi recusada antes de o destino ser definido.
targetIp✓nullO IP resolvido do destino. null se não houve conexão com o destino.
targetPort✓nullPorta de destino. null se foi recusada antes de o destino ser definido.
targetInfo✓nullFormato antigo: targetIp:targetPort.
clientPort✓nullA porta de origem do seu cliente.
gateIp✓nullO endereço do proxy (de entrada) ao qual você se conectou; normalmente o host da lista de proxies. NÃO é o seu IP de saída.
gatePort✓nullA porta do proxy à qual você se conectou.
egressIp✓nullO IP REAL pelo qual o seu tráfego sai para a internet; o endereço que o site de destino vê. Não é gravado em toda conexão; se faltar, null (sempre null em registros anteriores a 17/09/2026).
extIp✓nullNome antigo; mesmo valor de egressIp.
latencyMs✓nullLatência de conexão com o destino, em ms. null se não foi medida; não é 0.
totalBytes✓nullbytesIn + bytesOut.
slot✓nullNúmero do slot de porta do pedido. null em registros anteriores a 17/09/2026.

Códigos de resultado

Apenas ISP, Datacenter e Gaming. As descrições são textos que você pode mostrar aos seus clientes. Novos códigos podem ser adicionados; trate um código desconhecido como erro.

resulterrorCodeHTTPCategorialevelSignificado
000000200successconnectConexão bem-sucedida
10000100407clientauthNome de usuário ou senha incorretos
10100101403clientauthSeu endereço IP não está autorizado para este pedido
10200102400clienterrorFormato de requisição inválido
10300103—clienterrorEste comando/protocolo não é suportado
10400104403policyerrorVocê não tem permissão para acessar o endereço de destino
10500105403policyquotaCota esgotada
10600106429policyquotaLimite de conexões atingido
10700107403policyerrorPorta de destino bloqueada
20000200502upstreamerrorNão foi possível acessar o servidor de destino
20100201—clientdisconnectConexão encerrada pelo cliente (não é um erro do serviço)
———unknownerrorCódigo não reconhecido; trate como erro

Categorias de resultado

resultCategorySignificado
successConexão estabelecida.
clientCausado pelo lado do cliente: credenciais ou autorização de IP, formato da requisição, comando não suportado ou encerramento da conexão pelo cliente.
policyPolítica de uso ou limite da conta: destino bloqueado, cota, conexões simultâneas, porta fechada.
upstreamNão foi possível conectar ao destino; tente de novo.
unknownCódigo não reconhecido (ou um registro com falha anterior a 17/09/2026).

Filtragem

ok, result, category, request_id, client_ip, egress_ip, target_host, service,udp, slot, port e min_latency_ms só valem nestes tipos. Aqui, status_group retorna 400.

status_group (2xx, 4xx, 5xx) só vale nestes tipos. Aqui, ip é buscado dentro do endereço de destino ou do cliente. Enviar um parâmetro exclusivo da família ISP retorna 400 invalid_request; details.field informa qual é o parâmetro.

Um parâmetro desconhecido ou um intervalo de datas cujo início é posterior ao fim também retornam 400. Todos os parâmetros estão no endpointLogs.

Lista incompleta

meta.partial vem em toda resposta. Se for true, a lista pode estar incompleta: na família ISP, os registros antigos não puderam ser lidos naquele momento; em Mobile/Residential, só os registros mais recentes foram retornados. Tente de novo em instantes. Se o armazenamento de logs estiver temporariamente inacessível, retorna503 service_unavailable.

Registros anteriores a 17/09/2026

Como são retornados os registros do sistema de logs antigo

O sistema de logs de ISP, Datacenter e Gaming foi renovado em 17/09/2026. Os registros mais antigos também são retornados na lista (depois dos registros novos), mas os campos que não existiam naquele sistema são null: requestId, result, errorCode, egressIp, extIp, latencyMs eslot. Nesses registros, level só pode ser connect ou error, e resultCategory só pode ser success ouunknown; id é um ID estável e derivado.

Os filtros que dependem apenas de campos do novo sistema (ok, result, category, request_id, egress_ip,target_host, udp, slot, port, min_latency_ms) e as buscas parciais no parâmetro ip só retornam registros a partir de 17/09/2026. A linha do tempo dos logs e os contadores de uso nos detalhes do serviço também cobrem apenas o novo sistema.

Se os registros antigos não puderem ser lidos naquele momento, a resposta é retornada mesmo assim, mas meta.partial vem true. Na mesma situação, o histórico de uso retorna meta.available false.

Mudanças incompatíveis com versões anteriores
  • extIp agora é o IP de saída real (igual a egressIp). Antes, levava o endereço do proxy ao qual você se conectava; esse endereço agora está em gateIp + gatePort.
  • parentInfo foi removido.
  • Nos registros de ISP, id agora é o requestId (ULID).
  • timestamp agora é o momento em que a conexão foi ENCERRADA e tem resolução de segundos.
  • level agora também assume os valores auth, quota e disconnect.
  • Todo registro vem com o mesmo conjunto fixo de chaves. Novas chaves foram adicionadas: requestId, result, gateIp, egressIp, latencyMs e outras.
  • proxyType agora só pode ser http ou socks (igual a service); um valor não reconhecido retorna null.
  • Na família ISP, o valor de source nos endpoints de uso agora é logs.
  • Nos logs de Mobile/Residential, bytesIn e bytesOut vinham trocados. Agora, em todos os tipos, bytesIn são os bytes baixados e bytesOut, os enviados (incluindo registros antigos).

Informe o requestId ao pedir suporte

Ao pedir ajuda sobre uma conexão, informe o valor requestId daquele registro; com ele, a equipe de suporte encontra exatamente aquela conexão. Você também pode consultar a mesma conexão com o parâmetro request_id. Este não é o request_id das respostas de erro: aquele identifica a sua requisição à API, e este, uma conexão de proxy.