Yük haritalama ve Shopify Flow değişkenleri

Yük haritalama ve Shopify Flow değişkenleri

Sayfayı kopyala

Webhook yükündeki dört alanı nokta yollarıyla Shopify Flow değişkenlerine eşleyin; iç içe değerler, diziler ve eksik alan hataları açıklanıyor.

Shopify Flow’un tetikleyici alanları düz metin dizeleridir. Veri yükünüz ise muhtemelen öyle değildir. Eşleme, gelen bir isteğin iş akışınızın ihtiyaç duyduğu kısımlarını seçme işlemidir.

Dört alan

Her webhook, Shopify Flow’a dört alan sunar: fieldOne, fieldTwo, fieldThree, fieldFour. “Gelişmiş Ayarlar” bölümünde, her birini yükünüzdeki bir anahtara yönlendirin.

Aşağıdaki istek gövdesi göz önüne alındığında:

"Gelişmiş Ayarlar" sekmesi; burada Alan 1'den Alan 4'e kadar sırasıyla orderId, status, total ve note ile eşleştirilmiştir
Gelişmiş Ayarlar: İstek gövdesinden en fazla dört değeri eşleyin. Bu değerler, Shopify Flow’da fieldOne ile fieldFour olarak gelir.
Shopify Flow
Tetikleyicinin iş akışınıza aktardığı bilgiler: webhook kimliği ve eşleştirilmiş dört alanınız; bunlar, yakın zamanda yapılan bir isteğin değerleriyle birlikte gösterilmektedir.
json
{
  "orderId": "1001",
  "customer": { "email": "someone@example.com", "name": "Alex" },
  "note": "gift wrap"
}
Alan Şuraya eşle Shopify Flow’a ulaşan değer
fieldOne orderId 1001
fieldTwo customer.email someone@example.com
fieldThree customer.name Alex
fieldFour note gift wrap

İç içe geçmiş değerlerde nokta yol kullanılır (customer.email). Dizi elemanlarında ise indeks kullanılır (items.0.sku).

Shopify Flow'da bunlara {{fieldOne}}, {{fieldTwo}} vb. şeklinde başvurursunuz.

Nesneler ve diziler

Eşleştirilen bir değerin kendisi bir nesne veya dizi ise, bunu otomatik olarak bir JSON dizesine dönüştürürüz; çünkü Shopify Flow değişkenleri yapıları barındıramaz. Yukarıdaki örnekten fieldOne'ı customer'a eşleştirdiğimizde Shopify Flow'da şu sonuç ortaya çıkar:

text
{"email":"someone@example.com","name":"Alex"}

Bu parçalara tekrar ihtiyacınız olduğunda, bunları bir Shopify Flow Run Code eyleminde işleyin.

Dört alan yetmediğinde

Dört adet adlandırılmış alan, entegrasyonların çoğunu kapsar. Kapsamadıkları durumlarda, Gelişmiş Ayarlar altında bulunan ve varsayılan olarak kapalı olan üç adet isteğe bağlı anahtar mevcuttur:

Ortam Shopify Flow’a gelenler Shopify Flow'daki alan
Özel İstek Gövdesi'ne İzin Ver Her türlü vücut tipini, katı bir doğrulama süreci olmaksızın kabul eder -
Tüm vücudu kullanın İstek gövdesinin tamamı bir JSON dizesi olarak rawBody
İstek başlıklarını ekle İsteğin başlıkları, anahtar/değer listesi olarak requestHeaders
Sorgu parametrelerini ekle Anahtar/değer listesi olarak URL sorgu dizesi queryParams

requestHeaders ve queryParams, liste olarak gelir - “Kodu Çalıştır” eyleminde requestHeaders.items öğelerini tek tek inceleyin; burada her bir giriş { key, value } biçimindedir.

50 KB’nin altında tutun

Shopify Flow, her tetikleyici çalıştırmasını 50 KB ile sınırlandırır. Göndereceğimiz yükün tam boyutunu ölçer ve daha büyük olanları payload_too_large ile önceden reddediyoruz; böylece iş akışının daha sonra başarısız olması yerine net bir hata mesajı alırsınız.

Eğer hata alırsanız, daha küçük bir veri gövdesi gönderin ya da Tüm gövdeyi kullan / İstek başlıklarını dahil et / Sorgu parametrelerini dahil et seçeneklerini devre dışı bırakın - genellikle bu ayarlar hataya neden olur.

Başlıklar ve sorgular her zaman kaydedilir

Opt-in anahtarları yalnızca **Shopify Flow’a **iletilenleri kontrol eder. Çağırma geçmişi her zaman başlıkları ve sorgu dizesini (hassas değerler maskelenmiş olarak) kaydeder; böylece, her şeyi iş akışınıza göndermeden bir isteğin hata ayıklamasını yapabilirsiniz.