Vòng lặp for each (lặp lại)

Thao tác Vòng lặp for each (lặp lại) sẽ thực hiện các bước trên từng mục trong một danh sách khi thao tác đó được kết nối với tùy chọn Lặp lại cho từng mục. Thao tác này chỉ hoạt động trên các danh sách, chẳng hạn như các mục hàng trong một đơn hàng, hoặc các danh sách được trả về bởi bất kỳ thao tác dạng Lấy dữ liệu nào, chẳng hạn như Lấy dữ liệu bộ sưu tập, Lấy dữ liệu khách hàng hoặc Lấy dữ liệu sản phẩm.

Sau khi thêm thao tác Vòng lặp for each (lặp lại), bạn phải cấu hình các bước bổ sung về cách vòng lặp lặp lại trên từng mục trong danh sách được cung cấp. Khác với việc chia nhánh Đúng/Sai của các điều kiện, thao tác Vòng lặp for each (lặp lại) có một trình tự hoạt động được xác định cho các nhánh của mình:

  1. Nhánh Repeat for each item diễn ra đầu tiên, và lặp lại các bước để thực hiện trên từng mục trong danh sách. Các thao tác trong nhánh này diễn ra với số lần bằng số lượng mục trong danh sách đã cung cấp.
  2. Nhánh After last item diễn ra cuối cùng và cho phép bạn xác định các bước để tiếp tục dòng công việc. Bước này được thực hiện sau khi mọi thao tác do Repeat for each item thực hiện đối với tất cả các mục trong danh sách đã hoàn tất.

Ví dụ: bạn tạo một dòng công việc chạy vào mỗi Thứ Hai. Dòng công việc sử dụng thao tác Get order data để lấy các đơn hàng đã đặt trong tuần đó. Sau đó, thao tác For each loop (iterate) sẽ áp dụng thẻ New order cho mỗi đơn hàng được trả về từ danh sách getOrderData. Sau khi tất cả đơn hàng trong danh sách được gắn thẻ, một email nội bộ sẽ được gửi để thông báo việc gắn thẻ đã hoàn tất.

Ví dụ về dòng công việc lấy danh sách đơn hàng đã đặt trong tuần trước và thêm thẻ cho từng đơn hàng, sau đó gửi email.

Những điểm cần lưu ý khi sử dụng thao tác For each loop (iterate)

Xem xét những điểm cần lưu ý sau trước khi sử dụng thao tác For each loop (iterate):

  • Danh sách được dùng trong thao tác For each loop (iterate) không được chứa quá 1.000 mục. Nếu danh sách đã chọn có hơn 1.000 mục, dòng công việc sẽ thất bại và tất cả các thao tác theo sau thao tác For each loop (iterate) sẽ không được thực hiện.
  • Các thao tác sau không thể đi sau Repeat for each item:
    • Thao tác Wait.
    • Bất kỳ thao tác Get data nào, chẳng hạn như Get order data.
    • Thao tác Run code.
  • Chỉ có thể lồng 1 thao tác For each loop (iterate) vào bên trong một thao tác For each loop (iterate) khác.

Trường

Thao tác For each loop (iterate) bao gồm các trường sau.

Các trường được dùng trong thao tác For each.
TrườngMô tả
Danh sáchBắt buộc. Danh sách các mục cần thực hiện thao tác. Ví dụ: đây có thể là danh sách do thao tác Get data hoặc Run code trả về, hay danh sách do một yếu tố kích hoạt trả về, như danh sách mục hàng do yếu tố kích hoạt Order created trả về.

Khi chọn một biến, chỉ các đối tượng mảng ([]) mới hiển thị thành tùy chọn có thể chọn.

Yếu tố kích hoạt

Có thể sử dụng thao tác For each loop (iterate) trong bất kỳ dòng công việc nào.

Giám sát dòng công việc

Sau khi một dòng công việc đã chạy, bạn có thể xem lại hiệu suất trên trang Activity (Hoạt động) của Shopify Flow. Những điều sau áp dụng cho dòng công việc có chứa thao tác For each loop (iterate):

  • Các phần Status (Trạng thái) và Action (Thao tác) áp dụng cho tất cả thao tác mà For each loop (iterate) thực hiện.
  • Bản xem trước dòng công việc làm nổi bật số lượng mục trong vòng lặp đi theo một đường dẫn cụ thể.
  • Phần Run details (Chi tiết lần chạy), bao gồm cả bản xem trước dòng công việc, hiển thị kết quả từ mỗi lần lặp. Sử dụng menu Item (Mục) trong phần chi tiết các bước của lần chạy để lọc kết quả theo những thao tác đã thực hiện và lỗi nhằm nhanh chóng khắc phục vòng lặp.

Ví dụ về dữ liệu bước đối với lần chạy gần đây có vòng lặp For each. Dữ liệu bước trong ví dụ nêu bật menu Mục, cho phép bạn chọn một trong 7 mục muốn xem lại dữ liệu bước.

Mẫu

Thêm mục hàng vào các hàng trong Google Trang tính khi có đơn hàng mới

Khi có đơn hàng mới được tạo, bước For each loop (iterate) trong dòng công việc sẽ lặp lại qua từng mục hàng để thêm dữ liệu sản phẩm vào một hàng trên Google Trang tính. Xem mẫu.

Thêm sản phẩm có thẻ vào bộ sưu tập trong tương lai

Tại một thời điểm trong tương lai, lấy tất cả sản phẩm có thẻ nhất định và thêm vào một bộ sưu tập. Xem mẫu.

Cho phép đặt hàng đối với các công ty được tạo từ yêu cầu về tài khoản công ty

Gán quyền đặt hàng khi một công ty được tạo theo yêu cầu về tài khoản công ty. Xem mẫu.

Hủy đơn hàng nếu khách hàng đặt hơn 5 đơn hàng trong hôm nay

Hủy đơn hàng nếu một khách hàng đặt hơn 5 đơn hàng trong một ngày. Dòng công việc này sẽ kiểm tra số lượng đơn hàng khách hàng đã đặt trong vòng 24 giờ qua và hủy những đơn hàng vượt quá giới hạn này, đồng thời gắn thẻ khách hàng vì nguy cơ gian lận. Xem mẫu.

Chuyển đổi trường siêu dữ liệu của khách hàng thành thẻ cho tất cả khách hàng

Dòng công việc này bổ sung dữ liệu thẻ cho tất cả khách hàng dựa trên giá trị của một trường siêu dữ liệu. Dòng công việc chạy hàng giờ và lấy tối đa 100 khách hàng không có thẻ processed. Đối với mỗi khách hàng, dòng công việc xem xét giá trị của trường siêu dữ liệu custom.test và thêm giá trị đó dưới dạng một thẻ. Dòng công việc này cũng thêm một thẻ processed để khách hàng đó không bị trả về trong lần chạy theo lịch trình tiếp theo. Để sử dụng dòng công việc này, bạn phải thay đổi không gian tên và khóa của trường siêu dữ liệu để khớp với một trường siêu dữ liệu trong cửa hàng. Xem mẫu.

Xóa khách hàng không hoạt động

Xóa hồ sơ khách hàng trên 5 năm tuổi mà chưa từng đặt hàng. Xem mẫu.

Xóa sản phẩm không hoạt động

Xóa sản phẩm không có hàng tồn kho và chưa được cập nhật trong một năm. Xem mẫu.

Thực hiện bất kỳ mặt hàng kỹ thuật số nào trong đơn hàng

Thực hiện mọi mặt hàng không yêu cầu vận chuyển thực tế, chẳng hạn như mặt hàng kỹ thuật số hoặc mặt hàng khớp với danh sách Mã SKU. Chạy một lần cho mỗi địa điểm thực hiện (nghĩa là 'fulfillment order' - đơn hàng thực hiện) đối với đơn hàng mới. Xem mẫu.

Tạm ngưng hoàn tất đơn hàng nếu khách hàng đặt nhiều đơn hàng trong vòng 24 giờ

Kiểm tra xem khách hàng có đặt nhiều đơn hàng trong vòng 24 giờ hay không. Nếu có, hãy tạm dừng hoàn tất đơn hàng và gộp quá trình vận chuyển. Xem mẫu.

Tạm dừng đơn hàng nếu khách hàng đặt nhiều hơn 1 đơn hàng trong 24 giờ qua

Khi đơn hàng được tạo, kiểm tra xem khách hàng có đặt các đơn hàng khác trong 24 giờ qua hay không. Nếu có, chuyển tất cả đơn hàng sang trạng thái tạm dừng. Xem mẫu.

Đăng sản phẩm có thẻ nhất định trong tương lai

Vào một ngày trong tương lai, lấy sản phẩm có thẻ nhất định và đăng các sản phẩm đó. Dòng công việc này sử dụng yếu tố kích hoạt Thời gian đã lên lịch và thao tác Lấy dữ liệu sản phẩm. Xem mẫu.

Gỡ bỏ trạng thái tạm dừng hoàn tất đơn hàng đối với mặt hàng đổi trả khi đơn hàng trả lại đã đóng

Khi đơn hàng trả lại đã đóng, kiểm tra xem đơn hàng có số dư chưa thanh toán hay không. Nếu đơn hàng không có số dư, hãy gỡ bỏ trạng thái tạm dừng đối với mặt hàng đổi trả. Xem mẫu

Xóa thẻ sản phẩm mới sau 90 ngày kể từ khi tạo sản phẩm

Mỗi ngày, hệ thống sẽ lấy tối đa 100 sản phẩm được tạo cách đây hơn 90 ngày và vẫn có thẻ new. Sau đó, dòng công việc này sẽ xóa các thẻ đó cho từng sản phẩm. Xem mẫu.

Lên lịch xóa sản phẩm khỏi Cửa hàng trực tuyến vào ngày và giờ cụ thể

Xóa sản phẩm khỏi cửa hàng trực tuyến theo thẻ, ID hoặc mã SKU vào một ngày trong tương lai. Dòng công việc này sử dụng yếu tố kích hoạt Thời gian đã lên lịch và thao tác Lấy dữ liệu sản phẩm. Xem mẫu.

Gửi hóa đơn đơn hàng B2B đến nhiều địa chỉ email

Gửi hóa đơn cho đơn hàng B2B đến nhiều địa chỉ email. Dòng công việc này sử dụng các địa chỉ email đã lưu dưới dạng trường siêu dữ liệu tại địa điểm công ty, nếu có, hoặc tạo 3 trường siêu dữ liệu extra_invoice_recipient.email1, .email2.email3 trước nếu chưa có. Xem mẫu.

Gửi đơn hàng và mục hàng đến Google Sheets

Xuất từng mục hàng của đơn hàng thành một hàng trong Google Sheets. Xem mẫu.

Gắn thẻ và gửi tóm tắt hàng ngày về các đơn hàng hoàn tất trễ

Mỗi ngày, gắn thẻ và gửi email tóm tắt hàng ngày để thống kê tổng số lượng và giá trị (tính bằng đô la) của tất cả đơn hàng không đáp ứng thời gian vận chuyển đảm bảo 2 ngày. Xem mẫu.

Gắn thẻ khách hàng có khoản bồi hoàn

Mỗi giờ, dòng công việc này sẽ lấy các đơn hàng có khoản bồi hoàn và gắn thẻ vào khách hàng cho đơn hàng đó. Sử dụng yếu tố kích hoạt Thời gian đã lên lịch và thao tác Lấy dữ liệu đơn hàng. Xem mẫu.

Gắn thẻ đơn hàng qua chiến dịch UTM liên kết

Gắn thẻ cho các đơn hàng có chứa tên của bất kỳ chiến dịch UTM liên kết nào. Xem mẫu.

Gắn thẻ đơn hàng chưa hoàn tất quá 2 ngày

Mỗi ngày, dòng công việc này sẽ lấy tất cả các đơn hàng chưa hoàn tất quá 2 ngày và gắn thẻ vào đơn hàng. Xem mẫu.

Theo dõi biến thể sản phẩm đang giảm giá bằng trường siêu dữ liệu sản phẩm

Thiết lập trường siêu dữ liệu cho sản phẩm nếu có ít nhất một biến thể của sản phẩm đó đang giảm giá. Điều này rất hữu ích để theo dõi những sản phẩm nào hiện đang giảm giá. Xem mẫu.