Her kanal için ayrı kod neden tükenir?
Trendyol batch API'si, Hepsiburada listing servisi ve Amazon feed formatı birbirinden tamamen farklıdır. Her kanalı uygulama koduna doğrudan gömmek kısa vadede hızlı görünür; üçüncü kanalda ise her özellik üç kat efor ister ve regresyon riski kontrolden çıkar.
Adapter mimarisi, kanal-spesifik protokolü izole eden ince bir katmandır. Üst katmanlar «stok güncelle», «fiyat gönder», «sipariş çek» gibi kanal-agnostik komutlar kullanır; adapter bunları ilgili API çağrılarına çevirir.
Platform katmanının işlevi
Platform katmanı adapter'ların üzerinde durur ve ortak iş kurallarını uygular: rate limit kuyruğu, retry politikası, idempotency anahtarları, audit log ve organizasyon (tenant) izolasyonu. Bu katman olmadan her adapter aynı altyapı kodunu tekrarlar.
Multi-tenant SaaS yapısında platform katmanı ayrıca RLS veya organization_id kapsamını garanti eder. Bir satıcının credential'ı veya stok verisi başka tenant'a sızamaz; bu güvenlik gereksinimi adapter'dan değil platformdan gelmelidir.
Dönüşüm ve validasyon
Adapter'ın birincil görevi veri dönüşümüdür: merkez katalogdaki «renk: lacivert» alanı Trendyol'da attribute ID 123, Hepsiburada'da farklı bir enum değeri olabilir. Mapping tabloları adapter konfigürasyonunda yaşar; hard-code edilmemelidir.
Gönderim öncesi validasyon eksik attribute, negatif stok veya fiyat formatı hatasını API'ye ulaşmadan yakalar. API'den dönen hata kodları kanal-agnostik hata sınıflarına (AUTH, RATE_LIMIT, VALIDATION, TRANSIENT) map edilir; üst katman buna göre retry veya eskalasyon yapar.
- Outbound: SSOT → kanal listing formatı
- Inbound: sipariş / iade / durum → hub modeli
- Hata sınıflandırma ve retry matrisi
- Batch vs realtime endpoint seçimi
Gözlemlenebilirlik ve sürüm yönetimi
Her adapter çağrısı correlation ID ile loglanmalı; «bu stok neden yansımadı» sorusu batch ID ve request payload'a kadar izlenebilmelidir. Kanal API versiyon değişiklikleri adapter sürüm notlarıyla yönetilir; platform katmanı eski adapter sürümünü paralel çalıştırabilir.
Sağlık metrikleri adapter başına tanımlanır: başarı oranı, p95 gecikme, kuyruk derinliği. Bir kanalın performans düşüşü diğer kanalların sync'ini bloke etmemeli; circuit breaker deseni burada devreye girer.
Build vs buy kararı
Tek kanal ve sınırlı SKU ile in-house adapter yazılabilir. Kanal sayısı, ekip büyüklüğü ve SLA beklentisi arttıkça platform katmanını sıfırdan inşa etmek nadir görülen core competency değildir.
Build vs buy kararında gizli maliyet adapter bakımıdır: API deprecations, yeni zorunlu alanlar, Black Friday rate limit değişiklikleri. Bu iş yükünü üstlenen hazır commerce ops platformları operasyon ekibini kanal API changelog takibinden kurtarır.
Sık sorulan sorular
Adapter ile entegratör arasındaki fark nedir?
Entegratör genelde hazır bağlantı sunan üçüncü taraf servistir; adapter mimari deseni olarak kendi sisteminizdeki izolasyon katmanını tanımlar. Entegratör de dahili olarak adapter kullanır.
Webhook mı polling mi?
Sipariş için webhook (varsa) gecikmeyi azaltır; stok push genelde outbound API çağrısıdır. Adapter her kanalın desteklediği modeli birleştirir.
Adapter katmanında iş kuralı yazılır mı?
Hayır; fiyat marjı, stok rezervasyonu gibi kurallar platform katmanında kalır. Adapter yalnızca protokol ve format dönüşümünden sorumludur.
Pillar rehber
Pazaryeri yazılımı seçerken «kaç kanal bağlanıyor?» sorusundan önce «operasyonu tek merkezden yönetebiliyor muyuz?» sorusunu sorun.
Pazaryeri yönetimi: kanal değil, operasyon