TF Fiscal
Documentation

CT-e

Issue CT-e

Accepts a model 57 CT-e, road modal, for asynchronous authorization with SEFAZ.

POST/openapi/v2/empresas/{empresaId}/cte
Requires the token, timestamp and sign signature headers, see Authentication.

The CT-e is the electronic fiscal document that covers a freight transport service. Acceptance returns HTTP 200 with no body. Resubmitting the same id: an identical message fingerprint reuses the original task (idempotent), a different fingerprint returns 10017030, and a previous terminal failure reopens the task with the new message. Results are obtained through the query or the webhook. Enum strings are case-insensitive.

Path parameters

empresaId*
stringCompany identifier

* Required field

Request body

id*
stringRequest identifier
ambienteEmissao*
stringEnvironment
natureza*
stringNature of the operation
cfop*
stringCFOP
tipo*
stringDocument type
tipoServico*
stringService type
modal*
stringModal
tomador*
stringService taker
indicadorIeTomador*
stringTaker ICMS status
retiraMercadoria
boolPick-up by the receiver
detalheRetira
stringPick-up details
objectIssuing municipality
*
objectOrigin municipality
*
objectDestination municipality
*
at least one of `remetente` or `destinatario`
objectSender
*
at least one of `remetente` or `destinatario`
objectReceiver
objectDispatcher
objectConsignee
*
required for `tomador=Outros`
objectTaker outside the parties
*
objectCargo
*
required except for `tipo=Complementar`
objectCargo documents
*
required for subcontracting / redispatch / intermediate redispatch
arrayPrevious transport documents
*
objectRoad data
*
objectFreight amount
*
objectTaxes
objectBilling
*
required for `tipo=Substituto`
objectReplaced CT-e
ctesComplementados*
required for `tipo=Complementar`
arrayKeys of the complemented CT-e
objectAdditional characteristics
objectPlanned route
objectDelivery deadline
observacoes
stringRemarks
arrayIssuer remarks
arrayRemarks for the tax authority
autorizadosXml
arrayParties allowed to download the XML

* Required field

200
Accepted. No body; authorization happens asynchronously.

No response body

The most common case: the carrier moves goods covered by NF-e inside one state and the seller pays the freight. The block below lists only the fields to send; anything not listed stays out.

Full request

json
{
"id": "CTE-ORD-1",
"ambienteEmissao": "Homologacao",
"natureza": "PRESTACAO DE SERVICO DE TRANSPORTE",
"cfop": "5353",
"tipo": "Normal",
"tipoServico": "Normal",
"modal": "Rodoviario",
"tomador": "Remetente",
"indicadorIeTomador": "Contribuinte",
"origem": { "codigoIbge": 3550308 },
"destino": { "codigoIbge": 3550308 },
"remetente": {
"cpfCnpj": "66500544000120", "inscricaoEstadual": "123456789012", "nome": "REMETENTE TESTE LTDA",
"endereco": { "logradouro": "AVENIDA PAULISTA", "numero": "1000", "bairro": "BELA VISTA", "codigoIbge": 3550308, "cep": "01310100" }
},
"destinatario": {
"cpfCnpj": "12345678909", "nome": "DESTINATARIO TESTE",
"endereco": { "logradouro": "RUA AUGUSTA", "numero": "10", "bairro": "CONSOLACAO", "codigoIbge": 3550308, "cep": "01305000" }
},
"carga": { "valor": 500.00, "produtoPredominante": "MERCADORIA DIVERSA",
"quantidades": [{ "unidade": "Kg", "tipoMedida": "PESO BRUTO", "quantidade": 10 }] },
"documentos": { "nfe": [{ "chave": "35260966500544000120550010000001231000000002" }] },
"rodoviario": { "rntrc": "12345678" },
"valorPrestacao": { "total": 100.00, "aReceber": 100.00, "componentes": [{ "nome": "FRETE PESO", "valor": 100.00 }] },
"impostos": { "icms": { "situacaoTributaria": "00" } }
}
id*
stringRequest identifier
ambienteEmissao*
stringEnvironment
natureza*
stringNature of the operation
cfop*
stringCFOP
tipo*
stringDocument type
tipoServico*
stringService type
modal*
stringModal
tomador*
stringTaker
indicadorIeTomador*
stringTaker status
*
objectOrigin municipality
*
objectDestination municipality
*
objectSender
*
objectReceiver
*
objectCargo
*
objectCargo documents
*
objectRoad data
*
objectFreight amount
*
objectTaxes

* Required field