Loyetta

Siparişler

Sepete ürün ekledikten sonra, kullanıcılar puanlarını kullanmak için sipariş oluşturabilir. Siparişler iki türe ayrılır: fiziksel ürün siparişleri ve ön ödemeli kart (dijital) siparişleri.


Sipariş Oluştur

Mevcut sepet içeriğinden bir sipariş oluşturun. Bu, kullanıcının puan bakiyesinden düşüm yapacak ve sepeti temizleyecektir.

POST/v1/store/orders

Bu endpoint, kullanıcının sepet toplamını karşılayacak yeterli puana sahip olmasını gerektirir. Sepet boş olmamalıdır.

Örnek İstek

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

Başarılı Yanıt

json
{
  "success": true,
  "message": "Siparişiniz alındı"
}

Hata Yanıtı (400)

Sepet veya sipariş oluşturmada bir sorun olduğunda döndürülür.

json
{
  "success": false,
  "message": "Yetersiz puan bakiyesi",
  "cart_updated": true
}

cart_updated Değeri

cart_updated değeri true olduğunda, sipariş denemesi sırasında sepetin otomatik olarak değiştirildiği anlamına gelir. Bu şu durumlarda gerçekleşebilir:

  • Ürün stokta yok: Sepetteki bir ürün artık mevcut değil veya yeterli stok yok. Ürün sepetten kaldırılacaktır.
  • Fiyat değişti: Bir ürünün fiyatı sepete eklendikten sonra değişmiş. Sepet yeni fiyatla güncellenecektir.
  • Ürün kullanılamıyor: Bir ürün mağazadan devre dışı bırakılmış veya kaldırılmış. Ürün sepetten kaldırılacaktır.

cart_updated: true aldığınızda, siparişi tekrar denemeden önce mutlaka sepeti yeniden çekin. Sepet toplamı değişmiş olabilir ve bazı ürünler kaldırılmış olabilir.


Fiziksel Siparişleri Listele

Kullanıcının fiziksel ürün siparişlerinin sayfalanmış listesini alın.

GET/v1/store/orders/physical

Query Parametreleri

ParametreTürAçıklama
page[number]integerSayfa numarası (varsayılan: 1)
page[size]integerSayfa başına öğe (varsayılan: 15)

Örnek İstek

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

Yanıt

json
{
  "data": [
    {
      "id": "120aaa50",
      "status": "shipped",
      "total_paid": 15000,
      "created_at": "2024-01-15T10:30:00.000000Z",
      "items": [
        {
          "quantity": 1,
          "regular_price": 15000,
          "sale_price": null,
          "product": {
            "id": "154dsc",
            "title": "Kablosuz Kulaklık",
            "sku": "WH-001",
            "thumbnail": "https://example.com/kulaklik.jpg"
          }
        }
      ]
    }
  ],
  "links": {
    "first": "https://marka.prod.loyetta.com/api/v1/store/orders/physical?page[number]=1",
    "last": "https://marka.prod.loyetta.com/api/v1/store/orders/physical?page[number]=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "path": "https://marka.prod.loyetta.com/api/v1/store/orders/physical",
    "per_page": 15,
    "to": 1,
    "total": 1
  }
}

Fiziksel Sipariş Nesnesi

AlanTürAçıklama
idstringBenzersiz sipariş tanımlayıcısı
statusstringSipariş durumu (aşağıdaki durum değerlerine bakın)
total_paidintegerSipariş için ödenen toplam puan
created_atstringISO 8601 formatında sipariş oluşturma zamanı
itemsarraySipariş öğeleri dizisi

Fiziksel Sipariş Öğesi Nesnesi

AlanTürAçıklama
quantityintegerSipariş edilen miktar
regular_priceintegerSipariş anındaki normal fiyat
sale_priceinteger | nullSipariş anındaki indirimli fiyat (indirim yoksa null)
product.idstringÜrün ID'si
product.titlestringÜrün başlığı
product.skustringÜrün SKU'su
product.thumbnailstringÜrün küçük resmi URL'i

Ön Ödemeli Kart Siparişlerini Listele

Kullanıcının ön ödemeli kart (dijital) siparişlerinin sayfalanmış listesini alın.

GET/v1/store/orders/prepaid-card

Query Parametreleri

ParametreTürAçıklama
page[number]integerSayfa numarası (varsayılan: 1)
page[size]integerSayfa başına öğe (varsayılan: 15)

Örnek İstek

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

Yanıt

json
{
  "data": [
    {
      "id": "220bbb60",
      "status": "completed",
      "total_paid": 5000,
      "created_at": "2024-01-16T14:20:00.000000Z",
      "cards": [
        {
          "card_code": "1111-2222-3333-4444",
          "card_pin": "1234",
          "product": {
            "id": "gc-001",
            "title": "50 TL Hediye Kartı",
            "sku": "GC-50TL",
            "thumbnail": "https://example.com/hediyekart.jpg"
          }
        }
      ]
    }
  ],
  "links": {
    "first": "https://marka.prod.loyetta.com/api/v1/store/orders/prepaid-card?page[number]=1",
    "last": "https://marka.prod.loyetta.com/api/v1/store/orders/prepaid-card?page[number]=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "path": "https://marka.prod.loyetta.com/api/v1/store/orders/prepaid-card",
    "per_page": 15,
    "to": 1,
    "total": 1
  }
}

Ön Ödemeli Kart Sipariş Nesnesi

AlanTürAçıklama
idstringBenzersiz sipariş tanımlayıcısı
statusstringSipariş durumu (aşağıdaki durum değerlerine bakın)
total_paidintegerSipariş için ödenen toplam puan
created_atstringISO 8601 formatında sipariş oluşturma zamanı
cardsarrayÖn ödemeli kart öğeleri dizisi

Ön Ödemeli Kart Öğesi Nesnesi

AlanTürAçıklama
card_codestringÖn ödemeli kart kodu
card_pinstringÖn ödemeli kart PIN'i
product.idstringÜrün ID'si
product.titlestringÜrün başlığı
product.skustringÜrün SKU'su
product.thumbnailstringÜrün küçük resmi URL'i

Sipariş Durum Değerleri

DurumAçıklama
pending_approvalSipariş onay bekliyor
waiting_supplySipariş stok/tedarik bekliyor
processingSipariş işleniyor
shippedSipariş kargoya verildi (sadece fiziksel siparişler)
completedSipariş tamamlandı/teslim edildi
cancelledSipariş iptal edildi