marketplace entegrasyon trendyol api hepsiburada api e-ticaret entegrasyon stok senkronizasyon

Trendyol ve Hepsiburada Entegrasyonu: Teknik Rehber

Beyza Özkan 07 Nisan 2026
Trendyol ve Hepsiburada Entegrasyonu: Teknik Rehber

Tek kanaldan satış yapma lüksü kalmadı

Türkiye'de e-ticaret hacmi 2024'te 3 trilyon TL'yi aştı. Ticaret Bakanlığı verilerine göre perakende e-ticaret tek başına 1,6 trilyon TL. Bu işlemlerin büyük çoğunluğu pazaryerleri üzerinden gerçekleşiyor ve Trendyol pazarın en büyük dilimini alıyor.

Müşterilerimiz artık "bir e-ticaret sitesi" istemiyor. Kendi sitesi, Trendyol mağazası, Hepsiburada mağazası ve hepsinin tek panelden yönetildiği bir sistem istiyor. Bu yazı, o entegrasyon katmanının teknik tarafını anlatıyor. Hangi altyapıyı seçmeniz gerektiğini merak ediyorsanız, hazır altyapı mı özel yazılım mı yazımıza bakın.

Entegrasyon aslında ne demek?

"Trendyol entegrasyonu yapıyoruz" denince çoğu kişi sadece ürün listelemeyi anlıyor. Gerçekte entegrasyon dört ayrı katmandan oluşuyor ve her birinin kendine has zorlukları var.

1. Ürün yönetimi

Ürünlerinizi kendi sisteminizden pazaryerine göndermek. Kulağa basit geliyor ama değil. Trendyol'da categoryId ve brandId zorunlu alan. Hepsiburada'da ise katalog bazlı eşleştirme sistemi var; yeni ürün oluşturmak yerine mevcut katalogdaki ürünle eşleşmeniz bekleniyor. Her platformun kendi kategori ağacı, zorunlu alan listesi ve görsel gereksinimleri farklı.

500 ürününüz ve her birinin 4-5 varyantı varsa, bu eşleştirmeleri manuel yapmak günlerce sürer. İyi bir entegrasyon sistemi kategori mapping'i bir kez yapıp sonrasını otomatikleştirir.

2. Stok ve fiyat senkronizasyonu

En kritik katman. Trendyol'dan sipariş geldiğinde hem kendi sitenizdeki hem Hepsiburada'daki stok düşmeli. Bunu gerçek zamanlı yapmazsanız aynı ürünü iki kere satarsınız. Overselling e-ticarette en pahalı hatadır: müşteri kaybı, platformdan ceza, iade maliyeti.

