İmleçle listeleme
siparis.app liste uçları {data, has_more, next_cursor} zarfı verir. API temel adresi https://api.siparis.app/v1; Bearer anahtarı ve okunan kaynağın kapsamı gerekir. Varsayılan limit=50, en büyük limit=100; offset veya toplam kayıt sayısı yoktur.
İlk çağrıda cursor göndermeyin. Sonraki sayfada next_cursor değerini çözmeden/değiştirmeden gönderin. Kaynak, bağlantı, kapsamlar, marka ve süzgeçler aynı kalmalıdır. Anahtar döndürmek aynı bağlantının imlecini bozmaz. URL kodlaması için curl --data-urlencode, Python urlencode, TypeScript URLSearchParams kullanın.
// Node.js 22+; SIPARIS_API_KEY sunucu ortamında tanımlı olmalı.
const base = process.env.SIPARIS_API_URL ?? "https://api.siparis.app/v1";
let cursor: string | null = null;
do {
const query = new URLSearchParams({ limit: "100" });
if (cursor) query.set("cursor", cursor);
const response = await fetch(`${base}/orders?${query}`, {
headers: { Authorization: `Bearer ${process.env.SIPARIS_API_KEY}` },
signal: AbortSignal.timeout(30_000),
});
if (!response.ok) throw new Error(`${response.status}: ${await response.text()}`);
const page = await response.json();
for (const order of page.data) console.log(order.id, order.total, order.currency);
cursor = page.has_more ? page.next_cursor : null;
} while (cursor);
Bu örnek anlık sipariş listesini okur; üretimde hız ve tekrar kurallarını uygulayın. Kaynak listesi has_more=false, next_cursor=null ile biter. Olay akışı farklıdır: son sayfanın imleci kalır, bekledikten sonra aynı imleçle yeni olaylar okunur; boş sayfada has_more=true olabilir.
Sipariş/müşteri sırası varsayılan olarak son değişiklikten ileri gider (sort=updated_at). En yeni eklenen kaydı başta görmek için sort=-created_at gönderin. Eşit zamanlı kayıtlar kimlikle sıralanır. Sayfalar arasında sort değişirse eski imleç 400 invalid_cursor verir; imleçsiz yeni liste başlatın. Stok seviyesi sırası depo/seçenek, marka fiyatı sırası marka/ürün/seçenek, webhook listeleri en yeniden eskiye şeklindedir. Diğer katalog/stok kaynakları kayıt sırasındadır. Liste sayfaları tek bir anı dondurmaz; kalıcı aktarım için İlk eşitleme kullanın.
Zaman süzgeçlerinde başlangıç dahil, bitiş hariçtir; saat dilimi zorunludur. Örneğin Türkiye’de 16 Ekim gününü okumak için created_at_from=2026-10-16T00:00:00+03:00, created_at_to=2026-10-17T00:00:00+03:00 gönderin. archived=true yalnız arşivi değil, açık kayıtlarla birlikte arşivi de kapsar.