Penyelesaian masalah eror di Shopify Flow
Shopify Flow membantu Anda mengotomatiskan tugas dan proses di toko Anda, tetapi Anda mungkin mengalami eror atau mencapai batas tertentu saat membuat atau mengedit alur kerja. Halaman ini menjelaskan masalah umum yang mungkin Anda hadapi, seperti batas alur kerja dan eror data, serta memberikan panduan tentang cara mengatasinya. Memahami eror ini dapat membantu Anda menyelesaikan masalah dan menjaga alur kerja tetap berjalan lancar.
Di halaman ini
Kesalahan saat membuat alur kerja
Saat membuat alur kerja, Anda mungkin mengalami kesalahan yang menghalangi Anda untuk menambahkan alur kerja baru. Berikut beberapa kesalahan yang mungkin Anda temui:
Jumlah alur kerja terlampaui
Saat membuat alur kerja baru, Anda mungkin menjumpai kesalahan yang menyatakan Anda telah mencapai batas maksimum 1000 alur kerja yang diizinkan. Untuk melanjutkan, hapus alur kerja yang tidak digunakan, lalu coba lagi.
Flow membatasi jumlah alur kerja yang dapat dimiliki toko hingga 1000. Ini termasuk alur kerja aktif dan tidak aktif. Jika Anda mencapai batas ini dan ingin membuat alur kerja baru, hapuslah alur kerja yang tidak digunakan atau tidak aktif.
Jika toko Anda memiliki lebih dari 1000 alur kerja sebelum batas ini ditetapkan, toko Anda dapat terus beroperasi dengan lebih dari 1000 alur kerja. Akan tetapi, untuk membuat alur kerja baru, jumlah alur kerja Anda harus di bawah batas tersebut.
Anda mungkin mengalami kesalahan ini saat melakukan sejumlah tindakan di aplikasi Flow:
- Membuat alur kerja baru
- Menduplikasi alur kerja
- Mengimpor alur kerja
- Menginstal templat
Terlalu banyak alur kerja pada pemicu yang sama
Saat mengaktifkan alur kerja, Anda mungkin melihat peringatan bahwa toko Anda memiliki lebih dari 10 alur kerja aktif yang menggunakan pemicu yang sama.
Banyaknya alur kerja yang menggunakan pemicu yang sama dapat menyebabkan masalah performa karena setiap kali peristiwa pemicu terjadi, Flow harus memproses semua alur kerja terkait. Penyebaran proses ini dapat memperlambat waktu eksekusi dan meningkatkan penggunaan sumber daya.
Untuk mengurangi jumlah alur kerja pada satu pemicu, pertimbangkan pendekatan berikut:
- Gabungkan alur kerja yang menggunakan pemicu yang sama menjadi satu alur kerja dengan beberapa cabang dan kondisi.
- Nonaktifkan atau hapus alur kerja yang tidak lagi diperlukan.
- Tinjau apakah beberapa alur kerja dapat menggunakan pemicu yang lebih spesifik sebagai gantinya.
Kesalahan saat mengedit alur kerja
Saat mengedit alur kerja, Anda mungkin mengalami kesalahan yang menghalangi Anda untuk menyimpan alur kerja. Berikut adalah kesalahan umum yang mungkin Anda temui saat mengedit alur kerja:
Data tidak ditemukan
Saat menambahkan tindakan baru ke alur kerja, Anda mungkin menjumpai kesalahan yang menyatakan Data tidak ditemukan:

Kesalahan ini terjadi karena banyak tindakan, termasuk Tambahkan tag produk, memerlukan sumber daya Shopify, seperti Produk. Jika sumber daya tersebut tidak tersedia, tindakan tidak dapat dijalankan. Umumnya, alur kerja mungkin berisi data yang mirip dengan data yang diperlukan, tetapi sebenarnya tidak menyediakan data yang dibutuhkan.
Bagian berikut menjelaskan skenario umum yang dapat menyebabkan kesalahan ini dan cara mengatasinya.
Masalah 1: Dapatkan data menyediakan daftar, padahal yang dibutuhkan adalah satu item
Sering kali alur kerja menyediakan daftar sumber daya Shopify, tetapi tindakan hanya mengizinkan satu sumber daya. Misalnya, alur kerja menyediakan daftar produk melalui Dapatkan data produk, tetapi tindakan Tambahkan tag produk memerlukan satu produk.
Untuk mengatasi kesalahan ini, Anda dapat menambahkan tindakan Untuk setiap untuk melakukan loop pada daftar dan memanggil tindakan untuk setiap item dalam daftar tersebut. Contoh ini menggambarkan kesalahan dan solusinya menggunakan Untuk setiap:

