Parametreler ve yanıtın kabuğu
| Alan | Yön | Anlamı |
|---|---|---|
| limit | İstek | Sayfa boyutu |
| offset | İstek | Kaçıncı kayıttan başlanacağı |
| begindate, enddate | İstek | Tarih aralığı; adlar küçük harfle yazılır |
| totalCount | Yanıt | Toplam kalem sayısı |
| pageCount | Yanıt | Sayfa sayısı |
| items | Yanıt | Sipariş kalemleri |
Kalemler items alanında gelir; data ya da orders adında bir alan beklemeyin. Eski bir panelde liste bu yüzden hep boş göründü. Tarih biçimi için resmî dokümana bakın.
Bir kalemdeki alanlar
| Alan | Anlamı |
|---|---|
| id | Kalem kimliği; paket ve iptal işlemlerinde kullanılır |
| orderNumber | Sipariş numarası; kalemleri gruplamanın anahtarı |
| status | Kalem durumu, ör. Open |
| orderDate | Sipariş tarihi |
| customerName | Müşteri adı |
| name | Ürün adı |
| sku | Ürün kodu; yeni siparişte Hepsiburada SKU'su olabilir |
| quantity | Adet |
| unitPrice.amount, totalPrice.amount | Birim ve toplam tutar |
| cargoCompanyModel | Kargo firması bilgisi (ad, takip adresi) |
| packageNumber, barcode | Paket numarası ve kargo barkodu; paket oluştuysa |
| shippingAddress | Teslimat adresi |
Tutarlar düz sayı değil, amount alanı taşıyan nesnelerdir. Adreste city il, town ilçe, district mahalle bilgisini taşır; alanları buna göre eşleyin. Fatura için ayrıca invoice altında bir adres gelebilir.
Bu uç neyi kapsar, neyi kapsamaz?
Bu uç yalnız paketlenecek, yani yeni (Open) ve paketi bozulmuş (Unpacked) siparişleri döndürür. Satıcı panelindeki "Paketlenecekler" sekmesine karşılık gelir, "Tüm siparişler"e değil. Sipariş paketlenip kargoya verildiğinde bu listeden tamamen çıkar.
Bu, en sık yapılan yorum hatasıdır. Bir mağaza panelde sipariş görürken API'de hiç sipariş göremedi; çünkü siparişlerin hepsi zaten kargodaydı. Tam bir sipariş listesi için şu uçlar birleştirilir:
- Paketlenecekler: bu uç.
- Gönderime hazır, fatura bekleyenler: missing-invoice.
- Kargodakiler, teslim edilenler, teslim edilemeyenler: paket durum uçları.
- İptal edilenler: iptal listesi.
Kalemleri siparişe çevirmek
Bir siparişte birden fazla ürün varsa her ürün ayrı bir kalem olarak gelir. Kalemleri orderNumber ile gruplayıp adetleri toplayın. Sipariş tutarını kalemlerin toplamından hesaplayın.
Aynı sipariş farklı paketlere de bölünebilir. Kalemlerde farklı packageNumber değerleri görüyorsanız sipariş birden çok pakettedir. Kargo ve etiket işleri paket bazlı yürüdüğü için arayüzde her paketi ayrı satır göstermek işleri kolaylaştırır. Stok düşümünü ise bölünmemiş sipariş üzerinden yapın; aksi hâlde aynı ürün iki kez düşer.
Sık hatalar ve çözümleri
| Belirti | Olası neden | Çözüm |
|---|---|---|
| Her istek 401 | Eski /order/api/merchants/SATICI_ID/orders kalıbı | /orders/merchantid/SATICI_ID kullanın |
| Panelde sipariş var, API boş | Siparişler zaten paketlenmiş ya da kargoda | Paket durum uçlarını da okuyun |
| Liste boş görünüyor | Yanıt data alanından okunmuş | items alanını okuyun |
| Tutar sütunu bozuk | amount nesnesi sayı sanılmış | totalPrice.amount okuyun |
| Siparişte stok düşmüyor | sku alanı stok koduyla eşleşmedi | Stok kodu, barkod ve Hepsiburada SKU'sunu birlikte deneyin |
Sık sorulanlar
Hepsiburada sipariş API ucu nedir?
OMS servisinde GET /orders/merchantid/SATICI_ID. limit ve offset ile sayfalanır, begindate ve enddate ile tarih aralığı alır.
Neden kargodaki siparişler bu listede yok?
Bu uç yalnız paketlenecek siparişleri döndürür. Kargodaki ve teslim edilen paketler packages uçlarından okunur.
Yanıt neden sipariş değil kalem döndürüyor?
Her ürün ayrı bir kalemdir. Kalemleri orderNumber ile gruplayarak siparişi oluşturun.
Tarih filtresi hangi parametrelerle verilir?
begindate ve enddate ile; adlar küçük harfle yazılır. Biçim için resmî dokümana bakın.
Kaynaklar
İlgili Hepsiburada API konuları
Son güncelleme: 27.10.2026 · Hepsiburada API rehberinin tamamı


