TF Fiscal
Documentação

CT-e

Emitir CT-e

Aceita um CT-e (modelo 57, modal rodoviário) para autorização assíncrona na SEFAZ.

POST/openapi/v2/empresas/{empresaId}/cte

Requer os cabeçalhos de assinatura token, timestamp e sign, veja Autenticação.

A aceitação devolve HTTP 200 sem corpo. Reenviar o mesmo id: uma impressão digital idêntica da mensagem reutiliza a tarefa original (idempotente), uma impressão diferente retorna 10017030, e uma falha terminal anterior reabre a tarefa com a nova mensagem. O resultado é obtido pela consulta ou pelo webhook. As strings de enumeração não diferenciam maiúsculas de minúsculas.

Parâmetros

Parâmetros de caminho

  • empresaIdstringobrigatório

    Identificador da empresa (transportadora) devolvido no registro.

    Exemplo: 1934811222334455

Corpo da requisição

  • idstringobrigatório

    Identificador do documento no integrador; usado como a variável de caminho cteId em todas as chamadas seguintes.

    Exemplo: CTE-ORD-1
  • ambienteEmissaostringobrigatório

    Deve coincidir com o ambiente atual da empresa (10017010).

    Valores:ProducaoHomologacao
  • naturezastringobrigatório

    Natureza da operação (natOp), até 60 caracteres.

    Exemplo: PRESTACAO DE SERVICO DE TRANSPORTE
  • cfopstringobrigatório

    CFOP com 4 dígitos.

    Exemplo: 5353
  • tipostringobrigatório

    Tipo do CT-e. Complementar exige ctesComplementados; Substituto exige cteSubstituido (10017015).

    Valores:NormalComplementarSubstituto
  • tipoServicostringobrigatório

    Tipo do serviço. Subcontratação / redespacho / redespacho intermediário exigem documentosAnteriores.

    Valores:NormalSubcontratacaoRedespachoRedespachoIntermediarioVinculadoMultimodal
  • modalstringobrigatório

    Somente Rodoviario na fase um; outros modais são rejeitados (10017018).

  • tomadorstringobrigatório

    Tomador do serviço.

    Valores:RemetenteExpedidorRecebedorDestinatarioOutros
  • indicadorIeTomadorstringobrigatório

    Indicador de IE do tomador. Contribuinte exige IE numérica no tomador (10017013).

  • retiraMercadoriabooleanopcional

    Se o recebedor retira a mercadoria.

  • detalheRetirastringopcional

    Detalhes da retirada, até 160 caracteres.

  • municipioEnvioobjectopcional

    Município de envio; padrão é o município cadastrado da empresa.

  • origemobjectobrigatório

    Município de origem.

  • destinoobjectobrigatório

    Município de destino.

  • remetenteobjectao menos um entre `remetente` e `destinatario`

    Remetente. O participante referenciado por tomador é obrigatório (10017012).

  • destinatarioobjectao menos um entre `remetente` e `destinatario`

    Destinatário.

  • expedidorobjectopcional

    Expedidor (opcional).

  • recebedorobjectopcional

    Recebedor (opcional).

  • tomadorOutrosobjectobrigatório para `tomador=Outros`

    Tomador do serviço quando não é nenhum dos quatro participantes acima.

  • cargaobjectobrigatório

    Carga transportada.

  • documentosobjectobrigatório para documentos normais

    Documentos transportados; exatamente um dos grupos nfe / nf / outros pode ser enviado (10017014). Documentos complementares não exigem documentos.

  • documentosAnterioresarrayobrigatório para subcontratação / redespacho / redespacho intermediário

    Documentos de transporte anteriores, um por transportador anterior; proibido nos demais tipos de serviço (10017014).

  • rodoviarioobjectobrigatório

    Informações do modal rodoviário.

  • valorPrestacaoobjectobrigatório

    Valores da prestação do serviço.

  • impostosobjectobrigatório

    Parâmetros tributários; as regras completas estão na seção Parâmetros tributários abaixo.

  • cobrancaobjectopcional

    Fatura e duplicatas (opcional).

  • cteSubstituidoobjectobrigatório para `tipo=Substituto`

    CT-e substituído.

  • ctesComplementadosarrayobrigatório para `tipo=Complementar`

    Chaves dos CT-e complementados (strings de 44 dígitos), de 1 a 10.

  • caracteristicasAdicionaisobjectopcional

    Características adicionais (opcional).

  • fluxoobjectopcional

    Fluxo / rota do transporte (opcional).

  • entregaobjectopcional

    Janela de entrega (opcional).

  • observacoesstringopcional

    Texto livre, até 2000 caracteres.

  • observacoesContribuintearrayopcional

    Observações do contribuinte, até 10.

  • observacoesFiscoarrayopcional

    Observações ao fisco, até 10.

  • autorizadosXmlarrayopcional

    CPF / CNPJ autorizados a baixar o XML (strings), até 10.