Masalah 2: Pemicu menyediakan daftar, padahal yang dibutuhkan adalah satu item
Kesalahan serupa dapat terjadi saat suatu tindakan memerlukan satu sumber daya, tetapi pemicunya menyediakan daftar. Misalnya, Tandai pesanan pemenuhan sebagai terpenuhi memerlukan Pesanan pemenuhan, tetapi pemicunya berasal dari Pesanan, yang menyediakan daftar pesanan pemenuhan.
Untuk mengatasi kesalahan ini, seperti pada Masalah 1, Anda dapat menambahkan tindakan Untuk setiap untuk melakukan loop pada daftar dan memanggil tindakan untuk setiap item dalam daftar:

Sebagai alternatif, Anda dapat menggunakan pemicu berbeda yang menyediakan sumber daya yang diperlukan. Misalnya, alih-alih menggunakan pemicu Pesanan dibuat, Anda dapat menggunakan pemicu Pesanan pemenuhan siap dipenuhi, yang menyediakan satu pesanan pemenuhan.

Masalah 3: Pemicu Waktu terjadwal tidak menyediakan data
Pemicu Waktu terjadwal tidak menyediakan data sumber daya Shopify. Jika Anda mencoba menghubungkan tindakan yang memerlukan sumber daya Shopify setelah pemicu, Anda akan menjumpai kesalahan tersebut.
Untuk mengatasi kesalahan ini, tambahkan tindakan, seperti Dapatkan data produk, yang menyediakan data yang diperlukan. Seperti yang disebutkan di Masalah 1, Anda juga harus menambahkan tindakan Untuk setiap untuk melakukan loop pada daftar apa pun yang dikembalikan oleh tindakan yang mendapatkan data.

