Admin API अनुरोध भेजें

Admin API अनुरोध भेजें एक्शन आपके स्टोर में बदलाव करने के लिए GraphQL Admin API में ज़्यादातर म्यूटेशन का इस्तेमाल कर सकता है, जिसमें वे म्यूटेशन भी शामिल हैं जो अभी तक Flow में एक्शन के रूप में उपलब्ध नहीं हैं।

फ़ील्ड.

Admin API अनुरोध भेजें एक्शन में नीचे दिए गए फ़ील्ड शामिल हैं।

Admin API अनुरोध भेजें एक्शन में उपयोग किए गए फ़ील्ड.
फ़ील्डविवरण
म्यूटेशनज़रूरी है। Shopify GraphQL Admin म्यूटेशन जिसे आप कॉल करना चाहते हैं। म्यूटेशन एक ऐसा API है जो एक्शन लेता है या डेटा अपडेट करता है।
म्यूटेशन इनपुटज़रूरी है। डेटा (JSON में) जिसे आपको अपने म्यूटेशन अनुरोध के हिस्से के रूप में भेजना होगा। हर म्यूटेशन के लिए डेटा के एक अलग सेट की ज़रूरत होती है, जो हर म्यूटेशन के लिए दिए गए लिंक में दर्ज है। ज़रूरी JSON बनाने के लिए, आप Liquid या रन कोड एक्शन का इस्तेमाल कर सकते हैं।

ट्रिगर.

Admin API अनुरोध भेजें एक्शन का इस्तेमाल किसी भी वर्कफ़्लो में, किसी भी ट्रिगर के साथ किया जा सकता है, बशर्ते वर्कफ़्लो म्यूटेशन इनपुट बनाने के लिए ज़रूरी डेटा देता हो।

उदाहरण.

उदाहरण 1: किसी प्रोडक्ट के लिए इस्तेमाल किए गए टेम्पलेट को अपडेट करें

इस उदाहरण में, हम किसी प्रोडक्ट के लिए इस्तेमाल किए गए टेम्पलेट को अपडेट करने के लिए productUpdate म्यूटेशन को कॉल करने हेतु Admin API अनुरोध भेजें एक्शन का इस्तेमाल करेंगे।

id फ़ील्ड ज़रूरी है और यह एक मान्य प्रोडक्ट GID होना चाहिए। यहां, हम इसे {{product.id}} लिक्विड वैरिएबल से सेट करते हैं। यह मानता है कि आपके वर्कफ़्लो में एक ऐसा ट्रिगर है जो प्रोडक्ट ऑब्जेक्ट देता है।

templateSuffix उस टेम्पलेट का नाम है जिसे आप प्रोडक्ट पर लागू करना चाहते हैं। उदाहरण के लिए, अगर आप pre-order टेम्पलेट लागू करना चाहते हैं, तो आप templateSuffix को pre-order पर सेट करेंगे।

{
  "input": {
    "templateSuffix": "pre-order",
    "id": "{{product.id}}"
  }
}

उदाहरण 2: किसी ग्राहक के टैक्स में छूट का स्टेटस अपडेट करें

इस उदाहरण में, हम किसी ग्राहक के टैक्स में छूट का स्टेटस अपडेट करने के लिए customerUpdate म्यूटेशन को कॉल करने के लिए Admin API अनुरोध भेजें एक्शन का इस्तेमाल करेंगे।

id फ़ील्ड ज़रूरी है और यह एक मान्य ग्राहक GID होना चाहिए। यहां, हम इसे {{order.customer.id}} लिक्विड वैरिएबल से सेट करते हैं। यह मानता है कि आपके वर्कफ़्लो में एक ऐसा ट्रिगर है जो ऑर्डर ऑब्जेक्ट देता है।

taxExempt फ़ील्ड एक बूलियन है जो बताता है कि ग्राहक को टैक्स में छूट मिली है या नहीं। इस उदाहरण में, हम इसे true पर सेट करते हैं।

{
  "input": {
    "id": "{{order.customer.id}}",
    "taxExempt": true
  }
}

उदाहरण 3: किसी ग्राहक की स्थानीय भाषा अपडेट करें

इस उदाहरण में, हम किसी ग्राहक की स्थानीय भाषा को अपडेट करने के लिए customerUpdate म्यूटेशन को कॉल करने हेतु Admin API अनुरोध भेजें एक्शन का इस्तेमाल करेंगे।

id फ़ील्ड ज़रूरी है और यह एक मान्य ग्राहक GID होना चाहिए। यहां, हम इसे {{customer.id}} लिक्विड वैरिएबल से सेट करते हैं। यह मानता है कि आपके वर्कफ़्लो में एक ऐसा ट्रिगर है जो ग्राहक ऑब्जेक्ट देता है।

