Trendyol, Hepsiburada ve N11: API kimlik doğrulama karşılaştırması
Trendyol, Hepsiburada ve N11 üç farklı kimlik doğrulama modeli kullanıyor. Birinde işe yarayan alışkanlık diğerinde hata üretiyor. Üçünün farkları tek tabloda.
Üç pazaryerine birden entegre olan bir yazılım yazıyorsanız, ilk öğrendiğiniz modeli diğerlerine taşımak en sık yapılan hatadır. Üçü de “API anahtarı” der ama kastettikleri şey aynı değil: biri her isteğe Basic auth başlığı bekler, biri jeton üretmenizi ister, biri de kimlik bilgilerini düz başlık olarak alır.
Tek bakışta
| Trendyol | Hepsiburada | N11 | |
|---|---|---|---|
| Yöntem | Basic auth (her istekte) | OAuth2 client credentials (jeton) | Düz başlık (her istekte) |
| Gönderilen | Authorization: Basic base64(apiKey:apiSecret) |
Jeton uç noktasına client_id + client_secret |
appKey ve appSecret başlıkları |
| Ek zorunlu başlık | User-Agent — eksikse 403 |
— | — |
| Jeton yönetimi | Yok | Var — süre takibi gerekir | Yok |
| Test ortamı | STAGE, ayrı kimlik bilgileri | Sandbox, geliştirici hesabı | — |
Trendyol: başlığı unutursanız yetkiniz varmış gibi görünmez
Trendyol her isteğe Basic auth bekler ve User-Agent başlığı zorunludur. Göndermezseniz istek 403 ile engellenir — ve bu kod “yetkim yok” diye okunduğu için saatler yanlış yerde aranarak geçer.
Biçim de serbest değil: SatıcıId - SelfIntegration ya da entegratörle çalışıyorsanız SatıcıId - FirmaAdı. Firma adı alfanümerik ve en çok 30 karakter.
Ayrıca PROD ve STAGE ortamları ayrı kimlik bilgileri kullanır; yalnızca adresi değiştirip anahtarı bırakmak 401 üretir.
Ayrıntılar: anahtar nasıl alınır ve hata kodları.
Hepsiburada: önce jeton, sonra iş
Hepsiburada’nın geliştirici portalı OAuth2 client credentials akışı gösteriyor: kimlik bilgilerini /v3/auth uç noktasına gönderip jeton alırsınız, sonraki çağrılarda o jetonu kullanırsınız.
Bu, diğer ikisinden mimari olarak farklı: jetonun ömrünü takip etmek, süresi dolunca yenilemek ve eşzamanlı isteklerde aynı jetonu paylaşmak sizin sorumluluğunuzda. Her istekte yeniden jeton almak çalışır ama gereksizdir ve kotanızı yer.
Bir de terminoloji karışıklığı var: entegratör firmanın yazılımını kullanıyorsanız ihtiyacınız olan şey jeton değil, panelden alınan servis anahtarıdır. İkisi ayrı şeyler — ayrı yazıda ele aldık.
N11: Authorization başlığı kurmayın
N11 REST servislerinde Basic auth yoktur. Kimlik bilgileri appKey ve appSecret adlı düz başlıklar olarak gider. Dokümanda bu “Authorization: no auth seçiniz” diye anlatılır.
Trendyol’dan gelen bir geliştiricinin refleksi Base64 kodlayıp Authorization başlığı kurmaktır; burada bunun karşılığı yoktur. Okuma servislerinin bir kısmı yalnızca appKey ister, yazma servisleri ikisini birden bekler.
Ayrıntılar: N11’de fiyat ve stok güncelleme.
Ortak nokta: toplu işlem asenkron
Kimlik doğrulama farklı olsa da üçü de toplu güncellemede aynı deseni kullanıyor — ve bu desen, entegrasyonların en sık sessizce bozulduğu yer.
- Trendyol stok/fiyat isteğine karşılık
batchRequestIddöner; sonuç ayrı bir servisten sorgulanır. - N11 aynı işlemde
taskIddöner; sonuç Task Detail servisinden sorgulanır.
İkisinde de HTTP 200 almak güncellemenin yapıldığı anlamına gelmez. İstek kuyruğa alınmıştır; kalem bazındaki sonuçları ayrıca kontrol etmeniz gerekir. Yalnızca durum koduna bakan bir entegrasyon, binlerce üründen bir kısmının güncellenmediğini hiç fark etmez.
Bir de pratik bir benzerlik: Trendyol ve N11’in stok/fiyat servislerinde tek istekteki kalem sınırı ikisinde de 1.000.
Çok pazaryerli yazarken
- Kimlik doğrulamayı soyutlayın. Her pazaryeri için ayrı bir “istek imzalayıcı” yazın; iş mantığı hangi modelin kullanıldığını bilmesin.
- Jeton yönetimini yalnızca gereken yere koyun. Hepsiburada için jeton önbelleği gerekir, diğer ikisi için gereksiz karmaşa.
- Sayı biçimlendirmesini merkezileştirin. N11 ondalıkta nokta ve tam iki hane ister; yerel ayara duyarlı bir biçimlendirici virgül üretirse istek reddedilir.
- Toplu işlem sonucunu sorgulamayı baştan yazın. Sonradan eklenen kontrol kodu genelde yazılmıyor.
Kaynak
Trendyol bilgileri Authorization ve Servis Limitleri; Hepsiburada bilgileri geliştirici portalı; N11 bilgileri Ürün Fiyat-Stok Güncelleme dokümanından alınmıştır.
Son kontrol: 6 Ekim 2026. Üç pazaryeri de API’lerini bağımsız olarak değiştirebilir; uygulamadan önce ilgili resmî dokümanı teyit edin.
Bir yanıt yazın