İletişim
Bizi takip edin:
İletişime Geçin
Kapat

İletişim

Türkiye İstanbul

info@thinkpeak.ai

n8n İfadeler ve Değişkenler: Pratik Kılavuz

Otomasyon iş akışlarındaki n8n ifadelerini ve değişkenlerini simgeleyen beyaz geometrik bir küpün yanında kod parantezleri ve bir ok bulunan 3B yeşil belge

n8n İfadeler ve Değişkenler: Pratik Kılavuz

Zihinsel Model: n8n Veriler Hakkında Nasıl “Düşünüyor”

n8n tuvaline bakıyorsunuz. Bir Web kancasını bir Google Sayfasına başarıyla bağladınız. Ancak bir sorun var.

Tarih biçimi yanlış. Müşteri adı küçük harfle yazılır. Sizin EĞER düğümü doğru olması gerekirken yanlış döndürmeye devam ediyor.

Düzeltmeye çalışıyorsunuz. Bir kod parçacığı yazıyorsunuz, ancak n8n bir hata döndürüyor veya tanımlanmamış. Hoş geldiniz İfade Düzenleyici.

Bu, n8n'in kalp atışıdır. n8n görsel arayüzü ile ünlü olsa da, gerçek gücü n8n ifadeleri ve değişkenler. Bu dili anlamak hayati önem taşır. Esasen bir şablonlama motoruna sarılmış JavaScript'tir.

Bu beceride ustalaşmak, basit bir oyuncak iş akışı oluşturmak ile ölçeklenebilir bir kurumsal ekosistem tasarlamak arasındaki farktır. At Thinkpeak.ai, Bu ekosistemleri her gün inşa ediyoruz.

Statik verileri dinamik iş değerine dönüştürmek için gelişmiş ifadelere güveniyoruz. Bu kılavuz sizin el kitabınızdır. Temel bilgilerin ötesine geçecek ve aşağıdakilerin sözdizimi ve mimarisine derinlemesine dalacağız değişkenler.

Zihinsel Model: n8n Veriler Hakkında Nasıl “Düşünüyor”

Kod yazmadan önce, verilerinizi tutan görünmez yapıyı anlamanız gerekir. İfadelerin başarısız olmasının ana nedeni n8n'in veri yapısı.

“Nesneler Dizisi” Kuralı

n8n'deki her düğüm belirli bir formatta veri alır: Bir Nesne Dizisi.

API'niz basit bir liste döndürse bile, n8n bunu sarar. Standart JSON, anahtarları ve değerleri olan basit bir nesne gibi görünür. Ancak, n8n bu nesneyi bir json bir dizi içindeki anahtar.

Bir ifade yazdığınızda, genellikle verilere erişmeye çalışırsınız içeride o json anahtar. Bu sarmalayıcıyı anlamadan doğrudan üst düzey nesneye başvurursanız, iş akışınız bozulur.

Öğe Bağlantısı (“Sihirli” Bağlam)

n8n yardımcı olmaya çalışır. gibi bir değişkene referans verdiğinizde $json.email, n8n, listedeki hangi “Öğeyi” kastettiğinizi otomatik olarak tahmin eder.

Gelen 10 öğeniz varsa düğüm 10 kez çalışır. Çalışma 1'de, değişken Öğe 1'i ifade eder. Çalışma 2'de, Öğe 2'yi ifade eder.

Tuzak, bu bağlantıyı bir Toplam düğüm. Artık basit kısa kodlar kullanamazsınız. Özel seçiciler kullanmalısınız.

Sözlük: Temel n8n Değişkenleri ve Seçicileri

Verilerinizi kontrol etmek için hangi seçiciyi kullanacağınızı bilmeniz gerekir. İşte temel n8n değişkenlerinin hiyerarşisi.

1. $json (The Daily Driver)

Bu, “geçerli öğenin içindeki veri” ifadesinin kısaltmasıdır. Bunu, bir girdinin bir çıktıya eşit olduğu basit eşlemeler için kullanın.

Kullanım:
{{ $json.myField }}

2. $node (Zaman Yolcusu)

Bu, aşağıdakilerden veri çekmenize olanak tanır herhangi bir iş akışınızdaki önceki düğüm. Mevcut düğüme hemen bağlı olan düğümle sınırlı değildir.

Kullanım:
{{ $node["Webhook"].json.body.order_id }}