Her iki platform da webhook desteği sunuyor. Sipariş geldiğinde size bildirim gönderiyor, siz de anlık güncelleme yapıyorsunuz. Alternatif olan polling yöntemi (belirli aralıklarla API'ye sorgu atma) hem daha yavaş hem sunucu yükü oluşturuyor. Yüksek hacimde webhook + message queue mimarisi şart.

3. Sipariş yönetimi

Her platformdan gelen siparişlerin tek panelde toplanması. Sipariş durumu güncelleme, kargo barkodu oluşturma, fatura entegrasyonu. E-fatura/e-arşiv zorunluluğunu da unutmayın: sipariş onaylandığında otomatik fatura kesilmesi ciddi zaman kazandırıyor. Günlük 50+ sipariş işleyen bir mağazada manuel faturalama sürdürülebilir değil.

4. İade ve iptal

Genellikle en son düşünülen ama en çok sorun çıkaran kısım. Her platformun iade politikası farklı. Trendyol'da iade süreci satıcı panelinden yönetilirken, Hepsiburada'da API üzerinden iade onay/red işlemi yapılabiliyor. İade geldiğinde stok geri eklenmeli, muhasebe kaydı güncellenmeli, müşteriye ödeme iadesi tetiklenmeli. Bu zincirin bir halkası koptuğunda karmaşık sorunlar ortaya çıkıyor.

Trendyol API: pratik bilgiler

Trendyol REST tabanlı bir API sunuyor. Dokümantasyon ve Postman collection'ları developers.trendyol.com adresinde. Authentication HTTP Basic Auth ile çalışıyor. Satıcı Paneli'nden API kullanıcı adı, şifre ve Satıcı ID alıyorsunuz.

Ana endpoint'ler: ürün oluşturma/güncelleme, stok-fiyat güncelleme, sipariş sorgulama, kargo bilgisi gönderme, fatura yükleme. PHP kullananlar için community'nin geliştirdiği trendyol-php-api paketi var. Node.js/TypeScript tarafında da GitHub'da birkaç unofficial client mevcut.

Dikkat edilmesi gerekenler:

  1. Ürün gönderirken kargo şirketiniz Trendyol sözleşmenizdekiyle eşleşmeli. Aksi halde ürünler yayına çıkmaz ve API net bir hata mesajı dönmüyor, debug etmesi zor.
  2. Kategori ve marka ID'lerini API'den çekip kendi sisteminizde cache'leyin. Her istekte sorgulamak gereksiz yük.
  3. Trendyol yılda birkaç kez API'sini güncelliyor. Breaking change olmasa bile yeni zorunlu alanlar eklenebiliyor. Changelog'u takip edin.

Hepsiburada API: farklar nerede?

Hepsiburada Developer Portal üzerinden dokümantasyona erişebilirsiniz. Trendyol'dan temel farklar:

API erişimi self-servis değil. Destek talebi açıp onay almanız gerekiyor. Bu süreç birkaç iş günü sürebiliyor, proje planlamasında bunu hesaba katın.

İki ayrı entegrasyon modeli var: Listeleme Entegrasyonu (stok, fiyat, kargoya veriliş süresi) ve Sipariş Entegrasyonu. İkisini birlikte kullanabilirsiniz ama ayrı ayrı kuruluyorlar.

Rate limit: Sipariş API'sinde saniyede 1.000 istek sınırı var. Aşarsanız 429 TooManyRequest hatası alırsınız. Response header'da X-RateLimit-Remaining ve X-RateLimit-Reset bilgisi dönüyor, bunları izleyip istek hızınızı ayarlayın.

Katalog sistemi daha katı. Trendyol'da yeni ürün oluşturmak nispeten kolay. Hepsiburada'da mevcut katalogla eşleşmeniz bekleniyor. Katalogda olmayan bir ürünü listelemek ekstra süreç gerektiriyor.

Mimari: adapter pattern ve queue

Birden fazla pazaryerine bağlanıyorsanız, her platform için ayrı ayrı kod yazmak kısa vadede çalışır ama orta vadede bakım kabusuna dönüşür. Biz RadKod'da bu projelerde adapter pattern kullanıyoruz.

Mantık şu: sisteminizde tek bir iç API tanımlıyorsunuz. Bu API ürün oluşturma, stok güncelleme, sipariş çekme gibi standart operasyonları kapsıyor. Her pazaryeri için bir adapter yazıyorsunuz. Trendyol adapter'ı Trendyol API'sine konuşuyor, Hepsiburada adapter'ı Hepsiburada'ya. Yarın n11 veya Amazon Türkiye eklemek istediğinizde sadece yeni bir adapter yazmanız yeterli. Mevcut iş mantığına dokunmanıza gerek yok.

Stok senkronizasyonu için bir message queue kullanmanızı şiddetle öneririz. RabbitMQ, Redis Queue veya Laravel kullanıyorsanız Horizon ile job queue yeterli. Sipariş geldiğinde queue'ya bir stok güncelleme job'ı atıyorsunuz, bu job tüm kanallardaki stoğu güncelliyor. Bir platformun API'si yavaşlasa veya geçici olarak düşse bile diğer kanallar etkilenmiyor. Retry mekanizmasıyla başarısız işlemler otomatik tekrarlanıyor.

Veritabanı tasarımı

Her ürünün sisteminizde bir master kaydı olmalı. Pazaryeri bazlı veriler (platform ürün ID'si, kategori eşleştirmesi, platforma özel fiyat) ayrı bir tablo veya JSON alanında tutulmalı. Sipariş tablosunda source alanıyla siparişin kaynağını (web, trendyol, hepsiburada) kaydedin. Raporlamada hangi kanalın ne kadar getirdiğini görmek için bu zorunlu.

Basitleştirilmiş bir şema:

-- Ana ürün tablosu
products: id, sku, name, price, stock_quantity

-- Platform bazlı eşleştirmeler
product_platform_mappings: id, product_id, platform (trendyol|hepsiburada),
remote_product_id, remote_category_id, platform_price, sync_status

-- Siparişler
orders: id, source (web|trendyol|hepsiburada), remote_order_id,
status, total_amount, created_at

Bu yapıda yeni bir platform eklemek product_platform_mappings tablosuna yeni kayıtlar eklemek kadar basit.

Sık yapılan hatalar

"Entegrasyonu sonra ekleriz." Veritabanı ve mimari kararları baştan çoklu kanala uygun tasarlanmazsa, sonradan ekleme refactoring'e dönüşür. Maliyeti ikiye katlar. Entegrasyon düşünülüyorsa ilk günden mimariye dahil edilmeli.

Polling ile stok senkronizasyonu. Her 5 dakikada bir stok kontrolü yapan cron job, o 5 dakikalık pencerede aynı ürünü birden fazla kanalda satma riski taşır. Sipariş hacmi düşükken fark etmezsiniz, Black Friday'de fark edersiniz. Webhook + queue mimarisi bu riski ortadan kaldırır.

Hata yönetimini atlamak. Pazaryeri API'leri bazen timeout verir, bazen beklenmedik response döner. Her API çağrısı try-catch içinde olmalı, başarısız işlemler loglanıp retry queue'ya alınmalı. "Çalışıyorsa dokunma" yaklaşımı entegrasyonda geçerli değil çünkü karşı tarafın API'si sizin kontrolünüzde değil.

Fatura entegrasyonunu unutmak. E-fatura/e-arşiv zorunluluğu var. Bu entegrasyon projede yer almazsa, her siparişi manuel faturalamak zorundasınız. Günlük 100 sipariş demek günlük 100 manuel fatura demek.

Test ortamını kullanmamak. Hem Trendyol hem Hepsiburada test ortamı sunuyor. Canlıya çıkmadan önce sipariş akışını, stok senkronizasyonunu ve iade sürecini test ortamında doğrulayın. Canlıda hata yapmak platform cezasına yol açabiliyor.

Maliyet gerçekleri

Marketplace entegrasyonunun maliyet yapısı:

Geliştirme: Mevcut bir e-ticaret sistemi üzerine Trendyol + Hepsiburada entegrasyonu ekleme: 30.000 - 80.000 TL arası. Sıfırdan e-ticaret + marketplace sistemi: 200.000 TL ve üzeri. Fiyat farkı ürün sayısına, varyant karmaşıklığına ve mevcut sistem yapısına göre değişiyor.

Sürekli bakım: Platform API'leri değişiyor. Trendyol yılda birkaç kez güncelleme yapıyor. Bu güncellemelere uyum sürekli mühendislik gerektiriyor. Aylık bakım bütçesi olarak geliştirme maliyetinin %10-15'ini hesaba katın.

Pazaryeri komisyonları: Bu yazılım maliyeti değil ama iş planınızı etkiler. Kategori bazlı komisyon oranları var ve kar marjınızı doğrudan etkiliyor. Fiyatlandırma stratejinizi entegrasyonu kurmadan önce netleştirin.

Nereden başlamalı?

Şu üç soruyu cevaplayarak başlayın: Hangi pazaryerlerinde satış yapacaksınız? Günlük sipariş hacminiz ne? Mevcut bir ERP veya muhasebe sisteminiz var mı?

İlk adım olarak tek bir pazaryeriyle başlamanızı öneririz. Trendyol genellikle ilk tercih oluyor çünkü API erişimi self-servis ve dokümantasyonu daha olgun. Stok senkronizasyonu ve sipariş akışı stabil çalıştığında ikinci platformu ekleyin. Her şeyi aynı anda yapmaya çalışmak projeyi karmaşıklaştırıyor ve hata ayıklamayı zorlaştırıyor.

Biz RadKod olarak bu tür projelerde genellikle Laravel backend + queue sistemi (Horizon) + platform adapter'ları kombinasyonuyla çalışıyoruz. Sorularınız varsa buradan ulaşabilirsiniz.

Paylaş:

RadKod Hizmetleri

Projeniz için profesyonel yazılım hizmetleri mi arıyorsunuz?

Web Geliştirme Mobil Uygulama Tum Hizmetler

Beyza Özkan

Beyza Özkan

RadKod Ekibi