TIP
यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें
वर्कफ़्लो HTTP अनुरोध एकीकरण
HTTP अनुरोध नोड के माध्यम से, NocoBase वर्कफ़्लो किसी भी HTTP सेवा को सक्रिय रूप से अनुरोध भेज सकता है, जिससे बाहरी सिस्टम के साथ डेटा इंटरैक्शन और व्यावसायिक एकीकरण संभव हो पाता है।
अवलोकन
HTTP अनुरोध नोड वर्कफ़्लो में एक मुख्य एकीकरण घटक है, जो आपको वर्कफ़्लो निष्पादन के दौरान थर्ड-पार्टी API, आंतरिक सेवा इंटरफ़ेस या अन्य वेब सेवाओं को कॉल करने की अनुमति देता है, ताकि आप डेटा प्राप्त कर सकें या बाहरी कार्रवाइयों को ट्रिगर कर सकें।
विशिष्ट उपयोग के मामले
डेटा प्राप्त करना
- थर्ड-पार्टी डेटा क्वेरीज़: मौसम API, विनिमय दर API आदि से वास्तविक समय का डेटा प्राप्त करें
- पता समाधान: पते के पार्सिंग और जियोकोडिंग के लिए मानचित्र सेवा API को कॉल करें
- एंटरप्राइज़ डेटा सिंक: CRM, ERP सिस्टम से ग्राहक, ऑर्डर आदि का डेटा प्राप्त करें
व्यवसाय ट्रिगर
- संदेश पुश: सूचनाएँ भेजने के लिए SMS, ईमेल, वीकॉम सेवाओं को कॉल करें
- भुगतान अनुरोध: भुगतान गेटवे के साथ भुगतान, रिफंड आदि शुरू करें
- ऑर्डर प्रोसेसिंग: शिपिंग सिस्टम के साथ वेबिल सबमिट करें, लॉजिस्टिक्स स्थिति क्वेरी करें
सिस्टम एकीकरण
- माइक्रोसेवा कॉल: माइक्रोसेवा आर्किटेक्चर में अन्य सेवा API को कॉल करें
- डेटा रिपोर्टिंग: एनालिटिक्स प्लेटफ़ॉर्म, मॉनिटरिंग सिस्टम को व्यावसायिक डेटा रिपोर्ट करें
- थर्ड-पार्टी सेवाएँ: AI सेवाओं, OCR पहचान, स्पीच सिंथेसिस को एकीकृत करें
स्वचालन
- निर्धारित कार्य: डेटा सिंक करने के लिए समय-समय पर बाहरी API को कॉल करें
- इवेंट प्रतिक्रिया: डेटा बदलने पर स्वचालित रूप से बाहरी API को कॉल करें
- अनुमोदन वर्कफ़्लो: अनुमोदन सिस्टम API के माध्यम से अनुमोदन अनुरोध सबमिट करें
विशेषताएँ
पूर्ण HTTP समर्थन
- सभी HTTP विधियों का समर्थन करता है: GET, POST, PUT, PATCH, DELETE
- कस्टम अनुरोध हेडर का समर्थन करता है
- कई डेटा प्रारूप: JSON, फ़ॉर्म डेटा, XML
- विभिन्न पैरामीटर प्रकार: URL पैरामीटर, पाथ पैरामीटर, अनुरोध बॉडी
लचीला डेटा प्रोसेसिंग
- वेरिएबल संदर्भ: वर्कफ़्लो वेरिएबल का उपयोग करके गतिशील रूप से अनुरोध बनाएँ
- प्रतिक्रिया पार्सिंग: JSON प्रतिक्रियाओं को स्वचालित रूप से पार्स करें, आवश्यक डेटा निकालें
- डेटा रूपांतरण: अनुरोध और प्रतिक्रिया डेटा प्रारूपों को रूपांतरित करें
- त्रुटि प्रबंधन: पुनः प्रयास रणनीतियाँ, टाइमआउट सेटिंग्स, त्रुटि प्रबंधन तर्क कॉन्फ़िगर करें
सुरक्षा प्रमाणीकरण
- बेसिक प्रमाणीकरण: HTTP बेसिक प्रमाणीकरण
- बियरर टोकन: टोकन प्रमाणीकरण
- API कुंजी: कस्टम API कुंजी प्रमाणीकरण
- कस्टम हेडर: किसी भी प्रमाणीकरण विधि के लिए समर्थन
उपयोग के चरण
1. प्लगइन सक्षम है या नहीं, इसकी पुष्टि करें
HTTP अनुरोध नोड वर्कफ़्लो प्लगइन की एक अंतर्निहित सुविधा है। सुनिश्चित करें कि वर्कफ़्लो प्लगइन सक्षम है।
2. वर्कफ़्लो में HTTP अनुरोध नोड जोड़ें
- एक वर्कफ़्लो बनाएँ या संपादित करें
- वांछित स्थान पर एक HTTP अनुरोध नोड जोड़ें

