TF Fiscal
Documentación

CT-e

Emitir CT-e

Acepta un CT-e del modelo 57, modal por carretera, para autorización asíncrona en la SEFAZ.

POST/openapi/v2/empresas/{empresaId}/cte
Requiere las cabeceras de firma token, timestamp y sign, vea Autenticación.

El CT-e es el documento fiscal electrónico que ampara un servicio de transporte de carga. La aceptación devuelve HTTP 200 sin cuerpo. Reenviar el mismo id: una huella idéntica del mensaje reutiliza la tarea original (idempotente), una huella distinta devuelve 10017030, y un fallo terminal anterior reabre la tarea con el nuevo mensaje. El resultado se obtiene por la consulta o por el webhook. Las cadenas de enumeración no distinguen mayúsculas de minúsculas.

Parámetros de ruta

empresaId*
stringIdentificador de la empresa

* Campo obligatorio

Cuerpo de la petición

id*
stringIdentificador de la solicitud
ambienteEmissao*
stringAmbiente
natureza*
stringNaturaleza de la operación
cfop*
stringCFOP
tipo*
stringTipo del documento
tipoServico*
stringTipo de servicio
modal*
stringModal
tomador*
stringTomador del servicio
indicadorIeTomador*
stringSituación del tomador ante el ICMS
retiraMercadoria
boolRetiro por el destinatario
detalheRetira
stringDetalle del retiro
objectMunicipio de emisión
*
objectMunicipio de origen
*
objectMunicipio de destino
*
al menos uno entre `remetente` y `destinatario`
objectRemitente
*
al menos uno entre `remetente` y `destinatario`
objectDestinatario
objectExpedidor
objectReceptor
*
obligatorio para `tomador=Outros`
objectTomador fuera de los participantes
*
objectCarga
*
obligatorio, salvo para `tipo=Complementar`
objectDocumentos de la carga
*
obligatorio para subcontratación / redespacho / redespacho intermedio
arrayDocumentos de transporte anteriores
*
objectDatos por carretera
*
objectValor del flete
*
objectTributos
objectCobro
*
obligatorio para `tipo=Substituto`
objectCT-e sustituido
ctesComplementados*
obligatorio para `tipo=Complementar`
arrayClaves de los CT-e complementados
objectCaracterísticas adicionales
objectRuta planificada
objectPlazo de entrega
observacoes
stringObservaciones
arrayObservaciones del emisor
arrayObservaciones al fisco
autorizadosXml
arrayAutorizados a descargar el XML

* Campo obligatorio

200
Aceptado. Sin cuerpo; la autorización ocurre de forma asíncrona.

Sin cuerpo de respuesta

El caso más común: el transportista lleva mercancías amparadas por NF-e dentro del mismo estado y el vendedor paga el flete. El bloque siguiente lista solo los campos a enviar; todo lo que no aparece queda fuera.

Solicitud completa

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*
stringIdentificador de la solicitud
ambienteEmissao*
stringAmbiente
natureza*
stringNaturaleza de la operación
cfop*
stringCFOP
tipo*
stringTipo del documento
tipoServico*
stringTipo de servicio
modal*
stringModal
tomador*
stringTomador
indicadorIeTomador*
stringSituación del tomador
*
objectMunicipio de origen
*
objectMunicipio de destino
*
objectRemitente
*
objectDestinatario
*
objectCarga
*
objectDocumentos de la carga
*
objectDatos por carretera
*
objectValor del flete
*
objectTributos

* Campo obligatorio