Ana içeriğe geç

Blog Kategorileri

Blog kategorilerinin CRUD işlemleri. Kategoriler çoklu dil desteğiyle çalışır.

Base URL: /api/tenant/blog/categories Yetkilendirme: Bearer Token + X-Api-Key Modül: Blog modülü müşteriye atanmış olmalıdır.

Headers:

Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
X-Api-Key: customer-api-key

POST /

Yeni kategori oluşturur.

Request Body:

{
"isActive": true,
"translations": [
{
"languageId": "9cd14a82-...",
"name": "Teknoloji",
"slug": "teknoloji"
},
{
"languageId": "7ba92e31-...",
"name": "Technology",
"slug": "technology"
}
]
}
AlanTipZorunluAçıklama
isActivebooleanEvetAktiflik durumu
translationsCategoryTranslationRequest[]EvetDil çevirileri

CategoryTranslationRequest

AlanTipZorunluAçıklama
languageIdGuidEvetDil ID
namestringEvetKategori adı
slugstringEvetURL slug

Response — 201 Created:

{
"success": true,
"data": {
"id": "3fa85f64-...",
"isActive": true,
"createdAt": "2026-03-27T10:00:00Z",
"translations": [
{
"languageId": "9cd14a82-...",
"languageCode": "tr",
"name": "Teknoloji",
"slug": "teknoloji"
}
]
}
}

GET /

Tüm kategorileri listeler.

Response — 200 OK:

{
"success": true,
"data": [
{
"id": "3fa85f64-...",
"isActive": true,
"createdAt": "2026-03-27T10:00:00Z",
"translations": [
{
"languageId": "9cd14a82-...",
"languageCode": "tr",
"name": "Teknoloji",
"slug": "teknoloji"
}
]
}
]
}

GET /{id}

Belirli bir kategoriyi getirir.

Response — 200 OK:

{
"success": true,
"data": {
"id": "3fa85f64-...",
"isActive": true,
"createdAt": "2026-03-27T10:00:00Z",
"translations": [
{
"languageId": "9cd14a82-...",
"languageCode": "tr",
"name": "Teknoloji",
"slug": "teknoloji"
}
]
}
}

PUT /{id}

Kategoriyi günceller.

Request Body: CreateCategoryRequest ile aynı yapıdadır.

Response — 200 OK: CategoryResponse objesi döner.


DELETE /{id}

Kategoriyi siler (soft delete).

Response — 204 No Content

Olası Hatalar

KodDurum
401Token eksik veya geçersiz
403Tenant kullanıcısı yetkisi yok veya blog modül erişimi yok
404Kategori bulunamadı
409Slug çakışması veya ilişkili veri çakışması
400Geçersiz request body