Run Code İşleminin Sınırları
Shopify Flow içindeki Run code, önceki adımlardan gelen veriyi JavaScript ile işleyip sonraki adımlara sonuç döndürür. Bu ortamda fetch ile dış HTTP isteği gönderilemez; Node.js modülleri de kullanılamaz. Dolayısıyla masaüstünde çalışan bir entegrasyon kodunun aynı şekilde Flow içine taşınması beklenmemelidir. Önce otomasyonun hangi bilgiyi hesaplayacağı ve hangi bilgiyi başka sistemden alacağı belirlenir. Hatanın bu ayrımdan kaynaklanması, mağazanın dış servise erişiminin bütünüyle kapalı olduğunu göstermez.
Dış Servis Bağlantısının Yeri
Dış sisteme erişim için Send HTTP request eylemi bulunur; kullanılabilirliği Shopify planına bağlıdır ve resmî belgede Grow, Advanced ve Plus planları belirtilir. Dönen yanıtın gövdesi sonraki Run code adımında işlenebilir. Örneğin bir depo servisinden alınan sevkiyat durumu önce bağlantı adımında elde edilir, sonra işletmenin kullandığı durum adlarına dönüştürülür. İki adımın kayıtlarını ayrı incelemek, erişim sorunuyla veri dönüştürme hatasının birbirine karışmasını önler.
Girdi ve Çıktı Uyumu
Run code girişindeki GraphQL sorgusu, Flow ortamındaki verilere yöneliktir. Shopify Admin API sorgusunu doğrudan bu alana yapıştırmak uygun değildir. Çıktı tanımındaki alanlarla kodun döndürdüğü değerler de uyuşmalıdır. Örneğin sevkiyat hazır mı sorusunun sonucu mantıksal değer olarak beklenirken servis metin döndürebilir. Böyle bir uyuşmazlıkta alanın adını değiştirmek yerine gelen değerin türü ve işletmedeki anlamı birlikte incelenir. Boş yanıt için de açık bir karar gerekir.
Örnek Sevkiyat Kontrolü
Bir mağazanın paketleri hazır olduğunda ekibine bildirim göndermek istediğini düşünelim. Örnek tasarımda siparişin dış sistemdeki kimliğiyle durum okunur, yanıt içinden hazırlık bilgisi ayrılır ve yalnızca beklenen durumda bildirim adımına geçilir. Dış sistemde sipariş bulunamaması, paketin hazırlanmadığıyla aynı sonuç sayılmamalıdır. İlk durum eşleme veya veri gecikmesi incelemesi gerektirirken ikinci durum normal bir operasyon aşaması olabilir. Bu örnek, mağazaya göre ayrıca uyarlanacak bir iş kuralıdır.
Zaman Aşımı ve Tekrarlanan İstekler
Send HTTP request yanıtı en fazla otuz saniye bekler; zaman aşımından sonra yeniden deneme gerçekleşebilir. Hata kodlarına karşı davranış da eylemin ayarlarına bağlıdır. Özellikle dış sistemde kayıt oluşturan işlemlerde aynı isteğin tekrar gelmesi hesaba katılmalıdır. Örneğin her denemede yeni sevkiyat açılması operasyonu çoğaltabilir. Entegrasyonun işlem kimliği ve tekrar kontrolü buna göre tasarlanır. Başarısız yanıtı yok sayarak ilerlemek de başarı kaydı olarak yorumlanmamalıdır.
Güvenli Tanılama
Bağlantı anahtarları için Flow'un Secrets alanı kullanılabilir; gizli değerler çalışma kayıtlarında maskelenir. İnceleme notunda sipariş kimliği, hata adımı ve beklenen sonuç gibi gerekli bilgiler tutulmalıdır. Tam müşteri verisini veya erişim anahtarını teşhis amacıyla paylaşmak gereksizdir. Run code tarafından yazılan console.log çıktısı tarayıcı konsolunda değil Flow çalışma kaydında görülür. Düzeltme sonrasında boş yanıt, normal yanıt ve hatalı yanıt örnekleriyle işletmenin kararlarının doğru oluştuğu doğrulanır.
Bu Yazıdaki Terimler 1 Kavram
Kısa açıklamaları burada okuyabilir, ayrıntılar için sözlüğe geçebilirsiniz.
- API
- API (Application Programming Interface), farklı yazılımların birbirleriyle veri alışverişi yapmasını sağlayan bağlantı yöntemidir.
Bu Konuda Nasıl Destek Oluyoruz?
AdPix’in bu alandaki hizmet kapsamını ve çalışma sürecini inceleyin.
Shopify