cte_uuidpath · stringObrigatórioUUID público do CT-e.
Restrições
{
"type": "string",
"format": "uuid"
}Parâmetros, estrutura de dados e respostas do contrato versionado.
/fiscal/cte/{cte_uuid}/subcontratacaoDescrições técnicas preservadas do contrato versionado. Exemplos de dados foram omitidos da cópia pública.
A contratante declara a quem subcontratou um CT-e que ela emitiu pela FleetPay — e o
XML autorizado dele cai na caixa fiscal da subcontratada, exatamente como se ela o
tivesse entregue em POST /fiscal/cte-subcontratacao.
Sem isto, com as duas empresas na FleetPay, o ERP da subcontratada precisava reenviar um documento que a plataforma já tinha; esquecer esse passo fazia o lote de contra-CT-e responder "CT-e original não recebido".
cte_nao_autorizado caso contrário); o XML repassado é o
arquivado na autorização, byte a byte.subcontratada_nao_encontrada, subcontratada_nao_transportadora) e não pode ser a
própria empresa (subcontratada_igual_contratante).201 na primeira entrega, 200 nas seguintes.POST /fiscal/cte/contra ou POST /fiscal/cte-subcontratacao/lote).Depende do release que leva o PR core#1459.
[
{
"oauth2": []
},
{
"chaveApi": []
}
]cte_uuidpath · stringObrigatórioUUID público do CT-e.
{
"type": "string",
"format": "uuid"
}Obrigatório
application/jsonsubcontratadaobjectObrigatórioobservacaostring | nullOpcionalmaxLength255200 Resposta HTTPReenvio — a caixa da subcontratada já tinha o documento (received_count somado).
201 Resposta HTTPPrimeira entrega — o CT-e entrou na caixa da subcontratada.
application/jsondataobjectOpcionalenvironmentobjectOpcionalX-Request-IdIdentificador de correlação da chamada.
401 Resposta HTTPChave de API FleetPay ausente ou inválida.
X-Request-IdIdentificador de correlação da chamada.
403 Resposta HTTPEscopo fiscal desabilitado na chave, ou chave sem transportadora ativa.
X-Request-IdIdentificador de correlação da chamada.
404 Resposta HTTPRecurso não encontrado no tenant autenticado.
X-Request-IdIdentificador de correlação da chamada.
422 Resposta HTTPPayload inválido, pendência ou regra de negócio.
X-Request-IdIdentificador de correlação da chamada.
429 Resposta HTTPLimite por transportadora excedido.
X-Request-IdIdentificador de correlação da chamada.
Retry-AfterSegundos até uma nova tentativa.
503 Resposta HTTPXML arquivado indisponível agora (xml_indisponivel) — tente novamente.
{
"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"
}