completed durumuna geçer ve yanıtlar kaydedilir.
Bu sayfa, entegrasyon geliştiricisi olarak şablonları yönetmeyi, link üretmeyi ve doldurulan formları okumayı anlatır. Hastanın linki açtığı herkese açık uçlar (/public/forms/{token}) için herkese açık hasta formları sayfasına bakın. Uçtan uca akış için hasta formu gönderme rehberini izleyin. Panelde şablonlar için Form Şablonları, doldurulan formların listesi için Doldurulan Formlar sayfaları vardır; panelde link üretme ve yanıtları görüntüleme henüz çalışmaz.
Tüm isteklerde Authorization: Bearer <access_token> ve X-Tenant: <tenant_id> başlıkları gerekir. Ayrıntılar için başlıklar sayfasına bakın.
Endpoint özeti
Taban adreshttps://app.flextell.ai/api/v1 şeklindedir.
customer_forms:write adlı bir scope yoktur. Link oluşturma form_templates:write, form okuma customer_forms:read scope’u ile yapılır. Soru ekleme, düzenleme ve silme için ayrı bir izin yoktur; hepsi Update:FormTemplate ister.Form şablonları
Şablon nesnesi
Listeleme
GET /form-templates sayfalı bir koleksiyon döndürür; liste satırlarında questions yoktur. Genel sayfalama kuralları için sayfalama sayfasına bakın.
Oluşturma, güncelleme, silme
POST /form-templates gövdesinde name ve is_active zorunludur; description isteğe bağlıdır. PUT kısmi çalışır: yalnızca gönderdiğiniz alanlar değişir.
201 ile oluşan şablonu döndürür. Silme yumuşaktır ve şablonun doldurulmuş formları olsa bile çalışır; yanıt {"success": true, "data": {"message": "Form şablonu başarıyla silindi"}} biçimindedir. Silinen şablondan üretilmiş linkler açılmaz (404).
is_active bu uçlarda link oluşturmayı veya formu doldurmayı engellemez. Pasif şablondan da link üretebilirsiniz. Aktiflik, AI asistanın ve randevu öncesi form ayarlarının kullanabileceği şablonları belirlemek için denetlenir.Sorular ve seçenekler
Bir şablonun sorularıquestions dizisinde order alanına göre sıralı gelir. Soru ekleme ve güncelleme ayrı uçlardan yapılır; şablon güncellemesi soruları değiştirmez.
Soru nesnesi
Soru türleri
Soru ekleme
POST /form-templates/{id}/questions gövdesinde label, question_type, required ve order zorunludur. options içindeki her öğede label ve order bulunur. Tüm soru, seçenekleri ve kurallarıyla tek işlemde oluşturulur.
Soru güncelleme ve silme
PUT kısmi çalışır. Seçenek ve kural alanları gönderildiğinde şöyle davranır:
DELETE soruyu siler. Daha önce kaydedilmiş yanıtlar korunur.
Görünürlük kuralları
Bir soru, başka bir sorunun yanıtına göre gösterilip gizlenebilir. Kuralı olmayan soru her zaman görünür.
Kurallar şu şekilde çalışır:
- Bir sorunun birden çok kuralı varsa hepsi, ilk kuralın
match_typedeğeriyle birleştirilir. Yanıtta bu değer sorununvisibility_match_typealanında görünür. - Gizli bir soru yanıtlanmamış sayılır. Gizli bir soruya bağlı soru da gizlenir.
- Gizli sorular doğrulanmaz ve gönderilen yanıtları atılır.
id 789) bağlı bir soru ekler.
Kural, bağımlı olduğu sorudan önce eklenemez:
depends_on_question_id mevcut bir soruyu göstermelidir. Önce bağımlı olunan soruyu ve seçeneklerini oluşturun, yanıtta dönen id’leri kuralda kullanın.Form linki oluşturma
POST /form-templates/{id}/links şablondan bekleyen (pending) yeni bir form üretir ve hastanın açacağı linki döndürür. customer_id isteğe bağlıdır.
token, 6 karakterlik büyük harf ve rakamdan oluşur ve herkese açık uçlarda {token} olarak kullanılır. url, hastanın açacağı formun adresidir. Linki hastaya kendiniz iletirsiniz, örneğin bir sohbet mesajıyla.
Panelde Form Şablonları listesindeki Bağlantı Oluştur işlemi şu an link üretmez, yalnızca
Bağlantı oluşturma şu anda kullanılamıyor. uyarısını gösterir. Link üretmek için bu uç noktayı kullanın.Link hataları
Genel hata kodları için hata kodları sayfasına bakın.
Doldurulan formlar
Hasta formu üç durumdan birinde olur.
Form hastanın kendisi, personel veya AI asistan tarafından doldurulabilir. Listelerde
filled_by_user_id dolu ise formu bir personel doldurmuştur; is_ai_generated true ise AI asistan doldurmuştur; ikisi de boşsa hasta kendi doldurmuştur.
Kliniğin tüm formları
GET /customer-forms yalnızca customer_forms:read scope’u ve View:CustomerForm izni ister. Yanıt normal bir sayfalı koleksiyondur ve yanıtları içermez.
Her satırın alanları:
Bir hastanın formları ve yanıtlar
Yanıtları yalnızca hasta bazlı detay ucu döndürür.data alanı; template.questions[] (seçenekleri ve görünürlük kurallarıyla), answers[] (her biri question ile), customer, assigned_by_user ve filled_by_user ilişkilerini içerir. Soru tek seçimliyse yanıt, seçeneğin id’si olarak kayıtlıdır; seçeneğin metnini şablondaki options listesinden eşleştirin. Evet/Hayır sorusunda “Hayır” yanıtı 0 olarak gelir ve yanıtsız anlamına gelmez.
GET /customers/{customerId}/form aynı hastanın formlarını listeler. status, template_id, sort_by (id, status, completed_at, created_at, updated_at), sort_order, per_page ve page parametrelerini kabul eder.
Bu uçlar hasta görünürlük kuralına tabidir. Bulunamayan, başka kliniğe ait, kapsam dışı ya da lead aşamasındaki bir customerId listede 200 ile boş sonuç, detayda 404 RESOURCE_NOT_FOUND (Hasta formu bulunamadı) döndürür.
Hata kodları
Yetkilendirme modeli için izinler ve görünürlük sayfasına bakın.