Haberler
Haber yazıları, marka tarafından yayımlanan bilgilendirme içerikleridir. Kullanıcılar yazılara göz atabilir, okuyabilir, beğenebilir ve paylaşabilir.
İçerik segmente edilmişse, bu endpointler yalnızca mevcut kullanıcıyla eşleşen içerikleri döndürür.
Haberleri Listele
Haber yazılarının sayfalanmış listesini alın.
/v1/blogsQuery Parametreleri
| Parametre | Tür | Açıklama |
|---|---|---|
page[number] | integer | Sayfa numarası (varsayılan: 1) |
filter[title] | string | Başlığa göre arama |
Örnek İstek
curl -X GET "https://marka.prod.loyetta.com/api/v1/blogs?page[number]=1" \
-H "Authorization: Bearer {musteri-tokeni}" \
-H "Accept: application/json"Yanıt
{
"data": [
{
"id": "1a5c77ff",
"title": "Yaz Kampanyası Başladı!",
"excerpt": "Bu yaz tüm alışverişlerde çift puan kazanın.",
"content": "<p>Yaz kampanyamızı duyurmaktan heyecan duyuyoruz...</p>",
"likes": 42,
"views": 350,
"has_liked": false,
"image": {
"url": "https://example.com/yaz.jpg",
"sizes": {
"full": "https://example.com/yaz.webp",
"large": "https://example.com/yaz-large.webp",
"thumbnail": "https://example.com/yaz-thumb.webp"
}
},
"share_text": "Yaz kampanyasına göz atın!",
"created_at": "2024-06-01T09:00:00.000000Z"
}
],
"links": {
"first": "https://marka.prod.loyetta.com/api/v1/blogs?page[number]=1",
"last": "https://marka.prod.loyetta.com/api/v1/blogs?page[number]=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://marka.prod.loyetta.com/api/v1/blogs",
"per_page": 15,
"to": 1,
"total": 1
}
}Haber Nesnesi
| Alan | Tür | Açıklama |
|---|---|---|
id | string | Benzersiz yazı tanımlayıcısı |
title | string | Yazı başlığı |
excerpt | string | Yazının kısa özeti |
content | string | Tam HTML formatında içerik |
likes | integer | Toplam beğeni sayısı |
views | integer | Toplam görüntülenme sayısı |
has_liked | boolean | Mevcut kullanıcının bu yazıyı beğenip beğenmediği |
image | object | url ve sizes içeren görsel nesnesi (aşağıdaki Görsel Nesnesi bölümüne bakın) |
share_text | string | Sistem paylaşım diyaloğunda kullanılacak metin |
created_at | string | ISO 8601 formatında oluşturma zamanı |
Görsel Nesnesi
| Alan | Tür | Açıklama |
|---|---|---|
url | string | Ham görsel URL'i, her zaman mevcuttur |
sizes.full | string | null | WebP formatında orijinal boyutlar |
sizes.large | string | null | WebP formatında maks. 1920px genişlik |
sizes.thumbnail | string | null | WebP formatında maks. 400px genişlik |
image.url alanı her zaman mevcuttur. Ancak image.sizes değerleri, görseller işlenirken null olabilir. Her zaman bir fallback deseni kullanın: image.sizes.thumbnail ?? image.url veya image.sizes.large ?? image.url.
Haber Detayı
Belirli bir haber yazısının detaylı bilgilerini alın.
/v1/blogs/{blog}Listeleme endpoint'i de içerik verilerini döndürse de, kullanıcı belirli bir içerikle etkileşime geçtiğinde bu detay endpoint'ini çağırmanız önerilir. Bu istek arka planda yapılabilir ve Loyetta'nın analitiği doğru şekilde takip etmesine yardımcı olur.
Path Parametreleri
| Parametre | Tür | Açıklama |
|---|---|---|
blog | string | Alınacak yazının ID'si |
Örnek İstek
curl -X GET "https://marka.prod.loyetta.com/api/v1/blogs/1a5c77ff" \
-H "Authorization: Bearer {musteri-tokeni}" \
-H "Accept: application/json"Yanıt
{
"success": true,
"data": {
"id": "1a5c77ff",
"title": "Yaz Kampanyası Başladı!",
"excerpt": "Bu yaz tüm alışverişlerde çift puan kazanın.",
"content": "<p>Yaz kampanyamızı duyurmaktan heyecan duyuyoruz...</p>",
"likes": 42,
"views": 351,
"has_liked": false,
"image": {
"url": "https://example.com/yaz.jpg",
"sizes": {
"full": "https://example.com/yaz.webp",
"large": "https://example.com/yaz-large.webp",
"thumbnail": "https://example.com/yaz-thumb.webp"
}
},
"share_text": "Yaz kampanyasına göz atın!",
"created_at": "2024-06-01T09:00:00.000000Z"
}
}Hata Yanıtı (404)
{
"success": false,
"message": "Post not found"
}Haberi Beğen
Bir haber yazısını mevcut kullanıcının beğenilerine ekleyin.
/v1/blogs/{blog}/likePath Parametreleri
| Parametre | Tür | Açıklama |
|---|---|---|
blog | string | Yazının ID'si |
Örnek İstek
curl -X POST "https://marka.prod.loyetta.com/api/v1/blogs/1a5c77ff/like" \
-H "Authorization: Bearer {musteri-tokeni}" \
-H "Accept: application/json"Yanıt
{
"success": true,
"data": {
"count": 43
}
}Haber Beğenisini Kaldır
Bir haber yazısını mevcut kullanıcının beğenilerinden çıkarın.
/v1/blogs/{blog}/unlikePath Parametreleri
| Parametre | Tür | Açıklama |
|---|---|---|
blog | string | Yazının ID'si |
Örnek İstek
curl -X POST "https://marka.prod.loyetta.com/api/v1/blogs/1a5c77ff/unlike" \
-H "Authorization: Bearer {musteri-tokeni}" \
-H "Accept: application/json"Yanıt
{
"success": true,
"data": {
"count": 42
}
}Haberi Paylaş
Kullanıcı bir haber yazısını paylaştığında paylaşım aksiyonunu kaydedin. Analitik ve etkileşim takibi için kullanılabilir.
/v1/blogs/{blog}/sharePath Parametreleri
| Parametre | Tür | Açıklama |
|---|---|---|
blog | string | Yazının ID'si |
Örnek İstek
curl -X POST "https://marka.prod.loyetta.com/api/v1/blogs/1a5c77ff/share" \
-H "Authorization: Bearer {musteri-tokeni}" \
-H "Accept: application/json"Yanıt
{
"success": true
}