Shopify Flow میں کنڈیشن کو سمجھنا

کنڈیشن ورک فلو میں ایک ایسا قدم ہے جہاں اس بات کا فیصلہ کیا جاتا ہے کہ آیا کسی معیار کا مجموعہ پورا ہوا ہے یا نہیں، اس کی بنیاد پر آگے کیسے بڑھنا ہے۔ ہر کنڈیشن کے قدم کے 2 امکانات ہوتے ہیں: True، جب معیار پورا ہو گیا ہو، اور False جب معیار پورا نہ ہوا ہو۔ اگر آپ کوئی دوسری کنڈیشن یا ایکشن منتخب کر کے دونوں امکانات میں سے کسی کے لیے اگلا قدم بیان نہیں کرتے ہیں، تو ورک فلو کا رن رک جاتا ہے۔

مثال کے طور پر، اگر آپ کا ورک فلو اس وقت ٹرگر ہوتا ہے جب کوئی آرڈر بنایا جاتا ہے، تو ایک کنڈیشن یہ چیک کر سکتی ہے کہ آیا آرڈر پر کوئی مخصوص AFFILIATE10 ڈسکاؤنٹ کوڈ استعمال کیا گیا تھا۔ اگر کیا گیا تھا، تو True کا آپشن ایسے ایکشن کی طرف لے جا سکتا ہے جو ملحقہ شخص کو ای میل بھیج کر اسے یہ بتائے کہ ان کا کوڈ استعمال ہوا تھا۔ اگر ایسا نہیں ہوا تھا، تو False آپشن خالی ہو سکتا ہے، جو اس بات کی نشاندہی کرتا ہے کہ آگے کچھ نہیں ہوگا اور ورک فلو کا رن ختم ہو جائے گا۔

آپ کے ورک فلو کی پیچیدگی کے لحاظ سے، ایک ورک فلو میں کنڈیشن کی کوئی بھی تعداد ہو سکتی ہے۔ کنڈیشن اس بات پر بھی منحصر ہو کر دیگر کنڈیشن یا ایکشن کے ساتھ جڑ سکتی ہیں کہ آپ ورک فلو سے کیا کروانا چاہتے ہیں۔ کنڈیشن کو ایک ترتیب میں جڑنے کے لیے سیٹ کیا جا سکتا ہے (مثال کے طور پر، اگر کنڈیشن A درست ہے، تو کنڈیشن B کو چیک کریں؛ اگر A غلط ہے، تو C کو چیک کریں)، یا آپ انہیں اسی قدم کے حصے کے طور پر بیک وقت واقع ہونے کے لیے سیٹ کر سکتے ہیں (مثال کے طور پر، چیک کریں کہ آیا A، B یا C درست ہے)۔

اپنے ورک فلو کے لیے کنڈیشن تیار کرنا

