Admin API کی درخواست بھیجیں
Admin API کی درخواست بھیجیں ایکشن آپ کے سٹور میں تبدیلیاں کرنے کے لیے GraphQL Admin API میں زیادہ تر میوٹیشن کا استعمال کر سکتا ہے، بشمول وہ میوٹیشن جو ابھی تک Flow میں ایکشن کے طور پر دستیاب نہیں ہیں۔
فیلڈ
Admin API کی درخواست بھیجیں ایکشن میں درج ذیل فیلڈ شامل ہیں۔
| فیلڈ | تفصیل |
|---|---|
| میوٹیشن | درکار ہے۔ Shopify GraphQL Admin کی وہ میوٹیشن جسے آپ کال کرنا چاہتے ہیں۔ میوٹیشن ایک API ہے جو کوئی کارروائی کرتی ہے یا ڈیٹا کو اپ ڈیٹ کرتی ہے۔ |
| میوٹیشن ان پٹ | درکار ہے۔ وہ ڈیٹا (JSON میں) جسے آپ کو اپنی میوٹیشن درخواست کے حصے کے طور پر بھیجنے کی ضرورت ہے۔ ہر میوٹیشن کے لیے ڈیٹا کے ایک مختلف سیٹ کی ضرورت ہوتی ہے، جسے ہر میوٹیشن کے لیے فراہم کردہ لنک میں دستاویزی شکل دی گئی ہے۔ ضروری JSON بنانے کے لیے، آپ Liquid یا Run code ایکشن استعمال کر سکتے ہیں۔ |
ٹرگر
Admin API کی درخواست بھیجیں ایکشن کو کسی بھی ورک فلو میں، کسی بھی ٹرگر کے ساتھ استعمال کیا جا سکتا ہے، بشرطیکہ ورک فلو میوٹیشن ان پٹ بنانے کے لیے ضروری ڈیٹا فراہم کرے۔
مثالیں
مثال 1: پروڈکٹ کے لیے استعمال ہونے والے ٹیمپلیٹ کو اپ ڈیٹ کریں
اس مثال میں، ہم پروڈکٹ کے لیے استعمال ہونے والے ٹیمپلیٹ کو اپ ڈیٹ کرنے کے لیے productUpdate میوٹیشن کو کال کرنے کی خاطر Admin API کی درخواست بھیجیں ایکشن استعمال کریں گے۔
id فیلڈ درکار ہے اور اس کا درست پروڈکٹ GID ہونا لازمی ہے۔ یہاں، ہم اسے {{product.id}} Liquid متغیر کے ساتھ سیٹ کرتے ہیں۔ اس سے یہ فرض کیا جاتا ہے کہ آپ کے ورک فلو میں ایک ایسا ٹرگر ہے جو پروڈکٹ کا آبجیکٹ فراہم کرتا ہے۔
templateSuffix اس ٹیمپلیٹ کا نام ہے جسے آپ پروڈکٹ پر لاگو کرنا چاہتے ہیں۔ مثال کے طور پر، اگر آپ pre-order ٹیمپلیٹ لاگو کرنا چاہتے ہیں، تو آپ templateSuffix کو pre-order پر سیٹ کریں گے۔
{
"input": {
"templateSuffix": "pre-order",
"id": "{{product.id}}"
}
}مثال 2: کسٹمر کے ٹیکس استثنیٰ کا سٹیٹس اپ ڈیٹ کریں
اس مثال میں، ہم کسٹمر کے ٹیکس استثنیٰ کا سٹیٹس اپ ڈیٹ کرنے کے لیے customerUpdate میوٹیشن کو کال کرنے کی خاطر Admin API کی درخواست بھیجیں ایکشن استعمال کریں گے۔
id فیلڈ درکار ہے اور اس کا درست کسٹمر GID ہونا لازمی ہے۔ یہاں، ہم اسے {{order.customer.id}} Liquid متغیر کے ساتھ سیٹ کرتے ہیں۔ اس سے یہ فرض کیا جاتا ہے کہ آپ کے ورک فلو میں ایک ایسا ٹرگر ہے جو آرڈر کا آبجیکٹ فراہم کرتا ہے۔
taxExempt فیلڈ ایک بولین ہے جو ظاہر کرتی ہے کہ آیا کسٹمر کو ٹیکس سے استثنیٰ حاصل ہے۔ اس مثال میں، ہم اسے true پر سیٹ کرتے ہیں۔
{
"input": {
"id": "{{order.customer.id}}",
"taxExempt": true
}
}مثال 3: کسٹمر کا لوکیل اپ ڈیٹ کریں
اس مثال میں، ہم کسٹمر کا لوکیل اپ ڈیٹ کرنے کے لیے customerUpdate میوٹیشن کو کال کرنے کی خاطر Admin API کی درخواست بھیجیں ایکشن استعمال کریں گے۔
id فیلڈ درکار ہے اور اس کا درست کسٹمر GID ہونا لازمی ہے۔ یہاں، ہم اسے {{customer.id}} Liquid متغیر کے ساتھ سیٹ کرتے ہیں۔ اس سے یہ فرض کیا جاتا ہے کہ آپ کے ورک فلو میں ایک ایسا ٹرگر ہے جو کسٹمر کا آبجیکٹ فراہم کرتا ہے۔
locale فیلڈ ایک سٹرنگ ہے جو کسٹمر کے لوکیل کی نمائندگی کرتی ہے۔ اس مثال میں، ہم اسے en پر سیٹ کرتے ہیں۔
{
"input": {
"id": "{{customer.id}}",
"locale": "en"
}
}Liquid کی تجاویز
Flow ایک json liquid فلٹر کو سپورٹ کرتا ہے جو ان پٹ بنانے میں کارآمد ہو سکتا ہے۔ درج ذیل تمام مثالیں customerUpdate میوٹیشن کا استعمال کرتی ہیں اور فرض کرتی ہیں کہ آپ کے ورک فلو میں ایک ایسا ٹرگر موجود ہے جو کسٹمر کا آبجیکٹ فراہم کرتا ہے۔
سٹرنگ کے ساتھ کام کرنا
درج ذیل مثال کسٹمر پر نوٹ کو اپ ڈیٹ کرتی ہے:
{% assign revisedNote = customer.note | append: " Hello from Flow!" %}
{
"input": {
"id": "{{ customer.id }}",
"note": {{ revisedNote | json }},
}
}json فلٹر مناسب JSON کو یقینی بنانے کے لیے سٹرنگ کو ایسکیپ کرتا ہے۔ ورک فلو رن ہونے کے بعد اس کے نتیجے میں درج ذیل JSON بنتی ہے:
{
"input": {
"id": "gid://shopify/Customer/1234",
"note": "Had a \"great experience\" with their latest order. Hello from Flow!",
}
}ایرے کے ساتھ کام کرنا
ایرے کی مثال
json فلٹر liquid ایرے کو JSON ایرے میں تبدیل کرتا ہے۔ درج ذیل مثال liquid ایرے فراہم کیے جانے پر ایک JSON ایرے آؤٹ پٹ کرتی ہے:
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ tags | json }}
}
}ورک فلو رن ہونے کے بعد اس کے نتیجے میں درج ذیل JSON بنتی ہے:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["tag1","tag2","tag3"]
}
}For لوپ کی مثال
درج ذیل مثال کاما کے ذریعے الگ کیے گئے ایرے کے عناصر کو آؤٹ پٹ کرنے کے لیے لوپ کا استعمال کرتی ہے:
{% assign tags = "tag1,tag2,tag3" | split: "," %}
{
"input": {
"id": "{{ customer.id }}",
"tags": [
{% for tag in tags %}
"{{ tag }}"{% unless forloop.last %},{% endunless %}
{% endfor %}
]
}
}جب ورک فلو رن ہوتا ہے تو اس کے نتیجے میں درج ذیل JSON بنتی ہے:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": [
"tag1",
"tag2",
"tag3"
]
}
}میپ کی مثال
map فلٹر کا استعمال آبجیکٹس کے ایک ایرے سے کسی مخصوص پراپرٹی کا ایک ایرے حاصل کرنے کے لیے کیا جا سکتا ہے۔ درج ذیل مثال میں، کسٹمر کے ایڈریسز کے ایک ایرے سے city پراپرٹیز کا ایک ایرے حاصل کیا گیا ہے:
{
"input": {
"id": "{{ customer.id }}",
"tags": {{ customer.addresses | map: "city" | json }}
}
}ورک فلو رن ہونے کے بعد اس کے نتیجے میں درج ذیل JSON بنتی ہے:
{
"input": {
"id": "gid://shopify/Customer/1234",
"tags": ["Ottawa","Toronto"]
}
}حدود
Admin API کی درخواست بھیجیں ایکشن کی درج ذیل حدود ہیں:
- یہ ایکشن Flow کے ذریعے استعمال ہونے والے Admin API ورژن سے
MutationsاورMutation inputsکی ایک فہرست ڈسپلے کرے گا۔ - جب نئے API ورژنز ریلیز ہوتے ہیں، تو یہ ایکشن فیل ہو سکتا ہے اگر یہ ایسی میوٹیشن یا فیلڈ استعمال کرتا ہے جو تبدیل یا متروک ہو گئی ہو۔
- یہ ایکشن GraphQL کیوریز کو سپورٹ نہیں کرتا، صرف میوٹیشنز کو سپورٹ کرتا ہے۔
- یہ ایکشن ایسی میوٹیشنز کو سپورٹ نہیں کرتا جو متروک ہو چکی ہیں۔
- یہ ایکشن کچھ مخصوص ایپس کی میوٹیشنز کو سپورٹ نہیں کرتا، بشمول کچھ سبسکرپشن، مارکیٹنگ ایکٹیویٹی اور ڈسکاؤنٹ میوٹیشنز کے۔
- یہ ایکشن اسنکرونس میوٹیشنز یا ایسی میوٹیشنز کو سپورٹ نہیں کرتا جو
Jobٹائپ کو ریٹرن کرتی ہیں۔ - یہ ایکشن ایسی میوٹیشنز کو سپورٹ نہیں کرتا جو Node انٹرفیس کو لاگو نہیں کرتی ہیں۔
ٹیمپلیٹس
نئے آرڈرز میں مفت (100% ڈسکاؤنٹ شدہ) آئٹم شامل کریں
اگر آئٹم سٹاک میں ہو، تو یہ ٹیمپلیٹ نئے آرڈرز میں ایک مفت، ڈسکاؤنٹ شدہ آئٹم شامل کرتا ہے۔ یہ انونٹری چیک کرتا ہے، 100% ڈسکاؤنٹ لاگو کرتا ہے اور کسٹمر کو مطلع کیے بغیر آرڈر کو اپ ڈیٹ کرتا ہے۔ یہ آٹومیشن (1) کسٹمرز کے آرڈر میں ایک سرپرائز مفت آئٹم شامل کر کے ان کے اطمینان کو بڑھانے، (2) نئی یا کم معلوم پراڈکٹس کو آرڈرز میں مفت نمونوں کے طور پر شامل کر کے انہیں پروموٹ کرنے، یا (3) مفت آئٹمز کی شمولیت اور ڈسکاؤنٹ کو آٹومیٹ کر کے پروموشنز کو بہتر بنانے کے لیے مفید ہو سکتی ہے۔ ٹیمپلیٹ دیکھیں
کمپنی اکاؤنٹ کی درخواستوں کے ذریعے بنائی گئی کمپنیوں کے لیے آرڈر کرنے کی اجازت دیں
جب کمپنی اکاؤنٹ کی درخواست کے ذریعے کوئی کمپنی بنائی جائے تو آرڈر کرنے کی اجازت تفویض کریں۔ ٹیمپلیٹ دیکھیں
جب ویریئنٹس آؤٹ آف سٹاک ہوں یا دوبارہ سٹاک میں آ جائیں تو پراڈکٹ کا ٹیمپلیٹ تبدیل کریں
پراڈکٹ کے ویریئنٹس کے لیے انونٹری کی بنیاد پر پراڈکٹ کا ٹیمپلیٹ اپ ڈیٹ کریں۔ ورک فلو آپ کو سٹاک میں (سٹور کا ڈیفالٹ ٹیمپلیٹ)، آؤٹ آف سٹاک اور ایک یا زیادہ ویریئنٹس آؤٹ آف سٹاک ہونے پر ٹیمپلیٹس کے درمیان سوئچ کرنے دیتا ہے۔ ٹیمپلیٹ دیکھیں
آرڈر میں موجود کسی بھی ڈیجیٹل آئٹمز کو فلفل کریں
کسی بھی ایسے آئٹمز کو فلفل کرتا ہے جن کی فزیکل ڈیلیوری درکار نہیں ہے، جیسے ڈیجیٹل آئٹمز، یا جو SKUs کی فہرست سے مماثل ہیں۔ نئے آرڈر کے لیے ہر فلفلمنٹ لوکیشن ('فلفلمنٹ آرڈر') کے لیے ایک بار رن ہوتا ہے۔ ٹیمپلیٹ دیکھیں