Trendyol API hata kodları: 401, 403 ve 429 gerçekte ne anlatır?
Trendyol Partner API’den dönen 401, 403 ve 429 hatalarının gerçek sebepleri. Her kodun en sık nedeni, nasıl ayırt edileceği ve çözümü.
Trendyol entegrasyonunda kaybedilen zamanın büyük kısmı hatanın kendisinde değil, yanlış yerde aranmasında geçiyor. 403 gören çoğu geliştirici yetki ayarlarına dalıyor; oysa sebep genellikle eksik bir HTTP başlığı. Bu yazı her kodu en sık görülen sebebinden başlayarak ele alıyor.
Hangi kod ne anlama geliyor
| Kod | En sık sebep | İlk bakılacak yer |
|---|---|---|
| 401 | Kimlik bilgisi yanlış ya da hiç gönderilmemiş | Base64 kodlaması ve ortam (PROD/STAGE) |
| 403 | User-Agent başlığı eksik | İstek başlıkları |
| 400 | Gövdede zorunlu alan eksik veya geçersiz değer | İstek gövdesi |
| 404 | Adresteki sellerId ya da yol hatalı | URL |
| 429 | Servis grubu limiti aşıldı | İstek hızı ve eşzamanlılık |
401 — kimlik doğrulanamadı
Yanıt gövdesinde genellikle ClientApiAuthenticationException görürsünüz. Kimlik bilgileri ya hiç gitmemiştir ya da yanlıştır.
Sırayla kontrol edilecekler:
- Base64 girdisi. Kodlanan dize
apiKey:apiSecretbiçiminde olmalı. Araya boşluk kaçması ya da yanlışlıklasellerId:apiKeykodlanması sık görülür. - Ortam karışması. PROD ve STAGE ayrı kimlik bilgileri kullanır. Test ortamında çalışan anahtar canlıda 401 döner. Yalnızca adresi değiştirip anahtarı bırakmak bu hatayı üretir.
- Kopyalama artığı. Panelden alınan değerin başına veya sonuna görünmez karakter yapışmış olabilir. Anahtarı yeniden kopyalayıp deneyin.
Anahtarları nereden alacağınızı ve hangi kullanıcı rolünün gerektiğini API anahtarı rehberinde anlattık.
403 — neredeyse her zaman User-Agent
Bu kod “yetkim yok” diye okunduğu için saatler yetki araştırmakla geçebiliyor. Oysa Trendyol dokümanı net: User-Agent bilgisi göndermeyen istekler 403 ile engellenir.
Beklenen biçim:
- Yazılım sizinse:
SatıcıId - SelfIntegration— örnek:4321 - SelfIntegration - Entegratör firmayla çalışıyorsanız:
SatıcıId - FirmaAdı— örnek:1234 - TrendyolSoft - Firma adı alfanümerik ve en fazla 30 karakter.
Başlık varken de 403 alıyorsanız sırada iki şey var: adresteki sellerId değerinin kimlik bilgilerinizle aynı satıcıya ait olup olmadığı, ve çağırdığınız uç noktanın mağazanıza açık olup olmadığı.
Bu hatayı Postman veya curl ile hızlı deneme yaparken yakalamak özellikle kolaydır — çoğu istemci kendi User-Agent değerini gönderir ve siz ezmediğiniz sürece Trendyol’un beklediği biçimde olmaz.
429 — limit yapısı Eylül 2026’da değişti
Burada dikkat edilmesi gereken bir çelişki var. Trendyol’un Authorization sayfası hâlâ “aynı uç noktaya 10 saniyede en fazla 50 istek, 51’incisi 429 döner” diyor. Ancak Servis Limitleri sayfası, 14 Eylül 2026’dan geçerli olmak üzere tamamen farklı bir yapı tanımlıyor:
- Limitler dakika bazında uygulanıyor, saniye değil.
- Limit tekil uç nokta değil, servis grubu bazında ortak. Aynı gruptaki tüm çağrılar aynı kotayı paylaşıyor.
- Kota satıcı kademesine göre değişiyor; kademeler ürün listeleme kapasitesine göre belirleniyor (50.000 / 75.000 / 150.000 / 500.000 / limitsiz).
| Servis grubu | Limit (dakika) |
|---|---|
| Product Integration Read — ürün okuma ve sorgulama | 1.000 – 2.000 |
| Product Integration Write — ürün yaratma, güncelleme, silme | 200 – 600 |
| Inventory & Price Write — stok ve fiyat güncelleme | 350 – 2.000 |
Ayrıca fiyat güncellemelerinde barkod başına dakikada 30 istek sınırı var. Aynı ürünü döngü içinde defalarca güncelleyen kodlar genel kotaya hiç yaklaşmadan bu sınıra takılır.
Pratikte ne yapmalı: İki sayfa çeliştiği için ikisini birden karşılayan tarafta kalmak en güvenlisi. Yani hem saniyelik yoğunluğu düşük tutun hem de dakikalık toplamı grup kotasının altında bırakın. Kendi kademenizi satıcı panelinizden teyit edin — alt kademedeki bir mağaza için 200 req/dk, üst kademedekinin üçte biri.
Dokümanda limit aşımında Retry-After başlığı döndüğüne dair bir bilgi yok. Dolayısıyla bekleme süresini sunucudan okumaya güvenmeyin; kendi geri çekilme (backoff) mantığınızı yazın.
400 ve 404 — hızlı ayrım
400 aldığınızda sorun istek gövdesindedir. Trendyol genellikle hangi alanın kabul edilmediğini yanıt gövdesinde söyler; önce oraya bakın. Toplu işlemlerde tüm isteğin 400 dönmesiyle, isteğin kabul edilip kalem bazında hata vermesi farklı şeylerdir — ikincisinde HTTP 200 alırsınız ve hatayı ancak toplu işlem sonucunu sorgulayınca görürsünüz. Bu ayrımı stok ve fiyat güncelleme yazısında ele aldık.
404 aldığınızda sorun adrestedir. En sık sebep sellerId yerine başka bir kimliğin yazılması ya da uç nokta yolunun sürüm farkıdır.
Hata ayıklarken işinizi kolaylaştıracak üç şey
- Yanıt gövdesini her zaman loglayın. Yalnızca durum kodunu loglamak, Trendyol’un verdiği açıklamayı çöpe atmak demektir.
- Anahtarları loglara yazmayın. Hata ayıklarken başlıkları basmak caziptir;
Authorizationdeğerini maskeleyin. - İstekleri tek tek değil, akış hâlinde izleyin. 429 genellikle tek bir isteğin değil, önceki altmış saniyenin sonucudur.
Aynı entegrasyonu Hepsiburada ve N11’e de yazıyorsanız: oradaki 401 ve 403 hatalarının sebepleri farklıdır, çünkü üç pazaryeri üç ayrı kimlik doğrulama modeli kullanır. Karşılaştırma yazısı hangi alışkanlığın nerede işe yaramadığını gösteriyor.
Kaynak
Kimlik doğrulama, User-Agent ve eski istek sınırı bilgisi Trendyol’un Authorization sayfasından; 14 Eylül 2026’dan geçerli yeni limitler ise Servis Limitleri sayfasından alınmıştır. İki sayfa istek sınırı konusunda birbiriyle çelişmektedir; bu yazı ikisini de aktarır.
Son kontrol: 6 Ekim 2026. Trendyol servis limitlerini ve hata davranışını değiştirebilir; bir tutarsızlık fark ederseniz yorum bırakın, sayfayı güncelleyelim.
Bir yanıt yazın