ทำความเข้าใจเกี่ยวกับเงื่อนไขใน Shopify Flow

เงื่อนไขคือขั้นตอนในเวิร์กโฟลว์ที่มีการตัดสินใจว่าจะดำเนินการต่ออย่างไรโดยพิจารณาว่าตรงตามเกณฑ์ที่กำหนดไว้หรือไม่ แต่ละขั้นตอนของเงื่อนไขมี 2 ความเป็นไปได้คือ จริง เมื่อตรงตามเกณฑ์ และ เท็จ เมื่อไม่ตรงตามเกณฑ์ หากคุณไม่กำหนดขั้นตอนถัดไปสำหรับความเป็นไปได้ใดๆ โดยการเลือกเงื่อนไขหรือคำสั่งอื่น การรันเวิร์กโฟลว์จะหยุดลง

ตัวอย่างเช่น หากเวิร์กโฟลว์ของคุณเริ่มทำงานเมื่อมีการสร้างคำสั่งซื้อ เงื่อนไขก็สามารถตรวจสอบได้ว่ามีการใช้รหัสส่วนลด AFFILIATE10 ที่ระบุในคำสั่งซื้อนั้นหรือไม่ หากมีการใช้ ตัวเลือกจริงอาจนำไปสู่คำสั่งที่ส่งอีเมลไปยังตัวแทนโฆษณาสินค้าและบริการเพื่อแจ้งให้ทราบว่ามีการใช้รหัสของพวกเขา หากไม่มีการใช้ ตัวเลือกเท็จอาจเว้นว่างไว้ ซึ่งหมายความว่าจะไม่มีอะไรเกิดขึ้นอีกและการรันเวิร์กโฟลว์จะสิ้นสุดลง

เวิร์กโฟลว์สามารถมีเงื่อนไขกี่รายการก็ได้ ขึ้นอยู่กับความซับซ้อนของเวิร์กโฟลว์ของคุณ นอกจากนี้ เงื่อนไขยังสามารถเชื่อมต่อกับเงื่อนไขหรือคำสั่งอื่นๆ ได้ ขึ้นอยู่กับสิ่งที่คุณต้องการให้เวิร์กโฟลว์ทำ สามารถตั้งค่าเงื่อนไขให้เชื่อมต่อกันตามลำดับได้ (ตัวอย่างเช่น หากเงื่อนไข A เป็นจริง ให้ตรวจสอบเงื่อนไข B หาก A เป็นเท็จ ให้ตรวจสอบ C) หรือจะตั้งค่าให้เกิดขึ้นพร้อมกันเป็นส่วนหนึ่งของขั้นตอนเดียวกันก็ได้ (ตัวอย่างเช่น ตรวจสอบว่า A หรือ B หรือ C เป็นจริง)

การสร้างเงื่อนไขสำหรับเวิร์กโฟลว์ของคุณ

เงื่อนไขจะแตกต่างจากทริกเกอร์หรือคำสั่งที่คุณสามารถเลือกได้จากรายการตัวเลือกที่ตั้งไว้ล่วงหน้าซึ่งพร้อมใช้งานใน Shopify Flow โดยเงื่อนไขจะสร้างขึ้นใหม่ทั้งหมดจากการเลือกตัวแปร ตัวดำเนินการตรรกะ และค่าต่างๆ เพื่อสร้างคำสั่งตามเงื่อนไขดังนี้

  • ตัวแปรคือตัวยึดตำแหน่งที่กำหนดข้อมูลที่เงื่อนไขกำลังใช้ ตัวอย่างเช่น หากเงื่อนไขต้องการตรวจสอบรหัสส่วนลดที่ระบุในคำสั่งซื้อ ตัวแปรก็จะเป็น order.discountCode ทั้งนี้ ตัวแปรจะใช้สัญกรณ์จุดของ GraphQL Admin API
  • ตัวดำเนินการตรรกะ จะระบุวิธีที่เวิร์กโฟลว์ใช้ตัดสินว่าตรงตามเงื่อนไขหรือไม่ ทั้งนี้ ตัวดำเนินการตรรกะสามารถนำไปใช้ในระดับตัวแปร หรือเมื่อมีตัวแปรหลายรายการรวมเป็นส่วนหนึ่งของเกณฑ์เงื่อนไขโดยรวมได้ดังนี้
    • ตัวเลือกระดับตัวแปรประกอบด้วยตัวดำเนินการระดับช่องข้อมูล เช่น มากกว่า หรือ เริ่มต้นด้วย หรือตัวดำเนินการระดับรายการ เช่น อย่างน้อยหนึ่งรายการ หรือ ทั้งหมด
    • ตัวเลือกระดับเงื่อนไขประกอบด้วย AND ซึ่งหมายความว่าตัวแปรทั้งหมดต้องเป็นจริงเพื่อให้เงื่อนไขโดยรวมถือว่าเป็นจริง หรือ OR ซึ่งหมายความว่าต้องมีตัวแปรอย่างน้อย 1 รายการที่เป็นจริงเพื่อให้เงื่อนไขโดยรวมถือว่าเป็นจริง
  • ค่าคือข้อมูลจริงที่ตัวแปรค้นหา ตัวอย่างเช่น หาก order.discountCode ที่คุณต้องการให้เวิร์กโฟลว์ตรวจสอบคือ AFFILIATE10 นั่นก็คือค่าที่จะต้องรวมเป็นส่วนหนึ่งของเงื่อนไข