Masalah 4: Pemicu aplikasi tidak menyediakan data
Mirip dengan masalah 3, beberapa pemicu yang dibuat oleh aplikasi tidak menyediakan data sumber daya Shopify yang diperlukan. Misalnya, pemicu "Ulasan dibuat" mungkin menyediakan alamat email, tetapi bukan objek Pelanggan, yang diperlukan oleh banyak tindakan, seperti Tambahkan tag pelanggan.
Untuk mengatasi kesalahan ini, Anda mungkin dapat menggunakan tindakan "Dapatkan data" untuk mengambil sumber daya Shopify yang Anda perlukan. Misalnya, Anda dapat menggunakan Dapatkan data pelanggan untuk mendapatkan objek pelanggan dari alamat email yang disediakan oleh pemicu. Seperti masalah lainnya, Anda juga harus menambahkan tindakan Untuk setiap untuk melakukan loop pada daftar apa pun yang dikembalikan oleh tindakan yang mendapatkan data.
Jika "Dapatkan data" bukan pilihan, Anda mungkin perlu menghubungi pengembang aplikasi untuk menanyakan apakah mereka dapat mengubah pemicu mereka untuk menyediakan data yang diperlukan.
Jumlah langkah tunggu terlampaui
Saat menambahkan langkah tunggu baru ke alur kerja, Anda mungkin akan menjumpai kesalahan yang menyatakan, Alur kerja harus memiliki 40 langkah tunggu atau kurang.
Flow membatasi jumlah langkah tunggu yang diizinkan dalam alur kerja hingga 40. Jika Anda mengalami kesalahan ini, berarti Anda telah melampaui batas ini. Untuk mengatasi masalah ini, hapus langkah tunggu di bagian lain dalam alur kerja Anda.
Jika Anda sudah memiliki alur kerja yang berisi lebih dari 40 langkah tunggu sebelum penerapan batas ini, alur kerja Anda akan terus berfungsi seperti yang diharapkan. Akan tetapi, untuk menambahkan langkah tunggu tambahan, Anda harus menghapus langkah tunggu yang sudah ada terlebih dahulu agar tetap di bawah batas.
Selain itu, total waktu tunggu di semua langkah tunggu tidak boleh melebihi 90 hari.
Batas ukuran nilai kolom konfigurasi terlampaui
Saat mengedit nilai kolom konfigurasi dalam kondisi di alur kerja, Anda mungkin akan menjumpai kesalahan yang menyatakan, Nilai kolom konfigurasi harus di bawah 50 kB.
Flow membatasi ukuran nilai kolom konfigurasi hingga 50 kB data. Saat Anda mengalami kesalahan ini, berarti Anda telah mencapai atau melampaui batas. Untuk mengatasi masalah ini, perpendek panjang data yang Anda tambahkan ke kolom tersebut.
Jika Anda sudah memiliki kolom konfigurasi dengan nilai 50 kB atau lebih, alur kerja Anda akan terus berjalan seperti yang diharapkan. Akan tetapi, untuk membuat perubahan pada alur kerja, Anda harus merevisi nilai yang menyebabkan kesalahan.
Kesalahan saat alur kerja berjalan
Saat eksekusi alur kerja mengalami kesalahan, eksekusi alur kerja tersebut ditandai sebagai gagal. Pesan kesalahan ditampilkan di detail eksekusi alur kerja. Berikut adalah kesalahan umum yang mungkin Anda temui saat eksekusi alur kerja gagal:
- Kesalahan sementara adalah kesalahan temporer yang terjadi saat Flow tidak dapat menyelesaikan tugas. Kesalahan ini akan dicoba lagi hingga berhasil atau mencapai batas waktu habis.
- Kesalahan permanen adalah kesalahan yang terjadi saat Flow tidak dapat menyelesaikan tugas, dan tugas tersebut tidak dapat dicoba lagi.
Kesalahan sementara
Kesalahan sementara adalah kesalahan temporer yang terjadi saat Flow tidak dapat menyelesaikan tugas. Kesalahan ini akan dicoba lagi hingga berhasil atau mencapai batas waktu habis. Misalnya, jika Flow tidak dapat menghubungi mitra saat mengeksekusi tindakan konektor, Flow akan mencoba lagi tugas tersebut beberapa kali sebelum menyerah.
Percobaan ulang dilakukan secara berkala, dengan jeda antara setiap upaya berikutnya yang makin lama. Biasanya, saat alur kerja mengalami kesalahan sementara, alur kerja tersebut akan tetap dalam status berjalan untuk waktu yang lama karena mencoba lagi tugas.
Saat tugas berhasil dicoba lagi, alur kerja akan berlanjut. Jika tugas yang dicoba lagi mengalami kesalahan permanen, alur kerja akan gagal. Setiap bagian alur kerja memiliki batas eksekusi gabungan atas selama 36 jam. Jika langkah dengan kesalahan sementara tidak berhasil sebelum batas tersebut tercapai, alur kerja akan gagal.
Alur kerja dengan langkah tunggu dibagi menjadi beberapa bagian, yang memengaruhi cara penghitungan batas waktu habis dalam alur kerja. Setiap bagian adalah sekelompok tugas yang dieksekusi bersama, dan masing-masing memiliki batas waktu 36 jam sendiri. Misalnya, jika alur kerja memiliki langkah tunggu selama satu jam, tugas sebelum langkah tunggu akan dieksekusi bersama dalam satu bagian dan tugas setelah langkah tunggu akan dieksekusi bersama di bagian lain. Jika alur kerja memiliki beberapa langkah tunggu, tugas di antara setiap langkah tunggu akan dieksekusi bersama dalam satu bagian. Alur kerja tanpa langkah tunggu dianggap sebagai satu bagian.
Kesalahan sementara sesekali adalah hal yang umum. Namun, jika alur kerja Anda secara konsisten mengalami kesalahan sementara yang sama di beberapa eksekusi, alur kerja Anda mungkin perlu dikonfigurasi ulang.
Waktu langkah habis
Kesalahan Waktu langkah habis biasanya terjadi saat tugas dalam alur kerja mencoba membuat kueri terlalu banyak data dalam satu bagian. Kesalahan ini sering terjadi di alur kerja yang melakukan loop pada daftar, terutama daftar bertingkat yang terlalu besar untuk diproses dengan cepat.
Saat kesalahan ini terjadi, pemicu atau langkah tunggu ditampilkan sebagai mencoba lagi.
Untuk mengatasi masalah ini, tinjau kondisi yang mengakses daftar dan daftar bertingkat untuk mengonfirmasi bahwa keduanya telah diatur dengan benar. Masalah umum adalah kondisi yang memeriksa semua produk di toko, bukan hanya produk dalam pesanan.
Status 5XX
Sebagian besar tindakan Flow melibatkan panggilan HTTP. Terkadang, masalah jaringan atau server lain dapat menyebabkan panggilan HTTP gagal dan menampilkan kode kesalahan antara 500 dan 599. Satu kejadian kesalahan ini bukan masalah, tetapi kejadian berulang mungkin menunjukkan masalah pada server yang menangani tugas, bukan pada cara langkah dikonfigurasi.
Jenis kesalahan ini paling sering ditampilkan pada tindakan Kirim Permintaan HTTP, tetapi dapat terjadi pada sebagian besar tugas.
GraphQL diperlambat
Volume total pekerjaan yang diselesaikan oleh alur kerja dibatasi oleh batas kecepatan API, yang ditentukan sebagian oleh paket Anda. Biasanya, batas ini tidak tercapai kecuali alur kerja sangat kompleks atau berisi kesalahan desain yang tidak disengaja.
Contoh-contoh berikut menjelaskan situasi yang dapat menyebabkan kesalahan ini:
- Liquid atau kondisi dalam alur kerja melakukan loop pada daftar dengan data dalam jumlah besar, seperti memeriksa nilai metafield yang berisi HTML.
- Liquid atau kondisi dalam alur kerja melakukan loop pada daftar besar, seperti melakukan loop pada
shop.ordersdi toko yang besar. - Alur kerja menghasilkan loop tak terbatas tempat alur kerja terus membuat eksekusi alur kerja baru. Misalnya, ini dapat terjadi jika alur kerja menggunakan pemicu Tag pelanggan ditambahkan dan menyertakan tindakan Tambahkan tag pelanggan.
Jika batas tercapai, Anda akan menerima kesalahan GraphQL diperlambat. Kesalahan ini dapat memengaruhi alur kerja lain saat mencoba berjalan, jadi segera atasi kesalahan ini jika terjadi.
Kesalahan permanen
Kesalahan permanen adalah kesalahan yang terjadi saat Flow tidak dapat menyelesaikan tugas, dan tugas tersebut tidak dapat dicoba lagi. Misalnya, jika Flow tidak dapat mengirim email karena alamat email tidak valid, Flow tidak akan mencoba lagi tugas tersebut. Alih-alih, alur kerja akan gagal.
Kolom: id wajib diisi tetapi kosong
Tindakan Shopify memerlukan satu atau beberapa sumber daya, seperti produk, pelanggan, atau pesanan, untuk dijalankan. Jika sumber daya yang diperlukan tidak tersedia, tindakan tersebut tidak dapat berjalan sebagaimana mestinya. Misalnya, pesanan dapat dibuat di admin Shopify tanpa pelanggan. Jika Anda menjalankan tindakan, seperti Tambahkan tag pelanggan, tindakan tersebut akan gagal dengan kesalahan ini.
Untuk mencegah kesalahan ini, tambahkan kondisi sebelum tindakan untuk memeriksa apakah sumber daya ada. Dalam contoh sebelumnya, jika Anda ingin mengirim email internal di alur kerja yang sama dengan Tambahkan tag pelanggan, Anda dapat menempatkan tindakan email sebelum langkah yang mungkin gagal atau menggunakan salah satu pendekatan berikut:
Letakkan tindakan di cabang paralel (ketika 2 cabang atau lebih keluar dari satu langkah):

