Kompanse CMS API
Kompanse CMS, multi-tenant headless CMS API'dir. Her müşteri (tenant) izole bir veritabanına sahiptir ve API üzerinden içerik yönetimi yapar.
Temel Özellikler
- Multi-Tenant Mimari — Her müşteri kendi veritabanında çalışır, veriler tamamen izole edilmiştir.
- Modüler Yapı — Blog gibi modüller bağımsız olarak müşterilere atanabilir.
- Çoklu Dil Desteği — İçerikler (blog yazıları, kategoriler, etiketler) birden fazla dilde yönetilebilir.
- Üç Katmanlı Erişim — Admin, Tenant ve Public olmak üzere farklı yetkilendirme seviyeleri.
API Katmanları
| Katman | Prefix | Kimlik Doğrulama | Amaç |
|---|---|---|---|
| Admin | /api/admin/ | JWT Bearer Token | CMS yönetimi, müşteri ve modül işlemleri |
| Tenant | /api/tenant/ | JWT Bearer Token + X-Api-Key | Müşterinin kendi içerik yönetimi |
| Public | /api/public/ | X-Api-Key | Son kullanıcılara açık, salt okunur içerik |
Base URL
https://cms-api.kompanse.com
Yanıt Formatı
Tüm endpointler standart bir yanıt formatı kullanır:
{
"success": true,
"data": { },
"message": null,
"errors": null
}
Hata durumunda:
{
"success": false,
"data": null,
"message": "Hata açıklaması",
"errors": [
{
"field": "Email",
"message": "Email alanı zorunludur."
}
]
}
HTTP Durum Kodları
| Kod | Açıklama |
|---|---|
200 OK | GET ve PUT işlemleri başarılı |
201 Created | POST ile yeni kayıt oluşturuldu |
204 No Content | DELETE işlemi başarılı |
400 Bad Request | Validasyon hatası |
401 Unauthorized | Kimlik doğrulama başarısız |
403 Forbidden | Yetkilendirme hatası |
404 Not Found | Kayıt bulunamadı |
409 Conflict | Çakışma (örn. aynı slug/email) |
500 Internal Server Error | Sunucu hatası |