Sumário
GET /auth/login-token/{cpfcnpj}/{senha}
| Parâmetro |
Tipo |
Obrigatório |
Descrição |
| cpfcnpj |
String |
Sim |
CPF ou CNPJ do usuário |
| senha |
String |
Sim |
Senha do usuário |
Resposta:
Exemplo Resposta 200:
{
"token": "...",
"duration": 12000,
"pessoa": {
"nome": "Luiz Henrique Padilha",
"acessarResourceDebitoApi": false,
"acessarResourceHidrometroApi": true
}
}
Exemplo Resposta 401:
{
"status": 401,
"message": "usuário ou senha inválidos"
}
POST /api/hidrometro/ordem-servico-trocahd-completa
Headers:
| Nome |
Tipo |
Descrição |
| Authorization |
String |
Bearer Token JWT |
| Content-Type |
String |
application/json |
Body:
Exemplo de Body:
{
"numeroUnidadeConsumidora": 123456,
"matriculaFuncionarioAbertura": "1234",
"observacaoTexto": "Troca para telemetria",
"matriculaFuncionarioExecucao": "311",
"dataRetiradaHD": "05/06/2025",
"dataInstalacaoHD": "05/06/2025",
"leituraAtualRetirada": 1,
"leituraAtualInstalacao": 2,
"numeroHidrometroRetirada": "Y15L890783",
"parecerTexto": "Substituição necessária",
"hidrometroInstalado": {
"numero": "Y15L8907831",
"diametro": null,
"vazao": null,
"codigoRadioTelemetria": null,
"leituraPorTelemetria": true
}
}
Resposta:
Exemplo Resposta 200:
{
"result": 1001,
"mensagem": "Processado com sucesso",
"erros": [],
"errosCodigo": []
}
Exemplo Resposta 400:
{
"result": null,
"mensagem": "Erro ao processar a requisição",
"erros": [
Já existe uma ordem de serviço com os seguintes filtros: unidade consumidora e hidrômetro instalação,
Não é permitida a troca de hidrômetro. A unidade consumidora está vinculada a uma remessa de leitura não concluída,
Funcionário não encontrado para a matrícula informada,
Leitura anterior não encontrada com os seguintes filtros: unidade consumidora e data de retirada,
Não é permitida a conclusão da troca de hidrômetro, pois a última leitura indica que o hidrômetro atual é igual ao novo,
Unidade consumidora não encontrada para o número informado,
Padrão data inválido, deve ser informado com padrão: dd/MM/yyyy,
Serviço de abertura não encontrado no sistema,
Já existe uma ordem de serviço aberta com os seguintes filtros: unidade consumidora e serviço,
JSON inválido, verifique se todos os campos obrigatórios estão informados,
Leitura de retirada inválida, leitura de retirada deve ser maior que a leitura anterior
],
"errosCodigo": [2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14]
}
POST /api/hidrometro/ordem-servico-abertura-completa
Headers:
| Nome |
Tipo |
Descrição |
| Authorization |
String |
Bearer Token JWT |
| Content-Type |
String |
application/json |
Body:
Exemplo de Body:
{
"numeroUnidadeConsumidora": 123456,
"matriculaFuncionarioAbertura": "1234",
"observacaoTexto": "Troca para telemetria",
"matriculaFuncionarioExecucao": "311",
"dataInstalacaoHD": "05/06/2025",
"leituraAtualInstalacao": 2,
"parecerTexto": "Substituição necessária",
"hidrometroInstalado": {
"numero": "Y15L8907831",
"diametro": null,
"vazao": null,
"codigoRadioTelemetria": null,
"leituraPorTelemetria": true
}
}
Resposta:
Exemplo Resposta 200:
{
"result": 1001,
"mensagem": "Processado com sucesso",
"erros": [],
"errosCodigo": []
}
Exemplo Resposta 400:
{
"result": null,
"mensagem": "Erro ao processar a requisição",
"erros": [
Já existe uma ordem de serviço com os seguintes filtros: unidade consumidora e hidrômetro instalação,
Não é permitida a troca de hidrômetro. A unidade consumidora está vinculada a uma remessa de leitura não concluída,
Funcionário não encontrado para a matrícula informada,
Não é permitida a conclusão da troca de hidrômetro, pois a última leitura indica que o hidrômetro atual é igual ao novo,
Unidade consumidora não encontrada para o número informado,
Padrão data inválido, deve ser informado com padrão: dd/MM/yyyy,
Serviço de abertura não encontrado no sistema,
Já existe uma ordem de serviço aberta com os seguintes filtros: unidade consumidora e serviço,
JSON inválido, verifique se todos os campos obrigatórios estão informados
],
"errosCodigo": [2, 3, 4, 6, 7, 9, 10, 11, 13]
}
GET /api/hidrometro/has-remessa-leitura-andamento/{numeroUnidade}
| Parâmetro |
Tipo |
Obrigatório |
Descrição |
| numeroUnidade |
Integer |
Sim |
Número da unidade consumidora |
Headers:
| Nome |
Tipo |
Descrição |
| Authorization |
String |
Bearer Token JWT |
| Content-Type |
String |
application/json |
Resposta:
Exemplo Resposta 200:
{
"result": true,
"mensagem": "Processado com sucesso",
"erros": [],
"errosCodigo": []
}
Exemplo Resposta 400:
{
"result": null,
"mensagem": "Erro ao processar a requisição",
"erros": [
Unidade consumidora não encontrada para o número informado
],
"errosCodigo": [7]
}
GET /api/hidrometro/rotas-em-remessa-nao-concluida
Headers:
| Nome |
Tipo |
Descrição |
| Authorization |
String |
Bearer Token JWT |
| Content-Type |
String |
application/json |
Resposta:
Exemplo Resposta 200:
{
"result": [
{
"codigo": 10,
"descricao": "ROTA 10"
},
{
"codigo": 90,
"descricao": "ROTA 90"
}
],
"mensagem": "Processado com sucesso",
"erros": [],
"errosCodigo": []
}
Códigos de Erro
| Código |
Descrição |
| 1 |
Usuário ou senha inválidos |
| 2 |
Já existe uma ordem de serviço com os seguintes filtros: unidade consumidora e hidrômetro instalação |
| 3 |
Não é permitida a troca de hidrômetro. A unidade consumidora está vinculada a uma remessa de leitura não
concluída
|
| 4 |
Funcionário não encontrado para a matrícula informada |
| 5 |
Leitura anterior não encontrada com os seguintes filtros: unidade consumidora e data de retirada |
| 6 |
Não é permitida a conclusão da troca de hidrômetro, pois a última leitura indica que o hidrômetro atual é igual ao novo |
| 7 |
Unidade consumidora não encontrada para o número informado |
| 8 |
Serviço de troca de hidrômetro não encontrado |
| 9 |
Padrão data inválido, deve ser informado com padrão: dd/MM/yyyy |
| 10 |
Serviço de abertura não encontrado no sistema |
| 11 |
Já existe uma ordem de serviço aberta com os seguintes filtros: unidade consumidora e serviço |
| 13 |
JSON inválido, verifique se todos os campos obrigatórios estão informados |
| 14 |
Leitura de retirada inválida, leitura de retirada deve ser maior que a leitura anterior |
Tabelas
OrdemServicoTrocaHDCompletaVO
| Campo |
Tipo |
Descrição |
| numeroUnidadeConsumidora | Integer | Número da unidade consumidora |
| matriculaFuncionarioAbertura | String | Matrícula do funcionário que abriu a OS |
| observacaoTexto | String | Observações gerais |
| matriculaFuncionarioExecucao | String | Matrícula do executor da OS |
| dataRetiradaHD | String (dd/MM/yyyy) | Data de retirada do hidrômetro |
| dataInstalacaoHD | String (dd/MM/yyyy) | Data de instalação do novo hidrômetro |
| leituraAtualRetirada | Integer | Leitura do hidrômetro retirado |
| leituraAtualInstalacao | Integer | Leitura inicial do novo hidrômetro |
| numeroHidrometroRetirada | String | Número de série do hidrômetro retirado |
| parecerTexto | String | Parecer técnico sobre a troca |
| hidrometroInstalado | HidrometroVO | Tabela com dados do novo hidrômetro |
OrdemServicoAberturaCompletaVO
| Campo |
Tipo |
Descrição |
| numeroUnidadeConsumidora | Integer | Número da unidade consumidora |
| matriculaFuncionarioAbertura | String | Matrícula do funcionário que abriu a OS |
| observacaoTexto | String | Observações gerais |
| matriculaFuncionarioExecucao | String | Matrícula do executor da OS |
| dataInstalacaoHD | String (dd/MM/yyyy) | Data de instalação do novo hidrômetro |
| leituraAtualInstalacao | Integer | Leitura inicial do novo hidrômetro |
| parecerTexto | String | Parecer técnico sobre a troca |
| hidrometroInstalado | HidrometroVO | Tabela com dados do novo hidrômetro |
HidrometroVO
| Campo |
Tipo |
Descrição |
| numero | String | Número de série do hidrômetro |
| diametro | String | Diâmetro do hidrômetro (opcional) |
| vazao | String | Vazão nominal (opcional) |
| codigoRadioTelemetria | Integer | Código da telemetria, se houver |
| leituraPorTelemetria | Boolean | Indica se a leitura é via telemetria |
ResponseHidrometroVO
| Campo |
Tipo |
Descrição |
| result | Object | Resultado da operação e seu tipo é definido em cada endpoint |
| mensagem | String | Mensagem descritiva com o status da operação |
| erros | Array<String> | Lista textual de erros ocorridos durante o processamento da requisição |
| errosCodigo | Array<Integer> | Códigos numéricos correspondentes aos erros (referenciam a seção Códigos de Erro) |
ResponseAuth
| Campo |
Tipo |
Descrição |
| token | String | Token jwt |
| duration | Integer | Duração do token em segundos |
| user | User | Usuário autenticado |
User
| Campo |
Tipo |
Descrição |
| nome | String | Nome do usuário |
| acessarResourceDebitoApi | Boolean | Acesso permitido a resource de débito |
| acessarResourceHidrometroApi | Boolean | Acesso permitido a resource de hidrômetro |
RotaSaneamentoVO
| Campo |
Tipo |
Descrição |
| codigo | Integer | Código |
| descricao | String | Descrição |