Skip to content
OrqLabs

İfade sözdizimi ({{ }})

Node parametrelerinde kullanılan {{ }} ifadeleri: tüm kapsam değişkenleri, operatörler, yardımcılar ve 20'den fazla örnek.

15 min Last updated:

This guide is in Turkish

Our guides are written in Turkish first; English versions are on the way. Your browser can translate this page, and the app itself is fully available in English.

On this page
  1. İfade nedir?
  2. En kolay yol: fx yardımcısı
  3. Kullanabileceğiniz değişkenler
  4. Yapabileceğiniz işlemler
  5. 25 örnek
  6. Temel alan okuma
  7. Başka kutuya başvurma
  8. Değişkenler ve proje
  9. Koşullar (Eğer, Süz, olay filtresi)
  10. Zaman
  11. Metin işleme
  12. Öğe eşleştirme kuralları
  13. Hata ayıklama
  14. Sık sorulan sorular
  15. Sonraki adım

Bu rehberde: Kutuların alanlarına yazdığınız {{ ... }} kalıplarını öğrenirsiniz. Bu kalıplar "önceki kutudan gelen veriyi buraya koy" demenin yoludur. 25 hazır örnek var.

⏱ 15 dakika

İfade nedir?

Bir kutunun metin alanına {{ $json.body }} yazarsanız, çalışma anında bu kalıp önceki kutudan gelen gönderi metniyle değiştirilir. Kalıba ifade denir.

İfadeler Excel formüllerine benzer: alan okuma, karşılaştırma, basit metin işlemleri. Kod yazmanız gerekmez.

İfadeler nereden veri alır: $json geçerli öğeden, $node adlı kutudan, $vars iş akışı değişkenlerinden.
İfadeler nereden veri alır: $json geçerli öğeden, $node adlı kutudan, $vars iş akışı değişkenlerinden.

Kural: Bir alan yalnızca tek bir {{ }} içeriyorsa değer olduğu gibi geçer (liste, sayı, evet/hayır). Etrafında metin varsa hepsi metne çevrilir. Bu yüzden mediaUrls: {{ $json.mediaUrls }} bir liste olarak geçer.

En kolay yol: fx yardımcısı

İfade alanı ve değişken seçici: ① {{ }} alanı, ② önceki kutuların çıktıları.
İfade alanı ve değişken seçici: ① `{{ }}` alanı, ② önceki kutuların çıktıları.
  1. Bir metin alanının yanındaki fx düğmesine basın. ②'de önceki kutuların gerçek çıktıları listelenir.
  2. İstediğiniz alana tıklayın. İfade ①'e otomatik yazılır.
  3. Yardımcı, ifadeyi son çalıştırmanın gerçek verisiyle anında değerlendirir. Sonucu görürsünüz.

İpucu: İlk kez ifade yazıyorsanız önce bir test çalıştırması yapın. Böylece fx yardımcısında gerçek veri görünür.

Kullanabileceğiniz değişkenler

