Docs/CT-e

CT-e — Conhecimento de Transporte Eletrônico

API-first para emissão, consulta e cancelamento de CT-e (modelo 57) e CT-e OS (modelo 67). Não passa por venda nem por invoice de produto/serviço.

Ver requisitos de autenticação

Pré-requisitos

  • Recurso CT-e liberado na conta pela Emitfy (solicite ao suporte ou vendas)
  • Certificado digital A1 válido na empresa
  • Módulo CT-e ativo em settings.cte.active (painel em Configurações → Fiscal → CT-e, ou PUT /v1/company)
  • Série e próximo número em settings.cte
  • Assinatura com direito a emitir (mesmo limite mensal de notas)

Configuração na empresa

JSON
{
  "settings": {
    "cte": {
      "active": true,
      "environment": "test",
      "series": 1,
      "number": 1,
      "rntrc": "12345678"
    }
  }
}

Fluxo assíncrono

POST /v1/cte cria o documento e enfileira a transmissão à SEFAZ. A resposta imediata traz status: processing (ou pending se o módulo estiver inativo). O desfecho chega por webhook (cte.authorized / cte.rejected) ou por GET /v1/cte/:id.

Idempotência

Informe Idempotency-Key (header) ou externalId no body. A chave é única por empresa na coleção ctes.

CT-e OS

Use POST /v1/cte-os para o modelo 67 (pessoas, valores ou excesso de bagagem). Requer serviceDescription, tomador (takerParty, exceto bagagem) e taf ou stateAgencyRegistration. Consulta e cancelamento usam as mesmas rotas /v1/cte.