Skip
Propósito
- El parámetro
$skipdefine cuántos resultados deben omitirse, lo que permite paginar el conjunto de resultados.
Puntos clave
- Se utiliza junto con
$toppara implementar paginación con límite y desplazamiento.
Sintaxis de la expresión $skip
- La expresión sigue este formato:
NUMBER_OF_ITEMS_TO_BE_SKIPPED
- Ejemplo
$skip=10
Cómo usar $skip en una solicitud
- Añade el parámetro
$skippara indicar cuántos elementos deben omitirse.
http://api2.saleslayer.com/rest/Catalog/Families/?$select=typ_title,typ_stat,typ_modify,typ_creation&$skip=1
Formato de la respuesta
- Al construir tu solicitud a la API, añade el parámetro
$skippara indicar cuántos elementos deben omitirse.
{
"value": [
{
"typ_stat": "V",
"typ_title": "AV-Air Velocity",
"typ_modify": "2023-11-23T13:35:59",
"typ_creation": "2023-11-23T13:35:59"
}
],
"@count": 2,
"@readLink": "https://catalog-rest.kp.saleslayer.com/rest/Catalog/Families/?$select=typ_title,typ_stat,typ_modify,typ_creation&$skip=1"
}SkipToken
Propósito
- El parámetro
$skipTokenpermite una paginación basada en tokens de continuación para recuperar datos.
Puntos clave
- Se recomienda cuando no se aplica ningún orden y para una paginación más rápida.
- La API proporciona el token de continuación en la respuesta cuando hay más páginas disponibles.
Sintaxis de la expresión $skipToken
- La expresión sigue este formato:
CONTINUATION_TOKEN
- Ejemplo de
$skipTokenrecuperado
$skipToken=5
Cómo usar $skipToken en una solicitud
- Al construir tu solicitud a la API, añade el parámetro
$skipTokenpara seguir recuperando el siguiente conjunto de resultados.
http://api2.saleslayer.com/rest/Catalog/Products?$select=prod_ref,cat_ref,prod_title&$skipToken=5&$top=5
Formato de la respuesta
- Cuando uses
$top, la respuesta contendrá el skipToken como@nextLink.
{
"value": [
{
"prod_ref": "MyPer",
"prod_title": {
"en": "My Personify"
}
},
{
"prod_ref": "CuMoApp",
"prod_title": {
"en": "Custom Mobile Apps"
}
},
{
"prod_ref": "Atrius",
"prod_title": {
"en": "Atrius"
}
},
{
"prod_ref": "Builder",
"prod_title": {
"en": "Builder"
}
},
{
"prod_ref": "X-pressP",
"prod_title": {
"en": "X-press gfx Points"
}
}
],
"@count": 11,
"@readLink": "http://api2.saleslayer.com/rest/Catalog/Products?$select=[prod_ref,cat_ref,prod_title]&$top=[5]",
"@nextLink": "http://api2.saleslayer.com/rest/Catalog/Products?$select=prod_ref,cat_ref,prod_title&$skipToken=5&$top=5"
}Top
Propósito
- El parámetro
$topdefine el número máximo de elementos devueltos en el conjunto de resultados.
Puntos clave
- Normalmente se utiliza junto con
$skippara la paginación con límite y desplazamiento. - El tamaño máximo de página predeterminado es de 100 elementos para la mayoría de los recursos.
Sintaxis de la expresión $top
- La expresión sigue este formato:
NUMBER_OF_ITEMS_TO_RETURN
- Ejemplo para recuperar solo los primeros 5 productos.
$top=5
Cómo usar $top en una solicitud
- Al construir tu solicitud a la API, añade el parámetro
$toppara controlar la paginación.
http://api2.saleslayer.com/rest/Catalog/Products?$select=prod_ref,cat_ref,prod_description&$top=1
Formato de la respuesta
- La respuesta devolverá solo el número de resultados definido por el parámetro
$top.
{
"value": [
{
"prod_ref": "X-pressP",
"cat_ref": "DE",
"prod_description": {
"en": "X-press gfx Points"
}
}
],
"@count": 11,
"@readLink": "http://api2.saleslayer.com/rest/Catalog/Products?$select=prod_ref,cat_ref,prod_description&$top=1",
"@nextLink": "http://api2.saleslayer.com/rest/Catalog/Products?$select=prod_ref,cat_ref,prod_description&$skip=1&$top=1"
}Diferencia entre @nextLink y la sincronización incremental
@nextLink se utiliza exclusivamente para la paginación.
Conserva los parámetros originales de la consulta y permite recuperar la siguiente página de resultados.
Ejemplo:
GET /Products?$top=100
Si hay más resultados disponibles, la respuesta incluirá:
"@nextLink": "https://api2.saleslayer.com/rest/Catalog/Products?$skip=100"
Los clientes deben seguir solicitando el @nextLink proporcionado hasta que no se devuelva ningún enlace adicional.
Sincronización incremental
La sincronización incremental no se basa en @nextLink.
La API no implementa sincronización completa de delta tokens de OData.
La recuperación incremental de datos debe implementarse mediante consultas OData $filter sobre campos de fecha de modificación como:
prod_modifyfrmt_modifycat_modify- Los campos de modificación correspondientes en las entidades personalizadas
Ejemplo:
GET /Products?$filter=prod_modify ge 2026-03-01T00:00:00Z
Patrón recomendado de sincronización incremental
Para una sincronización incremental fiable:
- Guarda la marca temporal de la última modificación procesada.
- Usa
ge(mayor o igual que) en lugar degt(mayor que). - Trata el ID de la entidad como identificador único y actualiza los registros existentes en lugar de insertar duplicados cuando proceses resultados incrementales.
- Trata las marcas temporales como valores de fecha y hora UTC en formato ISO 8601.
Comportamiento de ordenación predeterminado
Si no se especifica el parámetro $orderby, los resultados se devuelven ordenados por el campo ID de la entidad en orden ascendente.
Campos ID predeterminados por entidad:
- Productos →
prod_id - Variantes →
frmt_id - Categorías →
cat_id - Entidades personalizadas → el campo ID específico de la entidad
Para un comportamiento de paginación predecible, se recomienda especificar explícitamente $orderby al realizar consultas paginadas.
Ejemplo:
GET /Products?$orderby=prod_id asc
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo