Pular para o conteúdo
ZapCar
Developersv1

Consultar o resultado

Estado da consulta. Quando conclui, a mesma resposta traz dados, o bloco veiculo e o link do PDF.

GET/v1/consultas/{id}
GratuitoLeituraSandbox

Devolve o estado atual da consulta criada com POST /v1/consultas. É gratuito: repita a cada 3 a 5 segundos enquanto o status for processando, com teto de 5 minutos. Quando conclui, a mesma resposta traz o resultado.

Atenção:

"concluido" e "erro" são terminais

Repetir o GET num id com status: "erro" nunca produz resultado. Uma nova tentativa é um POST novo.

Um id que não pertence à chave (outra conta, outro ambiente, consulta de teste com mais de 24 h) responde 404 CONSULTA_NOT_FOUND, nunca o dado.

Pedido
curl "https://api.zapcarconsulta.com.br/v1/consultas/6f1c2e2a-1b3d-4a9e-8f7c-2a1b3c4d5e6f" \
  -H "Authorization: Bearer $ZAPCAR_API_KEY"
Resposta
{
  "id": "6f1c2e2a-1b3d-4a9e-8f7c-2a1b3c4d5e6f",
  "servico": "consulta",
  "placa": "ABC1D23",
  "status": "concluido",
  "schema_version": "1.0",
  "valor_cobrado": 5.98,
  "criado_em": "2026-10-18T09:14:02-03:00",
  "dados": { "dados_do_veiculo": { "...": "..." }, "restricoes_e_impedimentos": { "...": "..." } },
  "veiculo": {
    "placa": "ABC1D23", "marca": "VW", "modelo": "POLO SENSE", "ano_modelo": 2020,
    "restricoes": [{ "tipo": "FINANCEIRA", "ativa": false, "descricao": null }],
    "debitos": [],
    "debitos_total_centavos": 0,
    "...": "..."
  },
  "proprietario": { "nome": "JOAO DA SILVA", "documento": "12345678901" },
  "ultimo_licenciamento": 2024,
  "nao_verificado": [],
  "pdf_url": "/v1/consultas/6f1c2e2a-1b3d-4a9e-8f7c-2a1b3c4d5e6f/pdf"
}

Requisição

Parâmetros de caminho

idstring (uuid)obrigatório
Id da consulta (UUID), como devolvido pelo POST /v1/consultas.

Cabeçalhos

Authorizationstringobrigatório
Sua chave no formato Bearer zc_live_… (produção) ou Bearer zc_test_… (teste). O cabeçalho X-API-Key também é aceito. Ver Autenticação.

Exemplo: Bearer zc_test_…

Respostas

  • 200
    Estado da consulta (qualquer um dos três status).Corpo: ConsultaResponse
  • 401
    Chave ausente, inválida ou revogada.Corpo: ApiError
  • 404
    Não encontrado, ou não pertence a esta conta (um id de outro cliente responde 404, nunca o dado).Corpo: ApiError
  • 429
    Rate limit excedido. Respeite o header Retry-After (segundos) antes de repetir. Não consome saldo.Corpo: ApiError
  • 500
    Falha interna inesperada. É transitória (retryable: true); informe o request_id ao suporte se persistir.Corpo: ApiError

Cabeçalhos da resposta

RateLimit-Limitintegerpode não vir
Teto de requisições da janela de 60s (120 em produção; 60 com chave de teste, em contador separado).
RateLimit-Remainingintegerpode não vir
Requisições restantes na janela atual.
RateLimit-Resetintegerpode não vir
Segundos até a janela zerar.
X-Request-Idstring (uuid)pode não vir
Id de correlação desta requisição. Informe ao suporte para localizar a chamada nos logs.

Os três status

statusO que vem juntoPróximo passo
processandoSó o envelope.Consulte de novo em 3 a 5 s.
concluidodados, pdf_url e, conforme o serviço, veiculo, proprietario, ultimo_licenciamento, risco e nao_verificado.Use os dados. O id não muda mais.
erroerro, erro_codigo e retryable (os dois últimos podem faltar em consultas antigas).O valor foi estornado. Com retryable: true, crie uma consulta nova.
Atenção:

CRLV, ATPV-e e código de segurança

Não há dados: o resultado é só o documento, em pdf_url.

Como ler cada bloco (o que significa null, as três camadas de dado, o bloco veiculo) está em Resultados e relatórios; os códigos de erro_codigo, em Tratamento de erros; o formato de dados de cada serviço, em Serviços disponíveis.