Histórico da Página
01. OBJETIVO
Fornecer meio de resgatar consultar e recuperar os dados para uma determinada consulta genérica relacional criada no sistema através de API REST.
Informações |
---|
Disponível a partir da lib |
02. COMO USAR
A partir de uma consulta .ngc criada no sistema é possível fazer a consulta usando o endpoint ilustrado no exemplo a seguir.
A consulta a seguir funciona para os casos que o arquivos está disponível dentro da pasta /system/
no sistema.GET host:[port][/uri]/api/framework/v1/genericRecords/{arquivo_da_consulta[.ngc]}
Bloco de código | ||||
---|---|---|---|---|
| ||||
{
"items": [
{
"a2_loja": "01",
"a2_cgc": "89652306000136",
"a2_cod": "0001",
"a2_nome": "BENJAMIN E GUSTAVO FILMAGENS LTDA",
"a2_filial": "00"
},
{
"a2_loja": "01",
"a2_cgc": "94330307000102",
"a2_cod": "0002",
"a2_nome": "ESTHER E MÁRIO TELECOMUNICAÇÕES LTDA",
"a2_filial": "00"
},
{
"a2_loja": "01",
"a2_cgc": "75185866000113",
"a2_cod": "0003",
"a2_nome": "LORENA E GIOVANNI LIMPEZA LTDA",
"a2_filial": "00"
}
],
"hasNext": true
} |
É possível realizar a exploração da API utilizando os recursos convencionados pelo padrão de APIs Totvs (vide link nos assuntos relacionados).
E com isso é recomendado que sejam recuperados os campos utilizados pela aplicação cliente com o uso de: page, pageSize e fields.
Como exemplo, o resultado da requisição anterior teve o resultado resumido utilizando os seguintes valores para filtro:
- host:[port][/uri]/api/framework/v1/genericRecords/fornecedores_basica?fields=a2_filial
, a2_cod, a2_loja, a2_nome, a2_cgc&page=1&pageSize=3
fornecedores_basica => nome da consulta criada no sistema
fields => lista de campos desejados no retorno da consulta
page => página de resultados desejada para o retorno dos valores
pageSize => quantidade de registros por página desejado
Para mais informações sobre estes controles na exploração dos dados veja o link nos assuntos relacionados.
03. SITUAÇÕES ESPECÍFICAS
Consultas gravadas em pastas fora da /system/
Para recuperar os dados de consultas que não têm o arquivo .ngc
gravado na pasta system pode ser informado o caminho através da propriedade folder
no header
da requisição. Essa propriedade permite que seja indicado um caminho a partir do protheus_data
onde a consulta deve ser encontrada.
Como exemplo considere que a consulta esteja na pasta .../protheus_data/consultas/uma_consulta_relacional.ngc
é necessário informar a proriedade folder: /consultas/
para o funcionamento adequado e recuperação dos dados.
Consultas com tabelas relacionadas e sem campos escolhidos
Quando uma consulta com duas ou mais tabelas for criada e nenhum campo seja escolhido para a exibição será realizado o retorno somente dos campos da tabela principal (primeira tabela). Este comportamento tem o objetivo de evitar o tráfego exagerado de dados das tabelas que prejudica o processamento tanto pelo servidor quanto pelo cliente.
Portanto sempre escolha deliberadamente os campos para exibição nas consultas, assim consultas SQL com * são evitadas e o serviço terá um desempenho melhor.
04. ASSUNTOS RELACIONADOS
Guia de implementação de API V2.0
...