HTTP अनुरोध भेजें
HTTP अनुरोध भेजें कार्रवाई आपके वर्कफ़्लो को एक वेब सर्वर या URL से कनेक्ट करती है और HTTP अनुरोध भेजती है।
Flow आपका HTTP अनुरोध भेजने के बाद, एक HTTP रिस्पॉन्स कोड के लिए अधिकतम 30 सेकंड तक इंतज़ार करता है। अगर Flow को 30 सेकंड के बाद कोई रिस्पॉन्स नहीं मिलता है, तो यह आपके ऐप से कनेक्शन बंद कर देता है। बाद में, यह अनुरोध का दोबारा प्रयास करता है।
फ़ील्ड
HTTP अनुरोध भेजें कार्रवाई में निम्नलिखित फ़ील्ड शामिल हैं।
| फ़ील्ड | विवरण |
|---|---|
| HTTP तरीका | भेजे जाने वाले HTTP अनुरोध का तरीका। HTTP अनुरोध भेजें कार्रवाई निम्नलिखित तरीकों का समर्थन करती है:
|
| URL | सर्वर का वह URL, जिस पर HTTP अनुरोध भेजा जाता है। |
| हैडर | HTTP अनुरोध के लिए कुंजी और मान की जोड़ी। कई कुंजी-मान जोड़ियां दर्ज की जा सकती हैं। |
| बॉडी | सर्वर पर भेजी जाने वाली सामग्री। |
| क्लाइंट गड़बड़ी पर (4XX रिस्पॉन्स) | जब रिस्पॉन्स कोड मिलता है, जो क्लाइंट की गड़बड़ी का संकेत देता है, तो Flow:
|
| सर्वर गड़बड़ी पर (5XX या 429 रिस्पॉन्स) | जब रिस्पॉन्स कोड सर्वर की गड़बड़ी का संकेत देने पर, Flow:
|
वापस किया गया डेटा
इस कार्रवाई के बाद के चरणों में वापस किए गए डेटा को ऐक्सेस करने के लिए, sendHttpRequest नामक वैरिएबल का उपयोग करें। इसमें HTTP रिस्पॉन्स के सभी विवरण शामिल होते हैं। बाद के वर्कफ़्लो चरणों में उपयोग के लिए रिस्पॉन्स की बॉडी को पार्स करने के लिए, वैकल्पिक रूप से कोड चलाएं कार्रवाई का उपयोग करें, जैसा कि नीचे दिए गए उदाहरण में है।
यदि एक ही वर्कफ़्लो में Send HTTP request एक्शन का कई बार उपयोग किया जाता है, तो वैरिएबल नाम में एक नंबर जोड़ दिया जाता है। उदाहरण के लिए, Send HTTP request एक्शन का दो बार उपयोग करने वाले वर्कफ़्लो में, लौटाए गए डेटा के लिए पहला वैरिएबल sendHttpRequest है और दूसरा वैरिएबल sendHttpRequest1 है। इस नाम को कस्टमाइज़ नहीं किया जा सकता।
रिस्पॉन्स कोड
निम्नलिखित तालिका बताती है कि रिस्पॉन्स मिलने के बाद Flow, HTTP रिस्पॉन्स कोड को कैसे प्रोसेस करता है।
| HTTP रिस्पॉन्स कोड | Flow, रिस्पॉन्स कोड को कैसे प्रोसेस करता है |
|---|---|
| 2XX या 3XX सफलता | Flow, HTTP अनुरोध को सफल के रूप में चिह्नित करता है और वर्कफ़्लो में बाद की कार्रवाइयां करता है। |
| 4XX गड़बड़ियां, 5XX और 429 गड़बड़ियां | कार्रवाई को कैसे कॉन्फ़िगर किया गया है, इसके आधार पर, Flow:
|
| अन्य रिस्पॉन्स कोड | अगर रिस्पॉन्स ऐसा कोड लौटाता है, जो इस तालिका में वर्णित नहीं है या कार्रवाइयों को फिर से कोशिश करते समय टाइम आउट हो जाता है, तो Flow HTTP अनुरोध को विफल के रूप में चिह्नित करता है, वर्कफ़्लो रन को विफल करता है और बाद की वर्कफ़्लो कार्रवाइयां नहीं करता है। |
सीक्रेट
Send HTTP request एक्शन में उपयोग के लिए ऐक्सेस टोकन या पासवर्ड जैसी संवेदनशील जानकारी को सुरक्षित रूप से स्टोर करने के लिए सीक्रेट्स का उपयोग किया जाता है। सीक्रेट्स को Flow > सेटिंग्स पेज से बनाया और प्रबंधित किया जाता है। एक सीक्रेट में हैंडल, वैल्यू और विवरण शामिल होता है। URL, हैडर वैल्यू या बॉडी फ़ील्ड कॉन्फ़िगर करते समय सीक्रेट का लिक्विड वैरिएबल (जैसे {{secrets.handle}}) के रूप में या सीक्रेट जोड़ें विकल्प से संदर्भ लें। सीक्रेट वैल्यू Flow इंटरफ़ेस में कभी दिखाई नहीं देती हैं और उन्हें वर्कफ़्लो रन लॉग से हटा दिया जाता है।
ट्रिगर
HTTP अनुरोध भेजें कार्रवाई का उपयोग किसी भी वर्कफ़्लो में किया जा सकता है।
उदाहरण
उदाहरण 1: किसी बाहरी सेवा को HTTP अनुरोध भेजें
इस उदाहरण में, किसी बाहरी सेवा को HTTP अनुरोध भेजने के लिए Flow का उपयोग करें।
शुरू करने से पहले, एक ऐसी वेब सेवा कॉन्फ़िगर करें जो परीक्षण के लिए HTTP अनुरोध प्राप्त करती है और उन अनुरोधों का डेटा स्टोर करती है, जैसे कि Request Catcher। किसी थर्ड-पार्टी सेवा को संवेदनशील डेटा (जैसे पासवर्ड या API की) भेजते समय सावधानी बरतना याद रखें।
चरण:
- प्रोडक्ट का स्टेटस अपडेट किया गया ट्रिगर चुनें, जो आपको किसी प्रोडक्ट पर स्टेटस बदलकर इस वर्कफ़्लो का परीक्षण करने की अनुमति देता है।
- एक HTTP अनुरोध भेजें एक्शन को अपने वर्कफ़्लो में जोड़ें और इसे ट्रिगर से कनेक्ट करें। फिर, HTTP अनुरोध भेजें स्टेप पर क्लिक करके कॉन्फ़िगरेशन पैनल खोलें।
- HTTP मेथड फ़ील्ड में,
POSTडालें। - URL फ़ील्ड में, टेस्ट करने के लिए URL डालें, जैसे
https://yourFlowTest.requestcatcher.com/test। - हैडर सेक्शन में,
Content-Typeकी की औरtext/plainकी वैल्यू के साथ एक हैडर डालें। - बॉडी सेक्शन में, ट्रिगर से प्रोडक्ट का टाइटल और अपडेट किया गया स्टेटस भेजने के लिए
{{product.title}}और{{product.status}}डालें।
- HTTP मेथड फ़ील्ड में,
- वर्कफ़्लो को एक्टिवेट करें।
- किसी प्रोडक्ट पर स्टेटस बदलकर इसका टेस्ट करें, जैसे ड्राफ़्ट से एक्टिव में बदलकर।
- इस उदाहरण में बाहरी टेस्टिंग सर्विस में नतीजे देखें, जैसे
https://yourFlowTest.requestcatcher.com/।
उदाहरण 2: HTTP प्रतिक्रिया को पार्स करने के लिए कोड चलाएँ का उपयोग करें
इस उदाहरण में, Flow का उपयोग करके किसी बाहरी सर्विस को HTTP अनुरोध भेजें और बाद के वर्कफ़्लो स्टेप में उपयोग के लिए HTTP प्रतिक्रिया की बॉडी को पार्स करने के लिए कोड चलाएँ एक्शन का उपयोग करें।
शुरू करने से पहले, एक ऐसी वेब सर्विस चुनें जो HTTP अनुरोध प्राप्त करती है और डेटा लौटाती है, जैसे कि Postman Echo। किसी थर्ड-पार्टी सर्विस को संवेदनशील डेटा (जैसे पासवर्ड या API की) भेजते समय सावधानी बरतना याद रखें।
चरण:
प्रोडक्ट का स्टेटस अपडेट किया गया ट्रिगर चुनें, जो आपको किसी प्रोडक्ट पर स्टेटस बदलकर इस वर्कफ़्लो का परीक्षण करने की अनुमति देता है।
अपने वर्कफ़्लो में एक HTTP अनुरोध भेजें एक्शन जोड़ें और इसे ट्रिगर से कनेक्ट करें। फिर HTTP अनुरोध भेजें स्टेप पर क्लिक करके कॉन्फ़िगरेशन पैनल खोलें।
HTTP मेथड फ़ील्ड में,
POSTडालें।URL फ़ील्ड में, टेस्ट करने के लिए URL डालें, जैसे
https://postman-echo.com/post।हैडर सेक्शन में,
Content-Typeकी की औरapplication/jsonकी वैल्यू के साथ एक हैडर डालें।बॉडी सेक्शन में, वर्कफ़्लो पर वापस भेजने के लिए उदाहरण JSON डालें, जैसे:
{ "productTitle": "{{product.title}}", "productStatus": "{{product.status}}" }
अपने वर्कफ़्लो में एक कोड चलाएँ एक्शन जोड़ें और इसे HTTP अनुरोध भेजें एक्शन से कनेक्ट करें। फिर कोड चलाएँ स्टेप पर क्लिक करके कॉन्फ़िगरेशन पैनल खोलें।
इनपुट परिभाषित करें फ़ील्ड में,
sendHTTPrequestऑब्जेक्ट द्वारा लौटाए गएबॉडीको शामिल करें, जैसे:query{ sendHttpRequest { body } }आउटपुट परिभाषित करें फ़ील्ड में, आउटपुट स्कीमा में परिभाषित आउटपुट शामिल करें, जैसे:
type Output { productTitle: String! productStatus: String! }कोड लिखें फ़ील्ड में,
JSON.parseतरीके का उपयोग करके प्रतिक्रिया को पार्स करें और सुनिश्चित करें कि आपके द्वारा लौटाया गया डेटा आउटपुट स्कीमा में परिभाषित आकार और प्रकार से मेल खाता है, जैसे:export default function main(input) { const body = JSON.parse(input.sendHttpRequest.body); console.log("body is", body); return { productTitle: body.data.productTitle, productStatus: body.data.productStatus } }
अपने वर्कफ़्लो में एक लॉग आउटपुट एक्शन जोड़ें और इसे कोड चलाएँ एक्शन से कनेक्ट करें। फिर कोड चलाएँ स्टेप पर क्लिक करके कॉन्फ़िगरेशन पैनल खोलें।
आउटपुट फ़ील्ड में, कोड चलाएँ स्टेप द्वारा लौटाए गए वैरिएबल शामिल करें, जैसे:
Title from HTTP response: {{runCode.productTitle}} Status from HTTP response: {{runCode.productStatus}}
वर्कफ़्लो को एक्टिवेट करें।
किसी प्रोडक्ट पर स्टेटस बदलकर इसका टेस्ट करें, जैसे ड्राफ़्ट से एक्टिव में बदलकर।
Flow / हाल ही के रन पेज से नतीजों वाले रन को देखें और ध्यान दें कि लॉग आउटपुट स्टेप की वैल्यू, HTTP अनुरोध भेजें आउटपुट से मिली वैल्यू से मेल खाती हैं।
टेम्पलेट
अपने पूर्ति प्रदाता को अपकमिंग ऑर्डर के बारे में सूचित करें
Order Tagger में ऑर्डर को "Warehouse" टैग किए जाने पर अपने पूर्ति प्रदाता को एक HTTP अनुरोध भेजें। टेम्पलेट देखें
नए ऑर्डर Airtable पर भेजें
ऑर्डर बनाए जाने पर उसे Airtable पर भेजें। टेम्पलेट देखें
सभी मौजूदा और नए प्रोडक्ट Airtable पर भेजें
हर 10 मिनट में, ऐसे प्रोडक्ट ढूंढें जिन्हें Airtable पर नहीं भेजा गया है (टैग के अनुसार) और उन्हें Airtable पर भेजें। टेम्पलेट देखें
Airtable में स्टोर किए गए प्रोडक्ट डेटा से बैच में प्रोडक्ट अपडेट करें
Airtable में स्टोर किए गए प्रोडक्ट डेटा से बैच में प्रोडक्ट अपडेट करें। टेम्पलेट देखें
SendGrid का उपयोग करके ग्राहकों को एक्सपायर हो रहे गिफ़्ट कार्ड के बारे में सूचित करें
हर दिन, वे सभी गिफ़्ट कार्ड पाएं जो 7 दिनों में एक्सपायर हो रहे हैं और SendGrid का उपयोग करके ग्राहकों को ईमेल भेजें। टेम्पलेट देखें
जब ग्राहक किसी कस्टम आइटम के लिए ऑर्डर दें, तो SendGrid का उपयोग करके ईमेल भेजें
जब कोई ग्राहक किसी कस्टम आइटम के लिए ऑर्डर दे, तो SendGrid का उपयोग करके एक ट्रांज़ैक्शनल ईमेल भेजें। टेम्पलेट देखें