ขณะที่คุณเลือกตัวแปรและตัวดำเนินการ ขั้นตอนของเงื่อนไขในหน้าจอการทำงานของ Shopify Flow จะอัปเดตเพื่อแสดงคำสั่งตามเงื่อนไขของคุณในภาษาที่เข้าใจง่าย เพื่อให้คุณสามารถตรวจสอบซ้ำได้ว่าเงื่อนไขที่คุณกำลังสร้างนั้นจัดรูปแบบอย่างถูกต้องหรือไม่ คุณสามารถคลิกเพิ่มคำอธิบายเพื่อเขียนทับคำสั่งตามเงื่อนไขเริ่มต้นด้วยคำอธิบายที่คุณเขียนเองได้

ดูข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับองค์ประกอบของเงื่อนไขใน Shopify Flow

ทำความเข้าใจเกี่ยวกับตัวแปรในเงื่อนไข

เมื่อสร้างขั้นตอนของเงื่อนไขในเวิร์กโฟลว์ ขั้นตอนแรกที่คุณจะได้รับแจ้งให้ทำคือการเพิ่มตัวแปร แต่ตัวแปรคืออะไร

ใน Shopify Flow ตัวแปรคือตัวยึดตำแหน่งที่ระบุข้อมูลที่เงื่อนไขกำลังใช้ในเวิร์กโฟลว์ เมื่อเงื่อนไขระบุว่า “ถ้า A มากกว่า 10...” ส่วนที่เป็น A ก็คือตัวแปร การเลือกตัวแปรสำหรับเงื่อนไขนั้นโดยหลักแล้วคือการบอกเงื่อนไขว่าต้องประเมินข้อมูลใดโดยเฉพาะ

ตัวแปรจัดรูปแบบโดยใช้สัญกรณ์จุดของ GraphQL Admin API คุณไม่จำเป็นต้องเชี่ยวชาญ API เพื่อสร้างเวิร์กโฟลว์ด้วยแอป Flow แต่ความเข้าใจพื้นฐานเกี่ยวกับชื่อตัวแปรและคำจำกัดความจะช่วยให้คุณสร้างตรรกะของเวิร์กโฟลว์ที่ต้องการได้

เพื่อให้เข้าใจว่าตัวแปรแสดงถึงข้อมูลใด โปรดพิจารณาข้อมูลต่อไปนี้เกี่ยวกับตัวแปร

เคล็ดลับ: รับความช่วยเหลือเกี่ยวกับตัวแปรจาก Dev Docs Assistant

หากคุณไม่แน่ใจว่าควรเลือกตัวแปรใดเมื่อสร้างเงื่อนไข โปรดลองขอคำแนะนำจาก Shopify Dev Docs Assistant เนื่องจาก Shopify Dev Docs Assistant สามารถเข้าถึงเอกสารทั้งหมดที่เกี่ยวกับ GraphQL Admin API และสามารถให้คำแนะนำเกี่ยวกับวิธีจัดรูปแบบเงื่อนไขใน Shopify Flow ได้ดังนี้

  1. ไปที่ Shopify Dev Docs
  2. คลิก Ask Assistant เพื่อเปิดแผงแชท
  3. ในช่องข้อความ ให้ป้อนคำขอของคุณ เช่น "ฉันควรใช้ตัวแปรใดใน Shopify Flow หากฉันต้องการเข้าถึงข้อมูลแท็กลูกค้าเมื่อทริกเกอร์ของฉันเริ่มต้นด้วย “สร้างคำสั่งซื้อแล้ว”"
  4. กด Enter หรือคลิก ส่ง

การอ่านสัญกรณ์จุดของตัวแปร

