Consulta com filtros concatenados – API v1


Para criar múltiplos filtros, informe um array filter compondo as chaves e os valores conforme explicação a seguir. O uso de filtros concatenados está disponível apenas para:

  • Clientes
  • Fornecedores
  • Contratos
  • Produtos
  • Títulos a Receber

 

Clientes

Suponha que queremos consultar todos os clientes que possuam a palavra “TOP” no nome fantasia e emails   com o termo “gmail“.

Em SQL, teríamos:

SELECT * FROM SA1 WHERE SA1_Fantasia LIKE “%TOP%” AND SA1_Email LIKE “%gmail%”

Para atender a essa consulta na API v1 de clientes, devemos informar o seguinte array filter, observando que todo o comando deve ser escrito em letras minúsculas e com os filtros separados por &. Além daqueles já conhecidos, que são: o LIMIT que traz a quantidade informada até 40 registros e o OFFSET que mostra a partir de qual registro iniciará a apresentação dos dados.

http://implantacao.erpflex.com.br/api/clientes/?limit=20&offset=0&filter[0][field]=fantasia&filter[0][operator]=like&filter[0][value]=%Top%&filter[1][field]=email&filter[1][operator]=like&filter[1][value]=%gmail%

Para exemplificar com melhor visualização:

filter[0][field]=fantasia
filter[0][operator]=like
filter[0][value]=%Top%

filter[1][field]=email
filter[1][operator]=like
filter[1][value]=%gmail%

Se fosse desejar acrescentar mais um FILTER, defina como filter[2][field], e assim por diante. Não existe limite para concatenação de filtros.

Explicação do ARRAY:

NUMERO = identifica o FILTER que está sendo executado.

FIELD = variável chave para o filtro.

OPERATOR = identifica o operador relacional para pesquisa, segue o mesmo padrão da Instrução SQL.

VALUE = expressão objeto da pesquisa.

Importante: caso exista o termo & no nome Fantasia do ERPFlex, a API não trará retorno.

Observação:

Em alguns casos, é necessário que o programador informe o Encode para que consiga obter o resultado.

Exemplo:

http://implantacao.erpflex.com.br/api/clientes?filter[0][field]=nome&filter[0][operator]=like&filter[0][value]=%25Kaizen%25

O Encode é o mesmo apresentado quando utiliza-se o campo Parâmetros no HttpResquester.

Fornecedores, Contratos e Títulos a Receber

Funcionam da mesma maneira que Clientes, porém não possuem o LIMIT e OFFSET.

Exemplos:

http://implantacaoapi.erpflex.com.br/api/fornecedores/?filter[0][field]=nome&filter[0][operator]=like&filter[0]c[value]=%net%

 

http://implantacaoapi.erpflex.com.br/api/contratos/?filter[0][field]=assinatura&filter[0][operator]==&filter[0][value]=2017-03-20

 

http://implantacaoapi.erpflex.com.br/api/titulos_receber/?filter[0][field]=id_nota_saida&filter[0][operator]==&filter[0][value]=6565635

Produtos

Trabalha da mesma forma como Clientes. O filtro não trabalha com dados de tabelas relacionadas, como categoria e subcategoria.

http://implantacaoapi.erpflex.com.br/api/produtos/?limit=60&offset=0&filter[0][field]=tipo&filter[0][operator]==&filter[0][value]=SV&filter[1][field]=descricao&filter[1][operator]=like&filter[1][value]=%ass%