Shopify Flow'dan veri aktarımı

Shopify Flow'dan veri aktarımı

Sayfayı kopyala

Shopify Flow'daki Send Transactional Email eyleminde Değişkenler (JSON) alanını doldurun ve e-posta şablonunda boş gelen değişkenleri düzeltin.

E-posta düzeniniz, üzerinde delikler bulunan bir şekildir. Değişkenler (JSON), Shopify Flow’un bu delikleri doldurma yöntemidir.

Bu, en sık yapılan hatalardan biridir; bu yüzden bu konuya beş dakikanızı ayırmaya değer.

İki yarı

Nerede Yazdıklarınız Örnek
**E-posta **düzeninizde Yer tutucu Hi {{ variables.firstName }}
Shopify Flow eyleminde Bunu sağlayan JSON {"firstName": "{{ order.customer.firstName }}"}

JSON'un solundaki anahtar, düzeninizdeki variables. ifadesinden sonraki adla tam olarak eşleşmelidir - yazım ve büyük/küçük harf kullanımı aynı olmalıdır. firstName ve firstname, iki farklı değişkendir.

Uygulamanın JSON'u sizin yerinize yazmasına izin verin

Bunu elle yazmanıza gerek yok ve muhtemelen yazmamalısınız.

Düzeninizi açın. Kenar çubuğunda (veya görsel oluşturucudaki Test Değişkenleri sekmesinde), o düzen için tam JSON kodunu içeren ve tüm anahtarların zaten doğru şekilde ayarlanmış olduğu bir Shopify Flowda Kullan” kartı bulunur. “JSON’u Kopyala” düğmesine basın, ardından bunu Send Transactional Email eyleminizin “Değişkenler (JSON)” alanına yapıştırın.

Uygulama, tanıdığı alanlar için (müşteri adı, sipariş adı, sipariş toplamı, durum sayfası URL’si ve benzeri) Shopify Flow’daki değerleri otomatik olarak doldurur. Uygulamanın belirleyemediği değerler, sizin değiştirmeniz için <pick a Flow variable> şeklinde görünür.

JSON'un nasıl görünmesi gerektiği

{
  "firstName": "{{ order.customer.firstName }}",
  "orderName": "{{ order.name }}",
  "statusPageUrl": "{{ order.statusPageUrl }}"
}

Bilmeniz gereken kurallar:

  • Shopify Flow'daki her değeri çift tırnak içine alın. "orderName": {{ order.name }}, geçersiz bir JSON'dur; "orderName": "{{ order.name }}" ise doğrudur.
  • Girdiler arasında virgül, son girdiden sonra virgül yok.
  • Anahtar isimlerini siz seçebilirsiniz. Bunların sadece şablonunuzla uyumlu olması yeterlidir. Şablonunuzda {{ variables.kunde }} yazıyorsa, anahtar kunde olur.
  • Değerler metin olarak gelir. Sayılar ve tarihler ise Shopify Flow’un bunları nasıl görüntülediğine bağlı olarak gelir.
Shopify Flow’daki Send Transactional Email eylemi; “Reply-To”, “From name”, “Language” ve Shopify Flow değişkenleriyle doldurulmuş “Variables” JSON’u ile
Eylemdeki değişkenler (JSON): sol tarafta sizin anahtarlarınız, sağ tarafta ise Shopify Flow değişkenleri. Bunun üstünde ise “Yanıtla”, “Gönderen adı” ve “Dil” alanları yer almaktadır.
Shopify Flowda Kullan" paneli bulunan bir düzenin "Test Değişkenleri" sekmesi ve bu sekmedeki "JSON'u Kopyala" düğmesi
Düzenin “Test Değişkenleri” sekmesi, JSON kodunu sizin için oluşturur: JSON kodunu kopyalayın, ardından eyleme yapıştırın ve değerleri değiştirin.

En sık yapılan hata: satır kalemleri

Bir siparişte birçok satır öğesi bulunur; bu nedenle okunacak tek bir variant.title öğesi yoktur. Bu, hiçbir sonuç döndürmez:

