Skip to main content
Flextell API’sinde bir kaydı silmek çoğu zaman geri alınabilir bir işlemdir. Bu sayfa silme isteğinin kayıtlara ne yaptığını, silmeden önce etkilenen kayıtları nasıl görebileceğinizi, silinen kaydı nasıl geri yükleyeceğinizi veya kalıcı olarak sileceğinizi ve verisi imha edilmiş bir hastaya yazmaya çalışınca ne döneceğini anlatır.

Silme türleri

Üç ayrı yol vardır. Birbirine karıştırmayın. Silme isteğinden sonra kayıt listelerden kaybolur ve GET /v1/<kaynak>/{id} isteği 404 döner. Kaynak bazlı geri yükleme ve kalıcı silme endpoint’i ile trashed filtresi yoktur. Geri yükleme ve kalıcı silme yalnızca geri dönüşüm kutusu endpoint’lerinden yapılır.

Silme ilişkileri

Bazı kayıtların silinmesi başka kayıtları da etkiler. İlişkili kayıtları olan kaynaklarda (hasta, Lead, randevu, kanal gibi) silme tek işlemde yapılır: önce bağlı kayıtlar, sonra kaydın kendisi silinir. Geri alınabilir bir silme zincirinde geri alınamayan kalıcı silme yapılmaz. Silmeden önce etkiyi görmek için önizleme endpoint’ini çağırın:
Yanıt, ilişki başına bir öğe içeren bir listedir:
Sayılar çağrı anında hesaplanır. Sayısı sıfır olan ilişkiler yanıtta yer almaz; boş liste [] başka hiçbir kaydın etkilenmediği anlamına gelir.
Alt randevusu olan bir randevuyu silerken DELETE /v1/appointments/{id} isteğine delete_child_appointments=true göndermeniz gerekir. Göndermezseniz 422 döner ve hata errors.id altında İngilizce bir metinle gelir. Bayrak yalnızca onaydır: alt randevular her durumda birlikte silinir. Alt randevuları tek tek silmek de mümkündür.
Kanal silme isteği gövdede current_password (kimliği doğrulanmış kullanıcının parolası) ister. Eksik veya yanlışsa 422 VALIDATION_FAILED döner ve hata errors.current_password altında gelir.

Geri yüklenebilen kaynaklar

Yalnızca aşağıdaki 12 kayıt türü geri dönüşüm kutusuna girer. Listedeki model_type değeri, kutuyu filtrelerken kullandığınız değerdir; model_name yanıtta dönen Türkçe etikettir. Ayarlar, şablonlar ve katalog kayıtları kutuya girmez. Kullanıcı, doktor, asistan, tedavi, oda, ürün, kategori, marka, banka hesabı, etiket, meslek, OAuth uygulaması ve agent prompt’u silindiğinde geri yüklenemez. Kanal da kutuya girmez. Bu kayıtlar için silme isteğini göndermeden önce deletion-relations önizlemesine bakın ve silmeyi kalıcı kabul edin.
Dosya silindiğinde dosyanın içeriği hemen silinir. Geri dönüşüm kutusundan geri yüklenen Dosya kaydı içeriği olmayan bir kayıt olarak gelir. Silinen bir dosyanın içeriğiyle geri geleceğini varsaymayın.

Geri yükleme ve kalıcı silme

Geri dönüşüm kutusu bir dizindir: kaydın kopyasını değil, kimin ne zaman sildiğini ve kaydın ne zaman otomatik silineceğini tutar. Liste yalnızca açık (ne geri yüklenmiş ne kalıcı silinmiş) ve silme zincirinin kökü olan girişleri gösterir. Zincirde birlikte silinen kayıtlar kendi girişlerini taşımaz; kökle birlikte geri yüklenir veya kalıcı silinir. Bu yolda {id} giriş kimliğidir, silinen kaydın kimliği değildir (model_id).

Listeleme

Her giriş şu alanlarla gelir:

Saklama süresi