- अनुरोध पैरामीटर कॉन्फ़िगर करें
3. अनुरोध पैरामीटर कॉन्फ़िगर करें

बुनियादी कॉन्फ़िगरेशन
-
अनुरोध URL: लक्ष्य API पता, वेरिएबल का समर्थन करता है
https://api.example.com/users/{{$context.userId}}
-
अनुरोध विधि: GET, POST, PUT, DELETE आदि चुनें
-
अनुरोध हेडर: HTTP हेडर कॉन्फ़िगर करें
{
"Content-Type": "application/json",
"Authorization": "Bearer {{$context.apiKey}}"
}
-
अनुरोध पैरामीटर:
- क्वेरी पैरामीटर: URL क्वेरी पैरामीटर
- बॉडी पैरामीटर: अनुरोध बॉडी डेटा (POST/PUT)
उन्नत कॉन्फ़िगरेशन
- टाइमआउट: अनुरोध टाइमआउट सेट करें (डिफ़ॉल्ट 30 सेकंड)
- असफलता पर पुनः प्रयास करें: पुनः प्रयास गणना और अंतराल कॉन्फ़िगर करें
- असफलता को अनदेखा करें: अनुरोध विफल होने पर भी वर्कफ़्लो जारी रखें
- प्रॉक्सी सेटिंग्स: HTTP प्रॉक्सी कॉन्फ़िगर करें (यदि आवश्यक हो)
4. प्रतिक्रिया डेटा का उपयोग करें
HTTP अनुरोध नोड निष्पादन के बाद, प्रतिक्रिया डेटा का उपयोग बाद के नोड्स में किया जा सकता है:
{{$node.data.status}}: HTTP स्थिति कोड
{{$node.data.headers}}: प्रतिक्रिया हेडर
{{$node.data.data}}: प्रतिक्रिया बॉडी डेटा
{{$node.data.error}}: त्रुटि संदेश (यदि अनुरोध विफल रहा)

