> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plato.ae/llms.txt
> Use this file to discover all available pages before exploring further.

# منتجات القائمة

> اقرأ منتجات المطاعم المنشورة باستخدام المرشحات وترقيم الصفحات والمعدلات وبيانات CMS.

استخدم قائمة المنتجات API لعرض قوائم المنتجات خارج Plato.

```text theme={null}
GET /api/public/menu/products
```

تتوقع نقطة النهاية هذه حاليًا وجود مفتاح API في سلسلة الاستعلام.

## مثال

```bash theme={null}
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`         | خيط           | `createdAt` | `name` أو `createdAt` أو `updatedAt` أو `slug`.                      |
| `sortOrder`      | خيط           | `desc`      | `asc` أو `desc`.                                                     |
| `page`           | رقم           | `1`         | رقم الصفحة.                                                          |
| `limit`          | رقم           | `20`        | الحد الأدنى `1` والحد الأقصى `100`.                                  |
| `includeCmsData` | منطقية        | `true`      | قم بتضمين إدخالات CMS المتعلقة بالمنتجات.                            |

## إجابة

```json theme={null}
{
  "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:

```json theme={null}
{
  "cmsData": {
    "product_badges": [
      {
        "id": "entry_123",
        "label": {
          "en": "Popular"
        }
      }
    ]
  }
}
```

قم بتعيين `includeCmsData=false` عندما تحتاج فقط إلى حقول المنتج الأساسية.

## ملحوظات

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