← InícioFleetPay / Schema

ContraCteLoteInput

Estrutura preservada do contrato versionado da API.

Descrições técnicas preservadas do contrato versionado. Exemplos de dados foram omitidos da cópia pública.

ctesarrayObrigatório

Cada item é a chave (string) ou um objeto com chave e os campos opcionais.

minItems1
motoristaobjectObrigatório
placastringObrigatório
pattern"^[A-Za-z]{3}[0-9][A-Za-z0-9][0-9]{2}$"
valoresobjectOpcional
tipo_servicointeger | nullOpcional

ide/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 · null
repasseobjectOpcional

Opcional. 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 | nullOpcional

Identificador seu, devolvido em external_reference.

maxLength64
subcontratadaobjectOpcional

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

Definição JSON Completa
{
  "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)."
        }
      }
    }
  }
}