Respostas

200

Aceito. Sem corpo; a autorização acontece de forma assíncrona.

Sem corpo de resposta

Erros

CódigoHTTP
10003000404

empresaId não encontrado.

10017004400

A empresa não pode emitir (não aprovada / certificado não pronto). Aguarde a aprovação ou vincule o certificado.

10017005400

Requisição duplicada concorrente. Tente novamente mais tarde.

10017006400

Tarefas pendentes em excesso para o CNPJ. Tente novamente mais tarde.

10017007400

Série de numeração não resolvida (nenhuma configurada, ou várias habilitadas sem escolha). Configure uma série do modelo 57.

10017010400

ambienteEmissao difere do ambiente da empresa. Envie para o ambiente da empresa.

10017011400

Código IBGE de município não encontrado. Verifique codigoIbge.

10017012400

Participante ausente. Inclua o participante referenciado por tomador.

10017013400

Tomador inconsistente com o indicador de IE. Ajuste indicadorIeTomador ou a IE do tomador.

10017014400

Referências de documentos inválidas (ausentes, dígito verificador incorreto, grupos misturados, documentos anteriores inconsistentes com o tipo de serviço).

10017015400

Tipo de documento inconsistente com as referências. Envie ctesComplementados / cteSubstituido conforme tipo.

10017016400

A soma dos componentes difere do total, ou aReceber > total. Corrija os valores.

10017017400

RNTRC inválido.

10017018400

Modal não suportado.

10017019400

Enumeração ou formato inválido; mensagem indica o campo.

10017020400

Parâmetro tributário ausente.

10017021400

Parâmetro tributário não permitido (por exemplo ibsCbs, ou percentualReducaoBase com CST 00).

10017022400

CST incompatível com o regime da empresa (Simples somente SN; regime normal nunca SN).

10017023400

icmsUfFim obrigatório em serviço interestadual com tomador não contribuinte.

10017024400

Linha da tabela de alíquotas ausente e nenhuma alíquota explícita informada.

10017025400

CST não suportado.

10017030400

Mesmo id com mensagem diferente. Use um novo id ou reenvie a mensagem original.

10017031400

Produção: já existe um documento ativo / autorizado para o id. Consulte o original.

10001001400

Falha de validação de campos (uma entrada por campo); corrija conforme mensagem.

Parâmetros tributários (`impostos`)

CampoDescrição
icms.situacaoTributaria (obrigatório)00 / 20 / 40 / 41 / 51 / 60 / 90 / 90-OutraUF / SN; deve corresponder ao regime da empresa: Simples (CRT 1/4) somente SN, regime normal nunca SN (10017022)
icms.baseCalculo / aliquota / valorValores explícitos prevalecem; caso contrário a base é o total da prestação, a alíquota vem da tabela intraestadual ou da alíquota interestadual legal (7% ou 12%) e o valor é calculado. Serviço intraestadual sem linha na tabela e sem alíquota explícita retorna 10017024
icms.percentualReducaoBaseObrigatório para CST 20; proibido para CST 00
icms.valorDesonerado / codigoBeneficioOpcionais para CST 20 / 40 / 41 / 51 / 60 / 90, padrão 0.00 / SEM CBENEF
icms.valorCreditoOpcional para CST 60 / 90
icms.stRetidoObrigatório para CST 60: { "baseCalculo", "aliquota", "valor" }
icms.outraUfOpcional para 90-OutraUF: { "baseCalculo", "aliquota", "valor", "percentualReducaoBase" }, recaindo em icms.*
icmsUfFimObrigatório em serviços interestaduais com indicadorIeTomador=NaoContribuinte (10017023); proibido em intraestaduais. baseCalculo / percentualFcp / aliquotaInterna / aliquotaInterestadual / valorFcp / valorUfFim / valorUfIni são todos opcionais e recaem na alíquota interna e na tabela de FCP da UF de destino
percentualCargaTributariaPercentual aproximado de carga tributária, usado em vTotTrib
informacoesFiscoInformações adicionais ao fisco (até 2000)
ibsCbsNão disponível na fase um; rejeitado quando presente (10017021)

Rejeição pela SEFAZ

Rejeições da SEFAZ durante a emissão não são erros HTTP: aparecem como status Negada na consulta e como o webhook cte.rejected, com motivoStatus / cteMotivoStatus no formato cStat - xMotivo. Uma falha terminal da tarefa (Falha) não envia callback; use a consulta.