Silinen kayıt 30 gün boyunca geri yüklenebilir. Süre dolunca sistem günlük bir temizlikle kaydı ve onunla silinenleri kalıcı olarak siler. Tek bir kaydın temizlenememesi diğerlerini durdurmaz. Her girişin kesin zamanı purge_at alanındadır.
Bu süre yanlışlıkla silmeyi geri alabilmeniz içindir. Yasal saklama süresi değildir.
Veritabanında hastaya bağlı olmadan saklanan kayıtlar (faturalar, teklifler, hasta işlemleri ve satışlar) hasta kalıcı silindikten sonra hastasız olarak kalır.

Geri yükleme

Geri yükleme, kökü ve onunla birlikte silinen tüm kayıtları geri getirir. Silinen kaydın telefon numarası gibi benzersiz bir değeri bu arada başka bir kayda verilmişse geri yükleme 409 RESTORE_CONFLICT ile reddedilir. Yanıttaki data.conflicts çakışan kaydı gösterir:
Bu durumda kaydı geri yüklemek yerine iki kaydı birleştirin. Hastalar için bkz. Hasta birleştirme.

Kalıcı silme

Kalıcı silme, kök kaydı ve onunla silinen kayıtları geri alınamaz biçimde siler. Kaydın kendisi zaten yoksa istek yine de girişi kapatır, purged_at değerini doldurur ve 200 döner.
Klinik kurulumu tamamlanmadan recycle-bin ve data-erasure-requests endpoint’leri 428 SETUP_REQUIRED döner. Bkz. Erişim kilitleri. Panelde aynı işlemler için Geri Dönüşüm Kutusu sayfasına bakın.

İmha edilmiş hasta

Veri imha talebi (KVKK) silme değildir ve geri dönüşüm kutusunu kullanmaz. İmha tamamlanınca hastanın kişisel veri alanları yerinde maskelenir; kayıtlar silinmez. Maskelenen kayıtlar: hastanın kendisi, kimlik bilgileri, sohbetler (mesajlarıyla), randevular, satışlar, teklifler, destek talepleri, hasta formları, notlar ve dosyalar. Faturalar yasal saklama yükümlülüğü nedeniyle olduğu gibi kalır. Tutarlar, tarihler, randevu saatleri ve tedavi planları değişmez. İmha sonrası hasta salt okunur olur:
  • Hasta kaydına ve ona bağlı kayıtlara (randevu, satış, dosya, not ve benzerleri) yapılan her yazma isteği 409 CUSTOMER_ERASED döner. Kontrol, yan etkilerden önce yapılır.
  • Toplu işlemlerde aynı kod, ilgili öğenin sonucunda error_code olarak gelir.
  • Okuma istekleri çalışır. Bu kayıtlar record_state bloğunu taşır: {"is_read_only": true, "reason_code": "CUSTOMER_ERASED"}.
  • Hasta birleştirmeye katılamaz: birleştirme isteği 409 CUSTOMER_ERASED, birleştirme önizlemesi 422 MERGE_CUSTOMER_ERASED döner. Açık imha talebi olan hasta da katılamaz (422 MERGE_CUSTOMER_ERASED).
  • Hem imha edilmiş hem Lead kilidi olan kayıtta reason_code olarak CUSTOMER_ERASED döner.
Yazma isteği göndermeden önce kaydın record_state.is_read_only alanına bakın. true ise reason_code değeri, yazmanın hangi error_code ile reddedileceğini söyler. false olması yazabileceğiniz anlamına gelmez.
İmha talebini açma, kapsamı önizleme, bağlantıyı yeniden gönderme, iptal ve sertifika için Veri imha talepleri sayfasına; panel akışı için Veri İmha Talepleri sayfasına bakın. data-erasure-requests izinleri hiçbir role kendiliğinden verilmez; kliniğiniz rol editöründen atar.

Hata kodları

Bu kodların tamamı ve hata zarfı için Hata yanıtları ve Hata kodları sayfalarına bakın. Kayıtları listeleyen kaynak sayfası: Loglar ve geri dönüşüm.