الانتقال إلى المحتوى الرئيسي
GET
/
v3
/
gift-cards
/
catalog
الحصول على كتالوج المنتجات
curl --request GET \
  --url https://api.oneclickdz.com/v3/gift-cards/catalog \
  --header 'X-Access-Token: <api-key>'

Documentation Index

Fetch the complete documentation index at: https://docs.oneclickdz.com/llms.txt

Use this file to discover all available pages before exploring further.

نظرة عامة

يعيد الكتالوج الكامل لبطاقات الهدايا والمنتجات الرقمية المنظَّمة حسب الفئات (الألعاب، البث، إلخ).
احتفظ بهذه البيانات في cache لمدة 24 ساعة على الأقل. يتغير الكتالوج نادراً.

الاستجابة

success
boolean
مطلوب
حالة الطلب
totalCategories
integer
إجمالي عدد الفئات في الكتالوج
totalProducts
integer
إجمالي عدد المنتجات عبر جميع الفئات
data
object
مطلوب
meta
object

أمثلة

curl https://api.oneclickdz.com/v3/gift-cards/catalog \
  -H "X-Access-Token: YOUR_API_KEY"

مثال الاستجابة

{
  "success": true,
  "totalCategories": 14,
  "totalProducts": 62,
  "data": {
    "categories": [
      {
        "title": "PSN",
        "products": [
          {
            "id": "6126393c6f57860f925a1983",
            "title": "PSN Germany",
            "enabled": true,
            "region": "germany"
          },
          {
            "id": "612619816f57860f9259eee3",
            "title": "PSN UK",
            "enabled": true,
            "region": "united-kingdom"
          }
        ]
      }
    ]
  },
  "meta": {
    "timestamp": "2025-10-29T00:36:52.615Z"
  }
}

بناء واجهة عرض المنتجات

// Example: Building a category-based UI
function renderCatalog(catalog) {
  return catalog.categories.map((category) => ({
    categoryName: category.name,
    products: category.products
      .filter((p) => p.enabled)
      .map((p) => ({
        id: p.id,
        name: p.title,
        imageUrl: `/images/products/${p.id}.png`,
      })),
  }));
}

استراتيجية التخزين المؤقت

// Cache for 24 hours
const cache = {
  data: null,
  timestamp: 0,
  ttl: 24 * 60 * 60 * 1000, // 24 hours
};

async function getCatalog() {
  const now = Date.now();

  if (cache.data && now - cache.timestamp < cache.ttl) {
    return cache.data;
  }

  const response = await fetch(
    "https://api.oneclickdz.com/v3/gift-cards/catalog",
    {
      headers: { "X-Access-Token": process.env.API_KEY },
    }
  );

  cache.data = await response.json();
  cache.timestamp = now;

  return cache.data;
}

أفضل الممارسات

التخزين المؤقت للكتالوج

خزّن لمدة 10 دقائق أو أكثر لتقليل استدعاءات API

تصفية المُفعَّل

أظهر فقط المنتجات حيث enabled: true

التحقق من المنطقة

فلترة حسب المنطقة إذا كنت تستهدف أسواقاً محددة

التنظيم حسب الفئة

استخدم الفئات لتجربة مستخدم أفضل

الخطوات التالية

بعد الحصول على الكتالوج:
1

عرض المنتجات

أظهر المنتجات للمستخدمين منظمةً حسب الفئة
2

التحقق من تفاصيل المنتج

استخدم /checkProduct/:id للحصول على الأسعار والمخزون
3

تقديم الطلب

استخدم /placeOrder لشراء المنتج المحدد

ذات صلة

التحقق من المنتج

الحصول على الأسعار والمخزون

تقديم طلب

شراء المنتج