WooCommerce REST API; geliştiricilere ürünler, siparişler ve müşteriler gibi mağaza verilerini HTTP istekleri aracılığıyla okuma ve yazma yeteneği sağlayan uç noktalar kümesidir. API ile etkileşime geçerek mağaza yönetimi görevlerini otomatikleştirebilir, üçüncü taraf uygulamaları entegre edebilir veya özel paneller oluşturabilirsiniz. Bu yaklaşım, standart WordPress panel arayüzünün sınırlarının ötesine geçerek envanteriniz ve kullanıcı verileriniz üzerinde programatik kontrol sağlar. Özel bağlantılar kuran geliştiriciler için standart bir araçtır.
WooCommerce REST API Nedir?
WooCommerce REST API, çevrimiçi mağazanız ile harici uygulamalar arasında bir köprü görevi görür. Geliştiricilerin temel veri varlıkları üzerinde CRUD (Oluştur, Oku, Güncelle, Sil) işlemlerini gerçekleştirmesine olanak tanır. Örneğin, harici bir depo yönetimi sistemindeki ürün stok seviyelerini doğrudan mağazanıza senkronize etmek için bir komut dosyası yazabilirsiniz. API, HTTP üzerinden çalışır; yani bu kaynakları yönetmek için GET, POST, PUT ve DELETE gibi standart yöntemleri kullanır. Temel ortamla uyumlu kalmasını sağlayan WordPress REST API altyapısı üzerine kurulmuştur.

Veri değişimi için JSON kullandığından Python, JavaScript, PHP ve Ruby dahil olmak üzere neredeyse tüm modern programlama dilleriyle uyumludur. Bu esneklik; işletmelerin özel mobil uygulamalar, dahili raporlama araçları veya canlı verileri çeken otomatize edilmiş müşteri destek botları oluşturmasına olanak tanır. API’yi kullanarak, binlerce ürünü güncellemeniz gerektiğinde her seferinde CSV dosyalarını manuel olarak dışa ve içe aktarma ihtiyacını ortadan kaldırırsınız. İşletmenizin kullanabileceği farklı platformlarda veri tutarlılığını korumak için güvenilir bir yöntemdir.
WooicCommerce’te API Erişimi Nasıl Kurulur?
API’yi kullanmaya başlamak için öncelikle WordPress panelinizde kimlik bilgileri oluşturmalısınız. WooCommerce menüsüne gidin, ardından Ayarlar’a tıklayın. Oradan Gelişmiş sekmesini seçin ve REST API bağlantısına tıklayın. Yeni bir erişim belirteci oluşturmak için ‘Anahtar ekle’ seçeneğine tıklamanız gerekecektir. Bu süreçte bir açıklama, bir kullanıcı ve izin düzeyini belirtmelisiniz: Oku, Yaz veya Oku/Yaz. Sistem daha sonra size bir Tüketici Anahtarı (Consumer Key) ve bir Tüketici Sırrı (Consumer Secret) sağlayacaktır.
Bu anahtarları güvenli bir şekilde saklamak çok önemlidir, çünkü seçtiğiniz izinlere bağlı olarak mağaza verilerinize tam erişim sağlarlar. Bu anahtarları asla genel depolarda veya kullanıcılara görünür olan istemci tarafı kodlarında paylaşmayın. Bir ön yüz (front-end) uygulaması oluşturuyorsanız, isteklerinizi güvenli bir sunucu tarafı komut dosyası üzerinden proxy’lediğinizden emin olun. Bu anahtarları oluşturduktan sonra, anahtarı ve sırrı HTTP başlıklarınızda parametre olarak veya URL sorgu dizesinin bir parçası olarak ileterek isteklerinizin kimliğini doğrulayabilirsiniz.

