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" } }