Bir e-ticaret sitesi işletiyorsanız sipariş yönetiminin ne kadar zaman alıcı olduğunu bilirsiniz. Yeni sipariş geldiğinde kontrol etmek, müşteriye bildirim göndermek, stok güncellemek, muhasebe kaydı oluşturmak — bunların hepsi tekrarlayan işlemler ve otomatize edilmeyi hak ediyor. Ben bu işlemleri n8n kullanarak tamamen otomatik hale getirdim.
Bu yazıda n8n’in ne olduğunu, neden Zapier yerine tercih ettiğimi, Docker ile nasıl kurulacağını ve WooCommerce sipariş otomasyonu için gerçek hayatta kullandığım workflow’ları anlatıyorum.
n8n nedir ve neden Zapier yerine tercih ettim?
n8n, açık kaynaklı bir iş akışı otomasyon platformudur. Zapier, Make (eski adıyla Integromat) gibi araçlara benzer şekilde farklı servisleri birbirine bağlamanızı sağlar ama kritik farkları vardır.
Açık kaynak ve self-hosted
n8n’i kendi sunucunuzda çalıştırabilirsiniz. Bu, verilerinizin üçüncü parti bir servise gitmemesi anlamına gelir. E-ticaret verileri (müşteri bilgileri, sipariş detayları, ödeme bilgileri) hassas verilerdir ve bunların kendi kontrolünüzde kalması önemlidir.
Maliyet avantajı
Zapier’ın ücretsiz planı ayda 100 görevle sınırlıdır. Orta ölçekli bir e-ticaret sitesi bu limiti ilk hafta doldurur. Zapier Pro planı aylık $29.99’dan başlar ve workflow sayısı arttıkça maliyet katlanır. n8n’i kendi sunucunuzda çalıştırdığınızda ek maliyet sıfırdır — zaten bir VPS’iniz varsa n8n container’ı eklemek kayda değer bir kaynak tüketmez.
Esneklik
n8n, kod yazma desteği sunar. Basit workflow’lar sürükle-bırak ile yapılırken, karmaşık dönüşümler için JavaScript veya Python kodu doğrudan workflow içine yazılabilir. Zapier’da bu seviyede esneklik yoktur.
Docker ile n8n kurulumu
n8n’i Docker ile kurmak en pratik yöntemdir. Aşağıdaki docker-compose.yml dosyası, PostgreSQL veritabanı ile birlikte çalışan bir n8n kurulumu sağlar:
version: '3.8'
services:
n8n-db:
image: postgres:16-alpine
environment:
POSTGRES_DB: n8n
POSTGRES_USER: n8n
POSTGRES_PASSWORD: ${N8N_DB_PASSWORD}
volumes:
- n8n_db_data:/var/lib/postgresql/data
restart: unless-stopped
n8n:
image: n8nio/n8n:latest
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: n8n-db
DB_POSTGRESDB_DATABASE: n8n
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: ${N8N_DB_PASSWORD}
N8N_BASIC_AUTH_ACTIVE: 'true'
N8N_BASIC_AUTH_USER: ${N8N_USER}
N8N_BASIC_AUTH_PASSWORD: ${N8N_PASSWORD}
WEBHOOK_URL: https://n8n.yourdomain.com/
ports:
- "5678:5678"
volumes:
- n8n_data:/home/node/.n8n
depends_on:
- n8n-db
restart: unless-stopped
volumes:
n8n_db_data:
n8n_data:
Kurulum için .env dosyanıza veritabanı şifresini ve n8n kullanıcı bilgilerini ekleyin, ardından docker compose up -d ile başlatın. n8n, 5678 portunda çalışmaya başlayacaktır.
WooCommerce webhook’larını yapılandırmak
n8n ile WooCommerce entegrasyonunun temeli webhook’lardır. Webhook, WooCommerce’de belirli bir olay gerçekleştiğinde (sipariş oluşturuldu, ödeme alındı, stok değişti) belirlediğiniz bir URL’ye otomatik HTTP isteği gönderir.
WooCommerce tarafında webhook oluşturmak
WordPress admin panelinde WooCommerce → Ayarlar → Gelişmiş → Webhooks bölümüne gidin ve yeni bir webhook oluşturun:
- Ad: n8n Yeni Sipariş
- Durum: Aktif
- Konu: Sipariş oluşturuldu
- Teslim URL’si: n8n’deki Webhook node’unuzun URL’si
- Gizli anahtar: Güvenlik için rastgele bir anahtar belirleyin
n8n tarafında webhook almak
n8n’de yeni bir workflow oluşturun ve başlangıç node’u olarak Webhook seçin. HTTP Method olarak POST, Path olarak benzersiz bir yol belirleyin. Bu node’un ürettiği URL’yi WooCommerce webhook ayarlarına yapıştırın.
Webhook tetiklendiğinde sipariş verileri JSON formatında gelir: müşteri adı, e-posta, sipariş edilen ürünler, toplam tutar, adres bilgileri ve daha fazlası.
Sipariş geldiğinde otomatik bildirim göndermek
En temel otomasyon, yeni sipariş geldiğinde anında bildirim almaktır. Bunu birden fazla kanala aynı anda yapabilirsiniz.
Telegram bildirimi
n8n’in yerleşik Telegram node’u ile sipariş bildirimi göndermek çok kolaydır. Webhook → Telegram Bot node zinciri kurarak her yeni siparişte telefonunuza anlık bildirim alabilirsiniz:
🛒 Yeni Sipariş!
Müşteri: {{ $json.billing.first_name }} {{ $json.billing.last_name }}
Tutar: {{ $json.total }} {{ $json.currency }}
Ürünler: {{ $json.line_items.map(i => i.name).join(', ') }}
Sipariş No: #{{ $json.number }}
E-posta bildirimi
WooCommerce zaten sipariş e-postaları gönderir ama n8n ile özelleştirilmiş e-postalar hazırlayabilirsiniz. Örneğin tedarikçiye, depo ekibine veya muhasebe departmanına farklı formatlarda bildirimler gönderebilirsiniz. SMTP node’u ile herhangi bir mail sunucusu üzerinden gönderim yapılabilir.
Slack bildirimi
Eğer ekibinizle Slack kullanıyorsanız, sipariş bildirimlerini belirli bir kanala gönderebilirsiniz. n8n’in Slack node’u ile zengin formatlı mesajlar (attachment, buton, renk kodlu) göndermek mümkündür.
Sipariş verilerini Google Sheets’e kaydetmek
Sipariş verilerini otomatik olarak bir Google Sheets tablosuna yazmak, basit ama güçlü bir otomasyon senaryosudur. Özellikle muhasebe ekibiyle paylaşım veya raporlama için çok kullanışlıdır.
Workflow yapısı
Webhook → Set (veri dönüşümü) → Google Sheets (satır ekle) şeklinde üç node’luk basit bir workflow yeterlidir:
- Webhook node: WooCommerce’den sipariş verisini alır
- Set node: Gerekli alanları çıkarır ve düzenler (sipariş no, müşteri adı, ürünler, tutar, tarih)
- Google Sheets node: Verileri belirttiğiniz tabloya yeni satır olarak ekler
Google Sheets bağlantısı için n8n’de Google API credential’ları tanımlamanız gerekir. Service Account yöntemi en güvenilir yaklaşımdır.
Stok takibi ve düşük stok uyarısı
Stok yönetimi e-ticaretin en kritik süreçlerinden biridir. n8n ile WooCommerce REST API’sini kullanarak stok seviyelerini periyodik olarak kontrol edebilir ve düşük stok uyarıları gönderebilirsiniz:
- Cron trigger: Her gün sabah 09:00’da çalışır
- WooCommerce node: Tüm ürünleri ve stok miktarlarını çeker
- IF node: Stok miktarı belirli bir eşiğin altındaki ürünleri filtreler
- Telegram/E-posta node: Düşük stoklu ürünlerin listesini gönderir
Bu workflow sayesinde stok bitmeden önce haberdar olursunuz ve müşteriye “stokta yok” göstermek zorunda kalmazsınız.
Gerçek hayat senaryosu: benim kullandığım workflow
Kendi WooCommerce sitemde kullandığım otomasyon zinciri şöyle çalışıyor:
- Müşteri sipariş verir → WooCommerce webhook tetiklenir
- n8n sipariş verisini alır ve doğrular (spam filtresi)
- Telegram’a anlık sipariş bildirimi gönderilir
- Sipariş detayları Google Sheets’e yazılır
- Dijital ürünse indirme linki otomatik oluşturulur
- 7 gün sonra müşteriye geri bildirim e-postası gönderilir
Bu otomasyonlar ayda tahminen 8-10 saatlik manuel işi ortadan kaldırıyor. n8n kurulduktan ve workflow’lar oluşturulduktan sonra müdahale gerektirmeden çalışıyor.
Gelişmiş senaryolar
Temel otomasyonların ötesinde n8n ile yapılabilecek daha gelişmiş senaryolar da var:
- Terk edilmiş sepet kurtarma: Sepet doldurup satın almayan müşterilere hatırlatma e-postası
- Sipariş durumu değişikliği: Kargoya verildiğinde müşteriye WhatsApp mesajı
- Çapraz satış: Sipariş sonrası ilgili ürün önerileri
- Fatura otomasyonu: Sipariş sonrası e-Arşiv fatura kesimi (Parasut, Luca entegrasyonu)
- Müşteri segmentasyonu: Belirli tutarın üzerinde sipariş veren müşterileri VIP olarak etiketleme
Sorun giderme ve dikkat edilmesi gerekenler
Webhook güvenliği
WooCommerce webhook’larında gizli anahtar (secret) belirlemeniz ve n8n tarafında bu anahtarı doğrulamanız önemlidir. Aksi halde herhangi biri webhook URL’nize sahte veri gönderebilir.
Hata yönetimi
n8n workflow’larında mutlaka Error Trigger node’u ekleyin. Bir workflow hata verdiğinde size bildirim gönderilmesini sağlayın. Aksi halde siparişler sessizce kaybolabilir.
Rate limiting
WooCommerce REST API’sinde rate limit vardır. Yoğun dönemlerde (kampanya, indirim günleri) çok fazla istek gönderirseniz 429 hatası alabilirsiniz. Workflow’larınıza uygun bekleme süreleri ekleyin.
Sıkça sorulan sorular
n8n ücretsiz mi?
n8n’in community edition’ı ücretsiz ve açık kaynaklıdır. Kendi sunucunuzda sınırsız workflow ve execution ile kullanabilirsiniz. n8n Cloud (barındırmalı versiyon) ise ücretlidir ve aylık $20’dan başlar. Self-hosted kullanıyorsanız tek maliyetiniz sunucu kaynağıdır.
n8n’i sunucumda nasıl barındırabilirim?
En kolay yol Docker ile kurulumdur. Minimum 1 GB RAM ve 1 vCPU yeterlidir. Yukarıdaki docker-compose örneğini kullanarak birkaç dakikada kurulum yapabilirsiniz. SSL sertifikası için Nginx reverse proxy ve Let’s Encrypt kullanmanızı öneririm.
WooCommerce webhook’u çalışmıyor, ne yapmalıyım?
En yaygın sorunlar: n8n’in webhook URL’sine dışarıdan erişilemiyor olması (firewall/port sorunu), WooCommerce webhook’un “Devre dışı” durumda kalması veya webhook secret’ın eşleşmemesi. WooCommerce → Ayarlar → Gelişmiş → Webhooks → Günlükler bölümünden teslimat kayıtlarını kontrol edin. Ayrıca n8n’in production modunda çalıştığından emin olun, test modunda webhook URL’leri geçici olur.
Zapier’dan n8n’e geçiş zor mu?
Konsept aynıdır: trigger → action zincirleri. Zapier’daki “Zap” karşılığı n8n’de “Workflow”dur. Arayüz farklı olsa da mantık aynıdır. Zapier’dan doğrudan import desteği yok ama workflow’ları yeniden oluşturmak genellikle bir-iki saat sürer. n8n’in node kütüphanesi Zapier kadar geniş olmasa da HTTP Request node’u ile hemen her API’ye bağlanabilirsiniz.
n8n ile WooCommerce dışında ne otomatize edebilirim?
WordPress yeni yazı yayınlandığında sosyal medyaya otomatik paylaşım, form doldurulduğunda CRM’e kayıt, yorum geldiğinde Telegram bildirimi, yedekleme otomasyonu, SEO raporlama ve daha birçok senaryo mümkündür. n8n 400+ hazır entegrasyon sunar. Sitenizin performans optimizasyonu hakkında da WordPress Tema Performans İpuçları yazıma göz atabilirsiniz.
WooCommerce sitenize n8n entegrasyonu kurmak veya özel otomasyon workflow’ları geliştirmek istiyorsanız iletişim sayfamdan bana ulaşabilirsiniz. Sorularınızı aşağıdaki yorum bölümünden de paylaşabilirsiniz.