احصل على العدد الإجمالي للمنتجات
تُرجع هذه الطريقة العدد الإجمالي للمنتجات في مشروعك. يمكنك اختيارياً تمرير جسم فلتر لحساب المنتجات التي تتطابق مع شروط معينة فقط.
✅ هدف السيناريو:
- احصل على العدد الإجمالي للمنتجات
- تصفية اختيارية حسب شروط السمة
- استخدم العدد للتصفح أو التحقق من التوفر
✅ ما تحتاجه:
- عنوان URL صالح للمشروع (PROJECT_URL) ورمز التطبيق (APP_TOKEN) للمصادقة مع واجهة برمجة التطبيقات OneEntry.
- منتج واحد على الأقل في المشروع
📌 مهم:
- لا تتضمن هذه الأمثلة معالجة الأخطاء.
- يمكنك إدارة الأخطاء باستخدام كتلة try-catch أو من خلال استخدام بناء مثل await Promise.catch((error) => error).
- مرر مصفوفة فارغة [] لحساب جميع المنتجات دون تصفية.
📚 انظر في الوثائق:
📦 مرجع SDK:
جربها مباشرة
قم بتشغيل هذه الطريقة بشكل تفاعلي في JS SDK sandbox — قم بتوصيل عنوان URL لمشروعك ورمز التطبيق في الزيارة الأولى، ثم افتح:
- احصل على العدد الإجمالي للمنتجات — تُرجع هذه الطريقة العدد الإجمالي للمنتجات في مشروعك. يمكنك اختيارياً تمرير جسم فلتر لحساب المنتجات التي تتطابق مع شروط معينة فقط.
السيناريو
1. استيراد defineOneEntry من SDK وتعريف PROJECT_URL و 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. إنشاء عميل API باستخدام defineOneEntry()
مثال:
const { Products } = defineOneEntry(PROJECT_URL, {
token: APP_TOKEN,
});
3. تعريف جسم فلتر اختيارياً (مصفوفة فارغة = جميع المنتجات)
مثال:
// To filter, use conditions like: [{ attributeMarker: 'price', conditionMarker: 'mth', conditionValue: 100, isNested: false }]
const body: IFilterParams[] = [];
4. استدعاء Products.getProductsCount() باستخدام getProductsCount()
مثال:
const data = await Products.getProductsCount(body);
if ('statusCode' in data) {
throw new Error(data.message);
}
console.log('Count data: ', data);
النتيجة:
{
"totalAll": 12,
"totalInCategory": 0,
"totalInCategoryWithNested": 0
}
المثال النهائي
// 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);