เมื่อเลือกตัวแปร คุณจะสังเกตเห็นว่าตัวแปรจะอยู่ในรูปแบบของคำสำคัญที่คั่นด้วยเครื่องหมายจุด เช่น order.customer.tag รูปแบบนี้บ่งบอกถึงขั้นตอนที่ API ใช้เพื่อเข้าถึงข้อมูลที่คุณต้องการใช้ แต่ละ 'ขั้นตอน' ของตัวแปรจะถูกคั่นด้วยเครื่องหมายจุด และเส้นทางไปยังข้อมูลจะอ่านจากซ้ายไปขวา ตัวแปรอาจมีความยาวแตกต่างกันไป ขึ้นอยู่กับตำแหน่งที่ข้อมูลถูกจัดเก็บไว้ใน API และเส้นทางที่ขั้นตอนการทำงานใช้เพื่อเข้าถึงข้อมูลนั้น

ตัวอย่างเช่น

  • order.email: ตรวจสอบที่อยู่อีเมลที่เชื่อมโยงกับลูกค้าของคำสั่งซื้อ ซึ่งคล้ายกับการที่คุณคลิกคำสั่งซื้อแล้วตรวจสอบที่อยู่อีเมลในหน้ารายละเอียดคำสั่งซื้อ
  • refunds_item.staffMember.name: ตรวจสอบคำสั่งซื้อเพื่อดูการคืนเงินสำหรับสินค้า ไปที่ข้อมูลพนักงานที่เชื่อมโยงกับการคืนเงินนั้น และตรวจสอบชื่อเต็มของพนักงานคนดังกล่าว

เมื่อเลือกตัวแปร ให้ลองพิจารณาว่าคุณจะไปยังส่วนต่างๆ ในส่วนผู้ดูแล Shopify เพื่อค้นหาข้อมูลที่ต้องการได้อย่างไร เป็นไปได้ว่า API อาจต้องใช้เส้นทางที่คล้ายกัน ซึ่งจะช่วยให้คุณตัดสินใจได้ว่าตัวแปรของคุณควรมีรูปแบบอย่างไร

ตัวอย่างเช่น หากคุณกำลังตรวจสอบคำสั่งซื้อใหม่และต้องการทราบว่าลูกค้าที่เชื่อมโยงกับคำสั่งซื้อนั้นอยู่ในกลุ่ม RFMใด คุณอาจนึกถึงการคลิกชื่อลูกค้าในคำสั่งซื้อเพื่อเปลี่ยนเส้นทางไปยังหน้ารายละเอียดของลูกค้าในส่วนผู้ดูแล Shopify จากนั้นคุณอาจตรวจสอบข้อมูลสรุปการวิเคราะห์ของลูกค้าเพื่ออ่านค่าที่แสดงในคอลัมน์กลุ่ม RFM

ตัวแปรที่คุณจะใช้เพื่อส่งคืนข้อมูลเดียวกันใน Shopify Flow จะใช้เส้นทางที่คล้ายกันคือ order.customer.statistics.rfmGroup

ข้อกำหนดด้านข้อมูลสำหรับตัวแปร

ตัวแปรจำเป็นต้องใช้ข้อมูล หากไม่มีข้อมูลที่ถูกต้องสำหรับตัวแปร เงื่อนไขจะไม่ทำงานและขั้นตอนการทำงานจะล้มเหลว ตัวเลือกสำหรับตัวแปรที่จะเพิ่มไปยังเงื่อนไขของคุณจะเปลี่ยนแปลงไปตามทริกเกอร์ที่คุณเลือกเป็นจุดเริ่มต้นของขั้นตอนการทำงาน เพื่อให้สอดคล้องกับตัวเลือกที่เป็นไปได้ตามข้อมูลที่มีอยู่

ตัวอย่างเช่น หากขั้นตอนการทำงานของคุณเริ่มต้นด้วยทริกเกอร์สร้างสินค้าแล้ว เงื่อนไขที่คุณสร้างจากทริกเกอร์นั้นจะจำกัดอยู่แค่ตัวแปรที่มีอยู่ในชุดข้อมูลสินค้า ดังนั้น ตัวแปรต่างๆ เช่น product.category.name, product.vendor และ variants_item.displayName จึงพร้อมให้ใช้งานเป็นส่วนหนึ่งของเงื่อนไขได้ทั้งหมด ในทางกลับกัน ตัวแปรต่างๆ เช่น customer.verifiedEmail หรือ subscriptionContracts_item.status จะไม่แสดงเป็นตัวเลือก เนื่องจากไม่ได้เชื่อมโยงกับชุดข้อมูลสินค้า

อย่างไรก็ตาม นี่ไม่ได้หมายความว่าข้อมูลที่อยู่ในชุดข้อมูลอื่นจะไม่สามารถเข้าถึงได้อย่างสิ้นเชิง ข้อมูลบางอย่างสามารถเข้าถึงได้จากหลายเส้นทางใน API ในลักษณะเดียวกับที่คุณอาจคลิกผ่านลิงก์ต่างๆ เพื่อไปยังหน้าเดียวกันในส่วนผู้ดูแล Shopify ในทางปฏิบัติ นี่หมายความว่าทริกเกอร์ที่แตกต่างกันต้องใช้สัญกรณ์ตัวแปรที่แตกต่างกันเพื่อส่งคืนข้อมูลเดียวกัน

ตัวอย่างเช่น คุณต้องการให้ขั้นตอนการทำงานของคุณตรวจสอบแท็กในโปรไฟล์ลูกค้า หากขั้นตอนการทำงานของคุณเริ่มต้นด้วยทริกเกอร์สร้างคำสั่งซื้อแล้ว ตัวแปรก็จะเป็น order.customer.tags เนื่องจากขั้นตอนการทำงานจะเริ่มต้นด้วยข้อมูลคำสั่งซื้อ จากนั้นจะตรวจสอบข้อมูลลูกค้าในคำสั่งซื้อ แล้วจึงตรวจสอบแท็กของลูกค้ารายนั้น หากขั้นตอนการทำงานของคุณเริ่มต้นด้วยทริกเกอร์สร้างลูกค้าแล้ว ตัวแปรก็จะเป็น customer.tags เนื่องจากขั้นตอนการทำงานเริ่มต้นด้วยข้อมูลลูกค้า จึงสามารถตรงไปที่การตรวจสอบแท็กในโปรไฟล์ลูกค้าได้เลย

เนื่องจากรูปแบบสัญกรณ์จุดใน Shopify Flow การค้นหาตัวแปรเพื่อใช้ในเงื่อนไขโดยอิงจากคำสำคัญจึงอาจส่งผลลัพธ์หลายรายการ การทำความเข้าใจว่าเส้นทางของตัวแปรบ่งชี้ถึงอะไรจึงเป็นสิ่งสำคัญในการตัดสินใจว่าจะเลือกตัวแปรใดเมื่อสร้างเงื่อนไขของคุณ

ตัวอย่างเช่น ขั้นตอนการทำงานของคุณใช้ทริกเกอร์สร้างคำสั่งซื้อแล้ว และคุณค้นหาตัวแปรโดยใช้คำสำคัญ tags การค้นหาของคุณอาจส่งคืนผลลัพธ์ต่อไปนี้ ซึ่งจะตรวจสอบข้อมูลที่แตกต่างกันในคำสั่งซื้อ

  • order.tags: แท็กที่ใช้กับตัวคำสั่งซื้อเอง ตัวอย่างเช่น #rush order หรือ #gift
  • order.customer.tags: แท็กที่ใช้กับลูกค้าที่ทำการสั่งซื้อ ตัวอย่างเช่น #VIP หรือ #affiliate
  • order.lineItems.product.tags: แท็กที่ใช้กับสินค้าที่ซื้อในคำสั่งซื้อ ตัวอย่างเช่น #fragile หรือ #requiresID

คุณต้องเลือกตัวแปรที่ถูกต้องตามประเภทของแท็กที่คุณต้องการให้ขั้นตอนการทำงานตรวจสอบ เพื่อให้เงื่อนไขของคุณทำงานตามที่คาดไว้

การทำความเข้าใจตัวดำเนินการตรรกะในเงื่อนไข

ตัวดำเนินการตรรกะจะกำหนดวิธีการใช้เงื่อนไขของคุณ และส่งผลให้ข้อความเป็นจริงหรือเท็จ เมื่อเงื่อนไขระบุว่า "หาก A มากกว่า 10..." ส่วนของ มากกว่า คือตัวดำเนินการตรรกะ การเลือกตัวดำเนินการตรรกะสำหรับเงื่อนไขนั้นโดยพื้นฐานแล้วคือการบอกเงื่อนไขว่าจะประเมินตัวแปรอย่างไร

ในขั้นตอนการทำงานของ Shopify Flow มีตัวดำเนินการตรรกะอยู่ 3 ประเภทดังนี้

  • ตัวดำเนินการระดับช่องข้อมูล เช่น มากกว่า หรือ ขึ้นต้นด้วย
  • ตัวดำเนินการรายการ เช่น อย่างน้อยหนึ่งรายการ หรือ ทั้งหมด
  • ตัวดำเนินการระดับเงื่อนไข เช่น AND หรือ OR

