Webhooks
Webhooks आपको Meshy से रियल-टाइम अपडेट प्राप्त करने की अनुमति देते हैं, जब आपके API टास्क पूरे हो जाते हैं या उनकी स्थिति बदलती है। कॉन्फ़िगर हो जाने के बाद, Meshy आपके द्वारा निर्दिष्ट URLs पर json फ़ॉर्मैट में इवेंट पेलोड POST करेगा।
Webhooks क्यों बनाएँ
webhooks का उपयोग करने के कई लाभ हैं, विशेष रूप से API टास्क स्थितियों को स्वचालित रूप से जाँचने के संबंध में। टास्क स्थिति अपडेट पाने के लिए API को लगातार पोल करने की तुलना में Webhooks में कम प्रयास और लागत लगती है। Webhooks लगभग रियल-टाइम अपडेट की भी अनुमति देते हैं और अंततः API पोलिंग की तुलना में बेहतर स्केल करते हैं। यह आपको अपनी रेट लिमिट्स को बेहतर तरीके से प्रबंधित करने में भी सक्षम बनाता है, खासकर यदि आप लगातार पोलिंग कर रहे हैं।
सेटअप और कॉन्फ़िगरेशन
webhooks सक्षम करने के लिए, Meshy वेब एप्लिकेशन में लॉग इन होने पर API सेटिंग्स पेज पर जाएँ। अपनी API Keys के नीचे "Webhooks" सेक्शन ढूँढें और "Create Webhook" बटन पर क्लिक करें। Meshy से webhooks प्राप्त करने के लिए अपना वांछित https URL प्रदान करें और Meshy से टास्क अपडेट स्वचालित रूप से प्राप्त करने के लिए webhook सक्षम करें। प्रति Meshy अकाउंट आपके पास अधिकतम 5 सक्रिय webhooks हो सकते हैं। जब कोई webhook सक्षम होता है, तो सभी API टास्क स्थिति अपडेट स्वचालित रूप से पेलोड URL पर भेजे जाएँगे। सुरक्षा उद्देश्यों के लिए, हम इस समय केवल https URLs पर webhooks भेजने की अनुमति देते हैं। यदि आप स्थानीय परीक्षण कॉन्फ़िगर करना चाहते हैं, तो निम्न सेक्शन देखें।
Webhook डिलीवरी आवश्यकताएँ
आपके webhook के सामान्य रूप से कार्य करने और इवेंट्स प्राप्त करना जारी रखने के लिए:
- आपके सर्वर को 400 से कम HTTP स्टेटस कोड के साथ प्रतिक्रिया देनी चाहिए (जैसे,
200 OK,202 Accepted)। - स्टेटस कोड
>= 400वाली किसी भी प्रतिक्रिया को विफल डिलीवरी माना जाएगा। - लगातार कई विफलताएँ:
- progress अपडेट में देरी कर सकती हैं या उन्हें क्रम से बाहर पहुँचा सकती हैं
- बार-बार प्रयासों के बाद आपके webhook को स्वचालित रूप से अक्षम कर सकती हैं (Auto-Disable Policy देखें)
सुझाव: webhook पेलोड को सत्यापित और संग्रहीत करने के बाद हमेशा सफलता प्रतिक्रिया लौटाएँ, भले ही आगे की प्रोसेसिंग असिंक्रोनस रूप से हो।
स्थानीय परीक्षण के लिए Webhooks फ़ॉरवर्ड करना
यदि आप अपने webhook कोड को स्थानीय रूप से टेस्ट करना चाहते हैं, जो आमतौर पर http पते पर होता है, तो आप अपने कंप्यूटर या codespace पर webhooks फ़ॉरवर्ड करने के लिए वेबहुक प्रॉक्सी URL का उपयोग कर सकते हैं। नीचे smee.io का उपयोग करते हुए सुझाए गए चरण हैं, लेकिन वेबहुक प्रॉक्सी URL जनरेट करने के लिए आप अपनी पसंद की कोई भी सेवा उपयोग कर सकते हैं।
वेबहुक प्रॉक्सी URL प्राप्त करें:
- अपने ब्राउज़र में, https://smee.io/ पर जाएँ
- "Start a new channel" पर क्लिक करें
- "Webhook Proxy URL" के अंतर्गत पूरा URL कॉपी करें। आप इस URL का उपयोग निम्न सेटअप चरणों में करेंगे।
webhooks फ़ॉरवर्ड करें:
- यदि आपके पास पहले से smee-client इंस्टॉल नहीं है, तो अपने टर्मिनल में निम्न कमांड चलाएँ।
npm install --global smee-client
- smee.io से फ़ॉरवर्ड किए गए webhooks प्राप्त करने के लिए, अपने टर्मिनल में निम्न कमांड चलाएँ।
WEBHOOK_PROXY_URLको पहले वाले अपने वेबहुक प्रॉक्सी URL से बदलें।
smee --url WEBHOOK_PROXY_URL --path /webhook --port 3000
आपको इस तरह का आउटपुट दिखाई देना चाहिए, जहाँ WEBHOOK_PROXY_URL आपका वेबहुक प्रॉक्सी URL है:
Forwarding WEBHOOK_PROXY_URL to http://127.0.0.1:3000/webhook
Connected WEBHOOK_PROXY_URL
- अपने webhook का परीक्षण करते समय इसे चालू रखें। जब आप webhooks फ़ॉरवर्ड करना बंद करना चाहते हैं, तो Ctrl+C दर्ज करें।
ध्यान दें कि path /webhook है और port 3000 है। जब आप बाद में webhook डिलीवरी प्राप्त करने के लिए अपना कोड सेट अप करना चाहेंगे, तो ये मान उपयोगी हो सकते हैं।
webhook बनाएँ:
अब आप Meshy API सेटिंग्स पेज में नया webhook बनाने के लिए वेबहुक प्रॉक्सी URL का उपयोग कर सकते हैं।
नमूना प्रतिक्रिया
जब किसी टास्क की स्थिति बदलती है, तो Meshy आपके कॉन्फ़िगर किए गए URL पर webhook पेलोड POST करेगा। पेलोड में JSON फ़ॉर्मैट में टास्क ऑब्जेक्ट होता है। सभी टास्क ऑब्जेक्ट गुणों और उदाहरण पेलोड्स के पूर्ण विवरण के लिए, देखें: