Funcionalidades
Resumen técnico de parámetros OData
$select
- Permite especificar qué propiedades de un recurso se quiera incluir en la respuesta, reduciendo el volumen de datos.Se utiliza como parte de la URL
Ejemplo:
?$select=[prod_ref,prod_title]
Consulta la metadata (/$metadata) para conocer los nombres de las propiedades disponibles.
🔗 Ampliar información en la documentación oficial
$filter
- Aplica criterios de filtrado en los recursos retornados.
- Admite operadores lógicos como eq, ne, gt, lt, ge, le, and, or, y operadores de conjuntos como in.
Ejemplo:
?$filter=[category eq 'electronics' and price gt 100]
- Se puede combinar con funciones de cadena como startswith() o contains() para filtros más avanzados.
🔗 Ampliar información en la documentación oficial
$orderby
- Permite ordenar los resultados según una o varias propiedades.
- Útil para controlar el orden en que los datos son devueltos, mejorando la claridad de las respuestas.
Ejemplo:
?$orderby=price desc
🔗 Ampliar información en la documentación oficial
$expand
- Permite incluir colecciones relacionadas (embedded collections) de un recurso en la respuesta.
- Por defecto, estas colecciones no se devuelven a menos que se soliciten explícitamente.
- Solo admite colecciones, no recursos individuales.
Ejemplo:
?$expand=[Variants]
🔗 Ampliar información en la documentación oficial
Paginación ($skip, $top, $skipToken, etc.)
- Controla la cantidad y desplazamiento de los resultados devueltos:
- $skip: omite un número especificado de resultados.
- $top: limita la cantidad de resultados retornados.
- $skipToken: permite paginación basada en token para conjuntos grandes.
- Fundamental para manejar grandes volúmenes de datos con eficiencia.
🔗 Ampliar información en la documentación oficial
La API REST admite dos estrategias principales de paginación para manejar eficientemente un volumen alto de datos. Ambas estrategias permiten personalizar el comportamiento de paginación según las necesidades específicas de cada implementación. Para conjuntos de datos grandes o con accesos frecuentes, se recomienda utilizar la paginación basada en token por ofrecer un rendimiento óptimo.
1.- Paginación basada en token (recomendada)
- Utiliza el parámetro $skipToken para navegar entre páginas.
- Este método es más rápido y eficiente en comparación con la paginación basada en límites.
- El token de paginación se obtiene del campo @nextLink incluido en la respuesta de la API.
Ejemplo de uso:
http://api2.saleslayer.com/rest/Catalog/Products?
$select=[prod_ref,cat_ref,prod_description]&
$skipToken=[1]
2- Paginación basada en límites
- Utiliza el parámetro $top para especificar el número máximo de elementos a recuperar por página.
- También se puede usar $skip para omitir manualmente una cantidad específica de registros.
Ejemplo de uso:
http://api2.saleslayer.com/rest/Catalog/Products?
$select=[prod_ref,cat_ref,prod_description]&
$skip=[1]&
$top=[1]
Otras funciones de filtrado y paginación
Operadores lógicos
Los operadores lógicos se utilizan para combinar condiciones o comparar valores de propiedades en expresiones de filtrado. Se aplican según el tipo de dato de la propiedad correspondiente
Funciones soportadas
Operator | Description | Example Usage |
eq | Equal to | property eq 'value' |
ne | Not equal to | property ne 'value' |
gt | Greater than | property gt 10 |
lt | Less than | property lt 10 |
ge | Greater than or equal to | property ge 10 |
le | Less than or equal to | property le 10 |
and | Logical AND | property1 eq 'value1' and property2 lt 5 |
or | Logical OR | property1 eq 'value1' or property2 gt 10 |
in | Matches any value in a list | property in ('value1', 'value2') |
Consulta aquí ejemplos de uso: https://docs.api.saleslayer.com/articles/logical-operators
Funciones string
Las funciones string permiten filtrar basándose en el contenido de texto presente en las propiedades del recurso raíz. Estas funciones resultan especialmente útiles cuando se trabaja con campos basados en cadenas de texto, ya que habilitan búsquedas y filtrados más precisos
Consulta aquí ejemplos de uso: https://docs.api.saleslayer.com/articles/string-functions