Blog Etiketleri
Blog etiketlerinin CRUD islemleri. Etiketler coklu dil destegiyle calisir.
Base URL: /api/tenant/blog/tags
Yetkilendirme: Bearer Token + X-Api-Key
Modul: Blog modulu musteriye atanmis olmalidir.
Headers:
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
X-Api-Key: customer-api-key
POST /
Yeni etiket olusturur.
Request Body:
{
"isActive": true,
"translations": [
{
"languageId": "9cd14a82-...",
"name": "Yazilim",
"slug": "yazilim"
},
{
"languageId": "7ba92e31-...",
"name": "Software",
"slug": "software"
}
]
}
| Alan | Tip | Zorunlu | Aciklama |
|---|---|---|---|
isActive | boolean | Evet | Aktiflik durumu |
translations | TagTranslationRequest[] | Evet | Dil cevirileri |
TagTranslationRequest
| Alan | Tip | Zorunlu | Aciklama |
|---|---|---|---|
languageId | Guid | Evet | Dil ID |
name | string | Evet | Etiket adi |
slug | string | Hayir | URL slug |
Response - 201 Created:
{
"success": true,
"data": {
"id": "3fa85f64-...",
"isActive": true,
"createdAt": "2026-03-27T10:00:00Z",
"translations": [
{
"languageId": "9cd14a82-...",
"languageCode": "tr",
"name": "Yazilim",
"slug": "yazilim"
}
]
}
}
GET /
Tum etiketleri listeler.
Response - 200 OK:
{
"success": true,
"data": [
{
"id": "3fa85f64-...",
"isActive": true,
"createdAt": "2026-03-27T10:00:00Z",
"translations": [
{
"languageId": "9cd14a82-...",
"languageCode": "tr",
"name": "Yazilim",
"slug": "yazilim"
}
]
}
]
}
GET /{id}
Belirli bir etiketi getirir.
Response - 200 OK:
{
"success": true,
"data": {
"id": "3fa85f64-...",
"isActive": true,
"createdAt": "2026-03-27T10:00:00Z",
"translations": [
{
"languageId": "9cd14a82-...",
"languageCode": "tr",
"name": "Yazilim",
"slug": "yazilim"
}
]
}
}
PUT /{id}
Etiketi gunceller.
Request Body: CreateTagRequest ile ayni yapidadir.
Response - 200 OK: TagResponse objesi doner.
DELETE /{id}
Etiketi 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 | Etiket bulunamadı |
409 | Slug çakışması veya ilişkili veri çakışması |
400 | Geçersiz request body |