xmlstringObligatorioXML del CT-e, sin codificar o en base64. Acepta cteProc (con protocolo) o CTe.
maxLength2097152Parámetros, estructura de datos y respuestas del contrato versionado.
/fiscal/cte-emitidosLas descripciones técnicas se traducen del contrato versionado. Se conservan los identificadores y el JSON originales; se omiten los ejemplos de datos.
Entrega a FleetPay el XML de un CT-e emitido por tu propia empresa transportista. Así entra el documento en el flujo operativo y financiero de la plataforma: servicio, entrega y cuenta por cobrar.
Antes, este flujo dependía de un socio externo de almacenamiento XML: un proceso nuestro recuperaba allí el documento. Ese proceso opera sobre un único CNPJ, por lo que atiende a una sola empresa.
Aquí entrega el documento tu sistema, autenticado con tu credencial. El documento sigue el mismo procesamiento; solo cambia quién lo entrega.
Hay tres formas, elige una:
application/json con el campo xml: XML sin codificar o en base64. La codificación se detecta por el contenido; no requiere un indicador.multipart/form-data con el campo arquivo.Acepta cteProc (con protocolo) o CTe sin procesar, hasta 2 MB.
No necesitas preparar otro payload. Se leen la clave de acceso, fecha de emisión, emisor (tu transportista), tomador del servicio de transporte (por el código toma, sea remitente, expedidor, receptor, destinatario o el grupo toma4), ruta (origen y destino, también en redespacho), importe del servicio y clave de la NF-e transportada.
La operación es idempotente por clave de acceso. El primer envío devuelve 201; los siguientes devuelven 200 con first_reception: false y no reprocesan el documento. Los reintentos de red y el reprocesamiento nocturno no generan servicios duplicados ni errores.
cnpj_carrier se lee del grupo emit del XML y debe corresponder al transportista autenticado. Un CT-e de otra empresa se rechaza. El CT-e del contratante, que origina tu contra-CT-e, se entrega mediante POST /fiscal/cte-subcontratacao.
[
{
"oauth2": []
},
{
"chaveApi": []
}
]No hay parámetros declarados para esta operación.
Obligatorio
application/jsonxmlstringObligatorioXML del CT-e, sin codificar o en base64. Acepta cteProc (con protocolo) o CTe.
maxLength2097152multipart/form-dataarquivostring · binaryObligatorioXML del CT-e, hasta 2 MB.
200 Respuesta HTTPDocumento entregado anteriormente. La operación es idempotente: no se reprocesa nada y first_reception es false.
application/jsondataobjectObligatorioenvironmentobjectObligatorioX-Request-IdIdentificador de correlación de la llamada.
201 Respuesta HTTPCT-e recibido por primera vez y enviado a procesamiento.
application/jsondataobjectObligatorioenvironmentobjectObligatorioX-Request-IdIdentificador de correlación de la llamada.
400 Respuesta HTTPPayload inválido.
X-Request-IdIdentificador de correlación de la llamada.
401 Respuesta HTTPClave de API FleetPay ausente o no válida.
X-Request-IdIdentificador de correlación de la llamada.
403 Respuesta HTTPÁmbito fiscal deshabilitado en la clave, o clave sin transportista activo.
X-Request-IdIdentificador de correlación de la llamada.
422 Respuesta HTTPPayload inválido, requisito pendiente o regla de negocio.
X-Request-IdIdentificador de correlación de la llamada.
429 Respuesta HTTPLímite por transportista excedido.
X-Request-IdIdentificador de correlación de la llamada.
Retry-AfterSegundos hasta un nuevo intento.
500 Respuesta HTTPFallo interno sin detalles de las integraciones operativas.
X-Request-IdIdentificador de correlación de la llamada.
{
"tags": [
"CT-e emitidos"
],
"summary": "Entregar um CT-e emitido pela sua transportadora",
"description": "Entrega à FleetPay o XML de um CT-e que a **sua própria transportadora emitiu**. É por\naqui que o documento entra no fluxo operacional e financeiro da plataforma: vira serviço,\nentrega e recebível.\n\n## Por que existe\n\nAté aqui esse caminho dependia de um parceiro externo de armazenamento de XML: um\nprocesso nosso ia buscar o documento lá e trazia para dentro. Aquele processo opera sobre\num único CNPJ, então atende uma empresa e mais nenhuma.\n\nAqui quem entrega é o **seu sistema**, autenticado pela sua credencial. O documento segue\nexatamente o mesmo processamento de sempre — o que muda é quem traz.\n\n## Como enviar\n\nTrês formas, escolha uma:\n\n- `application/json` com o campo `xml` — o XML cru **ou em base64**. A codificação é\n detectada pelo conteúdo; não há flag a acertar.\n- `multipart/form-data` com o campo `arquivo`.\n\nAceita o `cteProc` (com protocolo) ou o `CTe` cru, até 2 MB.\n\n## O que a FleetPay lê do XML\n\nVocê não monta payload nenhum — o XML basta. São lidos: a chave de acesso, a data de\nemissão, o emitente (a sua transportadora), o **tomador do frete** (pelo código `toma`,\nseja ele remetente, expedidor, recebedor, destinatário ou o grupo `toma4`), a rota\n(origem e destino, inclusive nos casos de redespacho), o valor da prestação e a chave da\nNF-e transportada.\n\n## Reenviar é seguro\n\nA operação é **idempotente pela chave de acesso**. O primeiro envio responde `201`; os\nseguintes respondem `200` com `first_reception: false` e **não reprocessam** o documento.\nRetry de rede e reprocessamento noturno não criam serviço duplicado nem erro.\n\n## Só o CT-e em que você é a emitente\n\nO `cnpj_carrier` é lido do grupo `emit` do XML e precisa ser o da transportadora\nautenticada. Um CT-e de outra empresa é recusado — o CT-e da contratante, que dá origem\nao seu contra-CT-e, entra por `POST /fiscal/cte-subcontratacao`.\n",
"operationId": "receiveEmittedCte",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EmittedCteInput"
}
},
"multipart/form-data": {
"schema": {
"type": "object",
"required": [
"arquivo"
],
"properties": {
"arquivo": {
"type": "string",
"format": "binary",
"description": "XML do CT-e, até 2 MB."
}
}
}
}
}
},
"responses": {
"200": {
"$ref": "#/components/responses/EmittedCteAlreadyKnown"
},
"201": {
"$ref": "#/components/responses/EmittedCteAccepted"
},
"400": {
"$ref": "#/components/responses/ValidationFailed"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"422": {
"$ref": "#/components/responses/ValidationOrBusinessRuleFailed"
},
"429": {
"$ref": "#/components/responses/RateLimited"
},
"500": {
"$ref": "#/components/responses/InternalError"
}
},
"method": "POST",
"path": "/fiscal/cte-emitidos",
"parameters": []
}