1. Çoklu Kanal E-Ticaretteki Asenkron Kaos
E-ticaret markaları büyüdükçe sadece kendi e-ticaret siteleriyle (Shopify/WooCommerce) yetinmeyip Trendyol, Hepsiburada, Pazarama ve Amazon gibi dev pazaryerlerinde eş zamanlı mağaza açarlar.
Ancak her platformun veri yapısı, stok güncelleme gecikmesi ve API yanıt süreleri birbirinden tamamen farklıdır. Bir pazaryerinde satılan ürün diğer kanallarda 15 dakika gecikmeyle güncellenirse, elde olmayan stok satılır ve tedarik edilemeyen siparişler yüzünden mağaza cezaları kaçınılmaz olur.
2. Çifte Satışı (Overselling) Önleme: Redis Dağıtık Kilit
Kritik stok seviyesindeki (örn: son 1 adet kalan) bir ürün için iki farklı pazaryerinden aynı anda sipariş webhook'u geldiğinde Race Condition (Yarış Durumu) oluşur.
Bunu engellemek için Shaz Vision entegrasyon çekirdeğinde Redis Redlock algoritması koşturulur:
import Redis from 'ioredis';
const redis = new Redis(process.env.REDIS_URL);
async function reserveStock(sku: string, requestedQty: number): Promise {
const lockKey = `lock:sku:${sku}`;
// 500 milisaniyelik atomik kilit al
const acquired = await redis.set(lockKey, 'locked', 'PX', 500, 'NX');
if (!acquired) {
// Başka bir sipariş şu an bu stoğu güncelliyor, kuyrukta bekle
throw new Error("Stok şu anda başka bir işlem tarafından kilitli, tekrar deneniyor.");
}
try {
const currentStock = await getMasterStock(sku);
if (currentStock >= requestedQty) {
await updateMasterStock(sku, currentStock - requestedQty);
// Diğer tüm pazaryerlerine anında asenkron sinyal fırlat
await broadcastStockUpdateToChannels(sku, currentStock - requestedQty);
return true;
}
return false; // Yetersiz stok
} finally {
// Kilidi serbest bırak
await redis.del(lockKey);
}
}
3. Kuyruk Mimarisi: Webhook Dinleme ve Batch Güncelleme
Pazaryerlerine her stok değişiminde tek tek HTTP isteği atmak sunucuyu kilitler. Doğru mimari yaklaşım:
- Webhook Ingestion: Gelen sipariş webhook'u 20 milisaniyede kuyruğa (BullMQ / RabbitMQ) atılır ve pazaryerine anında '200 OK' dönülür.
- Stok Toplayıcı (Debounce & Batching): Aynı saniyede değişen 50 SKU tek bir toplu JSON paketinde birleştirilir.
- Pazaryeri Worker'ları: Her pazaryeri için özel yazılmış işçi servisleri (Trendyol Worker, Hepsiburada Worker) bu paketleri hedefin izin verdiği formatta iletir.
4. Pazaryeri API Hız Sınırları (Rate Limiting) ile Başa Çıkma
Pazaryeri API'leri genellikle dakika başına katı kota uygular (örneğin Trendyol için dakikada maksimum 50 istek). Bu kotalar aşıldığında HTTP 429 Too Many Requests hatası döner ve güncellemeler askıda kalır.
Worker katmanımızda her kanal için bir Token Bucket mekanizması çalışır. Hata alındığında Exponential Backoff (üstel geri çekilme: 1s, 2s, 4s, 8s) ile istekler güvenli aralıklarla yeniden denenir.
5. Kanal Bazlı Komisyon ve Dinamik Fiyatlandırma Motoru
Her pazaryerinin komisyon oranı (Trendyol %18, Hepsiburada %15, Kendi Siteniz %2) ve kargo baremleri farklıdır. Merkezi yönetim panelimizde ürünün baz maliyet fiyatı girildiğinde:
Trendyol Satış Fiyatı = (Baz Fiyat + Kargo Maliyeti) / (1 - 0.18 Komisyon)Kendi Web Siteniz = Baz Fiyat + Kargo Maliyeti + %10 Kar Marjı
formülü arka planda otomatik hesaplanır ve tek bir baz fiyat değişikliğinde tüm platformlardaki satış fiyatları anında güncellenir.
6. Shaz Vision E-Ticaret Entegrasyon Çözümleri
E-ticarette büyümenin anahtarı, operasyonel yükü yazılıma devredip pazarlamaya ve ürün kalitesine odaklanmaktır. Shaz Vision E-Ticaret Pack ve özel entegrasyon mimarilerimizle mağazalarınızı tek bir merkezi beyne bağlıyoruz.
Pazaryeri ve depo stoklarınızı hatasız ve anlık senkronize eden özel bir altyapı kurmak için bizimle iletişime geçin.
7. Sıkça Sorulan Sorular
Entegrasyon sistemi kaç pazaryerini aynı anda destekleyebilir?
Kuyruk ve asenkron worker mimarisi sayesinde Trendyol, Hepsiburada, Amazon, Çiçeksepeti, Pazarama, Shopify ve WooCommerce dahil olmak üzere sınırsız sayıda satış kanalı tek bir merkezi envanterden beslenebilir.
Fiziksel mağaza veya ERP (Logo, Mikro, Nebim) stokları bağlanabilir mi?
Evet. Fiziksel mağazadaki barkod okuyucu veya ERP veritabanı web servisleri aracılığıyla merkezi kuyruğa bağlanarak fiziksel satış anında da pazaryeri stokları eş zamanlı düşürülür.