TIP
यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें
वर्कफ़्लो वेबहुक इंटीग्रेशन
वेबहुक ट्रिगर के माध्यम से, NocoBase तीसरे-पक्ष के सिस्टम से HTTP कॉल प्राप्त कर सकता है और स्वचालित रूप से वर्कफ़्लो को ट्रिगर कर सकता है, जिससे बाहरी सिस्टम के साथ निर्बाध एकीकरण संभव हो पाता है।
अवलोकन
वेबहुक एक "रिवर्स API" तंत्र है जो बाहरी सिस्टम को विशिष्ट घटनाएँ घटित होने पर NocoBase को सक्रिय रूप से डेटा भेजने की अनुमति देता है। सक्रिय पोलिंग की तुलना में, वेबहुक एक अधिक वास्तविक समय और कुशल एकीकरण दृष्टिकोण प्रदान करते हैं।
सामान्य उपयोग के मामले
फ़ॉर्म डेटा सबमिशन
बाहरी सर्वेक्षण सिस्टम, पंजीकरण फ़ॉर्म और ग्राहक प्रतिक्रिया फ़ॉर्म, उपयोगकर्ता द्वारा डेटा सबमिट करने के बाद वेबहुक के माध्यम से NocoBase को डेटा भेजते हैं, जिससे स्वचालित रूप से रिकॉर्ड बनते हैं और अनुवर्ती प्रक्रियाएँ (जैसे पुष्टि ईमेल भेजना, कार्य असाइन करना आदि) ट्रिगर होती हैं।
संदेश सूचनाएँ
तीसरे-पक्ष के मैसेजिंग प्लेटफ़ॉर्म (जैसे वीकॉम, डिंगटॉक, स्लैक) से आने वाली घटनाएँ (जैसे नए संदेश, @उल्लेख या अनुमोदन पूर्णता) वेबहुक के माध्यम से NocoBase में स्वचालित प्रक्रियाओं को ट्रिगर कर सकती हैं।
डेटा सिंक्रोनाइज़ेशन
जब बाहरी सिस्टम (जैसे CRM, ERP) में डेटा बदलता है, तो वेबहुक वास्तविक समय में NocoBase को अपडेट भेजते हैं ताकि डेटा सिंक्रोनाइज़ेशन बना रहे।
तीसरे-पक्ष की सेवा एकीकरण
- GitHub: कोड पुश, PR निर्माण जैसी घटनाएँ स्वचालन वर्कफ़्लो को ट्रिगर करती हैं
- GitLab: CI/CD पाइपलाइन स्थिति सूचनाएँ
- फ़ॉर्म सबमिशन: बाहरी फ़ॉर्म सिस्टम NocoBase को डेटा सबमिट करते हैं
- IoT डिवाइस: डिवाइस की स्थिति में बदलाव, सेंसर डेटा रिपोर्टिंग
विशेषताएँ
लचीला ट्रिगर तंत्र
- GET, POST, PUT, DELETE जैसे HTTP तरीकों का समर्थन करता है
- JSON, फ़ॉर्म डेटा और अन्य सामान्य प्रारूपों को स्वचालित रूप से पार्स करता है
- विश्वसनीय स्रोतों को सुनिश्चित करने के लिए अनुरोध सत्यापन को कॉन्फ़िगर किया जा सकता है
डेटा प्रोसेसिंग क्षमताएँ
- प्राप्त डेटा को वर्कफ़्लो में वैरिएबल के रूप में उपयोग किया जा सकता है
- जटिल डेटा परिवर्तन और प्रोसेसिंग लॉजिक का समर्थन करता है
- जटिल व्यावसायिक लॉजिक को लागू करने के लिए इसे अन्य वर्कफ़्लो नोड्स के साथ जोड़ा जा सकता है
सुरक्षा आश्वासन
- जाली अनुरोधों को रोकने के लिए हस्ताक्षर सत्यापन का समर्थन करता है
- कॉन्फ़िगर करने योग्य IP श्वेतसूची
- HTTPS एन्क्रिप्टेड ट्रांसमिशन
उपयोग के चरण
1. प्लगइन इंस्टॉल करें
प्लगइन मैनेजर में वर्कफ़्लो: वेबहुक ट्रिगर प्लगइन को ढूंढें और इंस्टॉल करें।
ध्यान दें: यह एक व्यावसायिक प्लगइन है, जिसे अलग से खरीदना या सब्सक्राइब करना होगा।
2. वेबहुक वर्कफ़्लो बनाएँ
- वर्कफ़्लो प्रबंधन पेज पर जाएँ
- वर्कफ़्लो बनाएँ पर क्लिक करें
- वेबहुक ट्रिगर को ट्रिगर प्रकार के रूप में चुनें

- वेबहुक पैरामीटर कॉन्फ़िगर करें

- अनुरोध पाथ: कस्टम वेबहुक URL पाथ
- अनुरोध विधि: अनुमति प्राप्त HTTP तरीके चुनें (GET/POST/PUT/DELETE)
- सिंक/एसिंक: चुनें कि क्या परिणाम वापस करने से पहले वर्कफ़्लो के पूरा होने का इंतजार करना है
- सत्यापन: हस्ताक्षर सत्यापन या अन्य सुरक्षा तंत्र कॉन्फ़िगर करें
3. वर्कफ़्लो नोड्स कॉन्फ़िगर करें
व्यावसायिक आवश्यकताओं के आधार पर वर्कफ़्लो नोड्स जोड़ें, जैसे:
- संग्रह संचालन: रिकॉर्ड बनाएँ, अपडेट करें, हटाएँ
- शर्त आधारित लॉजिक: प्राप्त डेटा के आधार पर शर्त आधारित शाखा बनाएँ
- HTTP अनुरोध: अन्य API को कॉल करें
- सूचनाएँ: ईमेल, SMS आदि भेजें
- कस्टम कोड: जावास्क्रिप्ट कोड निष्पादित करें
4. वेबहुक URL प्राप्त करें
वर्कफ़्लो बनाने के बाद, सिस्टम एक अद्वितीय वेबहुक URL जेनरेट करता है, जिसका प्रारूप आमतौर पर होता है:
https://your-nocobase-domain.com/api/webhooks/your-workflow-key
5. तीसरे-पक्ष के सिस्टम में कॉन्फ़िगर करें
जनरेट किए गए वेबहुक URL को तीसरे-पक्ष के सिस्टम में कॉन्फ़िगर करें:
- फ़ॉर्म सिस्टम में डेटा सबमिशन कॉलबैक पता सेट करें
- GitHub/GitLab में वेबहुक कॉन्फ़िगर करें
- वीकॉम/डिंगटॉक में इवेंट पुश पता कॉन्फ़िगर करें
6. वेबहुक का परीक्षण करें
वेबहुक का परीक्षण करने के लिए टूल (जैसे पोस्टमैन, cURL) का उपयोग करें:
curl -X POST https://your-nocobase-domain.com/api/webhooks/your-workflow-key \
-H "Content-Type: application/json" \
-d '{"event":"test","data":{"message":"Hello NocoBase"}}'
अनुरोध डेटा तक पहुँचना
वर्कफ़्लो में, आप वैरिएबल के माध्यम से वेबहुक द्वारा प्राप्त डेटा तक पहुँच सकते हैं:
{{$context.data}}: अनुरोध बॉडी डेटा
{{$context.headers}}: अनुरोध हेडर
{{$context.query}}: URL क्वेरी पैरामीटर
{{$context.params}}: पाथ पैरामीटर


प्रतिक्रिया कॉन्फ़िगरेशन

