CT-e
Emitir CT-e
Acepta un CT-e (modelo 57, modal por carretera) para autorización asíncrona en la SEFAZ.
/openapi/v2/empresas/{empresaId}/cteRequiere las cabeceras de firma token, timestamp y sign, vea Autenticación.
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
Parámetros de ruta
empresaIdstringobligatorioIdentificador de la empresa (transportista) devuelto en el registro.
Ejemplo:1934811222334455
Cuerpo de la petición
idstringobligatorioIdentificador del documento en el integrador; se usa como la variable de ruta
cteIden todas las llamadas siguientes.Ejemplo:CTE-ORD-1ambienteEmissaostringobligatorioDebe coincidir con el entorno actual de la empresa (
10017010).Valores:ProducaoHomologacaonaturezastringobligatorioNaturaleza de la operación (natOp), hasta 60 caracteres.
Ejemplo:PRESTACAO DE SERVICO DE TRANSPORTEcfopstringobligatorioCFOP de 4 dígitos.
Ejemplo:5353tipostringobligatorioTipo del CT-e.
ComplementarexigectesComplementados;SubstitutoexigecteSubstituido(10017015).Valores:NormalComplementarSubstitutotipoServicostringobligatorioTipo del servicio. Subcontratación / redespacho / redespacho intermedio exigen
documentosAnteriores.Valores:NormalSubcontratacaoRedespachoRedespachoIntermediarioVinculadoMultimodalmodalstringobligatorioSolo
Rodoviarioen la fase uno; otros modales se rechazan (10017018).tomadorstringobligatorioTomador del servicio.
Valores:RemetenteExpedidorRecebedorDestinatarioOutrosindicadorIeTomadorstringobligatorioIndicador de IE del tomador.
Contribuinteexige IE numérica en el tomador (10017013).retiraMercadoriabooleanopcionalSi el receptor retira la mercancía.
detalheRetirastringopcionalDetalles de la retirada, hasta 160 caracteres.
municipioEnvioobjectopcionalMunicipio de envío; por defecto es el municipio registrado de la empresa.
origemobjectobligatorioMunicipio de origen.
destinoobjectobligatorioMunicipio de destino.
remetenteobjectal menos uno entre `remetente` y `destinatario`Remitente. El participante referenciado por
tomadores obligatorio (10017012).destinatarioobjectal menos uno entre `remetente` y `destinatario`Destinatario.
expedidorobjectopcionalExpedidor (opcional).
recebedorobjectopcionalReceptor (opcional).
tomadorOutrosobjectobligatorio para `tomador=Outros`Tomador del servicio cuando no es ninguno de los cuatro participantes anteriores.
cargaobjectobligatorioCarga transportada.
documentosobjectobligatorio para documentos normalesDocumentos transportados; exactamente uno de los grupos
nfe/nf/outrospuede enviarse (10017014). Los documentos complementarios no exigendocumentos.documentosAnterioresarrayobligatorio para subcontratación / redespacho / redespacho intermedioDocumentos de transporte anteriores, una entrada por transportista anterior; prohibido en los demás tipos de servicio (
10017014).rodoviarioobjectobligatorioInformación del modal por carretera.
valorPrestacaoobjectobligatorioValores de la prestación del servicio.
impostosobjectobligatorioParámetros tributarios; las reglas completas están en la sección Parámetros tributarios más abajo.
cobrancaobjectopcionalFactura y cuotas (opcional).
cteSubstituidoobjectobligatorio para `tipo=Substituto`CT-e sustituido.
ctesComplementadosarrayobligatorio para `tipo=Complementar`Claves de los CT-e complementados (cadenas de 44 dígitos), de 1 a 10.
caracteristicasAdicionaisobjectopcionalCaracterísticas adicionales (opcional).
fluxoobjectopcionalFlujo / ruta del transporte (opcional).
entregaobjectopcionalVentana de entrega (opcional).
observacoesstringopcionalTexto libre, hasta 2000 caracteres.
observacoesContribuintearrayopcionalObservaciones del contribuyente, hasta 10.
observacoesFiscoarrayopcionalObservaciones al fisco, hasta 10.
autorizadosXmlarrayopcionalCPF / CNPJ autorizados a descargar el XML (cadenas), hasta 10.
Respuestas
Aceptado. Sin cuerpo; la autorización ocurre de forma asíncrona.
Sin cuerpo de respuesta
Errores
| Código | HTTP | |
|---|---|---|
| 10003000 | 404 |
|
| 10017004 | 400 | La empresa no puede emitir (no aprobada / certificado no listo). Espere la aprobación o vincule el certificado. |
| 10017005 | 400 | Solicitud duplicada concurrente. Reintente más tarde. |
| 10017006 | 400 | Demasiadas tareas pendientes para el CNPJ. Reintente más tarde. |
| 10017007 | 400 | Serie de numeración no resuelta (ninguna configurada, o varias habilitadas sin elección). Configure una serie del modelo 57. |
| 10017010 | 400 |
|
| 10017011 | 400 | Código IBGE de municipio no encontrado. Verifique |
| 10017012 | 400 | Participante ausente. Incluya el participante referenciado por |
| 10017013 | 400 | Tomador inconsistente con el indicador de IE. Ajuste |
| 10017014 | 400 | Referencias de documentos inválidas (ausentes, dígito verificador incorrecto, grupos mezclados, documentos anteriores inconsistentes con el tipo de servicio). |
| 10017015 | 400 | Tipo de documento inconsistente con las referencias. Envíe |
| 10017016 | 400 | La suma de los componentes difiere del total, o |
| 10017017 | 400 | RNTRC inválido. |
| 10017018 | 400 | Modal no soportado. |
| 10017019 | 400 | Enumeración o formato inválido; |
| 10017020 | 400 | Parámetro tributario ausente. |
| 10017021 | 400 | Parámetro tributario no permitido (por ejemplo |
| 10017022 | 400 | CST incompatible con el régimen de la empresa (Simples solo |
| 10017023 | 400 |
|
| 10017024 | 400 | Fila de la tabla de alícuotas ausente y ninguna alícuota explícita informada. |
| 10017025 | 400 | CST no soportado. |
| 10017030 | 400 | Mismo |
| 10017031 | 400 | Producción: ya existe un documento activo / autorizado para el |
| 10001001 | 400 | Falló la validación de campos (una entrada por campo); corrija según |
Parámetros tributarios (`impostos`)
| Campo | Descripción |
|---|---|
icms.situacaoTributaria (obligatorio) | 00 / 20 / 40 / 41 / 51 / 60 / 90 / 90-OutraUF / SN; debe corresponder al régimen de la empresa: Simples (CRT 1/4) solo SN, régimen normal nunca SN (10017022) |
icms.baseCalculo / aliquota / valor | Los valores explícitos prevalecen; en caso contrario la base es el total de la prestación, la alícuota viene de la tabla intraestatal o de la alícuota interestatal legal (7% o 12%) y el importe se calcula. Un servicio intraestatal sin fila en la tabla y sin alícuota explícita devuelve 10017024 |
icms.percentualReducaoBase | Obligatorio para CST 20; prohibido para CST 00 |
icms.valorDesonerado / codigoBeneficio | Opcionales para CST 20 / 40 / 41 / 51 / 60 / 90, por defecto 0.00 / SEM CBENEF |
icms.valorCredito | Opcional para CST 60 / 90 |
icms.stRetido | Obligatorio para CST 60: { "baseCalculo", "aliquota", "valor" } |
icms.outraUf | Opcional para 90-OutraUF: { "baseCalculo", "aliquota", "valor", "percentualReducaoBase" }, recayendo en icms.* |
icmsUfFim | Obligatorio en servicios interestatales con indicadorIeTomador=NaoContribuinte (10017023); prohibido en intraestatales. baseCalculo / percentualFcp / aliquotaInterna / aliquotaInterestadual / valorFcp / valorUfFim / valorUfIni son todos opcionales y recaen en la alícuota interna y en la tabla de FCP de la UF de destino |
percentualCargaTributaria | Porcentaje aproximado de carga tributaria, usado en vTotTrib |
informacoesFisco | Información adicional para el fisco (hasta 2000) |
ibsCbs | No disponible en la fase uno; rechazado cuando está presente (10017021) |
Rechazo por la SEFAZ
Los rechazos de la SEFAZ durante la emisión no son errores HTTP: aparecen como estado Negada en la consulta y como el webhook cte.rejected, con motivoStatus / cteMotivoStatus en el formato cStat - xMotivo. Un fallo terminal de la tarea (Falha) no envía callback; use la consulta.
