Escopo do projeto "Endpoint Genérica Protheus".


O endpoint consiste em permitir a consulta, inclusão, edição e exclusão de registros dentro do ERP Protheus a partir de um único endereço e método, no caso método POST. 


Para o uso correto do endpoint é necessário o conhecimento prévio das tabelas, campos e regras de negócios do Protheus, já que o endpoint não fará nenhum tipo de tratamento como execução de triggers, cálculos, preenchimento de campos obrigatórios, consistência de dados, popular tabelas auxiliares, etc, ou seja, toda a responsabilidade de garantir o preenchimento correto de campos e tabelas é da aplicação externa que utilizará o endpoint genérico.


Abaixo segue a especificação da estrutura Json necessária para as requisições:


  • Consulta


{
"method": "GET",
"query": "SELECT * FROM SA1010 WHERE D_E_L_E_T_=''"
}


  • Inclusão


{
"method": "POST",
"table": "SA1",
"fields" : {
"A1_FILIAL": "",
"A1_COD": "000001",
"A1_LOJA": "01",
"A1_NOME": "TESTE"
}
}


  • Alteração: para realizar a alteração, é necessário enviar o índice para a pesquisa, que será realizada através dos campos já informados no campo "fields", lembrando que a alteração será realizada em todos os registros que atenderem a condição do índice.


{
"method": "PATH",
"table": "SA1",
"index": 1,
"fields" : {
"A1_FILIAL": "",
"A1_COD": "000001",
"A1_LOJA": "01",
"A1_NOME": "TESTE"
}
}


  • Exclusão: para realizar a exclusão, é necessário enviar o índice para a pesquisa, que será realizada através dos campos já informados no campo "fields", lembrando que a exclusão será realizada em todos os registros que atenderem a condição do índice. No caso de exclusão não é necessário enviar todos os campos, apenas os campos que compões o índice.


{
"method": "DELETE",
"table": "SA1",
"index": 1,
"fields" : {
"A1_FILIAL": "",
"A1_COD": "000001",
"A1_LOJA": "01"
}
}