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.
https://sistema.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:
https://sistema.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:
Produtos
Trabalha da mesma forma como Clientes. O filtro não trabalha com dados de tabelas relacionadas, como categoria e subcategoria.