सिंक्रोनस मोड
वर्कफ़्लो निष्पादन पूरा होने के बाद परिणाम देता है, जिसे कॉन्फ़िगर किया जा सकता है:
- प्रतिक्रिया स्थिति कोड: 200, 201, आदि।
- प्रतिक्रिया डेटा: कस्टम JSON प्रतिक्रिया डेटा
- प्रतिक्रिया हेडर: कस्टम HTTP हेडर
एसिंक्रोनस मोड
तत्काल पुष्टि प्रतिक्रिया देता है, वर्कफ़्लो बैकग्राउंड में निष्पादित होता है। यह उन स्थितियों के लिए उपयुक्त है जहाँ:
- लंबे समय तक चलने वाले वर्कफ़्लो हों
- निष्पादन परिणामों की आवश्यकता नहीं होती है
- उच्च-समवर्ती परिदृश्य हों
सुरक्षा के सर्वोत्तम अभ्यास
1. हस्ताक्षर सत्यापन सक्षम करें
अधिकांश तीसरे-पक्ष की सेवाएँ हस्ताक्षर तंत्र का समर्थन करती हैं:
// उदाहरण: GitHub वेबहुक हस्ताक्षर सत्यापित करें
const crypto = require('crypto');
const signature = context.headers['x-hub-signature-256'];
const payload = JSON.stringify(context.data);
const secret = 'your-webhook-secret';
const expectedSignature = 'sha256=' + crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
if (signature !== expectedSignature) {
throw new Error('Invalid signature');
}
2. HTTPS का उपयोग करें
सुनिश्चित करें कि NocoBase को HTTPS वातावरण में डिप्लॉय किया गया है, ताकि डेटा ट्रांसमिशन सुरक्षित रहे।
3. अनुरोध स्रोतों को प्रतिबंधित करें
IP श्वेतसूची कॉन्फ़िगर करें, ताकि केवल विश्वसनीय स्रोतों से अनुरोधों की अनुमति मिल सके।
4. डेटा सत्यापन
वर्कफ़्लो में डेटा सत्यापन लॉजिक जोड़ें, यह सुनिश्चित करने के लिए कि प्राप्त डेटा का प्रारूप सही और सामग्री वैध है।
5. ऑडिट लॉगिंग
सभी वेबहुक अनुरोधों को रिकॉर्ड करें, ताकि ट्रैकिंग और समस्या निवारण में आसानी हो।
समस्या निवारण
वेबहुक ट्रिगर नहीं हो रहा है?
- जाँच करें कि वेबहुक URL सही है
- पुष्टि करें कि वर्कफ़्लो की स्थिति "सक्षम" है
- तीसरे-पक्ष के सिस्टम के भेजने वाले लॉग देखें
- फ़ायरवॉल और नेटवर्क कॉन्फ़िगरेशन की समीक्षा करें
वेबहुक को कैसे डीबग करें?
- अनुरोधों और परिणामों के बारे में विस्तृत जानकारी के लिए वर्कफ़्लो निष्पादन रिकॉर्ड देखें
- अनुरोधों को सत्यापित करने के लिए वेबहुक परीक्षण टूल (जैसे Webhook.site) का उपयोग करें
- निष्पादन रिकॉर्ड में महत्वपूर्ण डेटा और त्रुटि संदेशों की समीक्षा करें
पुनः प्रयास (Retries) को कैसे संभालें?
कुछ तीसरे-पक्ष की सेवाएँ सफल प्रतिक्रिया न मिलने पर पुनः भेजने का प्रयास करती हैं:
- सुनिश्चित करें कि वर्कफ़्लो आइडेंपोटेंट है
- डुप्लीकेशन हटाने के लिए अद्वितीय पहचानकर्ताओं का उपयोग करें
- संसाधित अनुरोध ID रिकॉर्ड करें
प्रदर्शन अनुकूलन युक्तियाँ
- समय लेने वाले ऑपरेशनों के लिए एसिंक्रोनस मोड का उपयोग करें
- अनावश्यक अनुरोधों को फ़िल्टर करने के लिए शर्त आधारित लॉजिक जोड़ें
- उच्च-समवर्ती परिदृश्यों को संभालने के लिए मैसेज क्यू का उपयोग करने पर विचार करें
उदाहरण परिदृश्य
बाहरी फ़ॉर्म सबमिशन प्रोसेसिंग
// 1. डेटा स्रोत सत्यापित करें
// 2. फ़ॉर्म डेटा पार्स करें
const formData = context.data;
// 3. ग्राहक रिकॉर्ड बनाएँ
// 4. संबंधित प्रभारी को असाइन करें
// 5. सबमिट करने वाले को पुष्टि ईमेल भेजें
if (formData.email) {
// ईमेल सूचना भेजें
}
GitHub कोड पुश सूचना
// 1. पुश डेटा पार्स करें
const commits = context.data.commits;
const branch = context.data.ref.replace('refs/heads/', '');
// 2. यदि मुख्य शाखा है
if (branch === 'main') {
// 3. डिप्लॉयमेंट प्रक्रिया ट्रिगर करें
// 4. टीम के सदस्यों को सूचित करें
}

संबंधित संसाधन