T-SOFT/Storefront API/Favoriler

Favoriler

favorites kaynağı, oturum açmış müşterinin favori ürün listesini yönetir. index, show, store ve destroy destekler. Tüm istekler kimliği doğrulanmış müşteri token'ı gerektirir.

Yetki:storefront:account — müşteri token'ı zorunlu.

Listeleme

GET favorites
curl -s 'https://<domain>/api/v3/storefront/account/2026-01/favorites' \
  -H 'Accept: application/vnd.api+json' \
  -H 'Authorization: Bearer <TOKEN>'

Örnek bir favori kaydı:

{
  "type": "favorites",
  "id": "551",
  "attributes": {
    "productId": 10432,
    "variantId": 0,
    "createdAt": 1720000000,
    "product": {
      "id": 10432,
      "name": "Ahşap Yemek Masası",
      "image": "https://<domain>/Data/Urunler/10432.jpg",
      "price": { "amount": "4999.00", "currencyCode": "TRY", "decimalPlaces": 2 }
    }
  }
}

Tek favori

GET favorites/{id}
curl -s 'https://<domain>/api/v3/storefront/account/2026-01/favorites/551' \
  -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 favorisi istendiğinde 404 alınır.

Favoriye ekleme

POST favorites
curl -s -X POST 'https://<domain>/api/v3/storefront/account/2026-01/favorites' \
  -H 'Accept: application/vnd.api+json' \
  -H 'Content-Type: application/vnd.api+json' \
  -H 'Authorization: Bearer <TOKEN>' \
  -d '{
    "data": {
      "type": "favorites",
      "attributes": {
        "productId": 10432,
        "variantId": 0
      }
    }
  }'

Favoriden çıkarma

DELETE favorites/:id
curl -s -X DELETE 'https://<domain>/api/v3/storefront/account/2026-01/favorites/551' \
  -H 'Accept: application/vnd.api+json' \
  -H 'Authorization: Bearer <TOKEN>'

Filtreler

Belirli bir ürünün favoride olup olmadığını sorgulamak için productId filtresini kullan:

FiltreÖrnekDavranış
filter[productId]filter[productId]=10432Belirli bir ürünün favoride olup olmadığını sorgular

Alanlar

productId ve variantId yazılabilir; diğerleri salt-okunurdur.

AlanAçıklama
productIdÜrün id'si (yazılır)
variantIdVaryant id'si; varyantsız ürünlerde 0 (yazılır)
createdAtEklenme zamanı (unix) — salt-okunur
productÜrünün özet nesnesi — salt-okunur gömülü obje
product alanı, ilgili ürünün ad, görsel ve fiyat gibi bilgilerini içeren gömülü bir özet nesnesidir; ayrıca ürün kaynağına istek atmadan liste kartını doldurmak için kullan. Salt-okunurdur.

Sıralama

SortAnlamı
createdAt / -createdAtFavoriye eklenme zamanı
id / -idKayıt numarası

sort verilmezse favoriler en son eklenen başta döner. Liste ekranını ayrıca sıralamana gerek yok; en eskiden yeniye istiyorsan sort=createdAt gönder.