Shopify Flow اور GraphQL Admin API

Flow، ایسے آٹومیشنز اور انضمام بنانے کے لیے Shopify GraphQL Admin API کا استعمال کرتا ہے جو Shopify admin کو وسعت دیتے اور بہتر بناتے ہیں۔ Flow، ورک فلوز میں شرائط اور متغیرات کا جائزہ لینے کے ساتھ ساتھ آپ کے Shopify سٹور میں ایکشنز انجام دینے کے لیے API کا 2026-01 ورژن استعمال کرتا ہے۔ چونکہ Flow، API کو کال کر کے سٹور کے ڈیٹا تک رسائی حاصل کرتا ہے، لہذا آپ کو Flow سے API میں دستیاب تقریباً تمام فیلڈز تک رسائی حاصل ہے۔

چونکہ Shopify ہر 3 ماہ بعد API کے نئے ورژنز ریلیز کرتا ہے، اس لیے فیلڈز کے تبدیل یا متروک ہونے پر بعض ورک فلوز کو اپ ڈیٹ کرنے کی ضرورت پڑ سکتی ہے۔

ورک فلوز میں GraphQL Admin API کا استعمال

آپ کے Shopify سٹور میں تبدیلیاں کرنے کے لیے Flow کے زیادہ تر ایکشنز GraphQL Admin API کا استعمال کرتے ہیں۔ مثال کے طور پر، Add order tags ایکشن، tagsAdd میوٹیشن استعمال کرتا ہے۔ Send Admin API request ایکشن زیادہ تر میوٹیشنز کا استعمال کر سکتا ہے، بشمول وہ جو ابھی تک Flow میں ایکشنز کے طور پر دستیاب نہیں ہیں۔

ورک فلوز بناتے وقت، آپ کو اکثر GraphQL Admin API کی نحو (syntax) پر مبنی فیلڈ کے نام اور تفصیلات ملیں گی۔ مثال کے طور پر، ورک فلو میں کسی ویریئنٹ کی کُل قابل فروخت مقدار کا تعین کرنے کے لیے، آپ variants_item.inventoryQuantity متغیر استعمال کریں گے۔ ایک اور مثال کے طور پر، یہ متعین کرنے کے لیے کہ کسٹمر نے کس مقام پر آپ کا ای میل نیوز لیٹر سبسکرائب کیا ہے، آپ emailSubscriptionMethod متغیر استعمال کریں گے۔

Flow ایپ کے ذریعے ورک فلوز بنانے کے لیے آپ کا API کا ماہر ہونا ضروری نہیں ہے، لیکن متغیرات کے ناموں اور ان کی تعریفوں کے بارے میں تھوڑا سا جان کر آپ کو اپنی مطلوبہ مخصوص ورک فلو لاجک بنانے میں مدد مل سکتی ہے۔ مثال کے طور پر، کسٹمر کے displayName اور ان کے firstName کے درمیان فرق جان کر آپ کے ورک فلو کو درست ڈیٹا تک رسائی حاصل کرنے میں مدد مل سکتی ہے جس کا انحصار اس بات پر ہوتا ہے کہ آپ اسے کس لیے استعمال کرنا چاہتے ہیں۔ آپ کا ورک فلو بنتے وقت ہر متغیر کے ساتھ تعریفیں شامل ہوتی ہیں، اور آپ کسی بھی متغیر یا تعریف کے بارے میں مزید جاننے کے لیے معلومات پر کلک کر سکتے ہیں۔

سٹور کا ڈیٹا اور GraphQL Admin API

ورک فلوز، شرائط اور ایکشنز میں آپ کے سٹور کا ڈیٹا استعمال کرتے ہیں۔ Flow، GraphQL Admin API استعمال کر کے سٹور کے ڈیٹا تک رسائی حاصل کرتا ہے، جس کا مطلب ہے کہ آپ کو API میں تقریباً تمام فیلڈز تک رسائی حاصل ہے۔ اگر کسی ایکشن کے پاس ٹرگر یا Get data ایکشن کی جانب سے فراہم کردہ ضروری ڈیٹا نہیں ہوتا، تو ورک فلو رن نہیں ہوتا اور خرابی کا پیغام ظاہر ہوتا ہے۔

مثال کے طور پر، ورک فلو Customer created ٹرگر سے شروع ہوتا ہے اور کسٹمر کا ڈیٹا ورک فلو میں درآمد کرتا ہے۔ اگر اس ٹرگر کے بعد Add order tags ایکشن ہوتا ہے، جس کے لیے آرڈر کا ڈیٹا درکار ہوتا ہے نہ کہ کسٹمر کا ڈیٹا، تو ورک فلو کے نتیجے میں گمشدہ ڈیٹا کی خرابی پیدا ہو جائے گی۔