ایک ٹرگر یا ایکشن کے برعکس، جسے آپ Shopify Flow میں دستیاب آپشنز کی پہلے سے سیٹ کردہ فہرست سے منتخب کر سکتے ہیں، مشروط اسٹیٹمنٹ بنانے کے لیے ویری ایبل، لاجیکل آپریٹر، اور ویلیوز کو منتخب کر کے کنڈیشن کو بالکل شروع سے تیار کیا جاتا ہے:

  • ایک ویری ایبل ایک پلیس ہولڈر ہے جو اس ڈیٹا کی وضاحت کرتا ہے جسے کنڈیشن استعمال کر رہی ہے۔ مثال کے طور پر، اگر کوئی کنڈیشن آرڈر پر کسی مخصوص ڈسکاؤنٹ کوڈ کو چیک کرنا چاہتی ہے، تو ویری ایبل order.discountCode ہوگا۔ ویری ایبل GraphQL Admin API ڈاٹ نوٹیشن استعمال کرتے ہیں۔
  • ایک لاجیکل آپریٹر اس بات کی نشاندہی کرتا ہے کہ ورک فلو کو کس طرح اس بات کا تعین کرنا چاہیے کہ آیا کنڈیشن پوری ہوئی ہے۔ لاجیکل آپریٹر کا اطلاق ویری ایبل کی سطح پر ہو سکتا ہے، یا اس وقت ہو سکتا ہے جب مجموعی کنڈیشن کے معیار کے حصے کے طور پر متعدد ویری ایبل شامل کیے گئے ہوں:
    • ویری ایبل لیول کے آپشنز میں فیلڈ لیول کے آپریٹر جیسے کہ Greater than یا Starts with، یا لسٹ کے آپریٹر جیسے کہ At least one of یا All of شامل ہیں۔
    • کنڈیشن لیول کے آپشنز میں AND شامل ہے، جس کا مطلب ہے کہ کنڈیشن کو مجموعی طور پر درست سمجھے جانے کے لیے تمام ویری ایبل کا درست ہونا لازمی ہے، یا OR، جس کا مطلب ہے کہ کنڈیشن کو مجموعی طور پر درست سمجھے جانے کے لیے کم از کم 1 ویری ایبل کا درست ہونا ضروری ہے۔
  • ایک ویلیو وہ اصل معلومات ہوتی ہے جسے ویری ایبل تلاش کر رہا ہوتا ہے۔ مثال کے طور پر، اگر وہ مخصوص order.discountCode جسے آپ ورک فلو سے چیک کروانا چاہتے ہیں AFFILIATE10 ہے، تو کنڈیشن کے حصے کے طور پر شامل کرنے کے لیے یہی ویلیو ہو گی۔

جیسے ہی آپ اپنے ویری ایبل اور آپریٹر منتخب کرتے ہیں، Shopify Flow کینوس میں موجود کنڈیشن کا قدم آپ کی مشروط اسٹیٹمنٹ کو آسان زبان میں منعکس کرنے کے لیے اپ ڈیٹ ہو جاتا ہے، تاکہ آپ دوبارہ چیک کر سکیں کہ آیا آپ جو کنڈیشن بنا رہے ہیں وہ صحیح طریقے سے فارمیٹ کی گئی ہے۔ آپ ڈیفالٹ مشروط اسٹیٹمنٹ کی جگہ اپنی لکھی ہوئی تفصیل شامل کرنے کے لیے Add description پر کلک کر سکتے ہیں۔

Shopify Flow میں کنڈیشن کے عناصر کے بارے میں مزید تفصیلی معلومات جانیں۔

کنڈیشن میں ویری ایبل کو سمجھنا

ورک فلو میں کنڈیشن کا قدم تیار کرتے وقت، آپ کو جو پہلا قدم اٹھانے کا کہا جاتا ہے وہ Add a variable ہے۔ لیکن، ایک ویری ایبل کیا ہے؟

Shopify Flow میں، ویری ایبل ایک پلیس ہولڈر ہے جو ورک فلو میں کنڈیشن کے زیر استعمال ڈیٹا کی نشاندہی کرتا ہے۔ جب کوئی کنڈیشن یہ پڑھتی ہے کہ "اگر A، 10 سے زیادہ ہے..."، تو A والا حصہ ویری ایبل ہوتا ہے۔ کنڈیشن کے لیے ویری ایبل کا انتخاب کرنا دراصل کنڈیشن کو یہ بتانا ہے کہ خاص طور پر کس ڈیٹا کا جائزہ لیا جائے۔

ویری ایبل کو GraphQL Admin API ڈاٹ نوٹیشن کا استعمال کرتے ہوئے فارمیٹ کیا جاتا ہے۔ Flow ایپ کے ساتھ ورک فلو بنانے کے لیے آپ کا API میں ماہر ہونا ضروری نہیں ہے، لیکن ویری ایبل کے ناموں اور ان کی تعریفوں کی بنیادی سمجھ آپ کو اپنی مطلوبہ مخصوص ورک فلو لاجک بنانے میں مدد دے سکتی ہے۔