Tambahkan kondisi sebelum tindakan untuk memeriksa apakah pelanggan ada. Misalnya, Anda dapat memeriksa apakah pesanan / pelanggan / id tidak kosong dan ada.

Flow tidak memiliki izin akses ke akun Google Sheets Anda. Harap hubungkan kembali akun Anda.
Konektor Google Sheets mengharuskan Anda menautkan akun Google Anda ke Flow agar memiliki izin akses untuk menulis ke sheet. Kesalahan ini dapat terjadi saat Flow tidak memiliki izin akses untuk menulis ke sheet, baik karena akun tersebut telah dilepaskan tautannya dari Flow atau karena akun tersebut tidak dapat mengakses sheet itu.
Untuk mengatasinya, pastikan akun yang digunakan untuk konektor dapat membuka sheet dan memiliki akses edit. Jika akun yang salah tertaut, Anda dapat memutuskan koneksinya dan menghubungkan akun yang baru.
Langkah-langkah:
- Buka alur kerja yang sudah ada atau buat alur kerja baru.
- Tambahkan tindakan ke alur kerja.
- Pilih konektor Google Sheets.
- Klik Putuskan Koneksi, lalu klik Hubungkan untuk menghubungkan kembali akun Google yang benar.
Tindakan Flow diterima dengan properti tidak valid. Pelanggan tidak menerima pemasaran.
Tindakan Kirim email pemasaran tidak mengirim email ke pelanggan yang belum setuju untuk menerimanya, dan akan gagal secara permanen jika alur kerja mencoba melakukannya.
Untuk mengatasi masalah ini, tambahkan kondisi di alur kerja yang memeriksa status langganan pelanggan. Anda dapat memastikan bahwa pelanggan telah setuju untuk menerima email pemasaran sebelum mengirimkannya. Ikuti langkah-langkah di Manajemen daftar pelanggan email.
Sumber daya tidak ditemukan untuk [resource type]
Kesalahan ini menunjukkan bahwa sumber daya, seperti pelanggan atau pesanan, telah dihapus sebelum alur kerja dapat mengambil datanya. Hal ini paling sering terjadi setelah langkah tunggu, tetapi mungkin juga terjadi pada pemicu jika sumber daya dihapus dengan sangat cepat setelah peristiwa pemicu terjadi.
Dapatkan notifikasi saat terjadi kesalahan
Jika error akan memengaruhi operasional toko Anda, Anda dapat menyiapkan notifikasi untuk saat error terjadi. Notifikasi error dapat dibuat sebagai alur kerja menggunakan pemicu Terjadi error alur kerja. Notifikasi error dirancang untuk membatasi gangguan, jadi Anda hanya akan mendapatkan satu notifikasi per versi alur kerja.
Untuk memulai, Anda dapat menggunakan salah satu template berikut:
- Dapatkan pemberitahuan Shopify saat error eksekusi alur kerja terdeteksi
- Dapatkan notifikasi melalui email saat error eksekusi alur kerja terdeteksi
- Dapatkan notifikasi Slack saat error eksekusi alur kerja terdeteksi
Mencoba ulang eksekusi
Dalam beberapa kasus, eksekusi alur kerja dapat mengalami error atau tidak berjalan sebagaimana mestinya. Setelah menyelesaikan masalah dan memperbaiki masalah di alur kerja terkait, eksekusi sebelumnya dapat dicoba ulang secara manual untuk memperbaiki hasil eksekusi sebelumnya secara retroaktif. Pelajari selengkapnya tentang mencoba ulang eksekusi alur kerja.
Berjalan (laju dibatasi)
Dalam beberapa kasus, satu atau beberapa alur kerja dapat menggunakan terlalu banyak sumber daya, dan untuk mencegahnya menimbulkan masalah, Flow akan sengaja membatasi eksekusi alur kerja di toko Anda, yang dapat menyebabkan penundaan dan error waktu habis. Hal ini dapat diperbaiki dengan menulis ulang alur kerja yang tidak efisien, biasanya untuk memperbaiki bug yang membuatnya tidak berfungsi sebagaimana mestinya.
Berjalan terlalu lama
Pesan ini menunjukkan bahwa eksekusi untuk suatu alur kerja membutuhkan waktu sangat lama. Hal ini biasanya disebabkan oleh penggunaan data dalam jumlah besar di dalam alur kerja yang membuat Flow membutuhkan banyak waktu untuk mengambilnya.
Kasus ini biasanya disebabkan oleh jalur permintaan yang dalam yang melewati beberapa daftar item (misalnya, meminta semua metafield untuk semua produk dalam semua koleksi yang berisi produk tersebut):

