Başlık adım adım nasıl kurulur?
Basic yöntemi RFC 7617 ile tanımlıdır. İstemci kullanıcı adını, tek bir iki nokta karakterini ve şifreyi art arda yazar, sonucu Base64 ile kodlar (RFC 7617). Hepsiburada'da bu iki değer Merchant ID ve servis anahtarıdır.
| Adım | İşlem | Örnek (sahte değerlerle) |
|---|---|---|
| 1 | Merchant ID ve servis anahtarını alın | SATICI_ID ve API_KEY |
| 2 | Araya iki nokta koyup birleştirin | SATICI_ID:API_KEY |
| 3 | Base64 ile kodlayın | U0FUSUNJX0lEOkFQSV9LRVk= |
| 4 | Başlığa yazın | Authorization: Basic U0FUSUNJX0lEOkFQSV9LRVk= |
Sıra önemlidir. Önce Merchant ID, sonra servis anahtarı gelir. Ters sırayla kodlanan başlık 401 alır. Komut satırında kodlarken metnin sonuna satır sonu karakteri eklenmediğinden emin olun; görünmeyen bu karakter de başlığı bozar.
Base64 şifreleme değildir
Base64 geri çevrilebilir bir kodlamadır. MDN'nin açıklamasına göre Basic yönteminde kullanıcı adı ve şifre ağda düz metin gibi taşınır; bu yüzden HTTPS/TLS ile birlikte kullanılmalıdır (MDN: HTTP kimlik doğrulama). Hepsiburada servis adreslerinin hepsi https ile başlar.
Pratik sonucu şudur: Basic başlığını gören herkes servis anahtarınızı da görmüş olur. Başlığı kayıt dosyalarına, hata raporlarına ya da destek taleplerine yapıştırmayın. Destekle konuşurken yalnız Merchant ID'yi paylaşın.
Panel şifresi ve ayrı OMS kullanıcısı neden çalışmaz?
"Hepsiburada API kullanıcı adı şifre" aramasının arkasında genelde bu karışıklık vardır. Satıcı paneline girdiğiniz e-posta ve şifre bir web oturumu içindir. Bazı eski entegrasyon notları ise sipariş servisi (OMS) için ayrı bir kullanıcı adı ve şifreden söz eder.
Canlı denemede panel e-postası ve şifresi OMS kullanıcısı olarak gönderildiğinde sipariş istekleri 401 aldı. Aynı istek Merchant ID ve servis anahtarıyla 200 döndü. Yani tek bir kimlik çifti üç servisi de açar.
| Denenen kimlik | Sonuç |
|---|---|
| Merchant ID ve servis anahtarı | Listing, MPOP ve OMS isteklerinde çalıştı |
| Panel e-postası ve şifresi (OMS kullanıcısı olarak) | OMS isteklerinde 401 |
Her istekte gönderilen başlıklar
Kimlik başlığı tek başına yetmez. Her isteğe uygulamanızı tanıtan User-Agent da eklenir. Gövde taşıyan isteklerde içerik türü belirtilir.
| Başlık | Değer | Not |
|---|---|---|
| Authorization | Basic ve kodlanmış kimlik | Tüm servislerde aynı |
| User-Agent | Portalda tanımlı entegrasyon adı | Ayrıntı: User-Agent kuralı |
| Content-Type | application/json | Katalog yüklemede multipart/form-data |
| Accept | application/json | Yanıtlar JSON döner |
Sık hatalar ve çözümleri
- "Basic" öneki unutuldu: başlık yalnız kodlanmış metni içeriyorsa sunucu yöntemi tanımaz. Öneki ve bir boşluğu ekleyin.
- Değerler ters sırada: servis anahtarı önce yazılmış. Merchant ID önce gelmelidir.
- Kopyalarken boşluk girdi: baştaki ya da sondaki boşluk da kodlanır. Değerleri kırpın.
- Başlık bazı isteklerde eksik: her servis için ayrı istemci kurulduysa birinde başlık unutulmuş olabilir. Ortak bir istemci kullanın.
- Anahtar değişti, yazılım eski değeri tutuyor: önbellekteki eski istemciyi yenileyin ve bağlantıyı yeniden test edin.
Sık sorulanlar
Hepsiburada API kullanıcı adı nedir?
Kullanıcı adı Merchant ID'dir. Şifre yerine servis anahtarı (API Key) kullanılır. İkisi Basic Auth başlığında birleşir.
Satıcı paneli şifremle API isteği atabilir miyim?
Hayır. Panel e-postası ve şifresi yalnız web oturumu içindir. API istekleri bu bilgilerle 401 alır.
Base64 kodlaması anahtarımı korur mu?
Korumaz. Base64 geri çevrilebilir bir kodlamadır. Koruma HTTPS bağlantısından gelir; başlığı kimseyle paylaşmayın.
Ürün servisi çalışıyor, sipariş servisi 401 veriyor. Neden?
En sık neden, sipariş servisi için farklı bir kimlik kullanılmasıdır. OMS de Merchant ID ve servis anahtarıyla çalışır. Ayrıca sipariş yolunun /orders/merchantid/SATICI_ID biçiminde olduğunu kontrol edin.
Kaynaklar
İlgili Hepsiburada API konuları
Son güncelleme: 27.10.2026 · Hepsiburada API rehberinin tamamı


