Loyetta

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.

GET/v1/blogs

Query Parametreleri

ParametreTürAçıklama
page[number]integerSayfa numarası (varsayılan: 1)
filter[title]stringBaşlığa göre arama

Örnek İstek

bash
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

json
{
  "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

AlanTürAçıklama
idstringBenzersiz yazı tanımlayıcısı
titlestringYazı başlığı
excerptstringYazının kısa özeti
contentstringTam HTML formatında içerik
likesintegerToplam beğeni sayısı
viewsintegerToplam görüntülenme sayısı
has_likedbooleanMevcut kullanıcının bu yazıyı beğenip beğenmediği
imageobjecturl ve sizes içeren görsel nesnesi (aşağıdaki Görsel Nesnesi bölümüne bakın)
share_textstringSistem paylaşım diyaloğunda kullanılacak metin
created_atstringISO 8601 formatında oluşturma zamanı

Görsel Nesnesi

AlanTürAçıklama
urlstringHam görsel URL'i, her zaman mevcuttur
sizes.fullstring | nullWebP formatında orijinal boyutlar
sizes.largestring | nullWebP formatında maks. 1920px genişlik
sizes.thumbnailstring | nullWebP 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.

GET/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

ParametreTürAçıklama
blogstringAlınacak yazının ID'si

Örnek İstek

bash
curl -X GET "https://marka.prod.loyetta.com/api/v1/blogs/1a5c77ff" \
  -H "Authorization: Bearer {musteri-tokeni}" \
  -H "Accept: application/json"

Yanıt

json
{
  "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)

json
{
  "success": false,
  "message": "Post not found"
}

Haberi Beğen

Bir haber yazısını mevcut kullanıcının beğenilerine ekleyin.

POST/v1/blogs/{blog}/like

Path Parametreleri

ParametreTürAçıklama
blogstringYazının ID'si

Örnek İstek

bash
curl -X POST "https://marka.prod.loyetta.com/api/v1/blogs/1a5c77ff/like" \
  -H "Authorization: Bearer {musteri-tokeni}" \
  -H "Accept: application/json"

Yanıt

json
{
  "success": true,
  "data": {
    "count": 43
  }
}

Haber Beğenisini Kaldır

Bir haber yazısını mevcut kullanıcının beğenilerinden çıkarın.

POST/v1/blogs/{blog}/unlike

Path Parametreleri

ParametreTürAçıklama
blogstringYazının ID'si

Örnek İstek

bash
curl -X POST "https://marka.prod.loyetta.com/api/v1/blogs/1a5c77ff/unlike" \
  -H "Authorization: Bearer {musteri-tokeni}" \
  -H "Accept: application/json"

Yanıt

json
{
  "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.

POST/v1/blogs/{blog}/share

Path Parametreleri

ParametreTürAçıklama
blogstringYazının ID'si

Örnek İstek

bash
curl -X POST "https://marka.prod.loyetta.com/api/v1/blogs/1a5c77ff/share" \
  -H "Authorization: Bearer {musteri-tokeni}" \
  -H "Accept: application/json"

Yanıt

json
{
  "success": true
}