الانتقال إلى المحتوى الرئيسي
استخدم قائمة المنتجات API لعرض قوائم المنتجات خارج Plato.
GET /api/public/menu/products
تتوقع نقطة النهاية هذه حاليًا وجود مفتاح API في سلسلة الاستعلام.

مثال

curl "https://api.plato.ae/api/public/menu/products?apiKey=$PLATO_API_KEY&limit=20&page=1"

معلمات الاستعلام

المعلمةيكتبتقصيرملحوظات
apiKeyخيطمطلوبمفتاح Plato API.
searchخيطلا أحدالبحث عن أسماء المنتجات.
qخيطلا أحدمعلمة البحث البديلة.
categoryIdخيطلا أحدالتصفية حسب معرف الفئة.
categorySlugخيطلا أحدالتصفية حسب سبيكة فئة واحدة.
categorySlugsقائمة الفاصلةلا أحدتصفية حسب الرخويات فئة متعددة.
publishedمنطقيةtrueاستخدم false لجلب المنتجات غير المنشورة عندما يكون ذلك مسموحًا به.
soldoutمنطقيةلا أحدتصفية الحالة المباعة.
minPriceرقملا أحدالتصفية حسب خيارات السعر.
maxPriceرقملا أحدالتصفية حسب خيارات السعر.
slugخيطلا أحدجلب حسب سبيكة المنتج بالضبط.
idsقائمة الفاصلةلا أحدجلب معرفات منتج محدد.
sortByخيطcreatedAtname أو createdAt أو updatedAt أو slug.
sortOrderخيطdescasc أو desc.
pageرقم1رقم الصفحة.
limitرقم20الحد الأدنى 1 والحد الأقصى 100.
includeCmsDataمنطقيةtrueقم بتضمين إدخالات CMS المتعلقة بالمنتجات.

إجابة

{
  "data": [
    {
      "id": "product_123",
      "slug": "classic-burger",
      "barcode": null,
      "name": {
        "en": "Classic Burger"
      },
      "intro": null,
      "description": null,
      "priceOptions": [
        {
          "id": "regular",
          "price": 38
        }
      ],
      "thumbnail": null,
      "images": [],
      "published": true,
      "soldout": false,
      "preparationTime": null,
      "nutritionFacts": null,
      "suggestions": [],
      "category": {
        "id": "category_123",
        "slug": "burgers",
        "name": {
          "en": "Burgers"
        }
      },
      "optionSets": [],
      "cmsData": {},
      "createdAt": "2026-06-17T08:20:00.000Z",
      "updatedAt": "2026-06-17T09:15:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 42,
    "totalPages": 3,
    "hasMore": true
  }
}

بيانات CMS

عندما يبحث includeCmsData=true، Plato عن إدخالات CMS المتعلقة بـ MenuProduct. يتم تجميع كائن cmsData بواسطة معرف قاعدة البيانات CMS:
{
  "cmsData": {
    "product_badges": [
      {
        "id": "entry_123",
        "label": {
          "en": "Popular"
        }
      }
    ]
  }
}
قم بتعيين includeCmsData=false عندما تحتاج فقط إلى حقول المنتج الأساسية.

ملحوظات

  • المنتجات الافتراضية هي published=true.
  • يتم تطبيق تصفية الأسعار على خيارات أسعار المنتج.
  • استخدم slug لصفحات تفاصيل المنتج.
  • استخدم ids عندما يعرف نظام آخر معرفات المنتج بالفعل.