[WIP] - Máquina | 2025 -
Tipo Envio: Balancete - Frota
Chave Unicidade
[ Exercício - Código Unidade Gestora - PlacaCódigo - Ano Modelo - Número RenavanFabricação - CPF/CNPJ Proprietário - CPF/CNPJ Locador ]
Objeto Raiz
Campo
Informações
timestamp
Campo utilizado para ordenar a validação das informações enviadas. Caso sejam enviados múltiplos payloads do mesmo tipo, a ordenação ocorrerá da data mais antiga para a mais recente
elementos
–
Item
Campo
Chave
Informações
placacodigo
✅
–
anoModelo
✅
–
numeroRenavananoFabricacao
✅
–
cpfCnpjProprietario
✅
–
cpfCnpjLocador
✅
–
numeroModelodescricao
–
–
tipoFrotatipoMaquina
–
Tabela Tipo Frota–
action
–
Define a operação a ser realizada com a informação, seja ela criação, atualização ou exclusão
Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Lista de Veículos"Máquinas" ,
"description": "Lista de objetos representando a entidade Veículo"Máquina" ,
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])T([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d)\\.\\d{3,6}$",
"examples": ["2025-09-11T15:30:00.123456"]
},
"elementos": {
"type": "array",
"uniqueItems": true,
"items": {
"title": "Veículo"Máquina" ,
"description": "Representação do schema para envio da entidade Veículo"Máquina" ,
"type": "object",
"properties": {
"placa"codigo" : {
"type": "string",
"minLength": 7,
"maxLength": 7
},
"anoModelo"anoFabricacao" : {
"type": "string",
"minLength": 4,
"maxLength": 4,
"pattern": "^[0-9]{4}$"
},
"numeroRenavan": {
"type": "string",
"minLength": 11,
"maxLength": 11,
"pattern": "^[0-9]+$"
},
"cpfCnpjProprietario": {
"type": "string",
"minLength": 11,
"maxLength": 14,
"pattern": "^[A-Z0-9]+$"
},
"cpfCnpjLocador": {
"type": "string",
"minLength": 11,
"maxLength": 14,
"pattern": "^[A-Z0-9]+$"
},
"numeroModelo"descricao" : {
"type": "string",
"minLength": 6,10,
"maxLength": 6,
"pattern": "^[0-9]+$"50
},
"tipoFrota"tipoMaquina" : {
"type": "string",
"minLength": 1,
"maxLength": 1,
"pattern": "^[0-9]+$"
},
"action": {
"type": "string",
"enum": [
"CREATE",
"UPDATE",
"DELETE"
]
}
},
"required": [
"placa"codigo" ,
"anoModelo",
"numeroRenavan"anoFabricacao" ,
"cpfCnpjProprietario",
"numeroModelo"descricao" ,
"tipoFrota"tipoMaquina" ,
"action"
],
"additionalProperties": false
}
}
},
"required": [
"timestamp",
"elementos"
],
"additionalProperties": false
}
Exemplo de Payload
{
"timestamp": "2025-09-11T15:30:00.123456",
"elementos": [
{
"placa"codigo" : "ABC1234"0000001" ,
"anoModelo"anoFabricacao" : "2022",
"numeroRenavan": "12345678901"2021" ,
"cpfCnpjProprietario": "12345678901234",
"cpfCnpjLocador": "00000000000000",
"numeroModelo"descricao" : "123456"Pá carregadeira amarela CAT 950" ,
"tipoFrota"tipoMaquina" : "1",
"action": "CREATE"
},
{
"placa"codigo" : "XYZ9876"0000002" ,
"anoModelo"anoFabricacao" : "2023",
"numeroRenavan": "98765432109"2020" ,
"cpfCnpjProprietario": "98765432109876",
"cpfCnpjLocador": "11111111111111",
"numeroModelo"descricao" : "654321"Escavadeira Hyundai HX220 modelo novo" ,
"tipoFrota"tipoMaquina" : "2",
"action": "UPDATE"
}
]
}
Regras
ID
Regra
VEICULO_DUPLICIDADE_NAO_PERMITIDAMAQUINA_DUPLICIDADE_NAO_PERMITIDA
Não é permitido cadastrar registros duplicados pela chave de unicidade
VEICULO_PROPRIETARIO_LOCADOR_MUDANCAMAQUINA_PROPRIETARIO_LOCADOR_MUDANCA
Caso o proprietário ou locador mude, deverá ser encaminhado o veículo novamente
VEICULO_PROPRIO_CNPJ_UNIDADE_GESTORAMAQUINA_PROPRIO_CNPJ_UNIDADE_GESTORA
Nos veículos próprios, o cnpj do proprietário será o da unidade gestora
VEICULO_PROPRIETARIO_CADASTRADOMAQUINA_PROPRIETARIO_CADASTRADO
O proprietário deve ter sido cadastrado para a Unidade Gestora
VEICULO_LOCADOR_CADASTRADOMAQUINA_LOCADOR_CADASTRADO
O locador deve ter sido cadastrado para a Unidade Gestora