Dúvida
Como utilizar os filtros na requisição da API de Integração do TOTVS CRM?
Ambiente
Cross Segmentos - TOTVS CRM Gestão de Clientes - API de Integração - Todas as versões.
Solução
Para utilizar um filtro na requisição da API de Integração, basta adicionar a chave Integration-Filter no header com o valor que deseja filtrar, além das outras chaves da request, conforme imagem abaixo:
Note que, neste exemplo, é realizada uma request no serviço de oportunidades, uma busca pelo código 61. Dessa forma, a estrutura do filtro é a seguinte:
{campo->operador->valor}
É necessário que seja adicionada a operação dentro das chaves. Caso deseje adicionar mais de um filtro, basta acrescentar um novo conjunto de chaves sem separação por vírgula, conforme exemplo:
{code->eq->61}{status->eq->PROGRESS}
Nesse caso, o filtro trará apenas a oportunidade de código igual a 61 e status igual a PROGRESS.
1. Operadores lógicos para utilização nos filtros:
1.1. Operadores de igualdade:
- ISNull: Testar se um campo não possui um valor preenchido.
- EQ: Testar se um campo é igual a um valor constante.
- NE: Testar se um campo não é igual a um valor constante.
1.2. Operadores de intervalo
- GT: Testar se um campo é maior que um valor constante.
- lT: Testar se um campo é menor que um valor constante.
- GE: Testar se um campo é maior ou igual a um valor constante.
- LE: Testar se um campo é menor ou igual a um valor constante.
- IN: Testar se um campo possui valor igual a um dos valores da lista.
2. Campos de chave estrangeira
Para realizar um filtro por uma chave estrangeira, é necessário passar a entidade e o campo a ser filtrado. No caso de oportunidades, há o identificador de usuário que é retornado no campo userId.
Entretanto, para filtrar por um id específico de um usuário, é necessário referenciar a tabela user e o campo id da seguinte forma:
{user.id->eq->b69b712f-7bd6-357d-9cda-59959c89a2b1}
3. Utilizar in com uma lista de valores
Para utilizar um filtro in com uma lista de valores, é necessário adicionar os valores dentro da estrutura [valores], da seguinte forma:
{code->in->[61,62,63]}
Observação: Não deve haver espaços entre as vírgulas e os valores.
4. Realizar filtro por um período de data
Para filtrar por um período de data, é necessário adicionar um filtro maior que e outro de menor que. Conforme operadores listados anteriormente, o formato de data é o seguinte:
2020-06-30T13:26:32.163Z
Segue abaixo um filtro de oportunidade criada entre os dias 29 e 30 de janeiro de 2020, como exemplo:
{createdAt->ge->2020-01-29T00:00:00.000Z}{createdAt->lt->2020-01-31T00:00:00.000Z}
5. Verificar se um campo está nulo
Para verificar se um campo está nulo, basta adicionar o operador isNull no lugar do operador e valor, conforme exemplo abaixo:
{externalId->isNull}
Note que, serão trazidas todas as oportunidades em que o campo externalId não foi preenchido. Desta forma, é possível trabalhar com os campos para realizar os filtros necessários em sua requisição.
Artigos relacionados:
0 Comentários