GET
/
consultas
/
stream
/
{consultaId}
Acompanhar resultado via SSE
curl --request GET \
  --url https://api.periciadecredito.com.br/consultas/stream/{consultaId} \
  --header 'x-access-token: <api-key>'
"event: result\ndata: {\"status\":\"completed\",\"success\":true,\"id\":1,\"name\":\"KYC — Pessoa Física\",\"query_execution\":4201,\"data_execucao\":\"10/04/2026 14:32:00\",\"resultados\":{\"nome\":\"JOÃO DA SILVA\"}}\n\n"
Assim como GET /consultas/resultado/{consultaId}, este endpoint só é útil depois de um 504 em POST /consultas/executar/{id}. No fluxo normal o resultado já vem direto na resposta do POST — nenhum dos dois é necessário.

Por que usar SSE em vez de polling

Se você recebeu um 504, tem duas formas de recuperar o resultado quando a execução terminar:
  • Polling: repetir GET /consultas/resultado/{consultaId} a cada poucos segundos.
  • SSE (este endpoint): abrir uma única conexão HTTP de longa duração e receber um evento assim que o worker terminar — sem ficar repetindo requisições.
Use SSE quando quiser eliminar a latência entre “a execução terminou” e “seu código descobre disso”, ou quando quiser evitar o overhead de múltiplas requisições de polling.

Eventos emitidos

EventoQuando ocorreDados
resultA execução terminou (sucesso ou falha)Mesmo payload de GET /consultas/resultado/{consultaId} no formato hash — veja Recuperar Resultado
timeout5 minutos sem receber um resultado{ "status": "timeout", "message": "...", "consultaId": "..." }
(comentário : ping)A cada 30 segundosKeepalive — não é um evento nomeado, apenas mantém a conexão viva através de proxies. Ignore.
Após emitir result ou timeout, o servidor encerra a conexão.

Exemplo de uso

Node.js / Browser
const es = new EventSource(
  `https://api.periciadecredito.com.br/consultas/stream/${consultaId}`,
);

es.addEventListener("result", (event) => {
  const resultado = JSON.parse(event.data);

  if (resultado.success === false || resultado.status === "failed") {
    console.error("Consulta falhou:", resultado);
  } else {
    console.log("Resultado:", resultado.resultados);
  }

  es.close();
});

es.addEventListener("timeout", (event) => {
  const payload = JSON.parse(event.data);
  console.warn(payload.message);
  // Volte para o polling em /consultas/resultado/{consultaId}
  es.close();
});
O EventSource nativo do browser não permite enviar headers customizados como x-access-token. Para integrações server-to-server, use um cliente SSE que suporte headers (ex: eventsource no Node.js) ou passe o token de outra forma suportada pelo seu cliente.
A conexão é encerrada automaticamente após 5 minutos sem resultado, mesmo que a execução ainda esteja rodando. Trate o evento timeout como “volte a fazer polling”, não como uma falha da consulta em si.

Authorizations

x-access-token
string
header
required

Token JWT retornado pelo endpoint POST /auth/login. Inclua este header em todas as requisições autenticadas.

Path Parameters

consultaId
string
required

O consultaId (hash) retornado por uma resposta 504 de POST /consultas/executar/{id}.

Response

Conexão SSE aberta. Ver a tabela de eventos na descrição do endpoint.

The response is of type string.