یہ سمجھنے کے لیے کہ کوئی ویری ایبل کس ڈیٹا کی نمائندگی کرتا ہے، ویری ایبل کے بارے میں درج ذیل معلومات پر غور کریں:

ٹپ: Dev Docs Assistant سے ویری ایبل میں مدد حاصل کریں

اگر آپ کو یقین نہیں ہے کہ اپنی کنڈیشن بناتے وقت کون سا ویری ایبل منتخب کرنا ہے، تو مشورے کے لیے Shopify Dev Docs Assistant سے پوچھنے پر غور کریں۔ Dev Docs Assistant کو GraphQL Admin API کے حوالے سے تمام دستاویزی مواد تک رسائی حاصل ہے، اور یہ Shopify Flow میں کنڈیشن کو فارمیٹ کرنے کے طریقے کے لیے تجاویز پیش کر سکتا ہے:

  1. Shopify Dev Docs پر جائیں۔
  2. چیٹ پینل کھولنے کے لیے Ask Assistant پر کلک کریں۔
  3. میسج کی فیلڈ میں، اپنی درخواست درج کریں، جیسے کہ "اگر میں "Order created" کے ساتھ اپنا ٹرگر شروع ہونے پر کسٹمر کے ٹیگ کے ڈیٹا تک رسائی حاصل کرنا چاہوں تو مجھے Shopify Flow میں کون سا ویری ایبل استعمال کرنا چاہیے؟
  4. Enter دبائیں یا بھیجیں پر کلک کریں۔

ویری ایبل ڈاٹ نوٹیشن کو پڑھنا

ویری ایبل کا انتخاب کرتے وقت، آپ دیکھیں گے کہ انہیں پیریڈ سے الگ کیے گئے کی ورڈ کے طور پر فارمیٹ کیا گیا ہے، جیسے کہ order.customer.tag۔ یہ فارمیٹ ان مراحل کی نشاندہی کر رہا ہے جو API آپ کے مطلوبہ ڈیٹا تک پہنچنے کے لیے لیتا ہے۔ ویری ایبل کے ہر 'مرحلے' کو ایک پیریڈ سے الگ کیا جاتا ہے، اور ڈیٹا کے پاتھ کو بائیں سے دائیں پڑھا جاتا ہے۔ API میں ڈیٹا کہاں محفوظ ہے اور ورک فلو وہاں تک پہنچنے کے لیے جو پاتھ لیتا ہے، اس کی بنیاد پر ویری ایبل کی لمبائی مختلف ہو سکتی ہے۔

مثال کے طور پر:

  • order.email: آرڈر کے لیے کسٹمر سے وابستہ ای میل ایڈریس کو چیک کرتا ہے۔ یہ بالکل اسی طرح ہے جیسے آپ کسی آرڈر پر کلک کریں اور پھر آرڈر کی تفصیلات پر ای میل ایڈریس چیک کریں۔
  • refunds_item.staffMember.name: کسی آئٹم کے ریفنڈ کے لیے آرڈر کو چیک کرتا ہے، اس ریفنڈ سے وابستہ اسٹاف ممبر کی معلومات پر جاتا ہے، اور اس اسٹاف ممبر کا پورا نام چیک کرتا ہے۔

کسی ویری ایبل کا انتخاب کرتے وقت، اس بات پر غور کریں کہ آپ اپنی مطلوبہ معلومات تلاش کرنے کے لیے Shopify ایڈمن میں کس طرح نیویگیٹ کر سکتے ہیں۔ اس بات کا امکان ہے کہ API کو بھی اسی طرح کا پاتھ لینے کی ضرورت پڑ سکتی ہے، جس سے آپ کو یہ تعین کرنے میں مدد مل سکتی ہے کہ آپ کے ویری ایبل کو کس طرح فارمیٹ کیا جا سکتا ہے۔

