Public Blog Yazilari
Yayindaki blog yazilarini listeleme ve slug ile detay getirme endpointleri.
Base URL: /api/public/blog/posts
Yetkilendirme: X-Api-Key
bilgi
Controller AllowAnonymous olsa da tenant cozumleme icin X-Api-Key header'i gereklidir.
GET /
Yayindaki blog yazilarini filtreli ve sayfalanmis olarak listeler.
Query Parametreleri:
| Parametre | Tip | Varsayilan | Aciklama |
|---|---|---|---|
page | int | 1 | Sayfa numarasi |
pageSize | int | 10 | Sayfa basina kayit |
categoryId | Guid | - | Kategori filtresi |
tagId | Guid | - | Etiket filtresi |
search | string | - | Baslikta arama |
lang | string | - | Dil kodu filtresi |
Headers:
X-Api-Key: customer-api-key
Response - 200 OK:
{
"success": true,
"data": {
"items": [
{
"id": "3fa85f64-...",
"coverImageUrl": "https://minio.example.com/covers/image.jpg",
"status": "Published",
"publishDate": "2026-04-01T10:00:00Z",
"createdAt": "2026-03-27T10:00:00Z",
"title": "Ilk Blog Yazisi",
"slug": "ilk-blog-yazisi"
}
],
"page": 1,
"pageSize": 10,
"totalCount": 1,
"totalPages": 1
}
}
GET /{slug}
Belirli bir blog yazisini slug ile getirir.
Query Parametreleri:
| Parametre | Tip | Aciklama |
|---|---|---|
lang | string | Istenen dil kodu |
Response - 200 OK:
{
"success": true,
"data": {
"id": "3fa85f64-...",
"coverImageUrl": "https://minio.example.com/covers/image.jpg",
"status": "Published",
"publishDate": "2026-04-01T10:00:00Z",
"createdAt": "2026-03-27T10:00:00Z",
"updatedAt": "2026-03-28T14:00:00Z",
"translations": [
{
"languageId": "9cd14a82-...",
"languageCode": "tr",
"title": "Ilk Blog Yazisi",
"content": "<p>Icerik...</p>",
"slug": "ilk-blog-yazisi",
"metaTitle": "Ilk Blog Yazisi | Kompanse",
"metaDescription": "Aciklama"
}
],
"categories": [],
"tags": []
}
}