Değişkenler ve Sıvı
Shopify Flow verilerini Liquid ile e-posta konusu, gövdesi ve HTTP isteklerine aktarın. Değişkenler, sırlar, mağaza değerleri ve abonelik bağlantıları.
Bu uygulamadaki tüm dinamik öğeler Liquid ile oluşturulmuştur - bu, Shopify temalarının kullandığı şablon dilidir. Bir yer tutucu yazarsınız ve uygulama bunu gönderim anında doldurur.
Ad alanları
| Ad alanı | Değerin kaynağı nedir? | Şu dillerde mevcuttur: |
|---|---|---|
{{ variables.key }} |
Shopify Flow eylemindeki Değişkenler (JSON) alanı | E-posta konusu ve içeriği, HTTP URL'si, başlıklar ve içerik |
{{ secrets.key }} |
Sırlar sayfası | Aynı bilgiler, ayrıca SMTP kullanıcı adı ve şifresi |
{{ shop.name }}, {{ shop.domain }}, {{ shop.email }} |
Mağazanız | E-posta ve HTTP eylemleri |
{{ language }} |
Shopify Flow adımının gönderdiği dil; aksi takdirde düzenin ana dili | E-posta konusu, önizleme metni ve gövde - bkz. Müşterilerinizin dilinde e-posta gönderin |
{{ unsubscribe_link }}, {{ unsubscribe_url }} |
Alıcının abonelikten çıkma bağlantısı (yalnızca pazarlama şablonlarında) | E-posta gövdesi; işlem amaçlı şablonlarda boş - aşağıya bakınız |
{{ flow.key }} |
Shopify Flow’un ham veri yükü | Yalnızca HTTP istekleri |
Düzenleyicideki Sistem Değişkenleri sekmesi, mağaza değerlerini güncel içerikleriyle birlikte listeler; bunlardan birine tıklandığında o değer kopyalanır.
Shopify Flow'dan değişkenlerin aktarılması
Shopify Flow eyleminde, Değişkenler (JSON) alanına bir JSON nesnesi girin:
{
"firstName": "{{ customer.firstName }}",
"orderNumber": "{{ order.name }}",
"total": "{{ order.totalPriceSet.shopMoney.amount }}"
}
Ardından bunları düzenin herhangi bir yerinde kullanabilirsiniz:
Hi {{ variables.firstName }}, your order {{ variables.orderNumber }} is on its way.
Tuşları siz seçersiniz. Sol tarafta ne yazarsanız, variables. ifadesinden sonra tam olarak aynı yazım ve büyük/küçük harf kurallarına uyarak onu kullanırsınız.
Bu JSON'u elle yazmanıza gerek yoktur. Her düzenin, kopyalanmaya hazır doğru JSON'u içeren bir ** Shopify Flowda Kullan"** kartı vardır - bkz. Shopify Flow'dan veri aktarımı.
Filtreler
Standart sıvı filtreleri işe yarar. En kullanışlı olanı, sizi boş değerlerden koruyan default filtresidir:
Hi {{ variables.firstName | default: "there" }}
Diğerleri ise beklendiği gibi davranır:
{{ variables.productTitle | upcase }}
{{ variables.total | round: 2 }}
{{ variables.note | truncate: 100 }}
Bir değişken boş olarak görüntülendiğinde
Başvurulan herhangi bir değişkeni “nothing” olarak işleyen bir canlı gönderim, Geçmiş’te Boş değişkenler rozetini alır. Girişi açtığınızda, bu girişe bir ad verilir ve iki farklı sorun birbirinden ayrılır:
- Shopify Flow tarafından gönderildi ancak boş - anahtar JSON'unuzda vardı, ancak Shopify Flow herhangi bir değer üretmedi. Genellikle yanlış bir özellik yolu ya da o kayıt için gerçekten boş olan bir alan söz konusudur (misafir olarak yapılan ödeme işlemlerinde müşterinin adı yoktur).
- Shopify Flow tarafından hiç gönderilmemiş - JSON dosyanızda bu anahtar tamamen eksik.
| default: yedek seçeneği eklenmesi, boşluğun kasıtlı olduğunu belirtir ve uygulama bu konuda uyarı vermeyi durdurur.
Koşullu ifadeler ve döngüler
Koşullu ifadeler için HTML / Kod bloğunu kullanın:
{% if variables.isVip %}
<p>As a VIP you get free shipping on this order.</p>
{% else %}
<p>Spend a little more to unlock free shipping.</p>
{% endif %}
Bir diziyi tekrarlamak için Döngü bloğunu kullanın; örneğin, sipariş satırlarını:
{% for item in variables.items %}
<tr>
<td>{{ item.title }}</td>
<td>{{ item.quantity }}</td>
<td>{{ item.price }}</td>
</tr>
{% endfor %}
Shopify Flow'dan gelen diziyi JSON olarak aktarın:
{
"items": [
{ "title": "Classic White T-Shirt", "quantity": 2, "price": "29.00" },
{ "title": "Eco Water Bottle", "quantity": 1, "price": "19.00" }
]
}
Oluşturucuda bir döngüyü önizlemek için, “Değişkenleri Test Et” sekmesindeki değerle aynı JSON dizisini girin.
Nesneler, e-posta ve HTTP'de farklı şekilde davranır
İşte bilmeye değer tek keskin kenar budur.
- Bir **HTTP **isteğinde, bir nesneye veya diziye interpolasyon yapıldığında bu otomatik olarak JSON formatına dönüştürülür.
{{ variables.records }}, istek gövdesinde geçerli bir JSON dizisi haline gelir. Açıkça belirtmek istersenizjsonfiltresini de kullanabilirsiniz. - Bir e-postada böyle bir dönüştürme söz konusu değildir. Nesnenin tamamını interpolasyonla işlendiğinde, metin
[object Object]şeklinde görüntülenir.
Bu nedenle, e-postalarda konu başlığını yazmak yerine her zaman doğrudan içeriğe girin:
Wrong: {{ variables.customer }}
Right: {{ variables.customer.firstName }} {{ variables.customer.lastName }}
Ya da diziyi bir bütün olarak yazdırmak yerine, döngü içinde işleyin.
Şablonlardaki sırlar
Kaydedilmiş bir gizli bilgiye de aynı şekilde başvurabilirsiniz:
Authorization: Bearer {{ secrets.airtableAccessToken }}
{{ secrets.keyName }} biçimindeki tam sözdizimini kullanın. Aşağıdakiler çalışmaz:
{{ secret.keyName }}- tekil{{ secrets['keyName'] }}- köşeli parantez sözdizimi
Anahtar adlarında büyük/küçük harf ayrımı yapılır. Bkz. Sırlar.
HTTP istekleri için gövde geçersiz kılma
HTTP eyleminin “değişkenler” alanı ikinci bir mod içerir. `body`` anahtarı geçirildiğinde, kaydedilmiş istek gövdesini tamamen değiştirir:
{
"body": { "anything": "you like", "shaped": ["however"] }
}
Bu, yükün biçiminin daha önceki bir Shopify Flow adımında belirlenmiş olması durumunda kullanışlıdır. Tek istisna: Kaydedilen gövdenin kendisi {{ variables.body }} öğesine başvuruyorsa, bu durumda sıradan bir değişken olarak değerlendirilir.
Yazdıklarınızı deneme
Sayfa içi önizleme, Liquid’i değerlendirmez; etiketleri yazıldıkları şekliyle gösterir. Çözülmüş değerleri görmek için:
- E-postalar için, düzen düzenleyicisindeki Test e-postası gönder seçeneğini kullanın.
- HTTP istekleri için, yanıtın yanında Çözülmüş URL ve Çözülmüş İçerik bilgilerini gösteren Test düğmesini kullanın.
Pazarlama şablonlarındaki abonelikten çıkma bağlantısı
E-posta türü Pazarlama olarak ayarlanmış bir şablona iki değişken daha eklenir. Pazarlama e-postasının her alıcısının kendine ait bir abonelikten çıkma bağlantısı vardır ve bu bağlantı şu şekilde yerleştirilir:
{{ unsubscribe_link }}, Ayarlar bölümündeki (veya şablonun kendi) Aboneliği İptal Et metnini içeren bir bağlantı oluşturur.{{ unsubscribe_url }}, kendi stilinizi uygulayabileceğiniz bir düğme veya bağlantı için adresi olduğu gibi görüntüler.
<p>No longer interested? <a href="{{ unsubscribe_url }}">Unsubscribe here</a>.</p>
Bunları kullanmak zorunda değilsiniz: her pazarlama e-postasına zaten bir abonelikten çıkma altbilgisi eklenir. Görüntülenen gövde zaten bağlantıyı içeriyorsa, altbilgi abonelikten çıkma ifadesini hariç tutar ve yalnızca şirket bilgilerini ekler. Konu satırında ve önizleme metninde her iki değişken de boş olarak görüntülenir; işlem amaçlı bir düzen içinde ise her zaman boşturlar. Bkz. Pazarlama e-postaları ve abonelikten çıkma işlemleri.
İlgili
- Shopify Flow'dan veri aktarımı - "Değişkenler (JSON)" alanı hakkında ayrıntılı bilgi.
- Bir e-posta şablonu oluşturun - bu değişkenlerin nereye yerleştirileceği.
- Pazarlama e-postaları ve abonelikten çıkma işlemleri - pazarlama şablonları, abonelikten çıkma altbilgisi ve abonelikten çıkma listesi.
- Sırlar - kimlik bilgilerini güvenli bir şekilde saklama.
- Shopify Flow'dan bir HTTP isteği gönderin - gerçek bir istekteki değişkenler.
