# आउटगोइंग वेबहुक्स

Canonical page: https://phishdestroy.github.io/TgWitness/hi/docs/reference/webhooks/

HMAC हस्ताक्षरों, पुनः प्रयासों और वितरण स्थिति के साथ HTTPS रिसीवरों को स्कोप्ड इवेंट्स भेजें।

**वर्तमान मुख्य:** स्रोत चेकआउट का उपयोग करें; 0.7.0 पोर्टेबल पूर्वावलोकन इस सुविधा से पहले का है।

[कार्यप्रवाह मार्गदर्शिका](https://phishdestroy.github.io/TgWitness/docs/archive/) · [विकी](https://github.com/phishdestroy/TgWitness/blob/main/docs/wiki/Archive-and-Integrations.md)

चुने गए वर्कस्पेस में **इंटीग्रेशन → आउटगोइंग वेबहुक्स** खोलें। एक HTTPS रिसीवर जोड़ें, कलेक्टर/मीडिया/एक्सपोर्ट इवेंट्स चुनें, और वैकल्पिक रूप से नए अवलोकनों और परिवर्तनों के लिए चैट्स चुनें। संदेश का टेक्स्ट डिफ़ॉल्ट रूप से बंद होता है। अंश सक्षम करने से संदेश-परिवर्तन इवेंट्स में अधिकतम 1,000 वर्ण जोड़े जाते हैं; कच्चे टेलीग्राम फ़ील्ड और क्रेडेंशियल कभी भी नहीं भेजे जाते हैं।

HMAC सीक्रेट को एक बार रिसीवर की सुरक्षित कॉन्फ़िगरेशन में कॉपी करें। यह TgWitness के वॉल्ट में एन्क्रिप्ट किया गया है और इसे पैनल से पुनः प्राप्त नहीं किया जा सकता। इसे रोटेट करने के लिए एक डेस्टिनेशन को हटाएँ और पुनः बनाएँ। **सिंथेटिक टेस्ट भेजें** बिना चैट सामग्री वाला टेस्ट कतार में डालता है; उसका परिणाम देखने के लिए डिलीवरी स्थिति रीफ़्रेश करें।

डिलीवरी, Apprise के साथ मौजूदा सूचना लूप का विस्तार करती है। यह वर्कस्पेस के बाहरी मार्ग और मौजूदा निजी-गंतव्य प्रतिबंधों का उपयोग करती है। इसके बाद कोई सीधा फॉलबैक या रीडायरेक्ट नहीं होता है। यूआरएल में क्रेडेंशियल, क्वेरी स्ट्रिंग या फ्रैगमेंट नहीं होने चाहिए; निजी पतों के लिए सर्वर-स्तर के नेटवर्क ऑप्ट-इन की आवश्यकता होती है, न कि ऐसी सेटिंग की जिसे पैनल उपयोगकर्ता बायपास कर सके।

## पेडलोड और हस्ताक्षर

स्कीमा: [`tgwitness.webhook/1`](https://github.com/phishdestroy/TgWitness/blob/main/integrations/webhook.schema.json)। प्रत्येक पेलोड में `event_id`, `timestamp`, `workspace`, `type`, `synthetic`, और काउंटर होते हैं। जर्नल-आधारित घटनाओं में उनका क्रम और हैश शामिल होता है। पूर्ण-निर्यात पूरा होने और सिंथेटिक परीक्षण डिलीवरी घटनाएं हैं, जिनमें कोई काल्पनिक हस्ताक्षरित जर्नल संदर्भ नहीं होता है। टेलीग्राम डिलीशन नोटिस और `missing_on_recheck` अलग-अलग प्रकार के बने रहते हैं।

`X-TgWitness-Signature` हेडर `t=UNIX_SECONDS,v1=HEX_HMAC_SHA256` है। `timestamp + "." + raw_request_body` के सटीक बाइट्स पर HMAC की गणना करें, प्रदर्शित गुप्त कुंजी को UTF-8 बाइट्स के रूप में उपयोग करते हुए। बॉडी को पार्स करने या उस पर कार्रवाई करने से पहले स्थिर समय में हस्ताक्षरों की तुलना करें। आपकी घड़ी से पांच मिनट से अधिक पुराने टाइमस्टैम्प को अस्वीकार करें। प्रत्येक डिलीवरी प्रयास पर टाइमस्टैम्प को ताज़ा किया जाता है।

पारंपरिक प्रभावों से पहले एक परमाणु अद्वितीय प्रतिबंध के साथ, टिकाऊ भंडारण में `event_id` का उपयोग एक इडेम्पोटेंसी कुंजी के रूप में करें। अकेला एक वैध हस्ताक्षर हाल ही के अनुरोध को दोबारा चलाए जाने से नहीं रोकता है। संसाधित आईडी को कम से कम पूरी पुनः प्रयास विंडो के लिए रखें; यदि प्राप्तकर्ता संग्रहीत घटनाओं को फिर से संसाधित कर सकता है तो उन्हें और अधिक समय तक रखें।

## पुनः प्रयास

डिलीवरी HTTP अनुरोधों से पहले टिकाऊ रूप से कतार में लगाई जाती है। वे 'कम-से-कम-एक-बार' (at-least-once) सिमेंटिक्स का उपयोग करते हैं: एक खोई हुई पावती या पुनरारंभ एक ही आईडी (ID) के साथ किसी इवेंट को फिर से डिलीवर कर सकता है। 15 सेकंड से शुरू होकर और एक घंटे तक सीमित, आठ प्रयास किए जाते हैं, जिनमें पिछड़ने की दर (backoff) घातीय होती है। सफलता के लिए 2xx प्रतिक्रिया की आवश्यकता होती है। असफल हो चुके जॉब्स एक दृश्यमान त्रुटि छोड़ते हैं; पुनः प्रयास समाप्त होने के बाद डिलीवरी की गारंटी नहीं होती है।

कतार में 1,000 डिलीवरी तक रखी जा सकती हैं। जब यह भर जाती है, तो जर्नल इवेंट्स का स्कैनिंग रुक जाता है और जगह उपलब्ध होने के बाद फिर से शुरू हो जाता है। एक पूर्ण-निर्यात पूरा होने पर जिसे कतारबद्ध नहीं किया जा सकता, एक दृश्यमान कतार त्रुटि सेट होती है। प्रति सूचना पास, पाँच डिलीवरी तक का प्रयास किया जाता है, और नवीनतम 100 प्रयास रिकॉर्ड बनाए रखे जाते हैं। गंतव्य को हटाने पर उसकी लंबित डिलीवरी भी हट जाती हैं।

## n8n उदाहरण

[उदाहरण वर्कफ़्लो को](https://github.com/phishdestroy/TgWitness/blob/main/integrations/n8n-tgwitness.json) इम्पोर्ट करें। यह निष्क्रिय है और इसमें कोई सीक्रेट्स या डाउनस्ट्रीम एक्शन नहीं हैं। n8n वर्कर वातावरण में `TGWITNESS_WEBHOOK_SECRET` सेट करें, उस वातावरण को एक्सेस की अनुमति दें, और कोड नोड के लिए `crypto` बिल्टिन की अनुमति दें। यह उदाहरण वेबहुक नोड के raw-body विकल्प का उपयोग करता है, हस्ताक्षर/ताजगी की जांच करता है, और सत्यापित घटनाओं की पुष्टि करता है। यह नोड के [प्रलेखित कार्यान्वयन](https://github.com/n8n-io/n8n/blob/master/packages/nodes-base/nodes/Webhook/Webhook.node.ts) से मेल खाता है।

SIEM राइट्स या सूचनाएं जोड़ने से पहले, `event_id` द्वारा की गई टिकाऊ आइडेम्पोटेंसी स्टोरेज जोड़ें। आपके द्वारा भेजने के लिए चुने गए डेटा के अनुसार n8n वर्कफ़्लो संपादन और एक्ज़ीक्यूशन-लॉग प्रतिधारण को प्रतिबंधित करें। TgWitness कोई इनबाउंड कमांड नहीं जोड़ता है।