API İstekleri İçin Hangi Yöntemler Mevcuttur?
API, otomasyon iş akışınızda her biri farklı bir amaca hizmet eden dört birincil istek yöntemini destekler. Yöntemi, mevcut verileri mi çektiğinize yoksa sunucuya yeni bilgi mi gönderdiğinize bağlı olarak seçmelisiniz. Standart HTTP uygulamalarını takip etmek, isteklerinizin WordPress sunucusu tarafından doğru şekilde işlenmesini sağlar. Bu yöntemleri anlamak, mağaza içeriğini manuel insan müdahalesi olmadan değiştiren bir komut dosyası oluşturmanın ilk adımമാണ്.
- GET: Tüm ürünlerin bir listesini veya belirli bir siparişin ayrıntılarını getirmek gibi sunucudan veri alır.
- POST: Yeni bir ürün eklemek veya yeni bir müşteri hesabı kaydetmek gibi yeni bir kaynak oluşturur.
- PUT: Ürün fiyatlarını değiştirmek, stok seviyelerini güncellemeyle ilgili veya müşteri gönderim adreslerini değiştirmek için sıklıkla kullanılan mevcut verileri günceller.
- DELETE: Eski bir ürün listesini veya belirli bir sipariş girişini kalıcı olarak silmek gibi mağazanızdan bir kaynağı kaldırır.
API Yönetim Yöntemlerinin Karşılaştırması
| İşlem Türü | HTTP Yöntemi | Birincil Kullanım Senaryosu |
|---|---|---|
| Oku | GET | Rapor oluşturma veya ürünleri görüntüleme |
| Oluştur | POST | Yeni envanter veya müşteri kayıtları ekleme |
| Güncelle | PUT | Envanter seviyelerini veya fiyat değişikliklerini senkronize etme |
| Sil | DELETE | Satıştan kaldırılan ürünleri çıkarma |
Alien Road WooCommerce REST API’yi Nasıl Uygular?
Alien Road olarak, müşterilerin e-ticaret mağazaları ile operasyonel yazılımları arasındaki boşluğu kapatmasına yardımcı olmak için WooCommerce REST API’yi kullanıyoruz. Tipik bir hesapta, WooCommerce için yerel bir eklentisi olmayan harici bir envanter yönetim sistemi kullanan bir müşterimizle karşılaşabiliriz. Harici sistemde bir stok değişikliği meydana geldiğinde tetiklenen özel bir komut dosyası oluştururuz. Bu komut dosyası daha sonra aşırı satışı önlemek için ürün envanterini gerçek zamanlı olarak güncellemek üzere WooCommerce API’ye bir PUT isteği gönderir.
Ayrıca raporlama görevleri için de API’yi kullanıyoruz. Verileri WordPress yönetici panelinden manuel olarak dışa aktarmak yerine, her günün sonunda sipariş verilerini çeken otomatik boru hatları (pipeline) oluşturuyoruz. Bu veriler güvenli bir veritabanına aktarılarak ekibimizin canlı web sitesine gereksiz yük bindirmeden müşteri için özel paneller oluşturmasına olanak tanır. Bu, vitrinin hızlı kalmasını sağlarken işletme sahibinin stokları ve pazarlama stratejileri hakkında bilinçli kararlar vermesi için ihtiyaç duyduğu verileri almasını sağlar.
API Kullanırken Karşılaşılan Yaygın Hatalar
- Oran Sınırlarını (Rate Limits) Yoksaymak: WooCommerce belirli bir zaman diliminde yapabileceğiniz istek sayısını kısıtlayabilir, bu nedenle 429 durum kodları için hata yönetimini uygulayın.
- Kimlik Bilgilerini Kodun İçine Sabitlemek (Hardcoding): Tüketici anahtarınızı ve sırrınızı doğrudan kaynak kodda saklamak, kod sızdırılırsa güvenlik açıkları doğurur.
- SSL Gereksinimlerini Yoksaymak: API, iletilen verilerin şifreli kalmasını ve müdahalelerden güvenli olmasını sağlamak için HTTPS üzerinden güvenli bir bağlantı gerektirir.
- Verileri Doğrulamamak (Validation): Veritabanınızda bozuk ürünler veya hatalı sipariş girdileri oluşturulmasını önlemek için API’ye gönderdiğiniz verileri her zaman doğrulayın.
API Kimlik Doğrulamasını Nasıl Yönetirsiniz?
Kimlik doğrulama, güvenli bir bağlantının temelidir. Uygulamanız bir istekte bulunduğunda, oluşturduğunuz Tüketici Anahtarını ve Tüketici Sırrını sağlamalıdır. Bunları genellikle ‘Temel Kimlik Doğrulama’ (Basic Authentication) kullanarak veya URL sorgu parametrelerine dahil ederek iletirsiniz. PHP’de cURL veya Python’da ‘requests’ gibi kütüphaneler kullanıyorsanız, bu araçlar kimlik doğrulama türünü doğrudan fonksiyon çağrılarınızda belirtmenize izin vererek süreci kolaylaştırır. Sunucu ortamınızın bu HTTP çağrıları için gerekli uzantıları desteklediğini her zaman doğrulayın.
API çağrılarınızı test ediyorsanız, Postman veya Insomnia gibi araçlar, istekleri kodunuza taşımadan önce taslak haline getirmek ve hata ayıklamak için mükemmeldir. Bu araçlar, JSON yanıtını görsel olarak incelemenize ve WooCommerce mağazanız tarafından döndürülen başlıkları kontrol etmenize olanak tanır. Önce bir test (staging) ortamında test yaparak, API yanıtlarının sözdizimini ve yapısını hâlâ öğrenirken canlı verileri yanlışlıkla değiştirmekten veya silmekten kaçınmış olursunuz.
Bu Hafta Nereden Başlamalısınız?
API’yi risk almadan keşfetmek için mağazanızın bir test (staging) sürümünü kurarak başlayın. Bir test anahtar seti oluşturun ve Postman gibi bir araç kullanarak ürünlerinizi listelemek için basit bir GET isteği deneyin. JSON verilerinin başarıyla döndüğünü gördükten sonra, bir PUT isteği kullanarak tek bir ürün fiyatını güncellemeyi deneyin. Bu uygulamalı pratik, stok senkronizasyonlarını otomatikleştirmek veya işletmeniz için kendi özel entegrasyonlarınızı oluşturmak gibi daha karmaşık görevleri ele alma konusunda size güven verecektir.
Sıkça Sorulan Sorular
WooCommerce REST API’yi kullanmak ücretsiz mi?
Evet, WooCommerce REST API, WooCommerce eklentisinin yerleşik bir özelliğidir ve erişmek için herhangi bir ek ödeme veya abonelik gerektirmez. Yalnızca WooCommerce eklentisi kurulu ve yapılandırılmış çalışan bir WordPress sitesine sahip olmanız gerekir.
Ürünleri diğer platformlardan taşımak için API’yi kullanabilir miyim?
Evet, başka bir platformdan ürün içe aktarmak için API’yi kullanabilirsiniz. Kaynak platformunuzdaki verileri okuyan ve ardından bunları WooCommerce ürün yapısıyla eşleştiren bir komut dosyası yazmanız gerekir. Eşleştirildikten sonra komut dosyanız her öğe için API’ye bir POST isteği gönderir. Bu, belirli özel alanlar veya karmaşık ürün varyasyonları gerektiren büyük geçişleri yönetmenin standart bir yoludur.
401 Yetkisiz (Unauthorized) hatası alırsam ne yapmalıyım?
401 hatası, sağladığınız kimlik doğrulama bilgilerinin yanlış olduğunu veya eksik olduğunu gösterir. Tüketici Anahtarınızın ve Tüketici Sırrınızın doğru şekilde kopyalandığını ve WooCommerce ayarlarınızda uygun izinleri seçtiğinizi iki kez kontrol edin. Ayrıca, Temel Kimlik Doğrulama kullanıyorsanız bazı sunucu yapılandırmaları bu başlıkları silebileceğinden, sunucunuzun başlıkları iletmek için doğru şekilde yapılandırıldığından emin olun.
API Anahtarlarımı Nasıl Güvenceye Alırım?
Anahtarlarınızı asla istemci tarafı kodunuzda veya GitHub gibi genel sürüm kontrol sistemlerinde ifşa etmeyerek güvence altına alırsınız. Bunları sunucunuzda yalnızca arka uç kodunuzun erişebileceği ortamsal değişkenlerde (environment variables) saklayın. Anahtarlarınızın ele geçirildiğinden şüpheleniyorsanız, mağaza verilerinizin güvenliğini korumak için bunları WooCommerce ayarlarından derhal iptal etmeli ve yeni bir kimlik bilgisi çifti oluşturmalısınız.