Loyetta

Puan Geçmişi

Oturum açmış kullanıcının puan geçmişini alın. İşlemler tarihe göre, her tarih içinde de aktivite türüne göre (QR okutma, video izleme, quiz cevaplama, sipariş vb.) gruplandırılır. Bu yapı, zaman çizelgesi tarzı arayüzler oluşturmak için tasarlanmıştır.


Puan Geçmişini Getir

GET/v1/user/point-history

Query Parametreleri

ParametreTürAçıklama
page[number]integerSayfa numarası (varsayılan: 1)

Örnek İstek

bash
curl -X GET "https://marka.prod.loyetta.com/api/v1/user/point-history?page[number]=1" \
  -H "Authorization: Bearer {musteri-tokeni}" \
  -H "Accept: application/json"

Yanıt

json
{
  "data": {
    "2026-02-24": [
      {
        "type": "code",
        "groupTitle": "QR Okutmalarınız",
        "groupSubtitle": "3 adet QR okuttunuz.",
        "totalPoints": 300,
        "totalBonusPoints": 300,
        "data": [
          {
            "type": "code",
            "points": 100,
            "bonus_points": 100,
            "title": "QR okuttunuz",
            "subtitle": "Canmaya",
            "created_at": "2026-02-24T07:34:58.000000Z",
            "bonus_breakdown": [
              {
                "type": "birthday",
                "points": 100,
                "title": "Doğum günü haftana özel okuttuğun QR'da ekstra 100 puan sana hediye!"
              }
            ]
          },
          {
            "type": "code",
            "points": 100,
            "bonus_points": 100,
            "title": "QR okuttunuz",
            "subtitle": "Canmaya",
            "created_at": "2026-02-24T07:34:58.000000Z",
            "bonus_breakdown": [
              {
                "type": "birthday",
                "points": 100,
                "title": "Doğum günü haftana özel okuttuğun QR'da ekstra 100 puan sana hediye!"
              }
            ]
          }
        ]
      }
    ],
    "2026-01-12": [
      {
        "type": "video",
        "groupTitle": "Video izlediniz",
        "groupSubtitle": "Bun Ekmeği Nedir?",
        "totalPoints": 100,
        "totalBonusPoints": 0,
        "data": [
          {
            "type": "video",
            "points": 100,
            "bonus_points": 0,
            "title": "Video izlediniz",
            "subtitle": "Bun Ekmeği Nedir?",
            "created_at": "2026-01-12T07:16:07.000000Z"
          }
        ]
      }
    ],
    "2025-11-19": [
      {
        "type": "quiz",
        "groupTitle": "Quiz Cevaplarınız",
        "groupSubtitle": "2 adet quiz cevapladınız.",
        "totalPoints": 100,
        "totalBonusPoints": 0,
        "data": [
          {
            "type": "quiz",
            "points": 50,
            "bonus_points": 0,
            "title": "Quiz cevapladınız",
            "subtitle": "Ödüllü Bilgi Sorusu",
            "created_at": "2025-11-19T07:32:03.000000Z"
          },
          {
            "type": "quiz",
            "points": 50,
            "bonus_points": 0,
            "title": "Quiz cevapladınız",
            "subtitle": "Ödüllü Bilgi Sorusu",
            "created_at": "2025-11-19T07:31:56.000000Z"
          }
        ]
      }
    ],
    "2025-07-11": [
      {
        "type": "order",
        "groupTitle": "Hediye siparişi verdiniz",
        "groupSubtitle": "582313328 numaralı sipariş",
        "totalPoints": -6250,
        "totalBonusPoints": 0,
        "data": [
          {
            "type": "order",
            "points": -6250,
            "bonus_points": 0,
            "title": "Hediye siparişi verdiniz",
            "subtitle": "582313328 numaralı sipariş",
            "created_at": "2025-07-11T12:40:55.000000Z"
          }
        ]
      }
    ]
  },
  "meta": {
    "current_page": 1,
    "per_page": 7,
    "last_page": 2,
    "total": 14
  },
  "user_points": 72250
}

Yanıt Yapısı

Yanıt, zaman çizelgesi arayüzleri için tasarlanmış benzersiz bir yapıya sahiptir. Düz bir liste yerine, veri tarihe göre anahtarlanmış bir nesne olarak döner; her tarih altında aktivite grupları bulunur.

Üst Seviye Alanlar

AlanTürAçıklama
dataobjectTarihe göre gruplandırılmış puan geçmişi. Her anahtar bir tarih (YYYY-MM-DD), her değer aktivite grupları dizisidir.
metaobjectSayfalama meta verisi
user_pointsintegerKullanıcının güncel toplam puan bakiyesi

Sayfalama Meta Verisi

AlanTürAçıklama
current_pageintegerMevcut sayfa numarası
per_pageintegerSayfa başına tarih grubu sayısı
last_pageintegerSon sayfa numarası
totalintegerToplam tarih grubu sayısı

Sayfalama bireysel işlemlere değil, tarih gruplarına göre yapılır. Her sayfa per_page kadar tarih döner ve her tarih o güne ait tüm aktivite gruplarını içerir.


Aktivite Grubu Nesnesi

Her tarih bir veya daha fazla aktivite grubu içerir. Aynı gün içindeki aynı türdeki işlemler birlikte gruplandırılır.

AlanTürAçıklama
typestringAktivite türü (aşağıdaki türlere bakın)
groupTitlestringGrubun görüntüleme başlığı
groupSubtitlestringGrubun görüntüleme alt başlığı (ör. adet özeti veya öğe adı)
totalPointsintegerBu gruptaki tüm işlemlerin temel puan toplamı
totalBonusPointsintegerBu gruptaki tüm işlemlerin bonus puan toplamı
dataarrayBireysel işlem kayıtları dizisi

Aktivite Türleri

TürAçıklama
codeQR kod okutma
videoVideo izleme
quizQuiz cevaplama
orderHediye marketi siparişi (puanlar negatiftir)

İşlem Nesnesi

Bir grup içindeki her bireysel puan işlemi.

AlanTürAçıklama
typestringAktivite türü (üst grup ile aynı)
pointsintegerKazanılan temel puan (harcama işlemlerinde negatif, ör. siparişler)
bonus_pointsintegerTemel puanın üzerine kazanılan bonus puan
titlestringİşlemin görüntüleme başlığı
subtitlestringİşlemin görüntüleme alt başlığı (ör. ürün adı, içerik başlığı, sipariş numarası)
created_atstringISO 8601 formatında işlem zamanı
bonus_breakdownarray | undefinedBonus puan detayları. Yalnızca bonus_points > 0 olduğunda bulunur.

Bonus Detay Nesnesi

Bir işlem bonus puan içerdiğinde, bonus_breakdown dizisi puanların kaynağını açıklar.

AlanTürAçıklama
typestringBonus türü (ör. birthday, campaign)
pointsintegerBu kaynaktan gelen bonus puan
titlestringBonusun insan tarafından okunabilir açıklaması