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
/v1/user/point-historyQuery Parametreleri
| Parametre | Tür | Açıklama |
|---|---|---|
page[number] | integer | Sayfa numarası (varsayılan: 1) |
Örnek İstek
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
{
"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
| Alan | Tür | Açıklama |
|---|---|---|
data | object | Tarihe göre gruplandırılmış puan geçmişi. Her anahtar bir tarih (YYYY-MM-DD), her değer aktivite grupları dizisidir. |
meta | object | Sayfalama meta verisi |
user_points | integer | Kullanıcının güncel toplam puan bakiyesi |
Sayfalama Meta Verisi
| Alan | Tür | Açıklama |
|---|---|---|
current_page | integer | Mevcut sayfa numarası |
per_page | integer | Sayfa başına tarih grubu sayısı |
last_page | integer | Son sayfa numarası |
total | integer | Toplam 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.
| Alan | Tür | Açıklama |
|---|---|---|
type | string | Aktivite türü (aşağıdaki türlere bakın) |
groupTitle | string | Grubun görüntüleme başlığı |
groupSubtitle | string | Grubun görüntüleme alt başlığı (ör. adet özeti veya öğe adı) |
totalPoints | integer | Bu gruptaki tüm işlemlerin temel puan toplamı |
totalBonusPoints | integer | Bu gruptaki tüm işlemlerin bonus puan toplamı |
data | array | Bireysel işlem kayıtları dizisi |
Aktivite Türleri
| Tür | Açıklama |
|---|---|
code | QR kod okutma |
video | Video izleme |
quiz | Quiz cevaplama |
order | Hediye marketi siparişi (puanlar negatiftir) |
İşlem Nesnesi
Bir grup içindeki her bireysel puan işlemi.
| Alan | Tür | Açıklama |
|---|---|---|
type | string | Aktivite türü (üst grup ile aynı) |
points | integer | Kazanılan temel puan (harcama işlemlerinde negatif, ör. siparişler) |
bonus_points | integer | Temel puanın üzerine kazanılan bonus puan |
title | string | İşlemin görüntüleme başlığı |
subtitle | string | İşlemin görüntüleme alt başlığı (ör. ürün adı, içerik başlığı, sipariş numarası) |
created_at | string | ISO 8601 formatında işlem zamanı |
bonus_breakdown | array | undefined | Bonus 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.
| Alan | Tür | Açıklama |
|---|---|---|
type | string | Bonus türü (ör. birthday, campaign) |
points | integer | Bu kaynaktan gelen bonus puan |
title | string | Bonusun insan tarafından okunabilir açıklaması |