HTTP durum kodları
| Kod | Anlamı | Tipik neden |
|---|---|---|
| 400 Bad Request | Geçersiz istek | Desteklenmeyen yöntem, hatalı parametre |
| 401 Unauthorized | Kimlik ya da yetki hatası | Yanlış anahtar, yetkisiz kullanıcı |
| 404 Not Found | Kaynak yok | Silinmiş ürün, yanlış numara, kalıcı bağlantı sorunu |
| 500 Internal Server Error | Sunucu hatası | Eklenti çakışması, PHP hatası, bellek yetersizliği |
Belge bu dört türü tanımlar. Sunucu ya da önündeki katmanlar başka kodlar da döndürebilir. Örneğin ModSecurity kullanan sunucularda 501 Method Not Implemented görülebileceği belgede ayrıca anılır.
Hata gövdesini okumak
Hatalı yanıtlar bir HTTP kodu ve bir nesne döndürür. Nesnede üç alan vardır:
- code: makinenin okuyacağı hata kodu, ör. woocommerce_rest_term_invalid
- message: insanın okuyacağı açıklama, ör. “Resource doesn’t exist.”
- data.status: HTTP durum kodu, ör. 404
Mesajlar sitenin diline çevrilebilir. Türkçe kurulu bir sitede aynı hata Türkçe mesajla gelir. Saystok’un kayıtlarında “Geçersiz kimlik” ve “Parametreler geçersiz: per_page” gibi mesajlar görüldü. Otomatik karar veren kodda mesaj yerine code alanına bakın.
İade isteklerinde belge bazı kodları açıkça listeler: woocommerce_rest_invalid_refund_amount, woocommerce_rest_refund_exceeds_remaining, woocommerce_rest_quantity_exceeds_refundable ve woocommerce_rest_duplicate_line_item. Bunlar 400 ya da 422 ile döner.
Toplu isteklerde gizli hata
Batch uç noktaları istek bütün olarak işlendiğinde 200 döner. Ama listedeki tek tek kayıtlar yine de reddedilmiş olabilir. Her kaydın yanıtında ayrı bir error nesnesi bulunur.
| Durum | HTTP kodu | Ne yapmalı |
|---|---|---|
| Tüm kayıtlar güncellendi | 200 | Sonucu kaydedin |
| Bazı kayıtların error alanı dolu | 200 | Başarısız kayıtları ayıklayıp yeniden deneyin |
| İstek bütünüyle reddedildi | 400 ya da 401 | Gövdeyi ve anahtarı kontrol edin |
Sık görülen tuzak, varyasyon numarasını ürün batch adresine göndermektir. Varyasyonlar /products/ANA_URUN/variations/batch adresine gider; aksi hâlde kayıt “geçersiz kimlik” hatası alır.
Bağlantı sorunları
| Belirti | Neden | Çözüm |
|---|---|---|
| “Consumer key is missing” | Sunucu Authorization başlığını okumuyor | Sunucuyu düzeltin ya da sorgu dizesi kullanın |
| 401, FastCGI sunucu | Başlık PHP’ye ulaşmıyor | Barındırmadan başlık iletimini isteyin |
| SSL hatası, yerel site | Kendinden imzalı sertifika | Test aracında SSL doğrulamasını kapatın |
| Yönlendirme yanıtı | Site http’den https’e ya da www’ye yönleniyor | Yönlendirmenin hedef adresini kullanın |
| Zaman aşımı | Görsel indirme ya da yavaş sunucu | Zaman aşımını uzatın, isteği küçültün |
Kimlik doğrulama ayrıntıları kimlik doğrulama sayfasında.
Sık sorulanlar
WooCommerce API 401 hatası nasıl çözülür?
Anahtarın doğru kopyalandığını, Okuma/Yazma izinli olduğunu ve bağlı kullanıcının ilgili kaynağa erişebildiğini kontrol edin. Sorun sürerse yeni anahtar üretin ve sunucunun Authorization başlığını ilettiğinden emin olun.
Batch isteği 200 döndü ama ürün güncellenmedi, neden?
Toplu isteklerde her kaydın kendi error alanı vardır. İstek başarılı olsa da tek tek kayıtlar reddedilebilir; yanıttaki listeyi kayıt kayıt kontrol edin.
Hata mesajları neden Türkçe geliyor?
WooCommerce mesajları sitenin diline çevirir. Kodunuzda mesaj yerine code alanına göre karar verin.
404 hatası ürün silindiği için mi geliyor?
Olabilir. Ama tüm isteklerde 404 alıyorsanız kalıcı bağlantı ayarını ve adresin /wp-json/wc/v3 ile doğru kurulduğunu kontrol edin.
Kaynaklar
İlgili WooCommerce API konuları
Son güncelleme: 27.10.2026 · WooCommerce API rehberinin tamamı


