ctesarrayObrigatórioCada item é a chave (string) ou um objeto com chave e os campos opcionais.
minItems1Descrições técnicas preservadas do contrato versionado. Exemplos de dados foram omitidos da cópia pública.
ctesarrayObrigatórioCada item é a chave (string) ou um objeto com chave e os campos opcionais.
minItems1motoristaobjectObrigatórioplacastringObrigatóriopattern"^[A-Za-z]{3}[0-9][A-Za-z0-9][0-9]{2}$"valoresobjectOpcionalorigemobjectOpcionaldestinoobjectOpcionaltipo_servicointeger | nullOpcionalide/tpServ dos contra-CT-e do lote: 1 subcontratação (padrão), 2 redespacho,
3 redespacho intermediário. Sobrescrevível por chave (ctes[].tipo_servico) e por
perna (pernas[].tipo_servico). Em 2/3 o trecho (origem e destino) é obrigatório.
1 · 2 · 3 · nullrepasseobjectOpcionalOpcional. Sem este bloco o lote é só fiscal: emite os contra-CT-e e não cria grupo de
repasse, parcela, ROUTE de perna nem neutraliza o repasse da origem — as linhas emitidas voltam
com financeiro: "nenhum". Com o bloco, o CT-e de origem — na conta da contratante — entra
num grupo de repasse dela com estas parcelas e o motorista do lote: quem paga o motorista é a
contratante, e a subcontratada nunca ganha documento financeiro. O payments manda o dinheiro
para a conta de motorista (PF) ou para a Conta Operação da transportadora dele (PJ). Exige o
opt-in da contratante; sem ele a linha volta financeiro: "nenhum" com
motivo: contratante_sem_opt_in.
referencia_externastring | nullOpcionalIdentificador seu, devolvido em external_reference.
maxLength64subcontratadaobjectOpcionalEm nome da subcontratada. A chamada é da CONTRATANTE (chave de API dela) e o lote nasce
na conta da subcontratada deste CNPJ — certificado, numeração, caixa fiscal, motorista e
veículo dela. Exige a autorização concedida pela subcontratada em
POST /fiscal/cte-subcontratacao/autorizacoes; sem ela, 403 emissao_nao_autorizada;
CNPJ que não é cliente, 404 subcontratada_nao_encontrada. O próprio CNPJ é aceito e não
muda nada. Com repasse, o opt-in da contratante é implícito: ela mesma pediu a emissão.
{
"type": "object",
"required": [
"ctes",
"motorista",
"placa"
],
"properties": {
"ctes": {
"type": "array",
"minItems": 1,
"description": "Cada item é a chave (string) ou um objeto com `chave` e os campos opcionais.",
"items": {
"oneOf": [
{
"type": "string",
"minLength": 44,
"maxLength": 44
},
{
"$ref": "#/components/schemas/ContraCteLoteItem"
}
]
}
},
"motorista": {
"type": "object",
"required": [
"cpf"
],
"properties": {
"cpf": {
"type": "string",
"description": "CPF do motorista (com ou sem pontuação). No lote de pernas é o padrão das pernas sem motorista próprio."
}
}
},
"placa": {
"type": "string",
"pattern": "^[A-Za-z]{3}[0-9][A-Za-z0-9][0-9]{2}$"
},
"valores": {
"type": "object",
"properties": {
"frete_bruto": {
"type": "number",
"minimum": 0.01,
"description": "Rateia `total ÷ N` entre as chaves/pernas (resíduo de centavos nas últimas). Exclusivo com `valor` por chave/perna."
}
}
},
"origem": {
"$ref": "#/components/schemas/ContraCteLoteRota"
},
"destino": {
"$ref": "#/components/schemas/ContraCteLoteRota"
},
"tipo_servico": {
"type": [
"integer",
"null"
],
"enum": [
1,
2,
3,
null
],
"description": "`ide/tpServ` dos contra-CT-e do lote: `1` subcontratação (padrão), `2` redespacho,\n`3` redespacho intermediário. Sobrescrevível por chave (`ctes[].tipo_servico`) e por\nperna (`pernas[].tipo_servico`). Em `2`/`3` o trecho (`origem` e `destino`) é obrigatório.\n"
},
"repasse": {
"type": "object",
"required": [
"parcelas"
],
"description": "**Opcional.** Sem este bloco o lote é **só fiscal**: emite os contra-CT-e e não cria grupo de\nrepasse, parcela, ROUTE de perna nem neutraliza o repasse da origem — as linhas emitidas voltam\ncom `financeiro: \"nenhum\"`. Com o bloco, o CT-e de origem — na conta da **contratante** — entra\nnum grupo de repasse dela com estas parcelas e o motorista do lote: quem paga o motorista é a\ncontratante, e a subcontratada nunca ganha documento financeiro. O payments manda o dinheiro\npara a conta de motorista (PF) ou para a Conta Operação da transportadora dele (PJ). Exige o\nopt-in da contratante; sem ele a linha volta `financeiro: \"nenhum\"` com\n`motivo: contratante_sem_opt_in`.\n",
"properties": {
"parcelas": {
"type": "array",
"minItems": 1,
"maxItems": 3,
"description": "Posições contíguas a partir de 1; percentuais somam 100.",
"items": {
"$ref": "#/components/schemas/ContraCteLoteParcela"
}
}
}
},
"referencia_externa": {
"type": [
"string",
"null"
],
"maxLength": 64,
"description": "Identificador seu, devolvido em `external_reference`."
},
"subcontratada": {
"type": "object",
"required": [
"cnpj"
],
"description": "**Em nome da subcontratada.** A chamada é da CONTRATANTE (chave de API dela) e o lote nasce\nna conta da subcontratada deste CNPJ — certificado, numeração, caixa fiscal, motorista e\nveículo dela. Exige a autorização concedida pela subcontratada em\n`POST /fiscal/cte-subcontratacao/autorizacoes`; sem ela, `403 emissao_nao_autorizada`;\nCNPJ que não é cliente, `404 subcontratada_nao_encontrada`. O próprio CNPJ é aceito e não\nmuda nada. Com `repasse`, o opt-in da contratante é implícito: ela mesma pediu a emissão.\n",
"properties": {
"cnpj": {
"type": "string",
"description": "CNPJ da subcontratada (com ou sem pontuação)."
}
}
}
}
}