Ana içeriğe geç

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ı

KatmanPrefixKimlik DoğrulamaAmaç
Admin/api/admin/JWT Bearer TokenCMS yönetimi, müşteri ve modül işlemleri
Tenant/api/tenant/JWT Bearer Token + X-Api-KeyMüşterinin kendi içerik yönetimi
Public/api/public/X-Api-KeySon kullanıcılara açık, salt okunur içerik

Modül Listesi

ModülKısa AçıklamaDokümanlar
BlogBlog yazıları, kategoriler ve etiketlerin çoklu dil desteğiyle yönetilmesini sağlar.Tenant, Public
Site SettingsSite kimliği, SEO alanları ve sosyal medya bağlantılarının merkezi yönetimini sağlar.Tenant, Public
NavigatorHeader, footer ve benzeri menü ağaçlarının sonsuz kırılımla ve çoklu dil desteğiyle yönetilmesini sağlar.Tenant, Public
PagesHakkımızda, İletişim gibi statik sayfaların çoklu dil desteğiyle ve benzersiz code ile yönetilmesini sağlar.Tenant, Public
Media ManagerGörsel, video ve doküman dosyalarının yüklenmesi, listelenmesi ve kalıcı public link ile paylaşılmasını sağlar.Tenant, Public
Product CatalogDinamik özellik yapısıyla ürün kataloğu yönetimi, hiyerarşik kategoriler, EAV tabanlı filtreleme ve sıralama desteği sağlar.Tenant, Public

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ı

KodAçıklama
200 OKGET ve PUT işlemleri başarılı
201 CreatedPOST ile yeni kayıt oluşturuldu
204 No ContentDELETE işlemi başarılı
400 Bad RequestValidasyon hatası
401 UnauthorizedKimlik doğrulama başarısız
403 ForbiddenYetkilendirme hatası
404 Not FoundKayıt bulunamadı
409 ConflictÇakışma (örn. aynı slug/email)
500 Internal Server ErrorSunucu hatası