AI Ajanları için Guest API
masamenu.tr'nin genel API'si aracılığıyla AI asistanları ve ajanları misafir adına hareket eder: restoran menüsünü okur, siparişi oluşturur ve tamamlar, masa rezervasyonu yapar. Yetkilendirme gerekmez — bunlar, misafirin menü web sitesinde gerçekleştirebileceği işlemlerle aynıdır.
Restoran sahibinin kendi verilerini yönetmesi (menü düzenleme, fiyatlar, istatistikler) — API anahtarlarına sahip ayrı bir MCP sunucusudur: bkz. MCP Sunucu Kılavuzu.
Restoran Adresleme
Restoran, konum kodu ile adreslenir; bu, menü URL'sinin büyük harfli bir segmentidir. Eğer menü masamenu.tr/MYCAFE adresinden açılıyorsa, kod MYCAFE'dir. Aynı kod, masaların QR kodlarına da gömülüdür.
Hızlı Başlangıç (REST)
# API neler yapabilir
curl https://api.masamenu.tr/llm/v1
# Rusça restoran menüsü
curl "https://api.masamenu.tr/llm/v1/locations/MYCAFE/menu?lang=ru"
# Gel-al siparişi oluştur
curl -X POST https://api.masamenu.tr/llm/v1/locations/MYCAFE/orders \
-H 'Content-Type: application/json' \
-d '{
"items": [{"itemId": "abc123", "quantity": 2}],
"orderType": "pickup",
"customer": {"name": "Misafir", "phone": "+995555123456"},
"language": "ru"
}'
# → {"accepted": true, "orderId": "…", "total": 24, "statusUrl": "…"}
# Sipariş durumu (orderId — gizli erişim belirteci)
curl https://api.masamenu.tr/llm/v1/locations/MYCAFE/orders/{orderId}
Tam spesifikasyon: OpenAPI 3.1.
Uç Noktalar
| Metot | Yol | Açıklama |
|---|---|---|
| GET | /llm/v1/locations/{DOMAIN}/menu?lang=xx |
Menu: kategoriler, yemekler, fiyatlar, seçenekler ve ekstralar, para birimi, teslimat yöntemleri |
| GET | /llm/v1/locations/{DOMAIN}/items/{itemId} |
Seçenekleriyle birlikte tek bir yemek |
| POST | /llm/v1/locations/{DOMAIN}/orders |
Sipariş oluştur (sunucu içeriği doğrular ve toplam tutarları hesaplar) |
| GET | /llm/v1/locations/{DOMAIN}/orders/{orderId} |
Sipariş durumu, numarası, menü kalemleri |
| GET | /llm/v1/locations/{DOMAIN}/reservations/availability?start=&durationMinutes= |
Salon planına göre boş/dolu masalar |
| POST | /llm/v1/locations/{DOMAIN}/reservations |
Rezervasyon talebi (restoran onaylayana kadar pending durumundadır) |
| GET / DELETE | /llm/v1/locations/{DOMAIN}/reservations/{id} |
Rezervasyon durumu / iptali |
MCP ile Bağlantı
Sunucu: https://api.masamenu.tr/llm/mcp — Model Context Protocol, streamable HTTP, stateless, yetkilendirme olmadan.
Claude Desktop / Claude Code ve uyumlu istemciler için yapılandırma:
{
"mcpServers": {
"meni-guest": {
"type": "http",
"url": "https://api.masamenu.tr/llm/mcp"
}
}
}
Araçlar: get_menu, get_item, create_order, get_order_status, check_table_availability, create_reservation, get_reservation_status, cancel_reservation.
Tipik senaryolar:
- Sipariş:
get_menu→create_order→get_order_status(4 haneli numara birkaç saniye içinde görünür). - Masa rezervasyonu:
check_table_availability(salon planındaki masalar, seçilen saat için müsait/dolu) →tableIdilecreate_reservation→get_reservation_status(restoran talebi onaylar) → gerekirsecancel_reservation.
Kurallar ve Garantiler
- Sipariş canlı menüye göre doğrulanır: var olmayan bir yemek, seçenek veya ekstra — sorunların listesini içeren bir 400 hatasına yol açar; fiyatları ve toplam tutarı sunucu hesaplar, temsilcinin fiyat "belirleme" yetkisi yoktur.
- Gel-al ve teslimat için misafirin adı ve telefon numarası zorunludur; teslimat için ise adres gereklidir.
orderId/reservationId— gizli token'lardır: durum kontrolü ve rezervasyon iptali bunlarla yapılır. Bunları paylaşmayın.- Siparişler ve rezervasyonlar restorana gerçek zamanlı olarak ulaşır — web sitesinden gelen normal siparişler gibi yönetim paneline, mutfak ekranına ve bildirimlere düşer.
- Misafir rezervasyonları, restoran yönetim panelinden onaylayana kadar
pendingdurumundadır.
Makine Tarafından Okunabilir Keşif
https://masamenu.tr/llms.txt— LLM için özet API haritası;https://masamenu.tr/.well-known/mcp.json— MCP sunucuları manifestosu;GET https://api.masamenu.tr/llm/v1— örneklerle keşif belgesi.