Skip to main content
Flextell’e dosya yüklemenin iki yolu vardır: tek istekle multipart/form-data göndermek ya da dosyayı üç adımda doğrudan depolama alanına yüklemek. Bu sayfa iki yolu, kabul edilen dosya türlerini, boyut sınırlarını ve depolama kotasını anlatır. Dosya kaynağının kendisi (listeleme, indirme, silme) için Dosyalar sayfasına bakın. Tüm yükleme istekleri files:write scope’u, X-Tenant başlığı ve Create:File izni ister. Başlıklar için Başlıklar, dil ve CORS sayfasına bakın.

Yükleme yöntemleri

50 MB’a kadar olan dosyalar için doğrudan yükleme daha basittir. Yalnızca videolar 50 MB’ı aşabilir ve bunlar ön imzalı yüklemeyle gönderilmelidir; diğer türlerde iki yolda da üst sınır 50 MB’tır.

Ön imzalı yükleme

Dosya baytları Flextell API’sinden geçmez, size verilen geçici adrese gönderilir. Akış üç adımdır.
1

Yüklemeyi hazırlayın

POST /v1/uploads/presign isteğiyle dosyayı bildirin.Yanıt, yükleme için gereken her şeyi verir:
expires_at, istek zamanından 15 dakika sonrasıdır.
2

Dosyayı yükleyin

Dosya baytlarını upload_url adresine PUT ile gönderin. Yanıttaki headers değerlerini aynen ekleyin; Content-Type, hazırlama adımında bildirdiğiniz değerle aynı olmalıdır. İşlemi expires_at zamanından önce bitirin.
Bu isteğe Authorization ve X-Tenant başlıklarını eklemeyin. upload_url Flextell API’si değildir.
3

Yüklemeyi onaylayın

POST /v1/uploads/confirm isteğiyle dosyayı kayda dönüştürün. Başarılı yanıt 201 ve dosya nesnesidir.
Onaylamadığınız yükleme silinir. expires_at zamanından 2 saat sonra bekleyen yükleme kaydı ve yüklenen nesne temizlenir (temizlik saatte bir çalışır). Bu süre dolmadan yüklemeyi onaylayın.
Onayda dosyanın türü, hazırlama adımında bildirdiğiniz content_type olarak kaydedilir.

Doğrudan yükleme

POST /v1/files isteğini multipart/form-data olarak gönderin. Başarılı yanıt 201 ve dosya nesnesidir.
Görünen ad, istemcinin gönderdiği dosya adıdır; uzantı yoksa eklenir. Bu yolla yüklenen her dosya kendi grubunda tek başına yer alır.
Bu isteğin ve ön imzalı yüklemenin hazırlama adımının doğrulama mesajları her zaman İngilizce gelir, örneğin The file may not be larger than 50 MB. ve The provided file type is not allowed. Kodunuzda mesaja değil error_code alanına bakın.

Dosya türleri ve boyutları

Kabul edilen MIME türleri

İki yolda da aynı liste geçerlidir. Düz metin, CSV, ZIP ve SVG kabul edilmez.

Boyut sınırları

Onay adımında Flextell yüklenen nesnenin gerçek boyutunu yeniden denetler. Gerçek boyut bildirdiğiniz size değerini ya da türün üst sınırını aşarsa onay reddedilir.

Dosya kategorisi (type)

Dosyanın bağlanacağı kayıt

fileable_type şu değerlerden biri olur: customer, lead, user, tenant, chat_log, ai_report, treatment, treatment_group. Kayıt çağırdığınız kliniğe ait olmalıdır.
  • Tedavi ve tedavi grubu galerileri yalnızca görsel kabul eder (image/*). Bu galerilere yükleme için Update:Treatment ya da Update:TreatmentGroup izni de gerekir.
  • Silinmiş (imha edilmiş) hasta kayıtlarına dosya eklenemez; 409 CUSTOMER_ERASED döner.
  • Başka bir temsilciye atanmış lead için 403 LEAD_NOT_ASSIGNED döner. Ayrıntı için İzinler ve görünürlük sayfasına bakın.
  • Hazırlama adımında verdiğiniz group_id başka bir kayda aitse istek 422 VALIDATION_FAILED ile reddedilir.

Depolama sınırı

Her klinik için bir depolama kotası vardır: plana dahil depolama artı aktif depolama kredileri. Aşıma izin veren planlarda kotayı aşmak yüklemeyi engellemez; aşım faturalanır. Yüklemeyi engelleyen şey kliniğin üst sınırıdır.
  • Üst sınır aşılırsa 422 STORAGE_HARD_LIMIT_EXCEEDED döner. Yanıtın data alanı used_bytes, hard_limit_bytes ve requested_bytes değerlerini verir.
  • Sınır, hazırlama adımında bildirdiğiniz size ile, onay adımında gerçek boyutla denetlenir.
  • Kullanım, tekrarları ayıklanarak sayılır. Klinikte aynı içerik birden çok kez yüklenirse bir kez sayılır. Silinen dosyalar kullanıma dahil edilmez.
  • Aboneliği sona ermiş ya da ödeme kısıtı olan klinikte yükleme 402 SUBSCRIPTION_REQUIRED ile reddedilir. Ayrıntı için Erişim kilitleri sayfasına bakın.

Hatalar

Hata zarfı için Hata yanıtları, tüm kodlar için Hata kodları sayfasına bakın. FILE_CONFIRM_FAILED için error_code her durumda aynıdır; nedeni message alanı söyler. Mesaj dili Accept-Language başlığına göre değişir, tabloda Türkçe metinler verilmiştir: