Tìm hiểu về điều kiện trong Shopify Flow
Điều kiện là một bước trong dòng công việc, tại đây, hệ thống sẽ quyết định cách thức tiếp tục dựa trên việc có đáp ứng tập hợp tiêu chí hay không. Mỗi bước điều kiện có 2 khả năng: Đúng (khi đáp ứng tiêu chí) và Sai (khi không đáp ứng tiêu chí). Nếu bạn không xác định bước tiếp theo cho một trong hai khả năng bằng cách chọn một điều kiện hoặc hành động khác, thì tiến trình chạy dòng công việc sẽ dừng.
Ví dụ: nếu dòng công việc được kích hoạt khi có đơn hàng mới được tạo, một điều kiện có thể kiểm tra xem mã giảm giá AFFILIATE10 cụ thể có được sử dụng cho đơn hàng đó hay không. Nếu có, tùy chọn Đúng có thể dẫn đến hành động gửi email cho đối tác tiếp thị liên kết để thông báo rằng mã của họ đã được sử dụng. Nếu không, tùy chọn Sai có thể để trống, cho biết không có chuyện gì xảy ra tiếp theo và lần chạy dòng công việc kết thúc.
Một dòng công việc có thể có số lượng điều kiện bất kỳ, tùy thuộc vào độ phức tạp của dòng công việc đó. Các điều kiện cũng có thể kết nối với những điều kiện hoặc hành động khác tùy theo việc bạn muốn dòng công việc thực hiện điều gì. Có thể thiết lập điều kiện để kết nối theo trình tự (ví dụ: nếu điều kiện A đúng, thì kiểm tra điều kiện B; nếu A sai, thì kiểm tra C) hoặc bạn có thể thiết lập để chúng diễn ra đồng thời trong cùng một bước (ví dụ: kiểm tra xem A hoặc B hoặc C có đúng không).
Trên trang này
Xây dựng điều kiện cho dòng công việc
Không giống như yếu tố kích hoạt hay hành động mà bạn có thể chọn từ danh sách tùy chọn có sẵn đã thiết lập trước trong Shopify Flow, bạn phải xây dựng điều kiện từ đầu bằng cách chọn các biến, toán tử logic và giá trị để tạo câu lệnh điều kiện:
- Biến là phần giữ chỗ xác định dữ liệu mà điều kiện đang sử dụng. Ví dụ: nếu một điều kiện muốn kiểm tra mã giảm giá cụ thể trên đơn hàng, biến sẽ là
order.discountCode. Biến sử dụng cú pháp dấu chấm của GraphQL Admin API. - Một toán tử logic cho biết dòng công việc nên xác định xem điều kiện có được đáp ứng hay không bằng cách nào. Các toán tử logic có thể áp dụng ở cấp độ biến hoặc khi có nhiều biến được đưa vào làm một phần của tiêu chí điều kiện tổng thể:
- Các tùy chọn cấp độ biến bao gồm các toán tử cấp độ trường như Lớn hơn hoặc Bắt đầu bằng, hay toán tử danh sách như Ít nhất một trong số hoặc Tất cả.
- Các tùy chọn cấp độ điều kiện bao gồm VÀ, nghĩa là tất cả các biến phải đúng để điều kiện được coi là đúng về mặt tổng thể hoặc HOẶC, nghĩa là ít nhất 1 biến phải đúng để điều kiện được coi là đúng về mặt tổng thể.
- Giá trị là thông tin thực tế mà biến đang tìm kiếm. Ví dụ: nếu
order.discountCodecụ thể mà bạn muốn dòng công việc kiểm tra là AFFILIATE10, thì đó sẽ là giá trị cần đưa vào làm một phần của điều kiện.
Khi bạn chọn biến và toán tử, bước điều kiện trên khung vẽ Shopify Flow sẽ cập nhật để phản ánh câu lệnh điều kiện của bạn bằng ngôn ngữ thông thường, nhờ đó, bạn có thể kiểm tra lại xem điều kiện bạn đang xây dựng đã được định dạng đúng chưa. Bạn có thể nhấp vào Thêm mô tả để ghi đè câu lệnh điều kiện mặc định bằng phần mô tả do chính bạn viết.
Tìm hiểu thêm thông tin chi tiết về các thành phần của điều kiện trong Shopify Flow.
Tìm hiểu về biến trong điều kiện
Khi xây dựng bước điều kiện trong dòng công việc, bước đầu tiên bạn được yêu cầu thực hiện là Thêm biến. Nhưng biến là gì?
Trong Shopify Flow, biến là một phần giữ chỗ biểu thị dữ liệu đang được điều kiện sử dụng trong dòng công việc. Khi điều kiện có dạng "Nếu A lớn hơn 10...", phần A chính là biến. Về cơ bản, chọn biến cho điều kiện là cho điều kiện biết chính xác dữ liệu nào cần đánh giá.
Các biến được định dạng bằng cú pháp dấu chấm của GraphQL Admin API. Bạn không cần phải thành thạo API để tạo các dòng công việc bằng ứng dụng Flow, nhưng hiểu biết cơ bản về tên biến và định nghĩa biến có thể giúp bạn xây dựng logic dòng công việc cụ thể theo ý muốn.
Để hiểu dữ liệu mà biến đại diện, hãy xem xét thông tin sau đây về biến:
- Cách đọc cú pháp dấu chấm của biến.
- Tìm hiểu về yêu cầu dữ liệu đối với biến.
- Xác định vị trí biến chính xác trong khi tìm kiếm.
Mẹo: Nhận trợ giúp về biến từ Trợ lý Dev Docs
Nếu bạn không chắc chắn nên chọn biến nào khi xây dựng điều kiện, hãy cân nhắc xin lời khuyên của Trợ lý Dev Docs của Shopify. Trợ lý Dev Docs có quyền truy cập vào tất cả tài liệu liên quan đến GraphQL Admin API và có thể đưa ra đề xuất về cách định dạng điều kiện trong Shopify Flow:
- Truy cập Shopify Dev Docs.
- Nhấp vào Hỏi Trợ lý để mở bảng điều khiển trò chuyện.
- Trong trường tin nhắn, hãy nhập yêu cầu của bạn, chẳng hạn như "Tôi nên sử dụng biến nào trong Shopify Flow nếu muốn truy cập dữ liệu thẻ khách hàng khi yếu tố kích hoạt của tôi bắt đầu bằng "Đã tạo đơn hàng"?".
- Nhấn Enter hoặc nhấp vào
.
Đọc cú pháp dấu chấm của biến
Khi chọn biến, bạn sẽ nhận thấy chúng được định dạng thành các từ khóa phân tách bằng dấu chấm, chẳng hạn như order.customer.tag. Định dạng này biểu thị các bước mà API thực hiện để đi tới dữ liệu bạn muốn sử dụng. Mỗi "bước" của một biến được phân tách bằng một dấu chấm và đường dẫn đến dữ liệu được đọc từ trái sang phải. Các biến có thể có độ dài khác nhau tùy thuộc vào vị trí lưu trữ dữ liệu trong API và đường dẫn mà dòng công việc đi qua để đến đó.
Ví dụ:
order.email: Kiểm tra địa chỉ email liên kết với khách hàng đối với đơn hàng. Tương tự như cách bạn có thể nhấp vào một đơn hàng rồi kiểm tra địa chỉ email trên trang chi tiết đơn hàng.refunds_item.staffMember.name: Kiểm tra đơn hàng để tìm khoản hoàn tiền mặt hàng, đi tới thông tin nhân viên liên kết với khoản hoàn tiền đó và kiểm tra họ tên của nhân viên đó.
Khi chọn biến, hãy cân nhắc cách bạn có thể điều hướng trong trang quản trị Shopify để tìm thông tin mong muốn. Nhiều khả năng API cũng cần đi theo đường dẫn tương tự, điều này có thể giúp bạn xác định cách định dạng biến của mình.
Ví dụ: nếu đang xem xét một đơn hàng mới và muốn biết khách hàng liên kết với đơn hàng thuộc nhóm RFM nào, bạn có thể nghĩ đến việc nhấp vào tên khách hàng trên đơn hàng để được chuyển hướng đến trang chi tiết khách hàng trong trang quản trị Shopify, sau đó bạn có thể kiểm tra bản tóm tắt phân tích của khách hàng để đọc giá trị được hiển thị trong cột Nhóm RFM.
Biến bạn dùng để trả về dữ liệu tương tự trong Shopify Flow sẽ sử dụng một đường dẫn tương tự: order.customer.statistics.rfmGroup.
Yêu cầu dữ liệu đối với biến
Biến yêu cầu phải có dữ liệu. Nếu không có sẵn dữ liệu phù hợp cho biến, điều kiện sẽ không hoạt động và dòng công việc sẽ thất bại. Dựa trên yếu tố kích hoạt bạn đã chọn làm điểm bắt đầu của dòng công việc, các tùy chọn về biến có thể thêm vào điều kiện sẽ thay đổi để phản ánh những tùy chọn khả thi dựa trên dữ liệu có sẵn.
Ví dụ: nếu dòng công việc bắt đầu bằng yếu tố kích hoạt Đã tạo sản phẩm, thì các điều kiện bạn tạo từ yếu tố kích hoạt đó sẽ bị giới hạn ở những biến có sẵn từ tập dữ liệu sản phẩm. Do đó, các biến như product.category.name, product.vendor và variants_item.displayName đều có thể được sử dụng làm một phần của điều kiện. Ngược lại, các biến như customer.verifiedEmail hoặc subscriptionContracts_item.status sẽ không hiển thị dưới dạng tùy chọn vì chúng không liên kết với tập dữ liệu sản phẩm.
Tuy nhiên, điều này không nhất thiết có nghĩa là dữ liệu trong các tập dữ liệu khác hoàn toàn không thể truy cập được. Một số dữ liệu có thể được truy cập từ nhiều đường dẫn trong API, giống như cách bạn nhấp vào các liên kết khác nhau để đến cùng một trang trong bảng điều khiển quản trị. Trên thực tế, điều này có nghĩa là các yếu tố kích hoạt khác nhau yêu cầu ký hiệu biến khác nhau để trả về cùng một thông tin.
Ví dụ: bạn muốn dòng công việc kiểm tra các thẻ trên hồ sơ khách hàng. Nếu dòng công việc bắt đầu bằng yếu tố kích hoạt Đã tạo đơn hàng, thì biến sẽ là order.customer.tags vì dòng công việc bắt đầu với dữ liệu đơn hàng, sau đó kiểm tra thông tin khách hàng trong đơn hàng, rồi kiểm tra thẻ của khách hàng đó. Nếu dòng công việc bắt đầu bằng yếu tố kích hoạt Đã tạo khách hàng, thì biến sẽ chỉ là customer.tags vì dòng công việc bắt đầu bằng dữ liệu khách hàng nên có thể trực tiếp kiểm tra các thẻ trên hồ sơ khách hàng.
Kiểm tra đường dẫn của biến khi tìm kiếm dựa trên từ khóa
Do kiểu ký hiệu dấu chấm trong Shopify Flow, việc tìm kiếm biến để sử dụng trong một điều kiện dựa trên từ khóa có thể trả về nhiều kết quả. Hiểu đường dẫn của biến biểu thị điều gì rất quan trọng khi xác định biến cần chọn lúc xây dựng điều kiện.
Ví dụ: dòng công việc sử dụng yếu tố kích hoạt Đã tạo đơn hàng và bạn tìm kiếm một biến bằng từ khóa tags. Lệnh tìm kiếm có thể trả về các kết quả sau đây nhằm kiểm tra thông tin khác nhau trong đơn hàng:
order.tags: Thẻ được áp dụng cho chính đơn hàng đó. Ví dụ: #rush order hoặc #gift.order.customer.tags: Thẻ được áp dụng cho khách hàng đã đặt đơn hàng. Ví dụ: #VIP hoặc #affiliate.order.lineItems.product.tags: Thẻ được áp dụng cho sản phẩm đã mua trong đơn hàng. Ví dụ: #fragile hoặc #requiresID.
Dựa trên loại thẻ mà bạn muốn dòng công việc kiểm tra, bạn cần chọn đúng biến để điều kiện hoạt động như dự kiến.
Tìm hiểu về toán tử logic trong điều kiện
Toán tử logic xác định cách áp dụng điều kiện và trả về một câu lệnh đúng hoặc sai. Khi một điều kiện là "Nếu A lớn hơn 10...", phần is greater than (lớn hơn) là toán tử logic. Việc chọn toán tử logic cho điều kiện về cơ bản là cho biết điều kiện sẽ đánh giá biến như thế nào.
Trong dòng công việc của Shopify Flow, có 3 loại toán tử logic:
- Toán tử cấp độ trường, chẳng hạn như Lớn hơn hoặc Bắt đầu bằng.
- Toán tử danh sách, chẳng hạn như Ít nhất một trong số hoặc Tất cả.
- Toán tử cấp độ điều kiện, chẳng hạn như AND hoặc OR.
Toán tử cấp độ trường và toán tử danh sách áp dụng ở cấp độ biến, còn toán tử cấp độ điều kiện áp dụng cho toàn bộ điều kiện và có thể được sử dụng để kết hợp nhiều biến thành một điều kiện duy nhất.
Toán tử cấp độ trường là loại toán tử phổ biến nhất, được sử dụng trong mọi loại câu lệnh biến. Bằng toán tử cấp độ trường, bạn có thể tạo câu lệnh điều kiện như "Nếu A lớn hơn 10 thì thực hiện X" hoặc "Nếu B có chứa 'VIP' thì thực hiện X" để có mức độ kiểm soát cao hơn đối với những giá trị biến trả về kết quả đúng. Bằng là toán tử logic mặc định.
Toán tử danh sách chỉ có thể áp dụng cho các biến có khả năng trả về một danh sách kết quả. Ví dụ: biến lineItems_item.variant.price trả về giá của biến thể sản phẩm trong đơn hàng. Biến này có thể trả về một danh sách kết quả khi khách hàng mua nhiều sản phẩm trong cùng một đơn hàng. Điều này có nghĩa là bạn có thể áp dụng toán tử danh sách như Ít nhất một trong số khi muốn câu lệnh điều kiện như "lineItems_item.variant.price lớn hơn $10" là đúng khi có ít nhất 1 biến thể sản phẩm trong đơn hàng có giá trên $10. Ngược lại, toán tử danh sách không hiển thị đối với những biến chỉ có thể trả về 1 kết quả tại một thời điểm. Ví dụ: chỉ có 1 giá trị khả thi cho một biến như order.createdAt vì đơn hàng chỉ được tạo một lần, do đó toán tử danh sách không hiển thị dưới dạng tùy chọn để sửa đổi câu lệnh chứa biến đó.
Các toán tử cấp độ điều kiện như AND và OR cho phép bạn đưa nhiều biến vào cùng một điều kiện. Ví dụ: thay vì một câu lệnh điều kiện đơn giản như "Nếu A bằng 5 thì thực hiện X", bạn có thể tạo các điều kiện phức tạp hơn như "Nếu A bằng 5 và B lớn hơn 10 thì thực hiện X" (yêu cầu cả biến A và B đều đúng), hoặc "Nếu A bằng 5 hoặc B lớn hơn 10 hoặc C nhỏ hơn 1 thì thực hiện X" (chỉ cần 1 trong các biến A, B hoặc C đúng). Sử dụng AND khi mọi yếu tố trong dòng công việc đều phải đúng; sử dụng OR khi chỉ cần đáp ứng 1 tiêu chí là đủ để điều kiện đúng.
Tại sao điều này quan trọng: Hiểu cách toán tử logic hoạt động trong điều kiện sẽ giúp bạn xây dựng dòng công việc kiểm tra chính xác các tiêu chí bạn muốn. Với 3 loại toán tử logic, bạn có thể tạo các câu lệnh điều kiện chi tiết và phức tạp để xây dựng dòng công việc kiểm tra các điều kiện rất cụ thể.
Tìm hiểu thêm thông tin chi tiết về toán tử logic trong điều kiện.