ตัวดำเนินการระดับช่องข้อมูลและตัวดำเนินการรายการจะใช้ในระดับตัวแปร ส่วนตัวดำเนินการระดับเงื่อนไขจะใช้กับเงื่อนไขโดยรวม และสามารถใช้เพื่อรวมตัวแปรหลายตัวให้เป็นเงื่อนไขเดียวได้

ตัวดำเนินการระดับช่องข้อมูลเป็นประเภทของตัวดำเนินการที่พบบ่อยที่สุด โดยใช้ในข้อความตัวแปรทุกประเภท ด้วยตัวดำเนินการระดับช่องข้อมูล คุณสามารถสร้างข้อความแบบมีเงื่อนไข เช่น "หาก A มากกว่า 10 ให้ทำ X" หรือ "หาก B มี 'VIP' ให้ทำ X" เพื่อให้ควบคุมค่าของตัวแปรที่จะส่งผลลัพธ์เป็นจริงได้มากขึ้น เท่ากับเป็นตัวดำเนินการตรรกะเริ่มต้น

ตัวดำเนินการรายการสามารถใช้ได้กับตัวแปรที่สามารถส่งคืนผลลัพธ์เป็นรายการเท่านั้น ตัวอย่างเช่น ตัวแปร lineItems_item.variant.price จะส่งคืนราคาสำหรับตัวเลือกสินค้าในคำสั่งซื้อ ซึ่งสามารถส่งคืนผลลัพธ์เป็นรายการได้เมื่อลูกค้าซื้อสินค้าหลายรายการในคำสั่งซื้อเดียวกัน ซึ่งหมายความว่าคุณสามารถใช้ตัวดำเนินการรายการ เช่น อย่างน้อยหนึ่งรายการ เมื่อคุณต้องการให้ข้อความตามเงื่อนไข เช่น "lineItems_item.variant.price มากกว่า $10" เป็นจริง เมื่อมีตัวเลือกสินค้าอย่างน้อย 1 รายการในคำสั่งซื้อที่มีราคาสูงกว่า $10 ในทางกลับกัน ตัวดำเนินการรายการจะไม่แสดงสำหรับตัวแปรที่สามารถส่งคืนผลลัพธ์ได้เพียง 1 รายการต่อครั้ง ตัวอย่างเช่น มีค่าที่เป็นไปได้เพียงค่าเดียวสำหรับตัวแปร เช่น order.createdAt เนื่องจากคำสั่งซื้อสามารถสร้างได้เพียงครั้งเดียว ดังนั้นตัวดำเนินการรายการจึงไม่แสดงเป็นตัวเลือกสำหรับแก้ไขข้อความที่มีตัวแปรนั้น

ตัวดำเนินการระดับเงื่อนไข เช่น AND และ OR ช่วยให้คุณรวมตัวแปรหลายตัวไว้ในเงื่อนไขเดียวกันได้ ตัวอย่างเช่น แทนที่จะใช้คำสั่งตามเงื่อนไขง่ายๆ อย่าง หาก A เท่ากับ 5 ให้ดำเนินการ X คุณสามารถสร้างเงื่อนไขที่ซับซ้อนยิ่งขึ้นได้ เช่น หาก A เท่ากับ 5 และ B มากกว่า 10 ให้ดำเนินการ X ซึ่งกำหนดให้ตัวแปรทั้ง A และ B ต้องเป็นจริง หรือ หาก A เท่ากับ 5 หรือ B มากกว่า 10 หรือ C น้อยกว่า 1 ให้ดำเนินการ X ซึ่งกำหนดให้ตัวแปร A, B หรือ C เพียงตัวใดตัวหนึ่งเป็นจริงก็พอ ใช้ AND เมื่อทุกอย่างในเวิร์กโฟลว์ต้องเป็นจริง และใช้ OR เมื่อมีเกณฑ์ใดเกณฑ์หนึ่งเป็นจริงก็เพียงพอให้เงื่อนไขนั้นเป็นจริง

เหตุใดจึงสำคัญ การทำความเข้าใจวิธีการทำงานของตัวดำเนินการตรรกะในเงื่อนไขจะช่วยให้คุณสร้างเวิร์กโฟลว์ที่ตรวจสอบเกณฑ์ที่คุณต้องการได้อย่างแม่นยำ ด้วยตัวดำเนินการตรรกะทั้ง 3 ประเภท คุณจะสามารถสร้างคำสั่งตามเงื่อนไขที่ละเอียดและซับซ้อนเพื่อสร้างเวิร์กโฟลว์ที่ตรวจสอบเงื่อนไขที่เฉพาะเจาะจงอย่างยิ่งได้

ดูข้อมูลเพิ่มเติมเกี่ยวกับ logical operators in conditions