Passer au contenu principal
Utilisez les produits de menu API pour afficher les listes de produits en dehors de Plato.
GET /api/public/menu/products
Ce point de terminaison attend actuellement la clé API dans la chaîne de requête.

Exemple

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

Paramètres de requête

ParamètreTaperDéfautRemarques
apiKeychaînerequisClé Plato API.
searchchaîneaucuneRecherchez des noms de produits.
qchaîneaucuneParamètre de recherche alternatif.
categoryIdchaîneaucuneFiltrer par identifiant de catégorie.
categorySlugchaîneaucuneFiltrer par slug d’une catégorie.
categorySlugsliste de virgulesaucuneFiltrer par plusieurs catégories de slugs.
publishedbooléennetrueUtilisez false pour récupérer des produits non publiés lorsque cela est autorisé.
soldoutbooléenneaucuneFiltre épuisé.
minPricenombreaucuneFiltrer par options de prix.
maxPricenombreaucuneFiltrer par options de prix.
slugchaîneaucuneRécupérer par slug de produit exact.
idsliste de virgulesaucuneRécupérez des identifiants de produits spécifiques.
sortBychaînecreatedAtname, createdAt, updatedAt ou slug.
sortOrderchaînedescasc ou desc.
pagenombre1Numéro de page.
limitnombre201 minimum, 100 maximum.
includeCmsDatabooléennetrueInclut les entrées CMS liées aux produits.

Réponse

{
  "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
  }
}

Données CMS

Lorsque includeCmsData=true, Plato recherche les entrées CMS liées à MenuProduct. L’objet cmsData est regroupé par identifiant de base de données CMS :
{
  "cmsData": {
    "product_badges": [
      {
        "id": "entry_123",
        "label": {
          "en": "Popular"
        }
      }
    ]
  }
}
Définissez includeCmsData=false lorsque vous n’avez besoin que des champs de produits principaux.

Remarques

  • Les produits sont par défaut published=true.
  • Le filtrage des prix est appliqué aux options de prix des produits.
  • Utilisez slug pour les pages de détails du produit.
  • Utilisez ids lorsqu’un autre système connaît déjà les identifiants de produit.