← InicioFleetPay / API

Entregar un CT-e emitido por tu transportista

Parámetros, estructura de datos y respuestas del contrato versionado.

POST/fiscal/cte-emitidos
receiveEmittedCteBase de Pruebas: https://api.fleetpay.site/v1

Las 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.

Finalidad

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.

Envío

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.

Qué Lee FleetPay del XML

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.

Reenvío Seguro

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.

Solo Documentos Emitidos por Tu Transportista

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.

Autenticación

[
  {
    "oauth2": []
  },
  {
    "chaveApi": []
  }
]
La disponibilidad depende del entorno, los permisos habilitados y el proveedor. Esta referencia no ejecuta solicitudes ni recibe credenciales.

Parámetros

No hay parámetros declarados para esta operación.

Cuerpo de la Solicitud

Obligatorio

application/json

xmlstringObligatorio

XML del CT-e, sin codificar o en base64. Acepta cteProc (con protocolo) o CTe.

maxLength2097152

multipart/form-data

arquivostring · binaryObligatorio

XML del CT-e, hasta 2 MB.

Respuestas

200 Respuesta HTTP

Documento entregado anteriormente. La operación es idempotente: no se reprocesa nada y first_reception es false.

application/json

Headers

X-Request-Id

Identificador de correlación de la llamada.

201 Respuesta HTTP

CT-e recibido por primera vez y enviado a procesamiento.

application/json

Headers

X-Request-Id

Identificador de correlación de la llamada.

400 Respuesta HTTP

Payload inválido.

application/json

Headers

X-Request-Id

Identificador de correlación de la llamada.

401 Respuesta HTTP

Clave de API FleetPay ausente o no válida.

application/json

Headers

X-Request-Id

Identificador de correlación de la llamada.

403 Respuesta HTTP

Ámbito fiscal deshabilitado en la clave, o clave sin transportista activo.

application/json

Headers

X-Request-Id

Identificador de correlación de la llamada.

422 Respuesta HTTP

Payload inválido, requisito pendiente o regla de negocio.

application/json

Headers

X-Request-Id

Identificador de correlación de la llamada.

429 Respuesta HTTP

Límite por transportista excedido.

application/json

Headers

X-Request-Id

Identificador de correlación de la llamada.

Retry-After

Segundos hasta un nuevo intento.

500 Respuesta HTTP

Fallo interno sin detalles de las integraciones operativas.

application/json

Headers

X-Request-Id

Identificador de correlación de la llamada.

Definición Completa de la Operación
{
  "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": []
}