locale फ़ील्ड एक स्ट्रिंग है जो ग्राहक की स्थानीय भाषा को दिखाती है। इस उदाहरण में, हम इसे en पर सेट करते हैं।

{
  "input": {
    "id": "{{customer.id}}",
    "locale": "en"
  }
}

Liquid के लिए सुझाव.

Flow एक json लिक्विड फ़िल्टर को सपोर्ट करता है, जो इनपुट बनाने में उपयोगी हो सकता है। नीचे दिए गए सभी उदाहरण 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 फ़िल्टर, एक लिक्विड ऐरे को JSON ऐरे में बदलता है। नीचे दिया गया उदाहरण लिक्विड ऐरे दिए जाने पर एक 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"]
  }
}

फ़ॉर लूप का उदाहरण

नीचे दिया गया उदाहरण, कॉमा से अलग किए गए ऐरे के एलिमेंट को आउटपुट करने के लिए एक लूप का इस्तेमाल करता है:

{% 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 वर्शन से म्यूटेशन और म्यूटेशन इनपुट की एक सूची दिखाएगा।
  • जब नए API वर्शन रिलीज़ होते हैं, तो यह एक्शन फ़ेल हो सकता है अगर यह किसी ऐसे म्यूटेशन या फ़ील्ड का इस्तेमाल करता है जिसे बदल दिया गया है या बंद कर दिया गया है।
  • एक्शन GraphQL क्वेरी को सपोर्ट नहीं करता, केवल म्यूटेशन को सपोर्ट करता है।
  • एक्शन ऐसे म्यूटेशन को सपोर्ट नहीं करता है जिन्हें बंद कर दिया गया है।
  • एक्शन कुछ ऐसे म्यूटेशन को सपोर्ट नहीं करता है जो कुछ खास ऐप के लिए हैं, जिनमें कुछ सब्सक्रिप्शन, मार्केटिंग एक्टिविटी और छूट वाले म्यूटेशन शामिल हैं।
  • एक्शन एसिंक्रोनस म्यूटेशन या ऐसे म्यूटेशन को सपोर्ट नहीं करता है जो Job प्रकार लौटाते हैं।
  • एक्शन उन म्यूटेशन को सपोर्ट नहीं करता है जो Node इंटरफ़ेस को लागू नहीं करते हैं।

टेम्पलेट.

नए ऑर्डर में मुफ़्त (100% छूट वाला) आइटम जोड़ें

यह टेम्पलेट नए ऑर्डर में एक मुफ़्त, छूट वाला आइटम जोड़ता है, अगर आइटम स्टॉक में है। यह इन्वेंटरी की जांच करता है, 100% की छूट लागू करता है और ग्राहक को सूचित किए बिना ऑर्डर को अपडेट करता है। यह ऑटोमेशन (1) उनके ऑर्डर में एक सरप्राइज़ मुफ़्त आइटम शामिल करके ग्राहक की संतुष्टि बढ़ाने, (2) ऑर्डर में मुफ़्त सैंपल के रूप में उन्हें जोड़कर नए या कम-ज्ञात प्रोडक्ट को प्रमोट करने या (3) मुफ़्त आइटम को शामिल करने और छूट देने को ऑटोमेट करके प्रमोशन को कारगर बनाने के लिए उपयोगी होगा। टेम्पलेट देखें

कंपनी खाता अनुरोधों द्वारा बनाई गई कंपनियों के लिए ऑर्डर करने की अनुमति दें

जब कंपनी खाता अनुरोध से कोई कंपनी बनाई जाती है, तो ऑर्डर करने की अनुमति असाइन करें. टेम्पलेट देखें

जब प्रकार स्टॉक में न हों या वापस स्टॉक में आ जाएं, तो प्रोडक्ट टेम्पलेट बदलें.

प्रोडक्ट के प्रकारों की इन्वेंटरी के आधार पर प्रोडक्ट टेम्पलेट अपडेट करें। यह वर्कफ़्लो आपको स्टॉक में होने (स्टोर का डिफ़ॉल्ट टेम्पलेट), स्टॉक में न होने और एक या ज़्यादा प्रकारों के स्टॉक में न होने की स्थिति में टेम्पलेट के बीच स्विच करने की अनुमति देता है। टेम्पलेट देखें

ऑर्डर में मौजूद किसी भी डिजिटल आइटम को भेजें.

ऐसे किसी भी आइटम को भेजता है जिनके लिए फ़िज़िकल डिलीवरी की ज़रूरत नहीं होती है, जैसे कि डिजिटल आइटम या जो SKU की सूची से मेल खाते हैं। यह नए ऑर्डर के लिए हर फ़ुलफ़िलमेंट लोकेशन ('फ़ुलफ़िलमेंट ऑर्डर') पर एक बार चलता है। टेम्पलेट देखें