{{ order.lineItems.variant.title }}

Elinde iki iyi seçenek var.

Seçenek 1 - Düzen içinde döngü. Listeyi gönderin, ardından döngüye girin. Shopify Flow eyleminde:

{
  "items": "{{ order.lineItems | json }}"
}

Düzeninizde bir Döngü bloğu kullanın:

{% for item in variables.items %}
  <tr>
    <td>{{ item.title }}</td>
    <td>{{ item.quantity }}</td>
  </tr>
{% endfor %}

Seçenek 2 - Shopify Flow'da düzleştirin. Yalnızca tek satırlık bir metne ihtiyacınız varsa, bunu Shopify Flow'da bir for döngüsüyle oluşturun ve hazırlanan dizeyi gönderin:

{
  "itemList": "{% for li in order.lineItems %}{{ li.title }} x{{ li.quantity }}{% unless forloop.last %}, {% endunless %}{% endfor %}"
}

Uygulama, satır öğesi verisine benzeyen bir değişken tespit ederse - variant, product, item, sku veya quantity adlı herhangi bir değişken - Shopify Flowda Kullan” kartında sizi bu konuda uyarır.

Test değerleri gerçek zamanlı değerler değildir

Bu, neredeyse herkesin kafasını karıştırır.

  • Düzen düzenleyicisindeki test değişkenleri, yalnızca önizlemeyi ve Test e-postasını gönder seçeneğini etkiler.
  • Shopify Flow'un canlı bir çalıştırması bunları tamamen göz ardı eder ve Shopify Flow eyleminin gönderdiği her ne varsa onu kullanır.

Yani, kusursuz görünen bir test e-postası, tasarımınızın işe yaradığını kanıtlar. Ancak bu, Shopify Flow yapılandırmanız hakkında hiçbir şey kanıtlamaz. Her zaman gerçek bir iş akışı çalıştırmasıyla doğrulayın.

Bir değişken boş çıktığında

1.10.0 sürümünden itibaren uygulama, sizi tahminde bırakmak yerine size bilgi veriyor.

Canlı gönderim sırasında bir değişkenin değeri sıfırlanırsa, Geçmiş’teki ilgili girdide Boş değişkenler etiketi görünür ve bu girdiyi açtığınızda, hangi değişkenlerin boş olduğu iki duruma ayrılmış olarak tam olarak gösterilir:

Vaka Anlamı Düzelt
Shopify Flow tarafından gönderildi, ancak içerik yok Anahtar, JSON'unuzda vardı, ancak Shopify Flow herhangi bir değer üretmedi Shopify Flow özellik yolu yanlış ya da bu sipariş için gerçekten boş (misafir olarak yapılan ödeme işlemlerinde customer.firstName özelliği yoktur)
Shopify Flow tarafından hiç gönderilmedi JSON dosyanızda anahtar tamamen eksik Bunu da ekleyin - “JSON’u Kopyala” düğmesi size tam seti sunar

Boş değerlere karşı önlem alma

İsteğe bağlı herhangi bir öğe için, düzen içinde bir yedek seçenek belirleyin; böylece müşteriye asla boş bir sayfa sunulmaz:

Hi {{ variables.firstName | default: "there" }}

default: filtresi etkinleştirildiğinde, uygulama boş bir değeri kasıtlı olarak kabul eder ve bu konuda uyarı vermez.

Kontrol listesi

  1. Düzeninizdeki Shopify Flowda Kullan” kartındaki JSON’u kopyalayın.
  2. Bunu Shopify Flow eyleminin Değişkenler (JSON) alanına yapıştırın.
  3. <pick a Flow variable> ifadelerini Shopify Flow’un değişken seçicisiyle değiştirin.
  4. Satır öğelerini doğrudan okumak yerine, bunlar üzerinde döngü yapın.
  5. İsteğe bağlı olan her şeye | default: ekleyin.
  6. İş akışını gerçekten çalıştırın, ardından Geçmiş bölümünde Boş değişkenler rozetini kontrol edin.

İlgili