AI ajanları için Treeple
Treeple, Kazakistan’da rehberli turlar düzenler. Bu sayfa, bir AI ajanının kataloğu nasıl okuyabileceğini ve bir yolcunun adına bir insan yöneticiye rezervasyon talebi nasıl teslim edebileceğini açıklar. Kayıt yok, API anahtarı yok, OAuth yok.
MCP Sunucusu
Streamable HTTP üzerinden uzak Model Context Protocol sunucusu. Herhangi bir MCP özellikli istemciyi şu adrese yönlendirin:
https://mcp.treeple.kz/mcpClaude Desktop, Claude Code ve benzer istemciler için:
{
"mcpServers": {
"treeple": {
"type": "http",
"url": "https://mcp.treeple.kz/mcp"
}
}
}search_tours— Kataloğu metin, tür veya süreye göre arayın.get_tour— İtinerary, dahil edilen hizmetler, buluşma noktası, iptal politikası ve tam fiyat tablosu.get_availability— Kalkış tarihleri veya bir turun sabit takvimi olmadığında dürüstçe « on_request ».get_quote— Adlandırılmış bir grup ve tarih için kesin fiyat, döndürülen zaman damgasına kadar geçerlidir.create_booking_session— Bir teklifi treeple.kz üzerinde bir ödeme bağlantısına dönüştürür; yolcu kendi iletişim bilgilerini girer.get_booking_status— Tek bir rezervasyonun durumunu, jetonuyla sorgular. E-posta veya telefonla sorgulama yoktur.submit_booking_request— Bir talebini insan bir yöneticiye teslim eder. Rezervasyon değildir ve ödeme işlemi yapmaz.search_content— Görülecek yerler, restoranlar, seyahat makaleleri ve тур kategorileri — sitenin kullandığı aynı arama motoru.get_content— Tek bir yer, restoran, makale veya kategori tam olarak. Bir yer ayrıca onu gerçekten ziyaret eden turları listeler.
REST API
MCP sunucusu bu API üzerinde ince bir wrapperdir — bunu doğrudan çağırabilirsiniz. OpenAPI 3.1 spesifikasyonu:
https://backend.treeple.kz/api/v1/agent/openapi.jsonKataloğu arayın:
curl "https://backend.treeple.kz/api/v1/agent/tours?lang=en&q=canyon&limit=5"Rezervasyon talebi gönder:
curl -X POST "https://backend.treeple.kz/api/v1/agent/booking-requests" \
-H "Content-Type: application/json" \
-d '{
"tour_slug": "charyn-canyon-tour-1-day",
"date": "2026-09-15",
"pax": { "adults": 2, "children": 0 },
"lang": "en",
"contact": { "email": "traveller@example.com" },
"idempotency_key": "3f6d6d2e-4a1f-4c2b-9c3a-1a2b3c4d5e6f"
}'Tüm kataloğun düz bir ürün akışı şu adreste mevcuttur:
https://backend.treeple.kz/api/v1/agent/feed.jsonTurların ötesinde
Her soru rezervasyonla ilgili değildir. Bu sayılar kataloğun gerçekten barındırdığı içeriktir — bir temsilci bunun ötesinde bir şey vaat ediyorsa uyduruyordur.
locations— 116 görülecek yer, hepsi koordinatlarıyla. Her biri onu ziyaret eden turları listeler; bu küratörlü bir listedir, bu yüzden boş bir liste Treeple’ın orada tur satmadığı anlamına gelir.tour_types— 16 tur kategorisi, her birinin arkasındaki yayınlanmış tur sayısıyla birlikte.restaurants— 5 restoran — dördü Almatı’da, biri Astana’da. Mutfak, fiyat aralığı, adres, çalışma saatleri. Koordinat yok: katalogda bulunmadıkları için hiçbir alan döndürülmez.articles— Treeple tarafından yazılmış 6 seyahat makalesi.
curl "https://backend.treeple.kz/api/v1/agent/content/locations?lang=en&q=Kolsai"
curl "https://backend.treeple.kz/api/v1/agent/content/locations/natspark-kolsay?lang=en"Bunun güncelliği
Site, katalog değiştiğinde otomatik olarak yeniden oluşturulur. Bu sayfaların arkasındaki anlık görüntünün ne zaman alındığı herkese açıktır:
https://treeple.kz/catalogue-status.jsonBir tur için dönen alanlar
Bunlar, get_tour ve GET /tours/{slug} yanıtındaki tam alan adlarıdır — bir özet değildir. Yetkili sürüm, yukarıda bağlantısı verilen OpenAPI belirtimidir.
{
"slug": "localised, differs per language",
"canonical_slug": "stable identifier, same in every language",
"title", "summary", "description", "url",
"duration_days" | "duration_nights" | "duration_hours", "duration_label",
"types": ["trekking", "culture", ...],
"price": { "basis": "per_person", "currency", "from",
"by_group_size": [{ "pax", "price_per_person" }] },
"itinerary": [{ "day", "title", "description" }],
"included": ["what the price covers"],
"excluded": ["what it does not"],
"meeting_place": "text",
"suitable_for", "not_suitable_for", "difficulty", "min_age", "max_age",
"cancellation_policy": { "source": "tour" | "site_default",
"deadline_hours", "service_fee_percent",
"tiers": [{ "hours_before_start", "refund_percent" }] },
"guide_languages": { "live": [...], "audio": [...] }, // what the GUIDE speaks
"content_languages": [...], // locales the PAGE is published in
"confirmation_type": "instant" | "manual",
"availability_type": "scheduled" | "on_request",
"group": { "type", "minimum_pax", "maximum_pax" },
"operator": "text"
}Yanıtta bulunmayan bir alan, Treeple'ın o alan için verisi olmadığı anlamına gelir. Sıfır, hiçbiri ya da varsayılan bir değer anlamına gelmez — bunu varsaymak yerine böyle belirtin. Bu nedenle minimum_pax yalnızca gerçekten minimum kalkış kuralı olan turlarda görünür ve payment_policy alanı hiç yoktur.
İki dil alanı vardır ve farklı anlamlara gelir. guide_languages rehberin gerçekten konuştuğu dillerdir; content_languages ise yalnızca bu web sayfasının hangi yerel dillerde yayımlandığını gösterir. “X dilini konuşan bir rehber var mı” sorusuna asla content_languages üzerinden cevap vermeyin.
Sizi Aksi takdirde kafası karışabilecek şeyler
- Fiyatlar kişi başına olup grup boyutunun değişimine göre değişir. Her fiyat bir by_group_size tablosu taşır — « from » rakamını değil, gerçek grupla eşleşen satırı alıntılayın. « from » rakamı yalnızca min_group_size_for_from’daki grup büyüklüğünde geçerlidir: Çaryn günübirlik turunda bu, on beş kişiyle $30, iki kişiyle ise kişi başı $155 demektir.
- Tur sümüklü böcekleri dile göre farklılık gösterir. canonical_slug kararlı tanımlayıcıdır; lang’ı açıkça geçirin.
- « on_request », turun tükenmediğini değil, tarihin bireysel olarak düzenlendiğini anlamına gelir.
- Rezervasyon talepleri geri okunamaz. Bir yönetici yolcuyla doğrudan iletişim kurar; yoklamaya gelecek bir durum yoktur. Bu kasıtlıdır — bu, kimsenin başkalarının taleplerini saymasını engelleyen şeydir.
- Her talebte tam olarak bir iletişim kanalı: e-posta, telefon veya Telegram. Ad, belge veya ödeme ayrıntıları toplanmaz.
- Her rezervasyon talebi bir UUID idempotens anahtarına ihtiyaç duyar. 24 saat içinde tekrarlanırsa, ikinci bir müşteri adayı oluşturmak yerine orijinal talebi döndürür, bu nedenle bir zaman aşımından sonra yeniden deneme her zaman güvenlidir.
Hız Sınırları
- IP başına dakikada 60 okuma isteği.
- IP başına dakikada 5 rezervasyon isteği ve günde 20 istek.
- Limitin üzerinde Retry-After başlığı ile 429 alırsınız. Buna saygı duyun.
- API anahtarı gerekli değildir. Ortaklar daha yüksek limitler için X-Agent-Key talep edebilirler.
Gizlilik
Bir rezervasyon talebi tam olarak bir iletişim kanalı ve başka bir şey taşımaz. İletişim değerleri ve IP adresleri hiçbir zaman açık metin olarak günlüklere veya analize yazılmaz — yalnızca tuzlu karmalar, çift istekleri birleştirmek için kullanılır. Rezervasyon talebi döndüren bir uç nokta yoktur, bu nedenle kimse başkalarının sorgularını sayamaz.
Keşif
- https://treeple.kz/.well-known/mcp — MCP Sunucu Kartı
- https://treeple.kz/llms.txt — ajanlar için notlar
- https://treeple.kz/llms-full.txt — tam katalog anlık görüntüsü
Sorular veya bir ortak entegrasyonu için daha yüksek hız sınırlarına mı ihtiyacınız var? Şu adrese yazın support@treeple.kz.