उदाहरण परिदृश्य
उदाहरण 1: मौसम की जानकारी प्राप्त करें
// कॉन्फ़िगरेशन
URL: https://api.weather.com/v1/current
Method: GET
Query Parameters:
city: {{$context.city}}
key: your-api-key
// प्रतिक्रिया का उपयोग करें
Temperature: {{$node.data.data.temperature}}
Weather: {{$node.data.data.condition}}
उदाहरण 2: वीकॉम संदेश भेजें
// कॉन्फ़िगरेशन
URL: https://qyapi.weixin.qq.com/cgi-bin/message/send
Method: POST
Headers:
Content-Type: application/json
Body:
{
"touser": "{{$context.userId}}",
"msgtype": "text",
"agentid": 1000001,
"text": {
"content": "ऑर्डर {{$context.orderId}} भेज दिया गया है"
}
}
उदाहरण 3: भुगतान स्थिति क्वेरी करें
// कॉन्फ़िगरेशन
URL: https://api.payment.com/v1/orders/{{$context.orderId}}/status
Method: GET
Headers:
Authorization: Bearer {{$context.apiKey}}
Content-Type: application/json
// शर्त आधारित तर्क
यदि {{$node.data.data.status}} "paid" के बराबर है
- ऑर्डर की स्थिति को "भुगतान किया गया" पर अपडेट करें
- भुगतान सफलता सूचना भेजें
अन्यथा यदि {{$node.data.data.status}} "pending" के बराबर है
- ऑर्डर की स्थिति को "भुगतान लंबित" रखें
अन्यथा
- भुगतान विफलता लॉग करें
- अपवाद को संभालने के लिए व्यवस्थापक को सूचित करें
उदाहरण 4: CRM में डेटा सिंक करें
// कॉन्फ़िगरेशन
URL: https://api.crm.com/v1/customers
Method: POST
Headers:
X-API-Key: {{$context.crmApiKey}}
Content-Type: application/json
Body:
{
"name": "{{$context.customerName}}",
"email": "{{$context.email}}",
"phone": "{{$context.phone}}",
"source": "NocoBase",
"created_at": "{{$context.createdAt}}"
}
प्रमाणीकरण कॉन्फ़िगरेशन
बेसिक प्रमाणीकरण
Headers:
Authorization: Basic base64(username:password)
बियरर टोकन
Headers:
Authorization: Bearer your-access-token
API कुंजी
// हेडर में
Headers:
X-API-Key: your-api-key
// या क्वेरी में
Query Parameters:
api_key: your-api-key
OAuth 2.0
पहले access_token प्राप्त करें, फिर उपयोग करें:
Headers:
Authorization: Bearer {{$context.accessToken}}
त्रुटि प्रबंधन और डीबगिंग
सामान्य त्रुटियाँ
- कनेक्शन टाइमआउट: नेटवर्क कनेक्शन जांचें, टाइमआउट बढ़ाएँ
- 401 अनधिकृत: प्रमाणीकरण क्रेडेंशियल सत्यापित करें
- 404 नहीं मिला: URL सही है या नहीं, जांचें
- 500 सर्वर त्रुटि: API प्रदाता की सेवा स्थिति जांचें
डीबगिंग युक्तियाँ
-
लॉग नोड्स का उपयोग करें: अनुरोध और प्रतिक्रिया डेटा रिकॉर्ड करने के लिए HTTP अनुरोधों से पहले और बाद में लॉग नोड्स जोड़ें
-
निष्पादन लॉग जांचें: वर्कफ़्लो निष्पादन लॉग में विस्तृत अनुरोध और प्रतिक्रिया जानकारी होती है
-
परीक्षण उपकरण: पहले Postman, cURL आदि का उपयोग करके API का परीक्षण करें
-
त्रुटि प्रबंधन: विभिन्न प्रतिक्रिया स्थितियों को संभालने के लिए शर्त आधारित तर्क जोड़ें
यदि {{$node.data.status}} >= 200 और {{$node.data.status}} < 300
- सफलता तर्क को संभालें
अन्यथा
- विफलता तर्क को संभालें
- त्रुटि लॉग करें: {{$node.data.error}}
प्रदर्शन अनुकूलन
1. अतुल्यकालिक प्रोसेसिंग का उपयोग करें
जिन अनुरोधों के लिए तत्काल परिणाम की आवश्यकता नहीं होती है, उनके लिए अतुल्यकालिक वर्कफ़्लो का उपयोग करने पर विचार करें।
2. उचित टाइमआउट कॉन्फ़िगर करें
अत्यधिक प्रतीक्षा से बचने के लिए वास्तविक API प्रतिक्रिया समय के आधार पर टाइमआउट सेट करें।
3. कैशिंग रणनीतियाँ लागू करें
अक्सर न बदलने वाले डेटा (कॉन्फ़िगरेशन, डिक्शनरी) के लिए, प्रतिक्रियाओं को कैश करने पर विचार करें।
4. बैच प्रोसेसिंग
यदि एक ही API पर कई कॉल कर रहे हैं, तो बैच एंडपॉइंट्स (यदि समर्थित हो) का उपयोग करने पर विचार करें।
5. त्रुटि पुनः प्रयास
उचित पुनः प्रयास रणनीतियाँ कॉन्फ़िगर करें, लेकिन अत्यधिक पुनः प्रयासों से बचें जो दर सीमित (rate limiting) का कारण बन सकते हैं।
सुरक्षा के सर्वोत्तम अभ्यास
1. संवेदनशील जानकारी को सुरक्षित रखें
- URL में संवेदनशील जानकारी उजागर न करें
- एन्क्रिप्टेड ट्रांसमिशन के लिए HTTPS का उपयोग करें
- API कुंजी और संवेदनशील डेटा को पर्यावरण वेरिएबल या कॉन्फ़िगरेशन प्रबंधन में संग्रहीत करें
2. प्रतिक्रिया डेटा को मान्य करें
// प्रतिक्रिया स्थिति को मान्य करें
if (![200, 201].includes($node.data.status)) {
throw new Error('API अनुरोध विफल रहा');
}
// डेटा प्रारूप को मान्य करें
if (!$node.data.data || !$node.data.data.id) {
throw new Error('अमान्य प्रतिक्रिया डेटा');
}
3. दर सीमित करना
ब्लॉक होने से बचने के लिए थर्ड-पार्टी API की दर सीमाओं का सम्मान करें।
4. लॉग सैनिटाइजेशन
लॉग करते समय, संवेदनशील जानकारी (पासवर्ड, कुंजी आदि) को सैनिटाइज करें।
वेबहूक के साथ तुलना
| विशेषता | HTTP अनुरोध नोड | वेबहूक ट्रिगर |
|---|
| दिशा | NocoBase बाहरी को कॉल करता है | बाहरी NocoBase को कॉल करता है |
| समय | वर्कफ़्लो निष्पादन के दौरान | जब बाहरी घटना होती है |
| उद्देश्य | डेटा प्राप्त करें, बाहरी कार्रवाइयों को ट्रिगर करें | बाहरी सूचनाएँ, इवेंट प्राप्त करें |
| विशिष्ट परिदृश्य | भुगतान API को कॉल करें, मौसम क्वेरी करें | भुगतान कॉलबैक, संदेश सूचनाएँ |
ये दोनों सुविधाएँ एक-दूसरे के पूरक हैं और एक पूर्ण सिस्टम एकीकरण समाधान बनाने में मदद करती हैं।
संबंधित संसाधन