مثال کے طور پر، اگر آپ کسی نئے آرڈر کا جائزہ لے رہے ہیں اور یہ جاننا چاہتے ہیں کہ آرڈر سے وابستہ کسٹمر کس RFM group میں ہے، تو آپ Shopify ایڈمن میں کسٹمر کی تفصیلات کے صفحہ پر ری ڈائریکٹ ہونے کے لیے آرڈر پر موجود کسٹمر کے نام پر کلک کرنے کا سوچ سکتے ہیں، اور پھر آپ کسٹمر کی اینالیٹکس سمری کو چیک کر سکتے ہیں تاکہ یہ پڑھ سکیں کہ RFM group کالم میں کون سی ویلیو ظاہر ہو رہی ہے۔

Shopify Flow میں وہی ڈیٹا واپس لانے کے لیے آپ جو ویری ایبل استعمال کریں گے وہ اسی طرح کا پاتھ استعمال کرے گا: order.customer.statistics.rfmGroup۔

ویری ایبل کے لیے ڈیٹا کی ضروریات

ویری ایبل کو ڈیٹا کی ضرورت ہوتی ہے۔ اگر ویری ایبل کے لیے درست ڈیٹا دستیاب نہیں ہے، تو کنڈیشن کام نہیں کرے گی اور ورک فلو ناکام ہو جائے گا۔ اس بنیاد پر کہ آپ نے اپنے ورک فلو کے آغاز کے طور پر کون سا ٹرگر منتخب کیا ہے، آپ کی کنڈیشن میں شامل کرنے کے لیے ویری ایبل کے آپشن دستیاب ڈیٹا کی بنیاد پر ممکنہ آپشن کی عکاسی کرنے کے لیے تبدیل ہو جاتے ہیں۔

مثال کے طور پر، اگر آپ کا ورک فلو پروڈکٹ بنائی گئی (Product created) ٹرگر سے شروع ہوتا ہے، تو اس ٹرگر سے آپ جو کنڈیشن بناتے ہیں وہ product ڈیٹاسیٹ سے دستیاب ویری ایبل تک محدود ہوتی ہیں۔ اس لیے، 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 سے زیادہ ہے..."، تو اس سے زیادہ ہے (is greater than) کا حصہ لاجیکل آپریٹر ہوتا ہے۔ کنڈیشن کے لیے لاجیکل آپریٹر کا انتخاب کرنا بنیادی طور پر کنڈیشن کو یہ بتانا ہے کہ ویری ایبل کا جائزہ کیسے لیا جائے۔

Shopify Flow کے ورک فلو میں، 3 قسم کے لاجیکل آپریٹر ہوتے ہیں:

  • فیلڈ لیول کے آپریٹر، جیسے کہ اس سے زیادہ ہے یا اس سے شروع ہوتا ہے۔
  • لسٹ کے آپریٹر، جیسے کہ ان میں سے کم از کم ایک یا یہ تمام۔
  • کنڈیشن لیول کے آپریٹر، جیسے کہ AND یا OR۔

فیلڈ لیول کے آپریٹر اور لسٹ کے آپریٹر ویری ایبل کی سطح پر لاگو ہوتے ہیں، اور کنڈیشن لیول کے آپریٹر مجموعی کنڈیشن پر لاگو ہوتے ہیں اور انہیں متعدد ویری ایبل کو ایک ہی کنڈیشن میں یکجا کرنے کے لیے استعمال کیا جا سکتا ہے۔

فیلڈ لیول کے آپریٹر، آپریٹر کی سب سے عام قسم ہیں، جو ہر قسم کی ویری ایبل اسٹیٹمنٹ میں استعمال ہوتے ہیں۔ فیلڈ لیول آپریٹر کے ساتھ، آپ مشروط اسٹیٹمنٹ بنا سکتے ہیں جیسے کہ "اگر A، 10 سے زیادہ ہے، تو X کریں" یا "اگر B میں 'VIP' شامل ہے، تو X کریں" تاکہ آپ کو اس بات پر زیادہ کنٹرول حاصل ہو سکے کہ کسی ویری ایبل کی کون سی ویلیو درست نتیجہ واپس کرتی ہے۔ برابر ہے (Equal to) ڈیفالٹ لاجیکل آپریٹر ہے۔

