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"
}
]
}
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
isActive | boolean | Evet | Aktiflik durumu |
translations | CategoryTranslationRequest[] | Evet | Dil çevirileri |
CategoryTranslationRequest
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
languageId | Guid | Evet | Dil ID |
name | string | Evet | Kategori adı |
slug | string | Evet | URL 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
| Kod | Durum |
|---|---|
401 | Token eksik veya geçersiz |
403 | Tenant kullanıcısı yetkisi yok veya blog modül erişimi yok |
404 | Kategori bulunamadı |
409 | Slug çakışması veya ilişkili veri çakışması |
400 | Geçersiz request body |