M meni.ge
დაიწყეთ უფასოდ
🔗 ინტეგრაციები

🛒 Guest API AI-აგენტებისთვის

მენიუ, შეკვეთები და დაჯავშნა AI-ასისტენტებისთვის — საჯარო REST + MCP, ავტორიზაციის გარეშე

დოკუმენტაცია

Guest API AI-აგენტებისთვის

meni.ge-ის საჯარო API, რომლის მეშვეობითაც AI-ასისტენტები და აგენტები მოქმედებენ სტუმრის სახელით: კითხულობენ რესტორნის მენიუს, აწყობენ და აფორმებენ შეკვეთას, ჯავშნიან მაგიდას. ავტორიზაცია არ არის საჭირო — ეს არის იგივე ოპერაციები, რომლებიც ხელმისაწვდომია სტუმრისთვის მენიუს საიტზე.

რესტორატორის საკუთარი მონაცემების მართვა (მენიუს რედაქტირება, ფასები, სტატისტიკა) — ცალკეული MCP-სერვერია API-გასაღებებით: იხ. MCP სერვერის გზამკვლევი.

რესტორნის ადრესაცია

რესტორანი ადრესირდება ლოკაციის კოდით — ეს არის მენიუს URL-ის სეგმენტი ზედა რეგისტრში. თუ მენიუ იხსნება meni.ge/MYCAFE მისამართზე, კოდია — MYCAFE. იგივე კოდი ჩაშენებულია მაგიდების QR-კოდებში.

სწრაფი დაწყება (REST)

# რისი გაკეთება შეუძლია API-ს
curl https://api.meni.ge/llm/v1

# რესტორნის მენიუ რუსულად
curl "https://api.meni.ge/llm/v1/locations/MYCAFE/menu?lang=ru"

# შეკვეთის გაფორმება წასაღებად
curl -X POST https://api.meni.ge/llm/v1/locations/MYCAFE/orders \
  -H 'Content-Type: application/json' \
  -d '{
    "items": [{"itemId": "abc123", "quantity": 2}],
    "orderType": "pickup",
    "customer": {"name": "სტუმარი", "phone": "+995555123456"},
    "language": "ru"
  }'
# → {"accepted": true, "orderId": "…", "total": 24, "statusUrl": "…"}

# შეკვეთის სტატუსი (orderId — წვდომის საიდუმლო ტოკენი)
curl https://api.meni.ge/llm/v1/locations/MYCAFE/orders/{orderId}

სრული სპეციფიკაცია: OpenAPI 3.1.

ენდპოინტები

მეთოდი გზა რას აკეთებს
GET /llm/v1/locations/{DOMAIN}/menu?lang=xx მენიუ: კატეგორიები, კერძები, ფასები, ვარიანტები და დანამატები, ვალუტა, მიღების მეთოდები
GET /llm/v1/locations/{DOMAIN}/items/{itemId} ერთი კერძი ოფციებით
POST /llm/v1/locations/{DOMAIN}/orders შეკვეთის გაფორმება (სერვერი ახდენს შემადგენლობის ვალიდაციას და ითვლის თანხებს)
GET /llm/v1/locations/{DOMAIN}/orders/{orderId} შეკვეთის სტატუსი, ნომერი, პოზიციები
GET /llm/v1/locations/{DOMAIN}/reservations/availability?start=&durationMinutes= თავისუფალი/დაკავებული მაგიდები დარბაზის სქემის მიხედვით
POST /llm/v1/locations/{DOMAIN}/reservations მოთხოვნა დაჯავშნაზე (pending რესტორნის მიერ დადასტურებამდე)
GET / DELETE /llm/v1/locations/{DOMAIN}/reservations/{id} ჯავშნის სტატუსი / გაუქმება

დაკავშირება MCP-ით

სერვერი: https://api.meni.ge/llm/mcp — Model Context Protocol, streamable HTTP, stateless, ავტორიზაციის გარეშე.

კონფიგურაცია Claude Desktop / Claude Code და თავსებადი კლიენტებისთვის:

{
  "mcpServers": {
    "meni-guest": {
      "type": "http",
      "url": "https://api.meni.ge/llm/mcp"
    }
  }
}

ინსტრუმენტები: get_menu, get_item, create_order, get_order_status, check_table_availability, create_reservation, get_reservation_status, cancel_reservation.

ტიპური სცენარები:

  • შეკვეთა: get_menucreate_orderget_order_status (4-ნიშნა ნომერი გამოჩნდება რამდენიმე წამში).
  • მაგიდის დაჯავშნა: check_table_availability (მაგიდები დარბაზის სქემიდან, თავისუფალი/დაკავებული არჩეულ დროზე) → create_reservation tableId-ით → get_reservation_status (რესტორანი ადასტურებს მოთხოვნას) → საჭიროების შემთხვევაში cancel_reservation.

წესები და გარანტიები

  • შეკვეთა მოწმდება აქტიური მენიუს მიხედვით: არარსებული კერძი, ვარიანტი ან დანამატი — შეცდომა 400 პრობლემების სიით; ფასებს და ჯამს ითვლის სერვერი, აგენტს არ აქვს ფასის „მინიჭების“ საშუალება.
  • გატანისა და მიტანისთვის სავალდებულოა სტუმრის სახელი და ტელეფონი; მიტანისთვის — მისამართი.
  • orderId / reservationIdსაიდუმლო ტოკენები: მათი მეშვეობით მოწმდება სტატუსი და უქმდება ჯავშანი. ნუ გამოაქვეყნებთ მათ.
  • შეკვეთები და ჯავშნები რესტორანს მიეწოდება რეალურ დროში — ადმინპანელში, სამზარეულოს ეკრანზე და შეტყობინებებში, როგორც ჩვეულებრივი შეკვეთები საიტიდან.
  • სტუმრის ჯავშნებს აქვთ სტატუსი pending, სანამ რესტორანი არ დაადასტურებს მათ ადმინპანელში.

მანქანურად წაკითხვადი აღმოჩენა

  • https://meni.ge/llms.txt — API-ის მოკლე რუკა LLM-ისთვის;
  • https://meni.ge/.well-known/mcp.json — MCP-სერვერების მანიფესტი;
  • GET https://api.meni.ge/llm/v1 — discovery-დოკუმენტი მაგალითებით.