DeğişkenNe verir
$jsonGeçerli öğenin verisi. En sık kullanılan
$itemGeçerli öğenin tamamı: $item.json, $item.binary
$item.binary.<anahtar>Dosya verisi (görsel): { mimeType, fileName, url, base64, size }
$node["Kutu adı"].jsonO kutunun ilk çıktı öğesi
$node["Kutu adı"].all()O kutunun tüm çıktı öğeleri (liste)
$node["Kutu adı"].itemGeçerli öğe ile aynı sıradaki öğe
$varsİş akışı değişkenleri (Ayarlar → Değişkenler)
$projectProje bilgileri: name, websiteUrl, industry, targetAudience, brandVoice, goals, locale, timezone, offerings, competitors
$runÇalıştırma bilgisi: id, startedAt, triggerType, testMode
$nowŞu anki zaman (UTC, ISO biçimi)
$todayİş akışı saat diliminde bugünün tarihi, YYYY-MM-DD
$indexGeçerli öğenin sırası (0'dan başlar)
$envKullanılamaz. Ortam değişkenlerine erişim yoktur. Sırlar için entegrasyon veya $vars kullanın

Olmayan bir alanı okursanız hata çıkmaz; boş döner. Zorunlu bir alanın boş kalması ise kutuyu hata ile durdurur.

Yapabileceğiniz işlemler

  • Karşılaştırma: === (eşit), !== (eşit değil), >, >=, <, <=
  • Mantık: && (ve), || (veya), ! (değil), a ? b : c (şart), ?? (boşsa şunu kullan)
  • Aritmetik: + - * / %
  • Metin: .toLowerCase(), .toUpperCase(), .trim(), .includes(), .startsWith(), .slice(), .replace(), .split()
  • Liste: .length, .map(), .filter(), .find(), .join(), .slice(), .some(), .every()
  • Nesne: Object.keys(), Object.values(), JSON.stringify()
  • Sayı/tarih: Number(), Math.round/min/max, new Date(), Date.now()
  • Yardımcılar: $date(değer, "DD.MM.YYYY") (YYYY, MM, DD, HH, mm, ss kullanılabilir; saatler UTC'dir), $truncate(metin, 120), $slug(metin), $pick(nesne, ["alan1", "alan2"]), $first(liste), $last(liste)

Fonksiyon tanımlama, döngü (for, while), require, fetch, process engellenmiştir. Karmaşık dönüşümler için Kod kutusunu kullanın.

25 örnek

Temel alan okuma

  1. Gönderi metni: {{ $json.body }}
  2. İç içe alan: {{ $json.body.email }} (webhook tetikleyicisinde form verisi body altında gelir)
  3. Liste elemanı: {{ $json.hashtags[0] }}
  4. Boşsa varsayılan: {{ $json.name ?? "Değerli müşterimiz" }}

Başka kutuya başvurma

  1. İlk öğe: {{ $node["Müşteri Adayı Puanlayıcı"].json.reportMarkdown }}
  2. Tüm öğelerden alan toplama: {{ $node["Content Creator"].all().map(i => i.json.platform).join(", ") }}
  3. Sayım: {{ $node["Find leads"].all().length }} aday bulundu
  4. Eşleşen öğe: {{ $node["Görsel üret"].item.binary.image.url }}

Değişkenler ve proje

  1. Hedef profil: Find prospects matching: {{ $vars.icp }}
  2. Marka adı: {{ $project.name }} için samimi destek asistanı
  3. Ton: Şu tonda yaz: {{ $project.brandVoice.tone }}
  4. UTM'li link: {{ $project.websiteUrl }}/blog?utm_source={{ $json.platform.toLowerCase() }}&utm_medium=social

Koşullar (Eğer, Süz, olay filtresi)

  1. Puan eşiği ve durum: {{ $json.score >= 70 && $json.status === "NEW" }}
  2. Devir kontrolü: {{ $json.handoff === true }}
  3. Anahtar kelime: {{ $json.text.toLowerCase().includes("fiyat") || $json.text.toLowerCase().includes("ücret") }}
  4. Görsel yok mu: {{ !$json.mediaUrls || $json.mediaUrls.length === 0 }}
  5. Etiket var mı: {{ ($json.tags ?? []).includes("vip") }}

Zaman

  1. Tarihli başlık: Adaylar – hafta {{ $today }}
  2. Yarın 09:00: {{ new Date(Date.now() + 24*60*60*1000).toISOString().slice(0,10) }}T09:00:00+03:00
  3. Biçimli tarih: {{ $date($now, "DD.MM.YYYY HH:mm") }}

Metin işleme

  1. Kısaltma: {{ $truncate($json.body, 250) }}
  2. Çok satırlı e-posta gövdesi:
Merhaba {{ $json.name.split(" ")[0] }},

{{ $project.name }} olarak {{ $vars.offer }} konusunda yardımcı olabiliriz.
{{ $json.company ? "Özellikle " + $json.company + " gibi şirketler için." : "" }}

Saygılarımızla
  1. JSON gövdesi (HTTP kutusu): { "text": "{{ $json.body }}", "platform": "{{ $json.platform }}", "runId": "{{ $run.id }}" }
  2. Dinamik kanal: Mesaj gönder kutusunda channel: {{ $json.channel }}, to: {{ $json.contactId }}
  3. Görsel açıklaması: {{ $json.imagePrompt ?? "Minimal flat illustration about " + $json.topic }}

Öğe eşleştirme kuralları

  • Bir kutuya 3 öğe gelirse alanlar 3 kez, her öğe için ayrı çözümlenir. Çoğu kutu öğe başına bir çıktı üretir.
  • $node["X"].json her zaman X'in ilk öğesini verir. Öğeleri birebir eşlemek için .item kullanın. Emin değilseniz gereken alanı Alan ayarla kutusuyla öğeye taşıyın; sonra $json ile okuyun.
  • Birleştir kutusundan sonra öğeler birleşir.
  • Ajan kutuları gelen tüm öğeleri bağlam olarak alır; görev metnindeki ifadeler yalnızca ilk öğe için çözümlenir.

Hata ayıklama

BelirtiNedenÇözüm
Boş / undefined görünüyorKutu adı yanlış (büyük/küçük harf, boşluk) veya alan adı yanlışfx yardımcısında gerçek veriyi inceleyin
Liste yerine metin geldi{{ }} etrafında boşluk veya metin varAlanı yalnızca {{ ... }} yapın
false dalındaki kutu true verisini görmüyorDallar ayrıdırGerekli alanı Alan ayarla ile öğeye taşıyın
JSON alanında hataTırnak kullanımıMetin değerleri tırnak içine alın; liste/nesne değerleri almayın
Çalıştırma paneli: ① her kutunun durumu, ② giriş/çıkış verisi (ifadelerin gördüğü gerçek veri), ③ loglar, ④ maliyet.
Çalıştırma paneli: ① her kutunun durumu, ② giriş/çıkış verisi (ifadelerin gördüğü gerçek veri), ③ loglar, ④ maliyet.

Sık sorulan sorular

Kod bilmeden ifade yazabilir miyim? Evet. fx düğmesi ifadeyi sizin için yazar. Karşılaştırma ve ?? gibi birkaç kalıbı öğrenmeniz yeterlidir.

Kutu adını değiştirdim; ifadeler bozulur mu? Editör $node["Eski ad"] başvurularını otomatik günceller. Yalnızca Kod kutusundaki metinleri elle düzeltin.

Gizli bir anahtarı ifadede kullanabilir miyim? $env kapalıdır. Anahtarı Ayarlar → Değişkenler altına yazıp {{ $vars.anahtar }} ile kullanın; daha iyisi, entegrasyon olarak bağlayın.

Tarih neden UTC? $now her zaman UTC'dir. Yerel tarih için $today (iş akışı saat dilimi) veya $date kullanın.

Sonraki adım

Get started with OrqLabs

Build your first workflow today

Start on the free plan: connect your accounts, pick a template and stay in control with approval steps. No credit card required.