آپ کو یہ سمجھنے کے لیے کہ API کے ذریعے کیا آؤٹ پٹ دیا جاتا ہے اور Flow میں کیا استعمال ہوتا ہے، اور یہ یقینی بنانے کے لیے کہ آپ کا ورک فلو آپ کے متوقع ڈیٹا کا آؤٹ پٹ دیتا ہے، آپ کو ڈیٹا کا پیش منظر دیکھنے یا API کی دستاویزات کا جائزہ لینے کی ضرورت پڑ سکتی ہے۔

فیلڈ کی دلیلیں (arguments) اور GraphQL Admin API

کچھ GraphQL Admin API فیلڈز کے لیے آرگیومنٹس درکار ہوتے ہیں، جو کہ اضافی پیرامیٹرز ہیں اور لوٹائے جانے والے ڈیٹا کو محدود کرتے ہیں۔ مثال کے طور پر، product.inCollection فیلڈ کو یہ جاننے کے لیے کلیکشن کا id آرگیومنٹ درکار ہوتا ہے کہ کس کلیکشن کو چیک کرنا ہے۔ اس کے بغیر، فیلڈ نتیجہ واپس نہیں کر سکتی۔

Flow میں، آپ مطلوبہ آرگیومنٹ کی قدر فراہم کر کے ان فیلڈز سے متغیرات بنا سکتے ہیں، جنہیں بعد میں ورک فلو میں استعمال کیا جا سکتا ہے۔ آپ بعد کے مراحل میں حوالہ دینا آسان بنانے کے لیے متغیر کو ایک حسب ضرورت نام بھی دے سکتے ہیں، مثال کے طور پر، product.inCollection(id: "gid://shopify/Collection/123456") کو product.inSummerBestsellers کا نام دینا۔

آرگیومنٹس والے فیلڈز سے متغیرات بنانے کے بارے میں مزید جانیں۔

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

API کا ورژن بنانا

Shopify ہر 3 ماہ بعد نئے API ورژنز جاری کرتا ہے اور Flow جتنی جلدی ممکن ہو نئے ورژنز کو اپناتا ہے، لیکن ہو سکتا ہے کہ یہ تازہ ترین ورژن سے پیچھے ہو۔ جب ممکن ہو، ورژنز کے درمیان کی تبدیلیاں خودکار طور پر حل ہو جاتی ہیں، لیکن کچھ تبدیلیاں سیدھی سادی نہیں ہو سکتیں، بشمول درج ذیل میں سے کوئی بھی صورتحال:

  • جب فیلڈز کو ہٹا دیا جاتا ہے لیکن کوئی متبادل فراہم نہیں کیا جاتا، تو ممکنہ طور پر یہ اثر انداز ہوتا ہے کہ شرائط یا Liquid کا کس طرح جائزہ لیا جاتا ہے۔
  • جب فیلڈز null ہونے کے قابل (nullable) ہو جاتی ہیں، تو یہ ممکنہ طور پر اس بات پر اثر انداز ہوتا ہے کہ شرائط یا Liquid کا جائزہ کیسے لیا جاتا ہے۔
  • جب enum کی اقدار تبدیل ہوتی ہیں یا نئی یونین یا انٹرفیس کی اقسام شامل کی جاتی ہیں، تو ممکنہ طور پر Liquid یا کوڈ متاثر ہوتا ہے۔
  • جب میوٹیشن آرگیومنٹس تبدیل ہوتے ہیں، تو یہ ممکنہ طور پر Send Admin API request ایکشنز کی تشکیل کو متاثر کرتا ہے۔

کچھ ورک فلوز کو دستی طور پر اپ ڈیٹ کرنے کی ضرورت پڑ سکتی ہے۔ ان صورتوں میں، ورک فلوز Update required (اپ ڈیٹ درکار ہے) یا Unsupported API (غیر تعاون یافتہ API) کی خرابی ظاہر کر سکتے ہیں اور ورک فلو ایڈیٹر میں مطلوبہ تبدیلیاں کرنے کے لیے متعلقہ API کی دستاویزات کی جانب آپ کی رہنمائی کر سکتے ہیں۔ جب یہ اپ ڈیٹس مکمل ہو کر محفوظ ہو جاتی ہیں، تو ورک فلو خود بخود اپ ڈیٹ ہو کر Flow میں دستیاب تازہ ترین API ورژن استعمال کرنے لگتا ہے۔

آپ API ورژن کی مطابقت کی خرابیوں والے کسی ورک فلو میں فوری تبدیلیاں کرنے کے لیے عارضی طور پر مسائل کو نظر انداز کرنے کا انتخاب کر سکتے ہیں۔ اگر ان مسائل کو حل نہیں کیا جاتا ہے، تو ہو سکتا ہے کہ ورک فلو رن ہونا بند ہو جائے یا جب Shopify کی جانب سے پرانے API ورژن کے لیے تعاون ختم کر دیا جائے تو خرابیاں پیدا ہوں۔