auto, semi_auto, closed) kliniğin sohbet ayarlarından ve kanalın ai_reply_mode alanından gelir. Bu alanlar için Ayarlar ve Kanallar sayfalarına bakın. Panel tarafındaki ekranlar için Agent prompt’ları ve AI asistan sayfalarını açın.
Endpoint özeti
Tüm isteklerdeAuthorization: Bearer <access_token> ve X-Tenant: <tenant_id> başlıkları zorunludur.
Sohbet endpoint’leri için görünürlük kuralı geçerlidir:
ViewAllConversations:Conversation iznine sahip değilseniz yalnızca lead’i size atanmış kişilerin sohbetlerini görürsünüz. Genel kurallar için İzinler ve görünürlük sayfasına bakın.
Agent prompt’ları
Prompt, bir agent’ın davranışını belirleyen sistem metnidir. Klinik başına, her tip ve dil için aynı anda yalnızca bir prompt aktif olabilir.Nesne alanları
Agent tipleri
GET /agent-prompts/types dokuz tip döner.
Sistem tarafından yönetilen tipler (Randevu Özeti, Tedavi Özeti, Ürün Özeti) API’de görünmez; bu tiplerin kayıtları
404 döner.
Listeleme
GET /agent-prompts aşağıdaki sorgu parametrelerini kabul eder. Genel kurallar için Sayfalama ve Filtreleme ve sıralama sayfalarına bakın.
Oluşturma ve güncelleme
POST /agent-prompts gövdesinde type, prompt ve is_active zorunludur. language ve llm_model isteğe bağlıdır. llm_model değeri GET /agent-prompts/models listesinden gelmelidir. PUT kısmi güncellemedir; llm_model alanını null göndererek temizleyebilirsiniz.
201 döner. Prompt metninde {{clinic_name}} yazarsanız asistan bunu klinik adıyla değiştirir; klinik adını metne elle yazmayın.
Mod kısıtı
Klinik Standart veya Ön Kayıt Modu’ndadır. Standart moddaintake ve intake_router aktifleştirilemez; Ön Kayıt Modu’nda booking ve router aktifleştirilemez. İzin verilmeyen bir tipi is_active: true ile kaydederseniz (etkin bir prompt’u izin verilmeyen bir tipe taşımak da dahil) 422 AGENT_PROMPT_TYPE_DISABLED_IN_MODE alırsınız; yanıtın data.type alanı tipi, message alanı nedeni verir. Pasif kayıt oluşturmak serbesttir. Akış şeması (GET /agent-prompts/flow) active_mode alanında mod1 (Standart) ya da mod2 (Ön Kayıt Modu) döner.
Silme
DELETE yumuşak silmedir ve {"message": "Ajan istemi başarıyla silindi"} döner. Silinen prompt için geri yükleme endpoint’i yoktur.
Revizyonlar
Prompt metnindeki her değişiklik bir revizyon oluşturur ve değişikliği yapan kullanıcıyı kaydeder. Tip, dil, model ya dais_active değişiklikleri revizyon oluşturmaz.
GET /agent-prompts/{id}/revisions, en yeni revizyon başa gelecek şekilde listeler. Her kayıttais_current,is_stableveuseralanları bulunur.GET /agent-prompts/{id}/revisions/{revisionId}, revizyonunprompt,previous_promptve birleşik biçimlidiffalanlarını döner. İlk revizyondadiffnull’dır.POST …/restore, seçilen revizyonun metnini prompt’a yazar. Bu işlem yeni bir revizyon oluşturur; geçmiş silinmez.PUT …/stable-versiongövdesindekirevision_idile bir revizyonu stabil olarak işaretler;DELETEişareti kaldırır.revision_idaynı prompt’a ait olmalıdır, değilse404alırsınız.
Stabil işareti yalnızca bir geri dönüş noktasıdır. Asistan her zaman prompt’un güncel metnini kullanır. Platform güncellemeleri varsayılan prompt metinlerini yenileyebilir; önceki metin revizyon geçmişinde kalır.
Sohbette asistan kontrolü
Bir sohbette asistanı geçici olarak susturmak için duraklatın. Duraklatma yalnızca o sohbeti etkiler.GET /conversations/{id}/agent şu alanları döner: agent_disabled, agent_expires_at, agent_disabled_by_user_name, remaining_minutes. Süresi dolmuş duraklatma okuma sırasında temizlenir. POST /conversations/{id}/open yanıtı da aynı yapıyı agent alanında taşır.
Her iki işlem de sohbete bir sistem mesajı yazar. Hastası silinmiş (imha edilmiş) sohbette
409 CUSTOMER_ERASED, size atanmamış lead’in sohbetinde 403 LEAD_NOT_ASSIGNED alırsınız.
- Asistan açıkken personel panelden, mobilden veya API’den elle mesaj gönderirse sohbet 30 dakika duraklar.
- Düzenlenmiş bir öneriyi
take_over_agent: trueile gönderirseniz sohbet 30 dakika duraklar. - Öneriyi olduğu gibi göndermek asistanı duraklatmaz.
regenerate) devam edebilirsiniz.
AI önerileri
Yarı-otomatik modda asistan yanıtı doğrudan göndermez; öneri olarak saklar. Bir sohbette en çok bir bekleyen öneri bulunur. Yeni bir öneri üretildiğinde eskisinin yerini alır ve bekleyen işlemlerini devralır.Öneri nesnesi
GET /conversations/{id}/ai-suggestion bekleyen öneriyi döner. Bekleyen öneri yoksa 200 ile data: null gelir; 404 gelmez.
Yeni hasta mesajı geldiğinde bekleyen öneri kendiliğinden yenilenmez; yalnızca
has_new_messages true olur. Güncel bir yanıt için regenerate çağırın.
Bekleyen randevuyu düzenleme
Öneri bir randevu oluşturacaksa (editable_insert: true), göndermeden önce PUT …/pending-appointment ile düzeltebilirsiniz. Gövdede scheduled_at (klinik saat dilimi), doctor_id, treatment_ids[] (en az bir, seçilen doktorun sunduğu aktif tedaviler) ve message (en çok 4096 karakter; öneri metni olur) zorunludur. Çalışma saatleri, tatiller, slot aralığı ve en geç randevu tarihi kuralları geçerlidir; geçmiş tarih kabul edilir. Randevu yine yalnızca öneri gönderildiğinde oluşur. Öneride randevu işlemi yoksa 422 PENDING_APPOINTMENT_UPDATE_FAILED döner.
Yeniden oluşturma
POST …/regenerate yeni bir öneri ürettirir ve 202 {"status": "queued", "conversation_id": 123} döner. Yeni öneri eşzamansız gelir; birkaç saniye sonra GET …/ai-suggestion ile okuyun. İsteğe bağlı treatment_ids[] (aktif tedaviler) yanıtı yalnızca bu tedavilerle sınırlar.
Şu koşullardan biri sağlanmazsa 422 SUGGESTION_SOURCE_MISSING alırsınız: kanalın geçerli modu Yarı-otomatik olmalı, son giden mesajdan sonra yanıtsız ve metin içeren bir hasta mesajı bulunmalıdır. Yeniden oluşturma AI kredisi harcar; asistan duraklatılmış olsa da çalışır. Kredi için Krediler sayfasına bakın.
Önerileri onaylama ve reddetme
Gönderme
POST …/ai-suggestion/send gövdesi:
Her gönderim için
ManageAiSuggestions:Conversation ve Send:Message izinleri gerekir. suggestion_edited ile take_over_agent: true birlikte kullanılırsa ek olarak ToggleAgent:Conversation gerekir.
202 ve {"status": "queued", "message_id": "semi_ai_…", "conversation_id": 123} biçimindedir. Metin önce gönderilir. Sonra öneriye bağlı bekleyen işlemler (randevu oluşturma, taşıma, iptal; dosya, konum veya tedavi görseli gönderme; engelleme) aynı istekte çalışır. Öneri sent_as_is ya da sent_edited olur ve yanıtlanan hasta mesajları okundu olarak işaretlenir.
Bekleyen işlemler çalıştırılmadan önce güncel verilere göre yeniden doğrulanır. Artık geçerli olmayan bir işlem (örneğin dolan saat) sessizce atlanır, API hata dönmez ve onaylanan mesaj hastaya yine gider. Randevunun gerçekten oluştuğunu doğrulamak için Randevular kaynağını okuyun.
Reddetme
POST …/ai-suggestion/dismiss, öneriyi dismissed yapar ve {"message": "Öneri başarıyla reddedildi"} döner. Öneriye bağlı bekleyen işlemler hiçbir zaman çalışmaz.
Puanlama
PUT …/ai-suggestion/rating gövdesinde rating anahtarı bulunmalıdır: up, down ya da puanı kaldırmak için null. Puan hastaya iletilmez ve kredi harcamaz. Yalnızca bekleyen öneri puanlanabilir.
Hata kodları
Genel hata biçimi için Hata kodları sayfasına bakın. Asistan kontrolünü adım adım anlatan bir akış için AI asistan kontrolü rehberine, sohbet kaynağının kendisi için Sohbetler sayfasına geçin.