Her istekte
Authorization: Bearer <access_token> ve X-Tenant: <tenant_id> başlıkları gerekir. Başlık yoksa 400 TENANT_HEADER_REQUIRED döner. Ayrıntı: Klinikler ve X-Tenant.Endpoint özeti
Taban adreshttps://app.flextell.ai/api/v1. Bu sayfadaki tüm uç noktalar yalnızca okur ve token’da appointments:read scope’u ister. Scope’lar hakkında: Scope’lar.
Form seçenekleri
/appointments/options/* uç noktaları, randevu formunu dolduran kullanıcının View:Doctor, View:Room, View:Assistant veya View:Product izni olmadan da seçenekleri görmesini sağlar. Randevu oluşturma ya da güncelleme izni yeterlidir. Listeler yalnızca aktif kayıtları içerir. Web paneli v1.8.0 formdaki doktor, oda, asistan, ürün, doktorun tedavileri ve tedavi şablonunu bu uç noktalardan alır.
Liste uç noktaları (doctors, rooms, assistants, products) aynı parametreleri alır:
Sayfalama yanıtı için Sayfalama sayfasına bakın.
ids[] bir randevudaki mevcut seçimin adını göstermek için kullanışlıdır: doktor sonradan pasife alınmış olsa bile adı çözülür.
doctors/{id}/treatments, doktorun yaptığı tedavileri data dizisinde {id, name, invoice_name, group} olarak ve ada göre sıralı döner. Kimlik bir doktora ait değilse 404 (Doktor bulunamadı) döner.
treatments/{id} bir tedaviyi seans şablonuyla verir: id, name, invoice_name, group ve sessions[]. Her seans session_order, session_type, offset_days, next_gap_days ve products[] (product_id, name, full_name, min_quantity, unit_code) taşır. Pasif tedaviler de döner. Tedavi bulunamazsa 404 (Tedavi bulunamadı) döner.
1
Doktoru seçin
GET /appointments/options/doctors ile doktoru bulun.2
Tedaviyi seçin
GET /appointments/options/doctors/{id}/treatments yalnızca o doktorun yaptığı tedavileri verir. Randevuyu oluştururken tedavi, seçilen doktora atanmış olmalıdır.3
Saati seçin
GET /appointments/available-slots ile doktorun o günkü önerilen saatlerine bakın.4
Randevuyu oluşturun
Seçimlerle
POST /appointments çağırın. Bkz. Randevular.Uygun saatler
GET /appointments/available-slots, bir doktorun bir gündeki önerilen başlangıç saatlerini, o günkü randevularını ve kapalı dönemlerini verir.
slots ve closed_periods saatleri HH:mm metnidir.
Bilmeniz gereken kurallar:
- Bir öneri yalnızca kapanıştan sonra bitecekse listeden çıkar. Dolu saatler, kapanışlar ve çakışmalar öneriyi kaldırmaz. Çakışmayı
appointmentsveclosed_periodsile siz uyarı olarak gösterin. - Kapalı bir hafta günü için
200ve boş diziler döner; hata değildir. closed_periods, yalnızca kliniğin tatillerde randevuyu kapatma ayarı açıksa dolu gelir. Bkz. Tatiller.- Görme yetkiniz olmayan bir randevunun
customer_namedeğerinulldöner. Size atanmamış bir Lead’in adı maskelenir vecustomer_is_masked: truegelir. duration_minutesyanıtta tekrar edilmez.
Manuel randevu oluştururken sunucu bu önerilere uymayı zorunlu tutmaz. Geçmiş tarih, kapalı gün, çalışma saati dışı, tatil ve doktorun başka randevusuyla çakışma
POST /appointments isteğini reddettirmez. Bu durumlar istemcide uyarıdır.Takvim akışı
GET /appointments/calendar, istenen aralıktaki randevuları, tatilleri ve tutulan saatleri tek bir listede verir.
from ve to klinik saat diliminde okunur ve tam günlere genişletilir. View:Appointment iznine ek olarak tüm randevuları görme izni varsa klinikteki bütün randevular, yoksa yalnızca kendi randevularınız gelir. Yanıt {from, to, timezone, items[]} biçimindedir.
Liste önce tatilleri, sonra randevuları scheduled_at sırasıyla verir. İptal edilmiş ve reddedilmiş olanlar dahil her statüdeki randevu döner; silinmişler dönmez. Bitiş saati, başlangıç artı duration_minutes değeridir. Randevuda süre yoksa kliniğin varsayılan randevu süresi kullanılır.
Her öğenin kind ve reason alanı öğenin türünü söyler:
Toplu taşıma bekleyen bir randevu en çok iki öğe üretir: mevcut saati ve önerilen saati. Her biri yalnızca istenen aralığın içindeyse listelenir. Toplu taşıma için bkz. Toplu randevu taşıma.
Öğe alanları:
Randevu özeti
GET /appointments/summary, kliniğin saat diliminde bugünkü randevuların sayısını verir. Parametre almaz; liste süzgeçleri uygulanmaz.
total iptal, red ve gelmedi dahil her statüyü sayar. pending, approved ve completed statü başına sayılardır; üçünün toplamı total olmayabilir. Silinmiş randevular sayılmaz. Sayılar her istekte yeniden hesaplanır.
Özet kliniğin tamamını kapsadığı için View:Appointment iznine ek olarak tüm randevuları görme izni (Tümünü Görüntüle) gerekir. Yoksa 403 döner.
Web paneli ve mobil uygulama bu uç noktayı çağırmaz. Panelin “bugün” kartları farklı bir istatistik uç noktasından beslenir.
Saat dilimi
Tüm tarih-saat değerleri kliniğin saat dilimine göre okunur ve yazılır. Varsayılan saat dilimiEurope/Istanbul’dur.
Veri biçimleri için genel kurallar: Veri biçimleri.
Hatalar ve yetki
Bu uç noktalara özgü hatalar yukarıdaki bölümlerdedir. Genel hata kodları için Hata kodları sayfasına bakın.
İzinlerin rollerdeki karşılıkları ve görünürlük kuralları için İzinler ve görünürlük sayfasına bakın.