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
Ö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.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.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.
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çinUpdate:Treatmentya daUpdate:TreatmentGroupizni de gerekir. - Silinmiş (imha edilmiş) hasta kayıtlarına dosya eklenemez;
409 CUSTOMER_ERASEDdöner. - Başka bir temsilciye atanmış lead için
403 LEAD_NOT_ASSIGNEDdöner. Ayrıntı için İzinler ve görünürlük sayfasına bakın. - Hazırlama adımında verdiğiniz
group_idbaşka bir kayda aitse istek422 VALIDATION_FAILEDile 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_EXCEEDEDdöner. Yanıtındataalanıused_bytes,hard_limit_bytesverequested_bytesdeğerlerini verir. - Sınır, hazırlama adımında bildirdiğiniz
sizeile, 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_REQUIREDile 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: