Sora Yazılım
Türkçe
Türkiye merkezli özel yazılım çözümleri

n8n Webhook ve API Entegrasyonu: HTTP Node Rehberi

Sora Yazılım Ekibi

n8n webhook API n8n'in Webhook Trigger node'u gelen HTTP isteklerini iş akışına dönüştürürken, HTTP Request node'u herhangi bir REST API'yi çağırmanızı sağlar. Bu iki node birlikte, yerel entegrasyonu bulunmayan servisleri bile n8n ekosistemine dahil etmenin en esnek yolunu sunar.

n8n'de Webhook ve HTTP Node: Trigger ile Request Farkı

Webhook Trigger node, n8n'in dış dünyaya açtığı bir URL'dir; bu URL'ye gelen HTTP istekleri iş akışını başlatır. HTTP Request node ise iş akışının içinden başka bir servise istek gönderir. Biri gelen trafiği yakalar, diğeri giden istek üretir.

n8n'de iki farklı HTTP odaklı node arasındaki ayrımı anlamak, doğru mimariyi kurmanın temelidir. n8n'in iş akışı motoru, olayları tetikleyiciler (trigger) aracılığıyla alır ve ardışık node'larla işler. Webhook Trigger bu tetikleyicilerin en esneğidir: n8n size benzersiz bir URL sağlar ve bu URL'ye yapılan her HTTP isteği — GET, POST, PUT, PATCH veya DELETE — iş akışını anında çalıştırır.

HTTP Request node ise farklı bir role sahiptir. İş akışı çalışırken, belirttiğiniz herhangi bir harici API'ye istek gönderir ve yanıtı sonraki node'lara aktarır. Müşteri veritabanınıza, ERP sisteminize ya da herhangi bir SaaS platformuna bağlanmak için bu node'u kullanabilirsiniz. Yerel bir n8n entegrasyonu bulunmayan her servis, HTTP Request node sayesinde iş akışına dahil edilebilir.

ÖzellikWebhook Trigger NodeHTTP Request Node
RolGelen isteği yakalar (pasif dinleyici)Dışarıya istek gönderir (aktif çağrı)
Konumİş akışının başlangıcı (trigger)İş akışının ortasında herhangi bir yerde
YönDışarıdan n8n'en8n'den dışarıya
Tipik kullanımWebhook endpoint olarak yayınlamaREST API çağırma
Kimlik doğrulamaHeader auth, basic auth, JWT (isteğe bağlı)API key, OAuth2, header auth, basic auth

Webhook Trigger Kurulumu: URL, HTTP Metodu ve Kimlik Doğrulama

Webhook Trigger node ekledikten sonra n8n size iki URL verir: test için bir URL, üretim için ayrı bir URL. HTTP metodunu, yanıt modunu ve isteğe bağlı kimlik doğrulamayı bu panel üzerinden yapılandırırsınız.

Webhook Trigger node'unu iş akışınıza eklediğinizde, n8n otomatik olarak benzersiz bir path üretir. Bu path'i özelleştirebilirsiniz; örneğin `/webhook/musteri-kayit` gibi anlamlı bir isim verebilirsiniz. n8n, test modunda kullanılacak URL'yi (`/webhook-test/...`) ve üretim modunda aktif olacak URL'yi (`/webhook/...`) ayrı ayrı gösterir. Test URL'si yalnızca siz workflow'u manuel çalıştırdığınızda aktiftir; üretim URL'si ise workflow aktif durumdayken her zaman canlıdır.

HTTP metodunu POST olarak bırakmak çoğu senaryo için uygundur; ancak REST prensipleri gereği GET, PUT, PATCH veya DELETE de seçilebilir. Yanıt modu kritik bir karardır: 'Immediately' seçeneği isteği alan anda 200 OK döner, iş akışı arka planda devam eder. 'When last node finishes' ise iş akışının tamamlanmasını bekler ve son node'un çıktısını yanıt gövdesi olarak döner; bu mod senkron API gateway senaryolarında tercih edilir.

  • Path: İsteğe bağlı özel URL path (örn. /webhook/orders)
  • HTTP Method: GET, POST, PUT, PATCH, DELETE veya ANY
  • Response Mode: Immediately veya When Last Node Finishes
  • Response Data: Last Node veya No Data seçenekleri
  • Authentication: None, Basic Auth veya Header Auth

Kimlik doğrulama etkinleştirildiğinde, yalnızca doğru kimlik bilgisini içeren istekler iş akışını tetikler; doğrulanamayanlar 401 ile reddedilir. Bu, webhook endpoint'inizi yetkisiz çağrılara karşı korur ve kurumsal güvenlik gereksinimlerini karşılamanızı sağlar. Kurumsal güvenlik yapılandırması hakkında daha ayrıntılı bilgi için n8n güvenliği ve kurumsal yönetişim rehberimize başvurabilirsiniz.

HTTP Request Node ile Herhangi Bir API'yi Çağırma

HTTP Request node, URL, HTTP metodu, header'lar, query parametreleri, istek gövdesi ve kimlik doğrulama bilgilerini tek bir arayüzden yapılandırmanıza olanak tanır. Şirketinizin herhangi bir iç ya da dış REST API'sine bu node aracılığıyla bağlanabilirsiniz.

HTTP Request node'un yapılandırma paneli, tam anlamıyla bir HTTP istemci arayüzüdür. Method alanından GET, POST, PUT, PATCH, DELETE veya HEAD seçebilirsiniz. URL alanına doğrudan bir adres yazabilir ya da önceki node'lardan gelen verilerle dinamik bir URL oluşturmak için n8n expressions kullanabilirsiniz; örneğin `https://api.example.com/users/{{ $json.userId }}` ifadesi her çalıştırmada farklı bir kullanıcı profilini çeker.

Header'lar, query parametreleri ve istek gövdesi ayrı sekmelerde yönetilir. JSON gövdesi göndermek için Body Type olarak 'JSON' seçin ve key-value çiftlerini girin ya da doğrudan JSON ifadesi yazın. Form verisi göndermek için 'Form Data' moduna geçin. Binary veri (dosya yükleme gibi) için 'Binary' modu kullanılabilir.

ParametreSeçenekler / NotlarTipik Kullanım
MethodGET, POST, PUT, PATCH, DELETE, HEADCRUD işlemleri
URLStatik veya expression tabanlı dinamikKaynak endpoint'i
HeadersKey-value çiftleri, expression destekliContent-Type, Accept, özel başlıklar
Query ParamsKey-value çiftleriFiltreleme, sayfalama
Body TypeJSON, Form Data, Raw, BinaryVeri gönderme
AuthenticationNone, Credential (önceden tanımlı)API güvenliği
TimeoutMilisaniye cinsindenUzun süren API yanıtları
Retry On FailAçık/kapalı, deneme sayısıGeçici hata kurtarma

'Send Query Parameters' ve 'Send Headers' seçenekleri etkinleştirildiğinde ek alanlar açılır. Bu alanlar expression desteklediği için önceki node'lardan gelen dinamik değerleri doğrudan kullanabilirsiniz. Örneğin bir veritabanı sorgusu sonucunda dönen kayıt listesini döngüye alıp her kayıt için ayrı bir API çağrısı yapabilirsiniz; bu işlemi n8n'in SplitInBatches node'u ile hız sınırına uyumlu biçimde gerçekleştirebilirsiniz.

Kimlik Doğrulama ve Credentials: API Key, OAuth2, Header Auth

n8n, kimlik bilgilerini şifreli olarak saklar ve credential nesnelerini birden fazla iş akışında yeniden kullanmanıza olanak tanır. Desteklenen türler: API key, Header Auth, Basic Auth ve OAuth2 (Authorization Code ve Client Credentials akışları dahil).

n8n'de kimlik bilgileri merkezi bir 'Credentials' yöneticisinde saklanır. Her credential, şifreli veritabanında tutulur ve iş akışlarından referans olarak çağrılır — kimlik bilgisi node yapılandırmasına gömülmez. Bu yaklaşım hem güvenlik hem de bakım açısından avantajlıdır: API anahtarınız değiştiğinde tek bir yerde güncelleme yapmanız yeterlidir, bu anahtarı kullanan tüm iş akışları otomatik olarak güncellenir.

Kimlik Doğrulama TürüKullanım Alanın8n Ayarları
API KeyHeader veya query param olarak sabit anahtarKey adı ve değeri; 'Header' veya 'Query' konumu
Header AuthÖzel header adı ve değeriyle kimlik doğrulamaHeader adı ve değeri (örn. X-API-Token)
Basic AuthKullanıcı adı/şifre ile HTTP BasicUsername ve Password alanları
OAuth2 (Auth Code)Kullanıcı onaylı erişim (üçüncü taraf servisler)Client ID, Secret, Auth/Token URL, Scope
OAuth2 (Client Credentials)Sunucudan sunucuya (M2M) erişimClient ID, Secret, Token URL

OAuth2 desteği n8n'in en güçlü özelliklerinden biridir. Authorization Code akışında n8n, tarayıcı üzerinden yetkilendirme yönlendirmesini yönetir; erişim tokenı süresi dolduğunda otomatik olarak yeniler. Bu sayede Google Workspace, Microsoft 365 veya Salesforce gibi OAuth2 tabanlı kurumsal servisler, token yönetimine müdahale etmeden iş akışlarına entegre edilebilir. Kurumsal güvenlik politikalarıyla uyumluluk için n8n güvenlik ve yönetişim rehberimizi incelemenizi tavsiye ederiz.

Credential oluştururken 'Test Credential' butonu, kimlik bilgisinin geçerliliğini kaydetmeden önce doğrular. Bu özellik, yanlış yapılandırmaları erken aşamada yakalamanızı ve iş akışı testlerinde gereksiz zaman kaybetmenizi önler.

Veri Dönüşümü: JSON, Expressions ve Code Node

API yanıtlarını iş akışı verilerine dönüştürmek için n8n expressions (köşeli parantez sözdizimi) veya Code node (JavaScript ya da Python) kullanılır. Expressions basit alan eşlemeleri için yeterliyken, Code node karmaşık dönüşüm mantığı gerektiğinde devreye girer.

HTTP Request node'dan dönen JSON yanıtı, sonraki node'lara otomatik olarak geçirilir. n8n'in expression motoru, `{{ $json.data.items[0].name }}` gibi nokta notasyonu ve dizi indekslemesiyle derin iç içe JSON yapılarına erişmenizi sağlar. Bir önceki node'un çıktısına `$json` ile, tüm item'lara `$items()` ile, sabit değerlere `$vars` ile ulaşabilirsiniz.

Karmaşık veri dönüşümleri için Code node (önceki adıyla Function node) tercih edilir. Bu node, tam JavaScript ya da Python ortamı sunar: dizileri filtreleyin, nesneleri yeniden şekillendirin, tarih formatlarını dönüştürün veya birden fazla kaynaklı veriyi birleştirin. Code node, standart n8n ifade motorunun yeterli olmadığı her durumda güçlü bir alternatif sunar.

  • {{ $json.fieldName }} — mevcut item'dan alan okuma
  • {{ $json.nested.object.value }} — iç içe JSON erişimi
  • {{ $items('NodeAdı')[0].json.field }} — belirli node'un çıktısına erişim
  • {{ $now.format('YYYY-MM-DD') }} — tarih/saat ifadeleri
  • Code node: return items.map(item => ({ json: { id: item.json.id, ad: item.json.name } })) — item dönüşümü

Büyük veri kümeleriyle çalışırken performansı artırmak için SplitInBatches node'u ile toplu işlem yapılabilir; her batch'te HTTP Request çağrısı gerçekleştirilerek hem bellek kullanımı optimize edilir hem de API hız sınırları aşılmaz. AI destekli akıllı veri eşleme ve dönüşüm ihtiyaçlarınız için n8n ile AI agent kurulum rehberimize göz atabilirsiniz.

Hata Yönetimi ve Yeniden Deneme: Retry, Error Workflow

HTTP Request node'da 'Retry On Fail' seçeneği, geçici ağ hatalarında ya da 5xx yanıtlarda otomatik yeniden deneme sağlar. Kritik iş akışları için ayrı bir Error Workflow tanımlanarak hata bildirimleri ve telafi eylemleri otomatikleştirilebilir.

Üretim ortamında API entegrasyonları kaçınılmaz olarak geçici hatalarla karşılaşır: ağ zaman aşımı, API hız sınırı (429), geçici sunucu hatası (503) bunların başında gelir. n8n, HTTP Request node düzeyinde 'Retry On Fail' seçeneği sunar. Bu seçenek etkinleştirildiğinde maksimum deneme sayısı ve denemeler arası bekleme süresi (milisaniye) ayarlanabilir. Üstel geri çekilme (exponential backoff) manuel olarak Wait node eklenerek simüle edilebilir.

Node düzeyindeki hata yönetiminin ötesinde, n8n iş akışı düzeyinde de hata yönetimi sunar. Her iş akışı için bir 'Error Workflow' tanımlayabilirsiniz; ana iş akışında yakalanmamış bir hata oluştuğunda bu özel iş akışı otomatik tetiklenir. Error Workflow, hata mesajını ve bağlamını `$execution.error` ile alır; bu sayede Slack'e bildirim gönderme, hatalı kaydı veritabanına yazma veya yöneticiye e-posta iletme gibi telafi eylemlerini otomatikleştirebilirsiniz.

  1. HTTP Request node > Settings > Retry On Fail: Açık
  2. Max Tries: 3-5 arası (kritik entegrasyonlar için 5)
  3. Wait Between Tries: 1000-5000 ms (API rate limit'e göre)
  4. Settings > On Error: Continue veya Stop And Error ayarını değerlendirin
  5. İş akışı düzeyinde: Settings > Error Workflow alanına hata iş akışını bağlayın
  6. Error Workflow içinde: hata bildirim node'u (Slack, e-posta) + kayıt node'u (veritabanı veya log dosyası)

Rate limit yönetimi, özellikle toplu işlemlerde kritiktir. API'nin saniye veya dakika başına izin verdiği istek sayısını aştığınızda 429 hatası alırsınız. Bu durumu önlemek için SplitInBatches node'u ile batch boyutunu sınırlayın ve her batch arasına Wait node ekleyin. Böylece API hız sınırını aşmadan yüksek hacimli veri işleme senaryolarını güvenli biçimde çalıştırabilirsiniz.

Pratik Örnek: Özel API Entegrasyonu Adım Adım

Özel veya kapalı bir API'yi n8n'e entegre etmek için Webhook Trigger ile veri alın, HTTP Request node ile API çağrısı yapın, Code node ile yanıtı dönüştürün ve hata yönetimini ekleyin. Bu döngü, yerel entegrasyonu olmayan her servis için geçerlidir.

Gerçek bir senaryo üzerinden gidelim: Şirket içi bir ERP sistemi, yeni sipariş oluşturulduğunda n8n webhook'unu çağırır. İş akışı bu olayı yakalar, sipariş detaylarını bir harici lojistik API'sine iletir, yanıttaki kargo takip numarasını alır ve müşteri bildirim sistemine gönderir. Bu üç servis arasında yerel n8n entegrasyonu yoktur — ancak hepsi HTTP üzerinden konuşur.

  1. Webhook Trigger: ERP'den POST isteği alır (sipariş JSON'u). Path: /webhook/yeni-siparis. Authentication: Header Auth (X-ERP-Secret).
  2. HTTP Request (Lojistik API): POST https://api.lojistik.example.com/v1/shipments. Body: ERP'den gelen sipariş verisiyle oluşturulan JSON. Auth: API Key (Header: Authorization: Bearer {{credential}}). Retry On Fail: Açık, Max 3.
  3. Code Node: Lojistik API yanıtından tracking_number, estimated_delivery alanlarını çıkarır; müşteri e-posta adresiyle birleştirip bildirim payload'ı oluşturur.
  4. HTTP Request (Bildirim API): POST https://api.bildirim.example.com/send. Body: Code node'dan gelen payload. Auth: Basic Auth.
  5. Error Workflow: Herhangi bir adımda hata oluşursa Slack kanalına bildirim gönderilir; hatalı sipariş ID'si veritabanına kaydedilir.

Bu yapı, kurumsal otomasyon senaryolarının büyük çoğunluğunu kapsar. Daha karmaşık senaryolar — çok adımlı OAuth2 yetkilendirmesi, asenkron API'ler, webhook ile polling'i birleştiren hibrit mimariler — için kurumsal n8n kullanım senaryoları rehberimize başvurabilirsiniz. Entegrasyonlarınıza yapay zeka yetenekleri eklemek istiyorsanız n8n ile AI agent kurulum rehberimiz bu konuda kapsamlı bir başlangıç noktası sunar.

n8n'in bu esnekliği, teoride HTTP protokolünü destekleyen her sistemi — ister bulut tabanlı SaaS, ister şirket içi legacy sistem, ister IoT cihazı olsun — iş akışına dahil etmenizi mümkün kılar. Credential yönetimi, şifreli saklama ve rol tabanlı erişim kontrolüyle kurumsal güvenlik gereksinimlerini de karşılar.

Sık Sorulan Sorular

Webhook nedir ve n8n'de nasıl çalışır?

Webhook, bir uygulamanın belirli bir olayda başka bir URL'ye HTTP isteği gönderme yöntemidir. n8n'de Webhook Trigger node, bu istekleri dinleyen bir URL sağlar; gelen her istek iş akışını otomatik olarak başlatır.

HTTP Request node ne işe yarar, hangi API'lerle kullanılabilir?

HTTP Request node, n8n iş akışından herhangi bir HTTP/HTTPS endpoint'ine istek gönderir. REST API standartını destekleyen her servisle kullanılabilir; yerel n8n entegrasyonu olmayan özel, kurumsal veya kapalı API'ler için birincil entegrasyon yöntemidir.

n8n'de API kimlik doğrulaması nasıl yapılır?

Credentials yöneticisinde bir credential nesnesi oluşturulur; API key, Header Auth, Basic Auth veya OAuth2 türlerinden biri seçilir. Bu credential, HTTP Request node'unda seçilerek tüm isteklere otomatik uygulanır; kimlik bilgileri şifreli olarak saklanır.

n8n OAuth2 destekliyor mu? Token yenileme otomatik mi?

Evet, n8n OAuth2 Authorization Code ve Client Credentials akışlarını destekler. Erişim tokenı süresi dolduğunda n8n arka planda refresh token kullanarak yeni token alır; iş akışı kesintisiz çalışmaya devam eder ve manuel müdahale gerekmez.

API rate limit sorunlarını n8n'de nasıl yönetirim?

SplitInBatches node ile toplu istekleri parçalara bölün; her batch arasına Wait node ekleyerek API'nin izin verdiği hız sınırına uyun. HTTP Request node'daki Retry On Fail seçeneği 429 hatalarında otomatik yeniden deneme sağlar.

n8n'de HTTP Request node hata yönetimi nasıl yapılır?

HTTP Request node düzeyinde Retry On Fail etkinleştirilebilir. İş akışı düzeyinde bir Error Workflow tanımlayarak yakalanmamış hataları işleyebilir, Slack bildirimi gönderebilir veya hatalı kayıtları veritabanına yazabilirsiniz.

Şirket içi veya kapalı bir API'yi n8n'e entegre edebilir miyim?

Evet. HTTP Request node, URL erişilebilir olduğu sürece ağ içindeki her API ile çalışır. n8n self-hosted kurulumunda, şirket içi ağa erişebilen bir sunucuya kurulduğunda VPN veya firewall arkasındaki özel API'lere de bağlanabilir.

Webhook ve HTTP Request node'unu aynı iş akışında kullanabilir miyim?

Evet, bu yaygın bir desendir. Webhook Trigger dışarıdan veri alır, ardından iş akışı içinde bir veya birden fazla HTTP Request node farklı API'lere istek gönderir. Böylece çok sistemli entegrasyonlar tek bir iş akışında orchestrate edilir.

Sonuç

n8n'in Webhook Trigger ve HTTP Request node'ları birlikte, herhangi bir HTTP tabanlı servisin iş akışına dahil edilmesini mümkün kılar. Yerli entegrasyonu bulunmayan özel, kurumsal ya da kapalı API'ler için bu iki node, esnek ve güvenli bir entegrasyon altyapısı sunar. Şifreli credential yönetimi, OAuth2 desteği ve otomatik token yenileme; kurumsal güvenlik gereksinimlerini karşılarken geliştirici üretkenliğini artırır.

Hata yönetimi, retry mantığı ve Error Workflow'lar entegrasyonlarınızı üretim ortamına hazır hale getirir. Sektörünüze özgü entegrasyon senaryoları ve n8n altyapısını kurumsal ölçekte yapılandırmak için Sora entegrasyon ekibimiz ile ücretsiz keşif görüşmesi yapabilirsiniz.

Bu yazıdaki konulara ihtiyacınız mı var?

Sora Yazılım uzmanlarıyla ücretsiz keşif görüşmesi planlayın; somut bir yol haritası önerelim.