Loyetta

Sepet

Alışveriş sepeti, kullanıcıların sipariş vermeden önce ürünleri toplamasına olanak tanır. Her kullanıcının ödeme veya manuel temizleme yapılana kadar kalıcı olan tek bir sepeti vardır.


Sepeti Getir

Mevcut kullanıcının tüm öğeleriyle birlikte alışveriş sepetini alın.

GET/v1/store/cart

Örnek İstek

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

Yanıt

json
{
  "success": true,
  "data": {
    "regular_total": 12050,
    "items": [
      {
        "quantity": 2,
        "product": {
          "id": "1a5c77ff",
          "title": "Kablosuz Kulaklık",
          "sku": "WH-001",
          "description": "<p>Premium kablosuz kulaklık.</p>",
          "regular_price": 5000,
          "sale_price": 4000,
          "thumbnail": "https://example.com/kulaklik.jpg",
          "gallery": []
        }
      },
      {
        "quantity": 1,
        "product": {
          "id": "2b6d88aa",
          "title": "Telefon Kılıfı",
          "sku": "PC-001",
          "description": "<p>Koruyucu telefon kılıfı.</p>",
          "regular_price": 2050,
          "sale_price": null,
          "thumbnail": "https://example.com/kilif.jpg",
          "gallery": []
        }
      }
    ]
  }
}

Sepet Nesnesi

AlanTürAçıklama
regular_totalintegerTüm öğelerin toplam fiyatı (puan cinsinden, indirimler öncesi)
itemsarraySepet öğeleri dizisi
items[].quantityintegerBu ürünün sepetteki miktarı
items[].productobjectÜrün detayları (Ürün Nesnesi'ne bakın)

Sepete Ekle

Alışveriş sepetine bir ürün ekleyin. Ürün zaten sepette varsa, miktarı artırılır.

POST/v1/store/cart/add

İstek Gövdesi

ParametreTürZorunluAçıklama
product_idstringEvetEklenecek ürünün ID'si
quantityintegerHayırEklenecek miktar (varsayılan: 1, minimum: 1)

Örnek İstek

bash
curl -X POST "https://marka.prod.loyetta.com/api/v1/store/cart/add" \
  -H "Authorization: Bearer {musteri-tokeni}" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "product_id": "1a5c77ff",
    "quantity": 2
  }'

Yanıt

Güncellenmiş sepet nesnesini döndürür.

json
{
  "success": true,
  "data": {
    "regular_total": 10000,
    "items": [
      {
        "quantity": 2,
        "product": {
          "id": "1a5c77ff",
          "title": "Kablosuz Kulaklık",
          "sku": "WH-001",
          "regular_price": 5000,
          "sale_price": 4000,
          "thumbnail": "https://example.com/kulaklik.jpg",
          "gallery": []
        }
      }
    ]
  }
}

Hata Yanıtı (422)

json
{
  "success": false,
  "message": "The product ID is required.",
  "errors": {
    "product_id": ["The selected product does not exist or is not available."]
  }
}

Sepet Öğesini Güncelle

Sepetteki bir ürünün miktarını belirli bir değere ayarlayın. Bu endpoint ile sepetteki öğelerin miktarını artırabilir, azaltabilir veya öğeyi sepetten kaldırabilirsiniz.

POST/v1/store/cart/update-item

İstek Gövdesi

ParametreTürZorunluAçıklama
product_idstringEvetGüncellenecek ürünün ID'si
quantityintegerEvetİstenen miktar. Öğeyi sepetten kaldırmak için 0 gönderin.

Bir öğeyi sepetten kaldırmak için quantity: 0 gönderin. Ayrı bir kaldırma endpoint'i bulunmamaktadır — tüm sepet öğesi güncellemeleri (artırma, azaltma, kaldırma) bu tek endpoint üzerinden yapılır.

Örnek İstek — Miktarı Güncelle

bash
curl -X POST "https://marka.prod.loyetta.com/api/v1/store/cart/update-item" \
  -H "Authorization: Bearer {musteri-tokeni}" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "product_id": "1a5c77ff",
    "quantity": 3
  }'

Örnek İstek — Öğeyi Kaldır

bash
curl -X POST "https://marka.prod.loyetta.com/api/v1/store/cart/update-item" \
  -H "Authorization: Bearer {musteri-tokeni}" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "product_id": "1a5c77ff",
    "quantity": 0
  }'

Yanıt

Güncellenmiş sepet nesnesini döndürür.

json
{
  "success": true,
  "data": {
    "regular_total": 5000,
    "items": [
      {
        "quantity": 3,
        "product": {
          "id": "1a5c77ff",
          "title": "Kablosuz Kulaklık",
          "sku": "WH-001",
          "regular_price": 5000,
          "sale_price": 4000,
          "thumbnail": "https://example.com/kulaklik.jpg",
          "gallery": []
        }
      }
    ]
  }
}

Tüm sepet işlemleri güncellenmiş sepet nesnesini döndürür, bu da herhangi bir değişiklikten sonra arayüzünüzü yenilemenizi kolaylaştırır.