cte_uuidpath · stringObligatorioUUID público del CT-e.
Restricciones
{
"type": "string",
"format": "uuid"
}Parámetros, estructura de datos y respuestas del contrato versionado.
/fiscal/cte/{cte_uuid}/subcontratacaoLas descripciones técnicas se traducen del contrato versionado. Se conservan los identificadores y el JSON originales; se omiten los ejemplos de datos.
La contratante declara a quién subcontrató un CT-e que emitió mediante FleetPay, y su XML autorizado llega a la bandeja fiscal de la subcontratada, exactamente como si esta lo hubiera enviado mediante POST /fiscal/cte-subcontratacao.
Sin este paso, aunque ambas empresas estuvieran en FleetPay, el ERP de la subcontratada tenía que reenviar un documento que la plataforma ya poseía; omitirlo provocaba que el lote de contra-CT-e respondiera "CT-e original não recebido" (CT-e original no recibido).
cte_nao_autorizado en caso contrario); el XML transferido es, byte por byte, el archivado en la autorización.subcontratada_nao_encontrada, subcontratada_nao_transportadora) y no puede ser la misma empresa (subcontratada_igual_contratante).201 en la primera entrega y 200 en las siguientes.POST /fiscal/cte/contra o POST /fiscal/cte-subcontratacao/lote).Depende de la versión que incluya el PR core#1459.
[
{
"oauth2": []
},
{
"chaveApi": []
}
]cte_uuidpath · stringObligatorioUUID público del CT-e.
{
"type": "string",
"format": "uuid"
}Obligatorio
application/jsonsubcontratadaobjectObligatorioobservacaostring | nullOpcionalmaxLength255200 Respuesta HTTPReenvío: la bandeja de la subcontratada ya contenía el documento (received_count incrementado).
201 Respuesta HTTPPrimera entrega: el CT-e entró en la bandeja de la subcontratada.
application/jsondataobjectOpcionalenvironmentobjectOpcionalX-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.
404 Respuesta HTTPRecurso no encontrado en el tenant autenticado.
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.
503 Respuesta HTTPXML archivado no disponible en este momento (xml_indisponivel): inténtalo de nuevo.
{
"tags": [
"CT-e de subcontratação"
],
"summary": "Repassar o CT-e à subcontratada (ponte da subcontratação)",
"operationId": "declareCteSubcontracting",
"description": "A **contratante** declara a quem subcontratou um CT-e que ela emitiu pela FleetPay — e o\nXML autorizado dele cai na caixa fiscal da **subcontratada**, exatamente como se ela o\ntivesse entregue em `POST /fiscal/cte-subcontratacao`.\n\nSem isto, com as duas empresas na FleetPay, o ERP da subcontratada precisava reenviar um\ndocumento que a plataforma já tinha; esquecer esse passo fazia o lote de contra-CT-e\nresponder \"CT-e original não recebido\".\n\n- Só CT-e **autorizado** (`cte_nao_autorizado` caso contrário); o XML repassado é o\n arquivado na autorização, byte a byte.\n- A subcontratada precisa ser uma transportadora cliente FleetPay\n (`subcontratada_nao_encontrada`, `subcontratada_nao_transportadora`) e não pode ser a\n própria empresa (`subcontratada_igual_contratante`).\n- A caixa de destino é a do **ambiente do CT-e**; a recepção é idempotente pela chave:\n `201` na primeira entrega, `200` nas seguintes.\n- Nada financeiro acontece aqui; a partir daí a subcontratada segue o fluxo normal\n (`POST /fiscal/cte/contra` ou `POST /fiscal/cte-subcontratacao/lote`).\n\nDepende do release que leva o PR core#1459.\n",
"parameters": [
{
"$ref": "#/components/parameters/CteUuid"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"subcontratada"
],
"properties": {
"subcontratada": {
"type": "object",
"required": [
"cnpj"
],
"properties": {
"cnpj": {
"type": "string",
"description": "CNPJ da transportadora subcontratada (com ou sem máscara; aceita CNPJ alfanumérico)."
}
}
},
"observacao": {
"type": [
"string",
"null"
],
"maxLength": 255
}
}
}
}
}
},
"responses": {
"200": {
"description": "Reenvio — a caixa da subcontratada já tinha o documento (`received_count` somado)."
},
"201": {
"description": "Primeira entrega — o CT-e entrou na caixa da subcontratada.",
"headers": {
"X-Request-Id": {
"$ref": "#/components/headers/RequestId"
}
},
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"cte": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"access_key": {
"type": "string"
}
}
},
"subcontratada": {
"type": "object",
"properties": {
"cnpj": {
"type": "string"
},
"nome": {
"type": [
"string",
"null"
]
}
}
},
"recebimento": {
"$ref": "#/components/schemas/InboundCteReceipt"
}
}
},
"environment": {
"$ref": "#/components/schemas/Environment"
}
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"422": {
"$ref": "#/components/responses/ValidationOrBusinessRuleFailed"
},
"429": {
"$ref": "#/components/responses/RateLimited"
},
"503": {
"description": "XML arquivado indisponível agora (`xml_indisponivel`) — tente novamente.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorEnvelope"
}
}
}
}
},
"method": "POST",
"path": "/fiscal/cte/{cte_uuid}/subcontratacao"
}