Obtener el conteo total de productos
Este método devuelve el número total de productos en tu proyecto. Opcionalmente, puedes pasar un cuerpo de filtro para contar solo los productos que coincidan con condiciones específicas.
✅ Propósito del escenario:
- Obtener el número total de productos
- Filtrar opcionalmente por condiciones de atributos
- Usar el conteo para paginación o verificaciones de disponibilidad
✅ Lo que necesitas:
- Un PROJECT_URL y APP_TOKEN válidos para la autenticación con la API de OneEntry.
- Al menos un producto en el proyecto
📌 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 sin filtrar.
📚 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 — Este método devuelve el número total de productos en tu proyecto. Opcionalmente, puedes pasar un cuerpo de filtro para contar solo los productos que coincidan con condiciones específicas.
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)
Ejemplo:
// To filter, use conditions like: [{ attributeMarker: 'price', conditionMarker: 'mth', conditionValue: 100, isNested: false }]
const body: IFilterParams[] = [];
4. Llamar a Products.getProductsCount() con getProductsCount()
Ejemplo:
const data = await Products.getProductsCount(body);
if ('statusCode' in data) {
throw new Error(data.message);
}
console.log('Count data: ', data);
Resultado:
{
"totalAll": 12,
"totalInCategory": 0,
"totalInCategoryWithNested": 0
}
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)
// To filter, use conditions like: [{ attributeMarker: 'price', conditionMarker: 'mth', conditionValue: 100, isNested: false }]
const body: IFilterParams[] = [];
// 4. Call Products.getProductsCount() with [getProductsCount()](/docs/products/#getProductsCount)
const data = await Products.getProductsCount(body);
if ('statusCode' in data) {
throw new Error(data.message);
}
console.log('Count data: ', data);