Sepet ve Ödeme

Sepet Servisi (Basket API)

Alışveriş Sepeti Listeleme, Sepete Ekleme ve Sepet Temizleme işlemlerine ait ilgili methodları bu başlık altında bulabilirsiniz.

İlgili methodları çağırmadan önce, ilk önce javascript ile eşsiz (unique) bir checkoutId ve basketId üretmelisiniz. Daha sonra alışveriş sepeti ve siparişi tamamlama ile ilgili yapılacak olan bütün işlemlerde, bu basketId ve checkoutId değerleri kullanılacaktır.

Önemli!

basketId ve checkoutId değeri unique bir değerdir ve oturum açmayan kullanıcılar için mutlaka saklanması gerekir. Kullanıcı oturum açarsa, userId ve basketId değerleri eşleştirilir ve bu işlemden sonra kullanıcı nerede oturum açarsa açsın, sepet bilgisine ulaşabilir. Ancak her türlü senaryoda sepet bilgisine ulaşma yöntemi, ilk olarak basketId ile gerçekleşir.


Sepet İçeriğini Listeleme

get
/api/shop/basket

Bu serviste sepete eklenen ürünleri ve sepet toplamı gibi detaylı bilgileri listeleyebilirsiniz.

Parametre Tanımlamaları

DeğerlerZorunlulukÖn TanımlıAçıklama
basketIdevetDaha önce oluşturduğunuz geçerli oturum bilgisine ait sepet kimliği
langhayırtrServisten beklenen dil bilgisidir. Merchant'a tanımlı dil bilgileri ile istek yapılabilir.

Örnek İstek

axios.get('{baseUrl}/api/shop/basket')

Servis Cevabı ve Alan Açıklamaları

Alan adıAçıklama
basketContent->_idSepet line id'si
basketContent->merchantIdSatıcıya ait id bilgisi
basketContent->basketIdSepet kimliği
basketContent->variantIdÜrün varyant id bilgisi
basketContent->attributesÜrün özellikleri (renk, beden vs.)
basketContent->itemTypeİçerik tipi (product,fee)
basketContent->userIdKullanıcı id bilgisi
basketContent->discountPriceİndirim tutarı
basketContent->unitPriceBirim fiyat
basketContent->totalPriceToplam fiyat
basketContent->currencyPara birimi
basketContent->qtyAdet
basketContent->titleSatır açıklaması / Ürün adı
basketContent->thumbnailVarsa ürün görseli
basketContent->oldUnitPriceVarsa indirim öncesi birim fiyat
basketContent->oldTotalPriceVarsa indirim öncesi toplam fiyat
basketCountSepetteki toplam ürün sayısı
oldBasketTotalVarsa indirimden önceki sepet toplamı
basketTotalSepet toplamı
basketCurrencySepet para birimi
promoCodeVarsa promosyon kodu bilgileri
{
  "basketContent": [
    {
      "_id": "62597cbc15239d01f161f362",
      "merchantId": 10011,
      "basketId": "62309a4f1023707a43600304",
      "variantId": 128284,
      "itemType": "product",
      "userId": null,
      "discountPrice": null,
      "unitPrice": "357.25",
      "totalPrice": 714.5,
      "currency": "TRY",
      "qty": 2,
      "attributes": [],
      "title": "Shiseido Hacim Veren Maskara - SMK ControlledChaos Mascaraink 04 730852147690 SMKCNRLCHSMSCR",
      "thumbnail": "https://static-labs.s3.eu-central-1.amazonaws.com/products/10011/730852147690/small/730852147690_1.jpg",
      "oldUnitPrice": 357.25,
      "oldTotalPrice": 714.5
    }
  ],
  "basketCount": 2,
  "oldBasketTotal": 714.5,
  "basketTotal": 714.5,
  "basketCurrency": "TRY",
  "promoCode": {
    "status": "",
    "message": null,
    "code": null
  }
}

Sepete Ürün Ekleme

post
/api/shop/basket

Bu serviste ürün sepete ekleme ve çıkarma işlemi yapılır. Sepete ekleme işlemleri variantId ile yapılmaktadır. Bu değerin productId ile karıştırılmaması önemlidir.

Sepete ekleme işlemi için qty verisini pozitif değer gönderirseniz sepete qty adedi kadar ürün eklenir. qty adedi setlenmez, sepetteki mevcut adedin üzerine qty adedi kadar ekleme yapılır.

Sepetten çıkarma işlemi için qty verisini 0 yada negatif değer olarak gönderebilirsiniz.

Parametre Tanımlamaları

DeğerlerZorunlulukÖn TanımlıAçıklama
variantIdevetÜrün varyant id bilgisidir.
qtyevet0 gönderilirse ürün sepetten silinir, pozitif değer gönderilirse, gönderilen değer kadar ekleme yapılır. Eğer ilgili variantId sepette zaten var ise, yeni gönderilen qty değeri, mevcut ürünün adedine eklenir.
basketIdevetSepet kimliği
warehouseIdhayırÇoklu depo kullanan satıcılar için depo id bilgisidir. Gönderilen depo id'sine ait deponun fiyat ve stok bilgileri listelenir. Veri gönderilmezse, ön tanımlı depo ile işlem yapılır.
langhayırtrServisten beklenen dil bilgisidir. Merchant'a tanımlı dil bilgileri ile istek yapılabilir.

Örnek İstek

axios.post('{baseUrl}/api/shop/basket', {
    variantId : 52663,
    qty : 1,
    basketId : "62309a4f1023707a43600304",
    lang : "tr"
})

Servis Cevabı ve Alan Açıklamaları

Alan adıAçıklama
statusİşlem sonucu (success, error)
messageİşlem sonucu açıklaması
{
  "status": "success",
  "message": "Ürün başarıyla sepete eklendi"
}

Sepet Temizleme

delete
/api/shop/basket/{basketId}

Bu serviste verilen sepet kimliğine ait tüm içerikler sepetten kaldırılır. Aynı sepet kimliğini sonraki işlemlerde kullanmaya devam edebilirsiniz. Sadece sepet içeriği temizlenir.

Örnek İstek

axios.delete('{baseUrl}/api/shop/basket/62309a4f1023707a43600304')

Servis Cevabı ve Alan Açıklamaları

Alan adıAçıklama
statusİşlem sonucu (success, error)
messageİşlem sonucu açıklaması
{
  "status": "success",
  "message": "Sepetinizdeki içerikler başarıyla kaldırıldı."
}
Önceki
Yardımcı Fonksiyonlar