Fiyat Alarmları
alarms kaynağı, oturum açmış müşterinin fiyat düşüşü alarmlarını yönetir. index, show, store ve destroy destekler. Tüm istekler kimliği doğrulanmış müşteri token'ı gerektirir.
storefront:account — müşteri token'ı zorunlu.Listeleme
curl -s 'https://<domain>/api/v3/storefront/account/2026-01/alarms' \
-H 'Accept: application/vnd.api+json' \
-H 'Authorization: Bearer <TOKEN>'
Örnek bir alarm kaydı:
{
"type": "alarms",
"id": "77",
"attributes": {
"productId": 10432,
"variantId": 0,
"alarmType": "price",
"alarmPrice": { "amount": "3999.00", "currencyCode": "TRY", "decimalPlaces": 2 },
"alarmDay": 90,
"currentPrice": { "amount": "4999.00", "currencyCode": "TRY", "decimalPlaces": 2 },
"vatIncluded": true,
"remainingDay": 21,
"recordTime": 1720000000,
"product": {
"id": 10432,
"name": "Ahşap Yemek Masası",
"image": "https://<domain>/Data/Urunler/10432.jpg"
}
}
}
Tek alarm
curl -s 'https://<domain>/api/v3/storefront/account/2026-01/alarms/77' \
-H 'Accept: application/vnd.api+json' \
-H 'Authorization: Bearer <TOKEN>'
Yanıt, listedeki kaydın aynısıdır (data tekil obje olarak döner). Başka bir müşterinin alarmı istendiğinde 404 alınır.
Alarm oluşturma
curl -s -X POST 'https://<domain>/api/v3/storefront/account/2026-01/alarms' \
-H 'Accept: application/vnd.api+json' \
-H 'Content-Type: application/vnd.api+json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"data": {
"type": "alarms",
"attributes": {
"productId": 10432,
"variantId": 0,
"alarmType": "price",
"alarmPrice": { "amount": "3999.00", "currencyCode": "TRY", "decimalPlaces": 2 }
}
}
}'
Alarm silme
curl -s -X DELETE 'https://<domain>/api/v3/storefront/account/2026-01/alarms/77' \
-H 'Accept: application/vnd.api+json' \
-H 'Authorization: Bearer <TOKEN>'
Filtreler
Belirli bir ürüne ait alarmları sorgulamak için productId filtresini kullan:
| Filtre | Örnek | Davranış |
|---|---|---|
filter[productId] | filter[productId]=10432 | Belirli bir ürüne ait alarmları getirir |
Alanlar
productId, variantId, alarmType ve alarmPrice yazılabilir; hesaplanan alanlar salt-okunurdur.
| Alan | Açıklama |
|---|---|
productId | Ürün id'si (yazılır) |
variantId | Varyant id'si; varyantsız ürünlerde 0 (yazılır) |
alarmType | Alarm türü (yazılır) |
alarmPrice | Hedef fiyat — Money nesnesi (yazılır) |
alarmDay | Alarmın toplam geçerlilik süresi (gün) — bkz. alarmDay semantiği |
currentPrice | Ürünün güncel fiyatı — Money nesnesi, salt-okunur |
vatIncluded | Fiyata KDV dahil mi? — salt-okunur |
remainingDay | Alarmın dolmasına kalan gün — salt-okunur |
recordTime | Alarmın oluşturulma zamanı (unix) — salt-okunur |
product | Ürünün özet nesnesi — salt-okunur gömülü obje |
alarmPrice ve currentPrice birer Money nesnesidir (bkz. Money): { "amount": "...", "currencyCode": "TRY", "decimalPlaces": 2 }. Kıyaslama yaparken metin amount değeri yerine decimalPlaces ile ölçeklenmiş sayısal değerleri kullan.alarmDay semantiği
alarmDay alarmın toplam geçerlilik süresidir (gün cinsinden) ve her alarmda koşulsuz döner. remainingDay ise o toplam süreden geriye kalan gündür; alarm oluşturulduğu anda alarmDay ile remainingDay eşittir, zaman geçtikçe remainingDay azalırken alarmDay sabit kalır. Fiyat alarmında bu süre 90, stok alarmında 30 gündür (aynı ürün+varyant+tür için tekrar oluşturma bu süreyi ve recordTime'ı sıfırdan başlatır). İlerleme çubuğu gibi bir gösterim remainingDay / alarmDay oranıyla çizilebilir.