Profesyonel ipucu: Düğümlerinizi her zaman açıklayıcı bir şekilde yeniden adlandırın. Örneğin, “HTTP Request 2” yerine “Get_Apollo_Data” kullanın. İfadelerinizi okunabilir hale getirir ve hata ayıklamayı kolaylaştırır.

3. $input.all() (Toplu Seçici)

Bu değişken aşağıdakilere erişir hepsi düğüme tek bir dizi olarak gelen öğeler. Bunları tek tek işlemez.

Kullanım:
{{ $input.all()[0].json.id }}

Bir toplamı hesaplamanız veya bir e-posta listesini toplamanız gerektiğinde bunu kullanın. Bir öğeyi tüm listeyle karşılaştırırken de kullanışlıdır.

4. $vars (Yapılandırıcı)

Bunlar yürütme için ayarladığınız global değişkenlerdir. Bunu şunun için kullanın yapılandırma ayarları API anahtarları veya Kanal Kimlikleri gibi değişebilecek.

Kullanım:
{{ $vars.slack_channel_id }}

İfade Düzenleyicisinde Uzmanlaşma (JavaScript Logic)

n8n İfade Düzenleyicisi şunları kabul eder JavaScript mantığı. Bu, yalnızca alanları seçmekle sınırlı olmadığınız anlamına gelir; onları dönüştürebilirsiniz.

Dize Manipülasyonu

CRM'inize ulaşmadan önce verilerinizi sık sık temizlemeniz gerekir.

İlk Harfi Büyük Yazın:

{{ $json.name.charAt(0).toUpperCase() + $json.name.slice(1) }}

Tam Adı Böl:

// İlk İsim
{{ $json.fullName.split(" ")[0] }}
// Soyadı
{{ $json.fullName.split(" ").slice(1).join(" ") }}

Regex Çıkarma:

{{ $json.subject.match(/Order #(d+)/)[1] }}

Kazıma ve zenginleştirme için genellikle karmaşık dize manipülasyonu gerekir. Bizim Soğuk Sosyal Yardım araçları potansiyel müşteri verilerini kazımak için gelişmiş regex kalıpları kullanın. Bunları sıfırdan oluşturmak yerine, önceden tasarlanmış sistemlerimizi şu adreste dağıtabilirsiniz Thinkpeak.ai.

Matematik ve Sayılar

Yuvarlama Para Birimi:

{{ Math.round($json.price * 100) / 100 }}

Marjların Hesaplanması:

{{ ($json.gelir - $json.maliyet) / $json.gelir * 100 }}%

Mantık (Üçlü Operatörler)

Tümünü değiştirebilirsiniz EĞER düğümlerini tek bir kod satırıyla temizler. Bu, tuvalinizi önemli ölçüde temizler.

Sözdizimi: koşul ? value_if_true : value_if_false

Örnek:

{{ $json.deal_size > 1000 ? "Yüksek Öncelikli" : "Standart" }}

Luxon ile Tarih ve Saat Manipülasyonu

Tarihler otomasyonun baş düşmanıdır. Farklı API'ler farklı formatlar kullanır. n8n Luxon Bunu halletmek için.

$now ve $today Nesneleri

  • $now: Geçerli tarih ve saati ISO formatında verir.
  • $today: Saat 00:00:00'a ayarlanmış olarak geçerli tarihi verir.

Yaygın Luxon Formülleri

Bir Tarihi Biçimlendirin (GG/AA/YYYY):

{{ $now.toFormat('dd/MM/yyyy') }}

Bir Son Tarih Hesaplayın (Bugün + 7 Gün):

{{ $now.plus({ days: 7 }).toISO() }}

Garip Bir Biçimi Ayrıştırın:

Bir API “12-25-2025” gönderirse, n8n bunu bir dize olarak değerlendirebilir. Üzerinde matematik yapmak için ayrıştırmanız gerekir.

{{ DateTime.fromFormat($json.dateString, 'MM-dd-yyyy').toFormat('yyyy-MM-dd') }}

Saat dilimi hataları bir pazarlama kampanyasını öldürebilir. Kesinlikle kullanıyoruz ISO 8601 formatları dahili olarak Thinkpeak.ai. Bu, yapay zeka temsilcilerimizin farklı zaman dilimlerinde hiçbir şeyi kaçırmamasını sağlar.

İfadeler Yeterli Olmadığında: Kod Düğümü

İfadeler tek satırlık yazılar için harikadır. Ancak bazen kendinizi iç içe üçlü işleçler yazarken bulabilirsiniz. Ya da İfade Düzenleyicisi içinde karmaşık dizileri filtrelemeye çalışıyor olabilirsiniz.

Yükseltme zamanı geldi Kod Düğümü. Bu düğüm, tam çok satırlı JavaScript veya Python yazmanıza olanak tanır.

Örnek: Karmaşık Bir Listenin Tekilleştirilmesi

Sadece ifadeleri kullanarak belirli bir alt özelliğe dayalı kopyaları kolayca kaldıramazsınız.

// Kod Düğümü Örneği
const görüldü = yeni Set();
return $input.all().filter(item => {
  const duplicate = seen.has(item.json.email);
  seen.add(item.json.email);
  return !duplicate;
});

“Sınırsız” Katman

İşte burası Thinkpeak.ai parlıyor. Standart ifadeler çoğu kullanım durumunu kapsar. Kalan 20% şunları içerir karmaşık iş mantığı ve API sayfalama döngüleri.

Ismarlama Mühendislik hizmetimiz bu ağır işi üstlenir. Tüm arka uç mimarilerini inşa ediyoruz. Eğer bir Özel Yapay Zeka Aracısı muhakeme yeteneğine sahipse, bunu destekleyecek altyapıyı kurarız.

İfadelerinizde Hata Ayıklama

En iyi mimarlar bile hatalarla karşılaşır. İşte en yaygın olanları nasıl çözeceğiniz.

1. [Nesne nesnesi] Çıktı

Sebep: Bir dizeyi bekleyen bir metin alanına bir nesnenin tamamını yazdırmaya çalışıyorsunuz.

Düzelt: Aşağıdaki gibi belirli bir alana erişin $json.name. Alternatif olarak, nesneyi dizeleyebilirsiniz.

2. tanımlanmamış

Sebep: İstediğiniz alan, söz konusu öğeye ait verilerde mevcut değildir.

Düzelt: Kullanın İsteğe Bağlı Zincirleme operatörü (?.). Örneğin, {{ $json.address?.zipcode || "No Zip" }} alan eksikse “Zip Yok” döndürür.

3. “Başvurulan Düğüm ata değil”

Sebep: Kullanmaya çalışıyorsunuz $node bağlı olmayan bir şubeden verilere erişmek için.

Düzelt: Düğümleri doğrudan bağlayın. Veri akışlarını bir araya getirmek için bir Birleştirme düğümü de kullanabilirsiniz.

Sonuç

İfadeler ve değişkenler konusunda uzmanlaşmak sizi “tamirci” konumundan “otomasyon mimarı” konumuna getirir. n8n'i tam olarak istediğiniz şeyi yapmaya zorlayabilirsiniz.

Tek yapmanız gereken Array of Objects yapısını anlamak. Tarihler için Luxon'un gücünden yararlanın. Mantık için JavaScript kullanın.

At Thinkpeak.ai, işletmelerin öğrenme eğrisini atlamasına yardımcı oluyoruz. Önceden tasarlanmış iş akışları için Otomasyon Pazaryerimize göz atın.

Ölçeğe ihtiyacınız varsa, Ismarlama Mühendislik ekibimizle iş ortaklığı yapın. Tüm yığınınızı entegre eden özel düşük kodlu uygulamalar oluşturuyoruz. İşletmenizi bugün sürücüsüz bir ekosisteme dönüştürün.

Thinkpeak.ai Otomasyon Pazaryerini Keşfedin

Sıkça Sorulan Sorular (SSS)

$json ve $input.item arasındaki fark nedir?

$json için kısaltılmış bir takma addır. $input.item.json. Tamamen aynı verilere erişirler. $json kısalık için tercih edilir. Ancak, $input.item bu öğeyle ilişkili ikili verilere de erişmeniz gerekiyorsa kullanışlıdır.

İki düğüm öncesine ait verilere nasıl erişebilirim?

Sen kullan $node seçici. Örneğin: {{ $node["Düğümün Adı"].json.field }}. Düğüm adının tam ve büyük/küçük harfe duyarlı olması gerektiğini unutmayın. Düğüm adında boşluk varsa parantez ve tırnak işareti kullanın.

Tarih ifadem neden bir hata döndürüyor?

n8n tarihleri genellikle dizelerdir. Bunları bir Luxon nesnesi bunları değiştirmeden önce. Kullanım DateTime.fromISO() veya DateTime.fromFormat() Birincisi.

Kaynaklar