general, appointment, notification, chat, support ve accounting. Her grubun panelde karşılığı olan bir Ayarlar sayfası vardır (örneğin Genel ayarlar).
Tüm endpoint’ler
X-Tenant başlığı ister; başlık yoksa 400 TENANT_HEADER_REQUIRED döner. Ayarlar her klinik için ayrıdır, bir klinikteki değer diğerine geçmez. Başlığın kullanımı için Klinikler ve X-Tenant sayfasına bakın.Endpoint özeti
Tüm yollarhttps://app.flextell.ai/api/v1/settings altındadır. Listeleme, filtreleme, sıralama ve sayfalama yoktur; her istek tek bir grubu döndürür.
Scope’lar için Scope’lar, izin modeli için İzinler ve görünürlük sayfasına bakın. Her grubun
Update izni yalnızca o grubu açar; Update:GeneralSettings sahibi randevu ayarlarını yazamaz. Yazma ve sıfırlama için scope ve izin birlikte gerekir; eksikse 403 FORBIDDEN döner.
Satış ve lead ayarları (lead dönüşüm ve atama modu) bu API ile yönetilemez. Sohbet grubunun yanıtındaki flexy_chat_model alanı okunur ama yazılamaz.
Birleştirme ve sıfırlama kuralları
GET ve PUT yanıtı aynı biçimdedir:{"success": true, "data": {"prefix": "<grup>", "settings": {...}}}. PUT yanıtı gönderdiğiniz gövdenin yankısı değil, kayıttan sonra yeniden okunan güncel değerlerdir. Yanıt biçimi için Yanıt yapısı sayfasına bakın.
Sıfırlamanın kapsamı.
general/reset, ön kayıt gereksinimini (intake_requirements.enabled) ve varsayılan form şablonunu da siler, çünkü bu iki anahtar genel gruptadır. chat/reset ise bunlara dokunmaz; yalnızca AI yanıt programını, message_notification_roles listesini (varsayılan: Süper Yönetici ve Satış Direktörü) ve flexy_chat_model değerini sıfırlar. chat/reset parola istemez.
Saat dilimi. Saat içeren anahtarlar UTC saklanır. reminders.send_time API’de kliniğin yerel saatiyle gönderilir ve döner; ai_reply_windows saatleri ise UTC’dir. default_timezone değerini sonradan değiştirirseniz kayıtlı UTC saatler yeniden hesaplanmaz; yerel karşılıkları kayar.
Doğrulama hataları 422 VALIDATION_FAILED ile döner; alan hataları errors içindedir. Genel hata biçimi için Hata kodları sayfasına bakın.
Genel
/settings/general. Panel karşılığı: Genel ayarlar.
GET yanıtında ayrıca
customer_forms.default_template_id ve intake_requirements.enabled gelir; bunlar bu uçtan yazılamaz, Sohbet grubundan yazılır. Kurulum sihirbazı çalıştıysa yanıtta work_hours_start ve work_hours_end anahtarları da görünebilir; bunlar yazılamaz.
date_format ve time_format, sunucuda üretilen metinleri etkiler (e-postalar, satış etiketleri, AI asistanın yazdığı randevu metinleri). Yeni panelin tarih görünümünü ve mesaj şablonu değişkenlerini ({appointment_date}, {appointment_time}) değiştirmez.
Randevu
/settings/appointment. Gövde iki nesneden oluşur: appointments ve notifications. Her biri gönderildiğinde boş olamaz; null göndermek o nesnenin tamamını varsayılana döndürür. Panel karşılığı: Randevu ayarları.
appointments
creation_limit, monthly_creation_limit ve max_future_days yalnızca AI asistanın randevu akışında uygulanır. Panelden ya da POST /appointments ile elle oluşturulan randevular bu limitlere takılmaz. Ayrıca elle verilen randevular slot_duration süresine veya saat ızgarasına uymak zorunda değildir; bu değer yeni randevuda yalnızca ön değer olarak gelir. Resmi tatillerde elle randevu oluşturmak engellenmez, yalnızca uyarı verir.notifications
Bildirim
/settings/notification. Hatırlatma saatini, hatırlatma günlerini ve iptal sonrası takip mesajını belirler. Hatırlatma kayıtlarının kendisi için Randevu hatırlatmaları sayfasına bakın. Panel karşılığı: Bildirim ve hatırlatma ayarları.
reminders gönderildiğinde boş olamaz; null göndermek tüm hatırlatma alt grubunu varsayılana döndürür.
Gönderim saatini değiştirdiğinizde (PUT veya sıfırlama ile), gönderilmemiş ve zamanı henüz gelmemiş randevu, seans onayı ve iptal takip hatırlatmaları yeni saate taşınır. Yeni saati zaten geçmiş olanlar eski zamanını korur. Aynı saati yeniden göndermek hiçbir şeyi taşımaz.
cancellation_followup_enabled kaydedilmediyse backend takibi açık sayar; yani hiç ayar yapmamış bir klinikte iptalden 30 gün sonra takip mesajı gider. Takip yalnızca iptal nedeni (cancellation_reason) girilmiş randevular için kuyruğa alınır. false gönderirseniz takip gönderilmez.
Sohbet
/settings/chat. AI asistanın hangi saatte nasıl yanıt vereceğini, yeni mesaj bildirimini alacak rolleri ve ön kayıt gereksinimlerini belirler. Panel karşılığı: Sohbet ayarları. AI asistanın kendisi için AI asistan sayfasına bakın.
message_notification_roles listesindeki rollerin kullanıcıları bildirim alır; ancak yalnızca ilgili sohbeti görebilenlere gider ve kullanıcının kendi chat_new_message bildirim tercihi kapalıysa gitmez. Varsayılan, sohbetin tümünü görebilen sistem rollerini (Süper Yönetici ve Satış Direktörü) içerir. assistant gibi ViewAllConversations iznine sahip olmayan bir rol seçerseniz, o role mensup kullanıcıya yalnızca sohbetin lead’i kendisine atanmışsa bildirim gider. Kaydedilmiş ayarlar bu değişiklikten etkilenmez.
AI yanıt programı
ai_reply_windows öğeleri şu alanları taşır:
Doğrulama kuralları:
- Bir gün için en fazla bir tam gün varsayılanı olabilir.
- Aynı günde saatli pencereler çakışamaz. Uç uca gelmeleri serbesttir (
09:00–13:00ve13:00–17:00). Gece yarısını aşan pencere iki parçaya bölünerek denetlenir. - Hatalar ilgili öğenin
ai_reply_windows.{i}.dayveyaai_reply_windows.{i}.start_timealanında döner.
- Program yoksa (
nullveya[]) AI her zamanautoçalışır. - Program varsa, geçerli yerel gün için eşleşen saatli istisna kazanır. Başlangıç dahil, bitiş hariçtir.
- İstisna yoksa günün tam gün varsayılanı geçerlidir.
- Hiçbiri eşleşmezse mod
closedolur.
day yerel gün olduğu için şöyle gönderilir:
Ön kayıt gereksinimi
intake_requirements.enabled ve customer_forms.default_template_id, GET /settings/general yanıtında da görünür ama yalnızca bu uçtan yazılır. Kurallar:
- Ön kayıt ancak aktif bir varsayılan form şablonuyla açılabilir. Şablon aynı istekte gönderilmeli ya da önceden kayıtlı olmalıdır. Aksi hâlde 422 döner, hata
customer_forms.default_template_idalanındadır:Randevu öncesi gereksinimleri açmak için aktif bir varsayılan form şablonu seçin. - Ön kayıt açıkken şablonu temizlemek de reddedilir. Ön kaydı kapatmak ve şablonu birlikte temizlemek serbesttir.
- Eski
pre_booking_requirementsanahtarı hâlâ kabul edilir, ancak yeni entegrasyonlardaintake_requirementskullanın.
Destek ve muhasebe
Destek
/settings/support. Gövde support nesnesi içindedir.
Bu değer şu an yalnızca saklanır ve gösterilir; başka bir akışta kullanılmaz.
Muhasebe
/settings/accounting. Gövde diğer gruplardan farklı olarak düzdür (iç içe nesne yok). Aynı değerler satış formu için GET /sales/form-metadata yanıtında da gelir. Panel karşılığı: Muhasebe ayarları.
never dışındaki modlarda POST /sales/{id}/stock-deduct çağrısı 422 STOCK_DEDUCTION_DISABLED döner. Fatura hesabı seçimi şu sırayı izler: satışı yapan kullanıcının tercih ettiği hesap, kalemlerin doktorlarının ortak tercihi, sonra default_invoice_account_id. Satışlar için Satışlar, hesaplar için Hesaplar ve işlemler sayfasına bakın.
Örnekler
creation_limit, max_future_days gibi diğer tüm anahtarlar önceki değerleriyle birlikte döner:
work_hours, adres) değiştirmek için Klinik ve genel sayfasına bakın.