Filtros
Algunos APIs soportan filtros personalizados. Se puede especificar qué campos deben compararse con qué valores. La documentación de cada método de API especifica si soporta o no el uso de filtros.
Para utilizar los filtros deben agregarse estos campos como parámetro de la petición:
-
filter_by: Indica el campo del objeto al que se quiere aplicar el filtro. -
filter_values: Indica el valor que se debe comparar con cada elemento del resultado. -
filter_comp: Indica la comparación que se utilizará entre el valor (filter_values) y el valor del campo (filter_by) en cada elemento del resultado.
Comparadores para Filtros
Cada campo soporta diferentes comparadores dependiendo de su tipo.
Texto
| Nombre | Descripción |
|---|---|
equal * |
exactamente igual al valor |
contains |
contiene el valor |
Numérico
| Nombre | Descripción |
|---|---|
equal * |
igual al valor |
not-equal |
no es igual al valor |
Fecha
| Nombre | Descripción |
|---|---|
equal * |
igual al valor |
before |
antes de la fecha |
after |
despues de de la fecha |
Lista
| Nombre | Descripción |
|---|---|
contains * |
esta en la lista |
empty |
las lista esta vacía |
not_empty |
la lista no esta vacía |
* Los comparadores marcados con * se utilizan de forma predeterminada si no se especifica un comparador.
Múltiples filtros simultáneos
Para utilizar varios filtros simultáneamente, se deben incluír en los mismos parámetros separados con |.
Filtros combinados
Para filtrar por múltiples campos, de los cuales por lo menos uno contenga el valor indicado, se deben separar con ,
Ejemplos
Ejemplo 1
Para consultar todos los objetos en donde el campo de tipo texto, name, contenga la palabra "casa".
filter_by = namefilter_values = casa
No es necesario incluír el parámetro filter_comp porque se quiere usar la comparación predeterminada para el tipo texto.
Ejemplo 2
Para consultar todos los objetos en donde el campo de tipo numérico, group_id, sea igual a 132 y el campo de tipo fecha, creation_date, sea mayor al 10 de Mayo del 2017
filter_by = group_id|creation_datefilter_values = 132|2017-05-10filter_comp = |after
Ejemplo 3
Para consultar todos los objetos en donde el campo de tipo texto, name, o el campo de tipo numérico, id, contengan "2004"
filter_by = name,idfilter_values = 2004