Bu rehberde: WordPress üzerindeki WooCommerce mağazanızı bir REST API anahtarıyla bağlarsınız. Yeni sipariş, tamamlanan sipariş ve yeni müşteri olayları iş akışı başlatır; akış içinden sipariş okuyabilir ve siparişe (isterseniz müşteriye de görünen) not ekleyebilirsiniz.
⏱ 10 dakika
Kimlik kartı
| Alan | Değer |
|---|---|
| Sağlayıcı anahtarı | WOOCOMMERCE |
| Kategori | E-ticaret |
| Kimlik doğrulama | Consumer key + consumer secret (HTTP Basic, yalnızca HTTPS) |
| API | WooCommerce REST API wc/v3 |
| Kapsam | Proje bazlı |
| Webhook | Evet – bağlarken otomatik oluşturulur (HMAC-SHA256 imzalı) |
| Kutu | WooCommerce (app.woocommerce) |
| Tetikleyici | Entegrasyon olayı → WOOCOMMERCE · Order created, Order completed, Customer created |
Ne işe yarar?
Tetikleyiciler:
| Olay | Ne zaman | WooCommerce konusu |
|---|---|---|
| Order created | Yeni sipariş oluştuğunda | order.created |
| Order completed | Siparişin durumu Tamamlandı (completed) olduğunda – sipariş başına bir kez | order.updated |
| Customer created | Müşteri hesabı açıldığında | customer.created |
Akış şu alanlarla başlar: orderId, orderNumber, status (pending, processing, on-hold, completed …), total, currency, customerId (misafir siparişte yok), customerName, customerEmail, customerPhone (fatura bilgilerinden), items (name, quantity, price), productName, paymentMethod, customerNote, paidAt, completedAt, createdAt ve kısaltılmış raw. Müşteri olayında customerId, customerName, customerEmail, customerPhone, firstName, lastName, username gelir.
WooCommerce kutusunun işlemleri:
| İşlem | Ne yapar | Etki |
|---|---|---|
| Get order | Tek siparişi numarasıyla okur. | Okuma |
| List orders | En yeni siparişleri durum, arama metni (sipariş no, ad, e-posta) ve tarih filtresiyle listeler; her sipariş ayrı öğe olur. | Okuma |
| Add order note | Siparişe not ekler. Send to the customer açıksa not müşteriye görünür ve WooCommerce müşteriye e-postayla gönderir; kapalıysa yalnızca yöneticiler görür. | Değişiklik |
Editördeki test çalıştırmalarında not ekleme çalıştırılmaz; okuma işlemleri çalışır.
Ön koşullar
- WooCommerce 3.5 veya üstü yüklü bir WordPress sitesi, HTTPS üzerinden yayında. Anahtarlar Basic auth ile gönderildiği için düz HTTP siteler kabul edilmez.
- WordPress kalıcı bağlantıları (Ayarlar → Kalıcı bağlantılar) "Düz" (Plain) dışında bir seçenekte olmalı; aksi hâlde
/wp-json/adresi çalışmaz. - Yönetici (Administrator) veya Mağaza yöneticisi (Shop manager) rolünde bir kullanıcı.
- Güvenlik eklentisi, Cloudflare ya da barındırma güvenlik duvarı
/wp-json/wc/v3/isteklerini ve OrqLabs'tan gelen webhook doğrulama isteğini engellememeli.
Adım adım kurulum
A) WooCommerce'te API anahtarı
- WordPress yönetiminde WooCommerce → Ayarlar → Gelişmiş → REST API → Anahtar ekle.
- Açıklama:
OrqLabs, Kullanıcı: yönetici hesabınız, İzinler: Okuma/Yazma (Read/Write). Webhook oluşturmak ve not eklemek için yazma izni gerekir. - API anahtarı oluştur → Consumer key (
ck_…) ve Consumer secret (cs_…) değerlerini kopyalayın; gizli anahtar yalnızca bir kez gösterilir.
B) OrqLabs'ta bağlama
- Entegrasyonlar → WooCommerce → Bağla → Proje seçin.
- Store URL: mağazanın ana adresi, ör.
https://magaza.ornek.com(WordPress bir alt klasördeysehttps://ornek.com/magaza). - Consumer key ve Consumer secret → Bağla.
Bağlantı kurulunca OrqLabs üç webhook'u (order.created, order.updated, customer.created) mağazanızda kendi gizli anahtarıyla otomatik oluşturur. WooCommerce oluşturma anında adrese bir doğrulama isteği (webhook_id=…) gönderir; OrqLabs bu isteği yanıtlar ve webhook Etkin kalır. Webhook'ları WooCommerce → Ayarlar → Gelişmiş → Webhook'lar sayfasında OrqLabs – … adıyla görebilirsiniz; bunları silmeyin.
Örnek iş akışları
1) Yeni siparişe WhatsApp bildirimi
Entegrasyon olayı (WOOCOMMERCE · Order created) → Eğer ({{ $json.status }} eşittir processing) → Mesaj gönder (WhatsApp, onaylı şablon, alıcı {{ $json.customerPhone }}, parametreler {{ $json.customerName }}, {{ $json.orderNumber }}).
2) Tamamlanan siparişten sonra yorum isteği
- Entegrasyon olayı –
WOOCOMMERCE · Order completed. - Bekle – 3 gün.
- Metin üret –
{{ $json.customerName }} için {{ $json.productName }} ürününü değerlendirmesini rica eden kısa bir e-posta yaz. - E-posta gönder – alıcı
{{ $node["Entegrasyon olayı"].json.customerEmail }}. - WooCommerce → Add order note – Order id
{{ $node["Entegrasyon olayı"].json.orderId }}, NoteYorum isteği gönderildi, Send to the customer kapalı.
3) Yeni müşteriyi aday listesine alma
Entegrasyon olayı (WOOCOMMERCE · Customer created) → Aday oluştur (ad {{ $json.customerName }}, e-posta {{ $json.customerEmail }}, telefon {{ $json.customerPhone }}) → Ekibe bildir.
Tetikleyiciler nasıl çalışır?
- WooCommerce her teslimatı webhook'un gizli anahtarıyla imzalar (
X-WC-Webhook-Signature, base64 HMAC-SHA256). OrqLabs imzayı ham gövde üzerinden doğrular; imzasız veya hatalı teslimatları reddeder. order.updatedher sipariş kaydında gönderilir. Order completed yalnızca durumcompletedolduğunda ve sipariş başına bir kez akış başlatır.- Aynı sipariş veya müşteri için tekrar gelen teslimatlar ikinci kez akış başlatmaz.
- WooCommerce teslimatları arka planda (Action Scheduler / WP-Cron) gönderir; trafiği az olan sitelerde birkaç dakikalık gecikme normaldir.
Limitler
| Konu | Sınır |
|---|---|
| List orders | İstek başına en fazla 100 sipariş |
| Tarih filtresi | Created after ISO 8601 tarih (2026-10-01 veya 2026-10-01T09:00:00) |
| Webhook devre dışı kalma | WooCommerce art arda 5 başarısız teslimattan sonra webhook'u Devre dışı yapar |
| Ürün, kupon, stok | Bu sürümde kutu işlemi yok; gerekirse HTTP isteği kutusuyla REST API'yi çağırın |
Bağlantıyı test etme
Bağlantıyı test et sipariş listesine erişimi dener ve site adını ile toplam sipariş sayısını gösterir. Webhook'ları denemek için mağazada bir test siparişi verin ve iş akışının Çalıştırmalar sekmesine bakın.
Kimlik bilgilerini yenileme
WooCommerce → Ayarlar → Gelişmiş → REST API'de yeni anahtar oluşturun → OrqLabs'ta ayrıntı panelinden Kimlik bilgileri → Güncelle → eski anahtarı İptal et. Webhook'lar kendi gizli anahtarlarını kullandığı için etkilenmez.
Sık karşılaşılan hatalar
| Hata | Olası neden | Çözüm |
|---|---|---|
CONFIG – "the store must use https" | Site HTTP | SSL sertifikası kurun ve https:// adresini girin |
AUTH – 401 woocommerce_rest_cannot_view | Anahtar yanlış ya da sunucu Authorization başlığını siliyor | Anahtarları kontrol edin; Apache'de .htaccess dosyasına SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 ekleyin |
FORBIDDEN – "does not have write permissions" | Anahtar yalnızca Okuma izinli | Okuma/Yazma izinli yeni anahtar oluşturun |
FORBIDDEN – 403 | Güvenlik eklentisi / güvenlik duvarı | /wp-json/ için istisna tanımlayın |
NOT_FOUND – "REST API route not found" | WooCommerce kapalı veya kalıcı bağlantılar "Düz" | WooCommerce'i etkinleştirin, kalıcı bağlantı ayarını değiştirin |
INVALID – "orderId must be a number" | Sipariş numarası yerine başka bir değer girildi | {{ $json.orderId }} kullanın |
| Webhook "Devre dışı" görünüyor | Teslimatlar art arda başarısız oldu | Webhook'u Etkin yapın veya entegrasyonu silip yeniden bağlayın |
Sık sorulan sorular
Sipariş numaraları özel bir eklentiyle değişiyorsa?
orderNumber WooCommerce'in gösterdiği numaradır (eklenti değiştirdiyse onun biçimi); kutu işlemleri ise orderId (veritabanı numarası) ister.
Misafir siparişlerde müşteri bilgisi gelir mi?
Evet; ad, e-posta ve telefon fatura bilgilerinden okunur. customerId yalnızca hesabı olan müşterilerde vardır.
Müşteriye not gönderince e-posta kimden çıkar? WooCommerce'in kendi e-posta ayarlarından (WooCommerce → Ayarlar → E-postalar → Müşteri notu).