Sipariş Listesi

Mağazanın siparişlerini sayfa sayfa listeler. Siparişleri kendi sisteminize düzenli aralıklarla çekmek için kullanılır.

GET https://api.hizlisanalmarket.com/api/v1/orders · İzin: orders:read

Sorgu parametreleri

Parametre Tür Açıklama
page Sayı Sayfa numarası, 1'den başlar. Varsayılan 1.
pageSize Sayı Sayfadaki sipariş sayısı, en fazla 100. Varsayılan 20.
status Metin Yalnız bu durumdaki siparişler: Processing, Shipped gibi (durumlar).
from Tarih Bu andan sonra oluşturulan siparişler.
to Tarih Bu andan önce oluşturulan siparişler.
updatedFrom Tarih Bu andan sonra oluşturulan ya da değişen siparişler (ödeme onayı, iptal, kargo, iade).

Siparişler en yeni oluşturulandan eskiye doğru sıralanır.

Senkron için updatedFrom kullanın. from yalnızca yeni siparişleri getirir. Eski bir siparişin sonradan iptal edilmesi, havale ödemesinin onaylanması ya da iade edilmesi from ile görünmez.

Tarihleri UTC ve ISO 8601 biçiminde gönderin: 2026-10-20T00:00:00Z. Saat dilimi yazılmayan tarih UTC kabul edilir.

Örnek istek

curl "https://api.hizlisanalmarket.com/api/v1/orders?updatedFrom=2026-10-20T06:00:00Z&pageSize=50" \
  -H "Authorization: Bearer hm_sk_..."

Örnek yanıt

{
  "orders": [
    {
      "id": "d2a7c9e4-5f13-4b8a-9c60-3e1f7a2b8d45",
      "orderNumber": "HM20261020123456789",
      "status": "Processing",
      "paymentMethod": "paytr",
      "paymentMethodName": "Kredi/Banka Kartı (PayTR)",
      "paymentStatus": "Paid",
      "customerEmail": "ayse.yilmaz@example.com",
      "customerName": "Ayşe Yılmaz",
      "customerPhone": "05321234567",
      "subTotal": 499.80,
      "discountTotal": 50.00,
      "couponCode": "HOSGELDIN50",
      "shippingCost": 49.90,
      "installmentFee": 0,
      "installmentCount": 1,
      "paymentFee": 0,
      "totalAmount": 499.70,
      "taxTotal": 83.28,
      "currency": "TRY",
      "trackingNumber": null,
      "shippingProvider": null,
      "items": [
        {
          "productId": "8f1c2a4e-3b5d-4c6e-9f70-1a2b3c4d5e6f",
          "productName": "Seramik Kupa 350 ml",
          "sku": "KUPA-350",
          "quantity": 2,
          "unitPrice": 249.90,
          "totalPrice": 499.80,
          "taxRate": 20
        }
      ],
      "shippingAddressJson": "{\"FirstName\": \"Ayşe\", \"LastName\": \"Yılmaz\", \"Phone\": \"05321234567\", \"AddressLine1\": \"Cumhuriyet Mah. 123. Sok. No: 4 D: 5\", \"City\": \"Muğla\", \"District\": \"Fethiye\", \"Neighborhood\": \"Cumhuriyet\", \"ZipCode\": \"48300\", \"Country\": \"TR\"}",
      "billingAddressJson": "{\"FirstName\": \"Ayşe\", \"LastName\": \"Yılmaz\", \"AddressLine1\": \"Cumhuriyet Mah. 123. Sok. No: 4 D: 5\", \"City\": \"Muğla\", \"District\": \"Fethiye\", \"CompanyName\": null, \"TaxOffice\": null, \"TaxNumber\": null, \"IdentityNumber\": \"11111111111\", \"Country\": \"TR\"}",
      "customerNote": "Lütfen zile basmayın.",
      "isLocalDelivery": false,
      "deliverySlotStart": null,
      "deliverySlotEnd": null,
      "isStorePickup": false,
      "pickupAddress": null,
      "createdAt": "2026-10-20T09:14:22.481Z",
      "updatedAt": "2026-10-20T09:15:03.902Z"
    }
  ],
  "totalCount": 1,
  "page": 1,
  "pageSize": 50
}