Hal ini juga sering berkorelasi dengan langkah pemicu alur kerja yang mengalami waktu habis.
Alur kerja yang melakukan loop pada semua metafield sering kali dapat ditingkatkan dengan hanya menggunakan metafield tertentu. Mengakses beberapa daftar bertingkat (seperti semua produk di semua koleksi untuk suatu produk) atau daftar yang sangat besar (seperti definisi metafield, yang berisi semua metafield untuk semua objek) mungkin dilakukan secara tidak sengaja, dan memilih bidang yang benar (produk tunggal atau metafield tunggal pada suatu objek) dapat meningkatkan efisiensi secara signifikan. Dalam kasus lain, menggunakan tindakan "Dapatkan Data Produk/Pesanan/Pelanggan" dengan filter kueri dapat mengurangi jumlah objek yang digunakan secara signifikan, tetapi tetap mengakses objek yang relevan.
Memproses terlalu banyak data
Pesan ini menunjukkan bahwa eksekusi untuk suatu alur kerja menghasilkan data dalam jumlah besar. Hal ini biasanya disebabkan oleh adanya kondisi kompleks yang memeriksa banyak bidang, biasanya karena pemeriksaan bidang pada beberapa lapisan daftar.
Misalnya, kondisi seperti "Untuk setidaknya satu tag pada pelanggan ini, untuk setidaknya satu item pesanan, untuk setidaknya satu tag pada item pesanan tersebut" dapat mengakibatkan banyak pemeriksaan yang dilakukan, dan banyak data yang dihasilkan untuk menampilkan hasil pemeriksaan tersebut:

Upaya coba ulang otomatis gagal
Pesan ini menunjukkan bahwa eksekusi untuk suatu alur kerja berulang kali gagal karena beberapa masalah sementara, tetapi tidak sering berhasil pada upaya coba ulang berikutnya. Hal ini sering terjadi ketika Admin API Shopify atau aplikasi mitra menghadapi volume permintaan yang tinggi.