Guest API për agjentët AI
API publik i menugo.al, përmes të cilit asistentët dhe agjentët AI veprojnë në emër të mysafirit: lexojnë menunë e restorantit, mbledhin dhe kryejnë porosinë, rezervojnë një tavolinë. Nuk kërkohet autorizim — këto janë të njëjtat veprime që janë të disponueshme për mysafirin në faqen e menusë.
Menaxhimi i të dhënave të veta të restoratorit (modifikimi i menusë, çmimet, statistikat) — një server i veçantë MCP me çelësa API: shih Udhëzuesin e Serverit MCP.
Adresimi i restorantit
Restoranti adresohet me kodin e lokacionit — ky është segmenti i URL-së së menusë me shkronja të mëdha. Nëse menuja hapet nëpërmjet menugo.al/MYCAFE, kodi është MYCAFE. I njëjti kod është i integruar në kodet QR të tavolinave.
Fillimi i shpejtë (REST)
# Çfarë mund të bëjë API
curl https://api.menugo.al/llm/v1
# Menuja e restorantit në rusisht
curl "https://api.menugo.al/llm/v1/locations/MYCAFE/menu?lang=ru"
# Krijoni një porosi pickup
curl -X POST https://api.menugo.al/llm/v1/locations/MYCAFE/orders \
-H 'Content-Type: application/json' \
-d '{
"items": [{"itemId": "abc123", "quantity": 2}],
"orderType": "pickup",
"customer": {"name": "Mysafir", "phone": "+995555123456"},
"language": "ru"
}'
# → {"accepted": true, "orderId": "…", "total": 24, "statusUrl": "…"}
# Statusi i porosisë (orderId — token sekret aksesi)
curl https://api.menugo.al/llm/v1/locations/MYCAFE/orders/{orderId}
Specifikimi i plotë: OpenAPI 3.1.
Endpoint-et
| Metoda | Shtegu | Çfarë bën |
|---|---|---|
| GET | /llm/v1/locations/{DOMAIN}/menu?lang=xx |
Menuja: kategoritë, pjatat, çmimet, variantet dhe shtesat, monedha, mënyrat e marrjes |
| GET | /llm/v1/locations/{DOMAIN}/items/{itemId} |
Një pjatë me opsione |
| POST | /llm/v1/locations/{DOMAIN}/orders |
Krijoni një porosi (serveri validon përmbajtjen dhe llogarit shumat) |
| GET | /llm/v1/locations/{DOMAIN}/orders/{orderId} |
Statusi i porosisë, numri, artikujt |
| GET | /llm/v1/locations/{DOMAIN}/reservations/availability?start=&durationMinutes= |
Tavolinat e lira/të zëna sipas planit të sallës |
| POST | /llm/v1/locations/{DOMAIN}/reservations |
Kërkesë për rezervim (në pritje deri në konfirmimin nga restoranti) |
| GET / DELETE | /llm/v1/locations/{DOMAIN}/reservations/{id} |
Statusi / anulimi i rezervimit |
Lidhja përmes MCP
Serveri: https://api.menugo.al/llm/mcp — Model Context Protocol, streamable HTTP, stateless, pa autorizim.
Konfigurimi për Claude Desktop / Claude Code dhe klientët e përputhshëm:
{
"mcpServers": {
"meni-guest": {
"type": "http",
"url": "https://api.menugo.al/llm/mcp"
}
}
}
Mjetet: get_menu, get_item, create_order, get_order_status, check_table_availability, create_reservation, get_reservation_status, cancel_reservation.
Skenarët tipikë:
- Porosia:
get_menu→create_order→get_order_status(numri me 4 shifra shfaqet pas pak sekondash). - Rezervimi i tavolinës:
check_table_availability(tavolinat nga skema e sallës, e lirë/e zënë për kohën e zgjedhur) →create_reservationmetableId→get_reservation_status(restoranti konfirmon kërkesën) → nëse është e nevojshmecancel_reservation.
Rregullat dhe garancitë
- Porosia validohet sipas menusë aktive: pjata joekzistuese, opsioni ose shtesa — gabim 400 me listën e problemeve; çmimet dhe totali llogariten nga serveri, agjenti nuk ka asnjë mënyrë për të «caktuar» çmimin.
- Për pickup dhe dërgesë janë të detyrueshme emri dhe telefoni i klientit; për dërgesë — adresa.
orderId/reservationId— tokena sekretë: përmes tyre verifikohet statusi dhe anulohet rezervimi. Mos i publikoni ato.- Porositë dhe rezervimet shkojnë te restoranti në kohë reale — në panelin e administrimit, në ekranin e kuzhinës dhe në njoftime, si porositë e zakonshme nga faqja e internetit.
- Rezervimet e klientit kanë statusin
pending, derisa restoranti t'i konfirmojë ato në panelin e administrimit.
Zbulimi i lexueshëm nga makina
https://menugo.al/llms.txt— hartë e shkurtër API për LLM;https://menugo.al/.well-known/mcp.json— manifest i serverëve MCP;GET https://api.menugo.al/llm/v1— dokument zbulimi me shembuj.