Obtener el conteo total de productos por página
Este método devuelve el número total de productos asociados con una URL de página de catálogo específica. Es útil para la paginación cuando necesitas saber cuántos productos existen en una página dada, incluyendo o excluyendo páginas secundarias anidadas.
✅ Propósito del escenario:
- Obtener el conteo de productos en una página de catálogo específica
- Distinguir entre productos directos y productos que incluyen páginas anidadas
- Usar el conteo para la paginación en páginas de categoría o catálogo
✅ Lo que necesitas:
- Un PROJECT_URL y APP_TOKEN válidos para la autenticación con la API de OneEntry.
- Al menos una página de catálogo con productos en el proyecto
- La URL (marcador de página) de la página de catálogo objetivo
📌 Importante:
- Estos ejemplos no incluyen manejo de errores.
- Puedes gestionar errores utilizando un bloque try-catch o empleando una construcción como await Promise.catch((error) => error).
- Pasa un array vacío [] para contar todos los productos en la página sin filtrar.
- totalInCategory cuenta solo los productos directamente en la página dada; totalInCategoryWithNested también incluye productos en páginas secundarias.
📚 Ver en la documentación:
📦 Referencia del SDK:
Pruébalo en vivo
Ejecuta este método de forma interactiva en el sandbox del JS SDK — conecta tu Project URL y App Token en la primera visita, luego abre:
- Obtener el conteo total de productos por página — Este método devuelve el número total de productos asociados con una URL de página de catálogo específica. Es útil para la paginación cuando necesitas saber cuántos productos existen en una página dada, incluyendo o excluyendo páginas secundarias anidadas.
Escenario
1. Importar defineOneEntry desde el SDK y definir PROJECT_URL y APP_TOKEN
Ejemplo:
import { defineOneEntry } from 'oneentry';
import { IFilterParams } from 'oneentry/dist/products/productsInterfaces';
const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';
2. Crear un cliente API con defineOneEntry()
Ejemplo:
const { Products } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});
3. Opcionalmente definir un cuerpo de filtro (array vacío = todos los productos en la página)
Ejemplo:
// To filter, use conditions like: [{ attributeMarker: 'price', conditionMarker: 'mth', conditionValue: 100, isNested: false }]
const body: IFilterParams[] = [];
4. Llamar a Products.getProductsCountByPageUrl() con getProductsCountByPageUrl()
Ejemplo:
const count = await Products.getProductsCountByPageUrl('products', body);
if ('statusCode' in count) {
throw new Error(count.message);
}
console.log('Count data: ', count);
Resultado:
{
"totalAll": 12,
"totalInCategory": 3,
"totalInCategoryWithNested": 3
}
Ejemplo final
// 1. Import defineOneEntry from SDK and define PROJECT_URL and APP_TOKEN
import { defineOneEntry } from 'oneentry';
import { IFilterParams } from 'oneentry/dist/products/productsInterfaces';
const PROJECT_URL = 'your-project-url';
const APP_TOKEN = 'your-app-token';
// 2. Creating an API client with [defineOneEntry()](/docs/index/#Installation)
const { Products } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});
// 3. Optionally define a filter body (empty array = all products on the page)
// To filter, use conditions like: [{ attributeMarker: 'price', conditionMarker: 'mth', conditionValue: 100, isNested: false }]
const body: IFilterParams[] = [];
// 4. Call Products.getProductsCountByPageUrl() with [getProductsCountByPageUrl()](/docs/products/#getProductsCountByPageUrl)
const count = await Products.getProductsCountByPageUrl('products', body);
if ('statusCode' in count) {
throw new Error(count.message);
}
console.log('Count data: ', count);