Webhooks

Webhooks आपको Meshy से रीयल-टाइम अपडेट प्राप्त करने की सुविधा देते हैं, जब आपके API टास्क पूरे होते हैं या उनकी स्थिति बदलती है। एक बार कॉन्फ़िगर हो जाने पर, Meshy आपके द्वारा निर्दिष्ट URLs पर json फ़ॉर्मेट में इवेंट पेलोड POST करेगा।


Webhooks क्यों बनाएं

Webhooks का उपयोग करने के कई फायदे हैं, खासकर API टास्क की स्थिति को स्वचालित रूप से जांचने के मामले में। लगातार API को पोल करके टास्क स्टेटस अपडेट प्राप्त करने की तुलना में Webhooks को कम प्रयास और लागत की आवश्यकता होती है। Webhooks लगभग रीयल-टाइम अपडेट की भी अनुमति देते हैं और अंततः API पोलिंग की तुलना में बेहतर स्केल करते हैं। यह आपको अपनी रेट लिमिट्स को बेहतर तरीके से प्रबंधित करने में भी सक्षम बनाता है, खासकर यदि आप लगातार पोलिंग कर रहे हैं।


सेटअप और कॉन्फ़िगरेशन

Webhooks को सक्षम करने के लिए, Developer Platform में Webhooks पेज खोलें और "Create Webhook" बटन पर क्लिक करें। जिस https URL पर आप webhooks प्राप्त करना चाहते हैं उसे प्रदान करें और Meshy से टास्क अपडेट स्वचालित रूप से प्राप्त करने के लिए webhook को सक्षम करें। आपके पास प्रति Meshy खाते में अधिकतम 5 सक्रिय webhooks हो सकते हैं। जब कोई webhook सक्षम होता है, तो सभी API टास्क स्टेटस अपडेट स्वचालित रूप से पेलोड URL पर भेजे जाएंगे। सुरक्षा उद्देश्यों के लिए, हम फिलहाल केवल https URLs पर webhooks भेजने की अनुमति देते हैं। यदि आप लोकल टेस्टिंग कॉन्फ़िगर करना चाहते हैं, तो निम्नलिखित सेक्शन देखें।


Webhook डिलीवरी आवश्यकताएं

आपका webhook सामान्य रूप से काम करे और इवेंट प्राप्त करना जारी रखे, इसके लिए:

  • आपके सर्वर को HTTP स्टेटस कोड 400 से कम के साथ प्रतिक्रिया देनी चाहिए (उदाहरण के लिए, 200 OK, 202 Accepted)।
  • स्टेटस कोड >= 400 वाली कोई भी प्रतिक्रिया विफल डिलीवरी मानी जाएगी।
  • लगातार कई विफलताएं:
    • progress अपडेट में देरी या गलत क्रम में आने का कारण बन सकती हैं
    • बार-बार प्रयासों के बाद आपके webhook को स्वचालित रूप से अक्षम कर सकती हैं (Auto-Disable Policy देखें)

टिप: webhook पेलोड को वैलिडेट और स्टोर करने के बाद हमेशा एक सफलता प्रतिक्रिया लौटाएं, भले ही आगे की प्रोसेसिंग असिंक्रोनस रूप से हो।


लोकल टेस्टिंग के लिए Webhooks फॉरवर्ड करना

यदि आप अपने webhook कोड को लोकल रूप से टेस्ट करना चाहते हैं, जो आमतौर पर एक http एड्रेस पर होता है, तो आप webhooks को अपने कंप्यूटर या कोडस्पेस पर फॉरवर्ड करने के लिए वेबहुक प्रॉक्सी URL का उपयोग कर सकते हैं। नीचे smee.io का उपयोग करते हुए अनुशंसित चरण दिए गए हैं, लेकिन आप वेबहुक प्रॉक्सी URL जनरेट करने के लिए किसी भी सेवा का उपयोग कर सकते हैं।

एक वेबहुक प्रॉक्सी URL प्राप्त करें:

  1. अपने ब्राउज़र में, https://smee.io/ पर जाएं
  2. "Start a new channel" पर क्लिक करें
  3. "Webhook Proxy URL" के तहत पूरा URL कॉपी करें। आप इस URL का उपयोग निम्नलिखित सेटअप चरणों में करेंगे।

Webhooks फॉरवर्ड करें:

  1. यदि आपके पास पहले से smee-client इंस्टॉल नहीं है, तो अपने टर्मिनल में निम्नलिखित कमांड चलाएं।
npm install --global smee-client
  1. 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
  1. अपने webhook का परीक्षण करते समय इसे चलता रहने दें। जब आप webhooks को फॉरवर्ड करना बंद करना चाहें, तो Ctrl+C दबाएं।
    ध्यान दें कि पथ /webhook है और पोर्ट 3000 है। बाद में जब आप webhook डिलीवरी प्राप्त करने के लिए अपना खुद का कोड सेट अप करना चाहें, तो ये मान काम आ सकते हैं।

एक webhook बनाएं:

अब आप Webhooks पेज पर एक नया webhook बनाने के लिए वेबहुक प्रॉक्सी URL का उपयोग कर सकते हैं।


नमूना प्रतिक्रिया

जब किसी टास्क की स्थिति बदलती है, तो Meshy आपके कॉन्फ़िगर किए गए URL पर एक webhook पेलोड POST करेगा। पेलोड में JSON फ़ॉर्मेट में टास्क ऑब्जेक्ट होता है। सभी टास्क ऑब्जेक्ट प्रॉपर्टीज़ और उदाहरण पेलोड्स के पूर्ण विवरण के लिए, देखें: