Panelin yükleme yüzeylerinin TEK ucu: `POST /api/crm/v1/file-entries`
(multipart) → `{fileEntry}`. ⚠ 2026-08-18 vakası: bu uç YOKTU. Panelin `AxiosUpload`'ı ilk günden `file-entries`e multipart POST'luyor (bedesk sözleşmesi), backend ise yalnız iki adımlı `POST /files` + `PUT /files/{id}/content` sunuyordu. Sonuç: `crm.file_entries` tablosu **bomboş** — CRM'de bugüne kadar hiçbir dosya yüklenememişti. Üstünde ayrıca `accept: ["*"]` hatası vardı, bu yüzden kullanıcı 404'ü hiç göremiyor, her denemede "Bu dosya türüne izin verilmiyor" yazısına takılıyordu. Yeni bir yükleme yüzeyi eklerken iki sözleşmeyi de KORU — panelin gönderdiği biçim burada karşılanmazsa hata aynı şekilde döner. Kısıt kararı `files::check_upload`'dadır: panelin `validateFile`'ıyla AYNI katalogdan (`files::UPLOAD_KINDS`) beslenir.
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/file-entries" \
-H "Authorization: Bearer <oturum-token>" \
-H "Accept: application/json"{
"data": "…",
"trace_id": "01JC…"
}