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.
/v1/store/ordersBu endpoint, kullanıcının sepet toplamını karşılayacak yeterli puana sahip olmasını gerektirir. Sepet boş olmamalıdır.
Örnek İstek
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
{
"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.
{
"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.
/v1/store/orders/physicalQuery Parametreleri
| Parametre | Tür | Açıklama |
|---|---|---|
page[number] | integer | Sayfa numarası (varsayılan: 1) |
page[size] | integer | Sayfa başına öğe (varsayılan: 15) |
Örnek İstek
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
{
"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
| Alan | Tür | Açıklama |
|---|---|---|
id | string | Benzersiz sipariş tanımlayıcısı |
status | string | Sipariş durumu (aşağıdaki durum değerlerine bakın) |
total_paid | integer | Sipariş için ödenen toplam puan |
created_at | string | ISO 8601 formatında sipariş oluşturma zamanı |
items | array | Sipariş öğeleri dizisi |
Fiziksel Sipariş Öğesi Nesnesi
| Alan | Tür | Açıklama |
|---|---|---|
quantity | integer | Sipariş edilen miktar |
regular_price | integer | Sipariş anındaki normal fiyat |
sale_price | integer | null | Sipariş anındaki indirimli fiyat (indirim yoksa null) |
product.id | string | Ürün ID'si |
product.title | string | Ürün başlığı |
product.sku | string | Ürün SKU'su |
product.thumbnail | string | Ü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.
/v1/store/orders/prepaid-cardQuery Parametreleri
| Parametre | Tür | Açıklama |
|---|---|---|
page[number] | integer | Sayfa numarası (varsayılan: 1) |
page[size] | integer | Sayfa başına öğe (varsayılan: 15) |
Örnek İstek
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
{
"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
| Alan | Tür | Açıklama |
|---|---|---|
id | string | Benzersiz sipariş tanımlayıcısı |
status | string | Sipariş durumu (aşağıdaki durum değerlerine bakın) |
total_paid | integer | Sipariş için ödenen toplam puan |
created_at | string | ISO 8601 formatında sipariş oluşturma zamanı |
cards | array | Ön ödemeli kart öğeleri dizisi |
Ön Ödemeli Kart Öğesi Nesnesi
| Alan | Tür | Açıklama |
|---|---|---|
card_code | string | Ön ödemeli kart kodu |
card_pin | string | Ön ödemeli kart PIN'i |
product.id | string | Ürün ID'si |
product.title | string | Ürün başlığı |
product.sku | string | Ürün SKU'su |
product.thumbnail | string | Ürün küçük resmi URL'i |
Sipariş Durum Değerleri
| Durum | Açıklama |
|---|---|
pending_approval | Sipariş onay bekliyor |
waiting_supply | Sipariş stok/tedarik bekliyor |
processing | Sipariş işleniyor |
shipped | Sipariş kargoya verildi (sadece fiziksel siparişler) |
completed | Sipariş tamamlandı/teslim edildi |
cancelled | Sipariş iptal edildi |