Consultando uma emissão de CT-e
curl -s https://api.conota.dev/v1/cte/consultar/$JOB_ID \
-H "X-API-Key: $CONOTA_API_KEY"
Lê o que já guardamos. Não consome cota — pode consultar à vontade enquanto espera.
A resposta traz os dois eixos de estado, o do processamento e o fiscal. Ver Status das emissões.
Em lote e por referência
As rotas genéricas valem para o CT-e como para qualquer documento:
POST /v1/jobs/consultar-lote # até 200 ids
GET /v1/jobs/localizar?ref=frete_4471
Id inexistente ou de outra conta volta como "status": "nao_encontrado" — sem 404.
Rejeição não é "concluído"
failed, com o motivoIsso parece óbvio e não é: a biblioteca que fala com o autorizador devolve sucesso mesmo quando a SEFAZ rejeita o documento. Quem trata isso somos nós.
O erro chega com o código oficial na frente:
[CTe 481] Rejeicao: IE deve ser informada para tomador Contribuinte
E rejeição não é re-tentada: o documento está errado e seria recusado de novo. As
exceções são 108 e 109 — serviço paralisado —, que são transitórias e essas sim voltam a
tentar.
O CT-e depende de dois cadastros, não de um
Emitir CT-e exige credenciamento próprio na SEFAZ, separado do de NF-e. Uma empresa que emite NF-e há anos pode ter o primeiro CT-e recusado sem que haja nada de errado no payload.
Se as rejeições apontarem o emitente e não um campo da carga, confira o credenciamento antes de mexer no JSON.
Consultar não é o mesmo que ter o documento
Depois de autorizado, o XML e o DACTE saem por Arquivos.