API v1

API Publique MenuSimple

Integrez les donnees de vos menus et restaurants sur votre propre site web via notre API REST. Aucune authentification requise pour les endpoints publics.

URL de base

Toutes les requetes doivent etre envoyees a l'URL de base suivante :

https://menusimple.kanteek.cloud/api/v1

Les reponses sont au format JSON avec l'en-tete Content-Type: application/json.

Limites de requetes

120 requetes par minute

Limite par adresse IP. Si vous depassez la limite, vous recevrez une reponse 429.

GET

Recuperer un menu

GET /api/v1/menus/{token}

Retourne les donnees completes d'un menu : informations du restaurant, sections et elements avec leurs traductions.

Parametres

Parametre Type Description
token string Le token public du menu (UUID). Requis.

Exemple de reponse 200 OK

{
  "data": {
    "menu": {
      "name": "Menu Principal",
      "description": "Notre carte",
      "theme": "default",
      "public_url": "https://menusimple.kanteek.cloud/m/example-token"
    },
    "restaurant": {
      "name": "Mon Restaurant",
      "logo_url": null,
      "cover_url": null,
      "primary_color": "#1a1a1a",
      "currency": "MAD",
      "phone": "+212 6 00 00 00 00",
      "address": "Casablanca, Maroc",
      "opening_hours": null,
      "social": {
        "instagram": null,
        "facebook": null,
        "google_maps": null
      }
    },
    "sections": [
      {
        "name": "Entrees",
        "description": null,
        "is_formula": false,
        "formula_price": null,
        "items": [
          {
            "name": "Harira",
            "description": "Soupe traditionnelle",
            "price": "25.00",
            "image_url": null,
            "tags": ["populaire"],
            "allergens": ["gluten"],
            "translations": {
              "name_ar": null,
              "name_en": "Harira Soup",
              "description_ar": null,
              "description_en": "Traditional soup"
            }
          }
        ]
      }
    ]
  }
}
GET

Recuperer un restaurant

GET /api/v1/restaurants/{slug}

Retourne les informations d'un restaurant et la liste de ses menus actifs.

Parametres

Parametre Type Description
slug string Le slug du restaurant. Requis.

Exemple de reponse 200 OK

{
  "data": {
    "name": "Mon Restaurant",
    "slug": "mon-restaurant",
    "logo_url": null,
    "currency": "MAD",
    "menus": [
      {
        "name": "Menu Principal",
        "description": "Notre carte",
        "public_url": "https://menusimple.kanteek.cloud/m/example-token",
        "api_url": "https://menusimple.kanteek.cloud/api/v1/menus/example-token"
      }
    ]
  }
}

Exemples cURL

Voici des exemples rapides pour tester l'API depuis votre terminal :

Recuperer un menu

curl -s https://menusimple.kanteek.cloud/api/v1/menus/YOUR_MENU_TOKEN \
  -H "Accept: application/json" | python -m json.tool

Recuperer un restaurant

curl -s https://menusimple.kanteek.cloud/api/v1/restaurants/mon-restaurant \
  -H "Accept: application/json" | python -m json.tool

Widget d'integration

Ajoutez ce code HTML sur votre site web pour afficher votre menu automatiquement. Le widget charge les donnees en temps reel depuis notre API.

Code a integrer

<!-- MenuSimple Menu Widget -->
<div id="menusimple-menu" data-token="YOUR_MENU_TOKEN"></div>
<script src="https://menusimple.kanteek.cloud/js/menusimple-embed.js"></script>

Remplacez YOUR_MENU_TOKEN par le token public de votre menu. Vous le trouverez dans votre tableau de bord sous l'onglet "Partager".

Codes d'erreur

L'API utilise les codes HTTP standards pour indiquer le succes ou l'echec d'une requete.

Code Statut Description
200 OK La requete a reussi
404 Not Found Menu ou restaurant introuvable ou inactif
429 Too Many Requests Limite de requetes depassee (120/min)
500 Server Error Erreur interne du serveur

Format d'erreur

{
  "message": "Menu not found.",
  "status": 404
}

Besoin d'aide ?

Si vous avez des questions sur l'API ou si vous souhaitez un acces avance, n'hesitez pas a nous contacter.