لسٹ آپریٹر کا اطلاق صرف ان ویری ایبل پر ہو سکتا ہے جو نتائج کی فہرست واپس کر سکتے ہیں۔ مثال کے طور پر، lineItems_item.variant.price ویری ایبل آرڈر میں پروڈکٹ کے ویریئنٹ کی قیمت واپس کرتا ہے، جو اس وقت نتائج کی فہرست واپس کر سکتا ہے جب کسٹمر نے ایک ہی آرڈر میں متعدد پروڈکٹ خریدی ہوں۔ اس کا مطلب ہے کہ جب آپ چاہتے ہوں کہ ایک مشروط اسٹیٹمنٹ جیسے کہ "lineItems_item.variant.price $10 سے زیادہ ہے" اس وقت درست ہو جب آرڈر میں کم از کم 1 پروڈکٹ ویریئنٹ $10 سے زیادہ کا ہو، تو آپ ان میں سے کم از کم ایک جیسا لسٹ آپریٹر لاگو کر سکتے ہیں۔ اس کے برعکس، لسٹ آپریٹر ان ویری ایبل کے لیے ظاہر نہیں ہوتے جو ایک وقت میں صرف 1 نتیجہ واپس کر سکتے ہیں۔ مثال کے طور پر، order.createdAt جیسے ویری ایبل کے لیے صرف 1 ممکنہ ویلیو ہے کیونکہ ایک آرڈر صرف ایک بار بنایا جا سکتا ہے، لہذا اس ویری ایبل پر مشتمل اسٹیٹمنٹ میں ترمیم کرنے کے آپشن کے طور پر لسٹ آپریٹر ظاہر نہیں ہوتے ہیں۔

کنڈیشن لیول کے آپریٹر جیسے کہ AND اور OR آپ کو ایک ہی کنڈیشن میں متعدد ویری ایبل شامل کرنے کی سہولت دیتے ہیں۔ مثال کے طور پر، "اگر A برابر ہے 5 کے، تو X کریں" جیسی سادہ مشروط اسٹیٹمنٹ کے بجائے، آپ مزید پیچیدہ کنڈیشن بنا سکتے ہیں جیسے کہ "اگر A برابر ہے 5 کے اور B، 10 سے زیادہ ہے، تو X کریں" جس کے لیے A اور B دونوں ویری ایبل کا درست ہونا ضروری ہے، یا "اگر A برابر ہے 5 کے یا B، 10 سے زیادہ ہے یا C، 1 سے کم ہے، تو X کریں" جس کے لیے A، B، یا C میں سے صرف 1 کا درست ہونا ضروری ہے۔ جب ورک فلو میں ہر چیز کا درست ہونا ضروری ہو تو AND کا استعمال کریں؛ جب کنڈیشن کے درست ہونے کے لیے کسی 1 معیار کا پورا ہونا کافی ہو تو OR کا استعمال کریں۔

یہ کیوں اہم ہے: کنڈیشن میں لاجیکل آپریٹر کے کام کرنے کا طریقہ سمجھ کر آپ ایسے ورک فلو بنا سکتے ہیں جو بالکل آپ کے مطلوبہ معیار کو چیک کریں۔ لاجیکل آپریٹر کی 3 اقسام کے ساتھ، آپ انتہائی مخصوص کنڈیشن چیک کرنے والے ورک فلو بنانے کے لیے تفصیلی اور پیچیدہ مشروط بیانات تیار کر سکتے ہیں۔

کنڈیشن میں لاجیکل آپریٹر کے بارے میں مزید تفصیلی معلومات جانیں۔