Sayfalama alanları totalCount, page ve pageSize'dır. Toplam sayfa sayısını totalCount / pageSize (yukarı yuvarlanmış) ile bulun.

Sipariş alanları

Alan Açıklama
id Sipariş kimliği (GUID). Durum güncellemede adreste kullanılır.
orderNumber Müşterinin gördüğü sipariş numarası.
status, paymentStatus Sipariş ve ödeme durumu (değerler).
paymentMethod, paymentMethodName Ödeme yöntemi anahtarı ve okunabilir adı.
installmentCount Taksit sayısı (tek çekimde 1).
customerName, customerEmail, customerPhone Siparişi veren müşteri.
subTotal Kalemlerin toplamı (KDV dahil, indirim öncesi).
discountTotal, couponCode Kupon/kampanya indirimi ve kullanılan kupon.
shippingCost Kargo ücreti.
installmentFee Taksitli kart ödemesinde vade farkı. Kalemlerde yer almaz.
paymentFee Kapıda ödeme hizmet bedeli. Kalemlerde yer almaz.
totalAmount Tahsil edilen toplam: subTotal + shippingCost - discountTotal + installmentFee + paymentFee.
taxTotal Toplamın içindeki KDV.
items[] Kalemler: ürün kimliği, adı, stok kodu, miktar, KDV dahil birim fiyat, satır toplamı ve KDV oranı.
shippingAddressJson, billingAddressJson Teslimat ve fatura adresi. JSON metni olarak gelir, ayrıca çözümlenmelidir (aşağıya bakın).
customerNote Müşterinin siparişe yazdığı not.
trackingNumber, shippingProvider Kargo takip numarası ve kargo firması (kargolanmışsa).
isLocalDelivery, deliverySlotStart, deliverySlotEnd Mağazanın kendi teslimatı ve seçilen randevu aralığı (UTC).
isStorePickup, pickupAddress Mağazadan teslim alma. Bu siparişlerde kargo gönderisi açılmaz.
createdAt, updatedAt Oluşturulma ve son değişiklik zamanı (UTC).

Adres alanları

shippingAddressJson ve billingAddressJson aynı yapıdadır. Alan adları büyük harfle başlar:

Alan Açıklama
FirstName, LastName, Phone Alıcı/fatura adı ve telefonu.
AddressLine1, AddressLine2 Açık adres.
Neighborhood, District, City, ZipCode, Country Mahalle, ilçe, il, posta kodu, ülke (TR).
CompanyName, TaxOffice, TaxNumber Kurumsal faturada firma adı, vergi dairesi ve vergi numarası.
IdentityNumber Bireysel faturada T.C. kimlik numarası.
ProvinceId, DistrictId, NeighborhoodId Adres listesinden seçildiyse il/ilçe/mahalle kodları.
Title Müşterinin adrese verdiği ad ("Ev", "İş").

Değeri olmayan alanlar null gelir. Alanların JSON metnindeki sırası değişebilir.

Tek sipariş

GET https://api.hizlisanalmarket.com/api/v1/orders/{id} · İzin: orders:read

Yanıt, listedeki sipariş nesnesinin aynısıdır. Sipariş bulunamazsa 404 döner:

{ "error": "Sipariş bulunamadı.", "code": "ORDER_NOT_FOUND" }

Önerilen çekme döngüsü

  1. İlk çalıştırmada başlangıç tarihini belirleyin, örneğin son 7 gün.
  2. Her turda updatedFrom = bir önceki turun başladığı an eksi birkaç dakika olarak istek gönderin. Pay bırakmak, saat farkından ya da tam o anda kaydedilen siparişlerden doğabilecek kayıpları önler.
  3. Bütün sayfaları çekin (page değerini sonuç gelmeyene kadar artırın).
  4. Siparişleri id ile kendi sisteminizde eşleştirin. Yeni olanı ekleyin, var olanı güncelleyin. Pay yüzünden aynı sipariş iki kez gelebilir, sorun değildir.
  5. Turları 1–5 dakika arayla yapın. Dakikalık istek sınırı 60'tır.

Ödemesi alınan siparişleri beklemeden almak isterseniz Sipariş Bildirimi özelliğini de açtırabilirsiniz. Bildirimi kaçırılan siparişler için yukarıdaki döngüyü yine çalıştırın.