Webhook डिलीवरी की जाँच करें
जाँचें कि इवेंट किस endpoint को मिलना चाहिए
खोलें Settings → Integrations → Webhooks। पक्का करें कि endpoint चालू है और ज़रूरी इवेंट की सदस्यता ली गई है। खाते की webhook अनुमति पूरे खाते के endpoints, सीक्रेट और डिलीवरी लॉग को कवर करती है; केवल CRM अनुमति से यह ऐक्सेस नहीं मिलता।
SMS के लिए चुने हुए Sender IDs देखें। All Sender IDs में खाते के सभी सब्सक्राइब किए गए SMS इवेंट शामिल हैं; चुनी हुई सूची का मिलान संदेश के मूल भेजने वाले से होता है। अन्य इवेंट प्रकार प्रभावित नहीं होते।
फ़िल्टर बदलने से पुराने इवेंट दोबारा नहीं भेजे जाते
हर डिलीवरी प्रयास और पुनः प्रयास पर भेजने वाले का चयन जाँचा जाता है। इसे बदलने से पुराने इवेंट दोबारा नहीं चलते और पहले से कतार में मौजूद डिलीवरी की दिशा नहीं बदलती।
डिलीवरी प्रयास पढ़ें
डिलीवरी लॉग में समय, स्थिति, इवेंट, endpoint, HTTP जवाब और त्रुटि दिखते हैं। जाँचे जा रहे प्रयास का इवेंट और endpoint पहचानें, फिर अपने रिसीवर के लॉग से तुलना करें।
मेल खाता प्रयास नहीं है
रिसीवर का कोड जाँचने से पहले इवेंट सदस्यता, endpoint की स्थिति और SMS Sender ID फ़िल्टर जाँचें।
असफल प्रयास
HTTP जवाब या नेटवर्क त्रुटि से पता करें कि रिसीवर की किस परत ने अनुरोध ठुकराया या प्राप्त नहीं किया।
सफल प्राप्ति-पुष्टि
ऐप में आगे की प्रोसेसिंग अलग से जाँचें। HTTP पुष्टि से यह साबित नहीं होता कि सभी आगे के काम पूरे हो गए।
फ़ायरवॉल आने वाले अनुरोध सीमित करता हो तो खाता सेटिंग की मौजूदा डिलीवरी IP सूची इस्तेमाल करें। IP अनुमति-सूची होने पर भी सिग्नेचर सत्यापित करें।
पहले सिग्नेचर सत्यापन जाँचें
IllyVoIP JSON POST अनुरोध में यह हेडर भेजता है: Illyvoip-Signature। इवेंट प्रोसेस करने से पहले webhook सीक्रेट और मूल raw request body से इसे सत्यापित करें।
साइन किया गया इनपुट timestamp, एक पूर्ण विराम और raw body से बनता है। सत्यापन से पहले JSON को पार्स करके दोबारा एन्कोड करने से यह बदल सकता है। HMAC SHA-256 की सही प्रक्रिया के लिए वर्तमान संदर्भ देखें।
Webhook सिग्नेचर सीक्रेट ग्राहक API कुंजी से अलग है। उसे बदला गया हो तो अपनी सामान्य क्रेडेंशियल-बदलाव प्रक्रिया से रिसीवर अपडेट करें। सपोर्ट लॉग में दोनों में से कोई सीक्रेट न दिखाएँ।
HTTP जवाब समझें
कोई भी 2xx
डिलीवरी की पुष्टि करता है। खाली 200 जवाब पर्याप्त है।
नेटवर्क विफलता, कोई जवाब नहीं, 408, 429 या 5xx
दस्तावेज़ में दी गई नीति के अनुसार दोबारा प्रयास किया जा सकता है।
3xx या अन्य 4xx
डिलीवरी रोक देता है। स्वतः पुनः प्रयास का इंतज़ार करने के बजाय redirect, ऐक्सेस नियम और रिसीवर की validation जाँचें।
सही इवेंट की प्राप्ति जल्दी स्वीकार करें और धीमे काम अलग कतार में रखें। रिसीवर एक ही इवेंट कई बार मिलने पर सुरक्षित ढंग से काम करे।
दोहरा काम रोकने के लिए इवेंट ID लें
बॉडी के फ़ील्ड id को स्थिर deduplication key के रूप में सहेजें। हेडर Illyvoip-Delivery डिलीवरी जॉब की पहचान करता है; वह इवेंट ID की जगह नहीं लेता।
SMS से इवेंट जोड़ने के लिए वर्तमान send-response और webhook दस्तावेज़ देखें। डिलीवरी जॉब ID और संदेश की पहचान अलग उद्देश्यों के लिए हैं।
मदद चाहिए तो इवेंट ID, प्रयास का समय और समय-क्षेत्र, जवाब का कोड और संवेदनशील जानकारी हटाकर रिसीवर की त्रुटि दें। सिग्नेचर सीक्रेट, API कुंजी और असंबंधित इवेंट सामग्री निजी रखें।
Endpoint बनाएँ, बदलें और हटाएँ
Integrations → Webhooks में Add webhook चुनें, रिसीवर का HTTPS URL डालें और केवल ज़रूरी इवेंट चुनें। जहाँ लागू हो SMS sender फ़िल्टर जाँचकर सहेजें। दिखाए जाने पर सिग्नेचर सीक्रेट सुरक्षित रखें; यह खाते की API कुंजी नहीं है।
सही endpoint पर Edit से नाम, इवेंट सदस्यता, फ़िल्टर या चालू स्थिति बदलें। URL केवल पढ़ने योग्य है: दूसरे URL के लिए नया endpoint बनाएँ, रिसीवर पर उसका सीक्रेट अपडेट करें और तैयार होने पर पुराना हटाएँ। टेस्ट से पहले सहेजी गई पंक्ति जाँचें। डुप्लिकेट endpoints एक रिसीवर को अलग-अलग सूचनाएँ भेज सकते हैं। पुराना endpoint हटाने से पहले देखें कि कौन सा ऐप उसे इस्तेमाल करता है; हटाने से पहले प्रोसेस हो चुके इवेंट वापस नहीं होते।
सिग्नेचर सीक्रेट बदलाव समन्वित करें
सीक्रेट तभी बदलें जब रिसीवर ऐप अपडेट करने को तैयार हों। पुष्टि पढ़ें, नया सीक्रेट सुरक्षित सहेजें और अगली डिलीवरी पर भरोसा करने से पहले रिसीवर अपडेट करें। यह न मानें कि पुराना सीक्रेट हमेशा चलेगा या बदलाव पुराने इवेंट दोहराएगा। डिलीवरी लॉग हाल की जाँच के लिए है, पूरा इतिहास नहीं; अपने सुरक्षित इवेंट और प्रोसेसिंग रिकॉर्ड रखें।