कॉल के बाद के वेबहुक
वेबहुक के ज़रिए कॉल समाप्त होने और विश्लेषण पूरा होने पर सूचना पाएं।
अवलोकन
कॉल के बाद के वेबहुक आपको विश्लेषण पूरा होने के बाद कॉल की विस्तृत जानकारी पाने देते हैं। सक्षम होने पर, ElevenLabs व्यापक कॉल डेटा के साथ आपके बताए गए एंडपॉइंट पर POST अनुरोध भेजेगा।
ElevenLabs तीन तरह के कॉल के बाद वाले वेबहुक को सपोर्ट करता है:
- ट्रांसक्रिप्शन वेबहुक (
post_call_transcription): ट्रांसक्रिप्ट, विश्लेषण परिणाम और मेटाडेटा सहित पूरा बातचीत डेटा शामिल होता है - ऑडियो वेबहुक (
post_call_audio): पूरी बातचीत के base64-एन्कोड किए गए ऑडियो के साथ न्यूनतम डेटा शामिल होता है - कॉल शुरू करने में विफलता वाले वेबहुक (
call_initiation_failure): विफलता के कारणों और मेटाडेटा सहित कॉल शुरू करने के असफल प्रयासों की जानकारी शामिल होती है
कॉल के बाद के वेबहुक सक्षम करना
कॉल के बाद के वेबहुक को आपके वर्कस्पेस के सभी एजेंट के लिए ElevenAgents के सेटिंग्स पेज से सक्षम किया जा सकता है।

सफल माने जाने के लिए, कॉल के बाद के वेबहुक को 200 स्टेटस कोड लौटाना होगा। लगातार विफल होने वाले वेबहुक अपने-आप निष्क्रिय हो जाते हैं, अगर लगातार 10 या उससे अधिक विफलताएं हों और आखिरी सफल डिलीवरी 7 दिन से अधिक पहले हुई हो या कभी सफल डिलीवरी न हुई हो।
कॉल के बाद के वेबहुक विफल होने पर अपने-आप फिर से आजमाए जा सकते हैं। वेबहुक रिट्राई देखें।
प्रमाणीकरण
लिस्नर के लिए सभी इनकमिंग वेबहुक को वैलिडेट करना ज़रूरी है। वेबहुक फ़िलहाल HMAC सिग्नेचर के ज़रिए ऑथेंटिकेशन सपोर्ट करते हैं। HMAC ऑथेंटिकेशन सेट अप करने के लिए:
- वेबहुक बनाते समय जनरेट हुए शेयर किए गए सीक्रेट को सुरक्षित रूप से स्टोर करें
- SDK का इस्तेमाल करके अपने एंडपॉइंट में ElevenLabs-Signature हेडर को वेरिफ़ाई करें
JavaScript SDK में constructEvent और Python SDK में rawBody, sig_header, और secret के साथ construct_event उपलब्ध है (Python में इनके नाम payload / signature नहीं हैं)। दोनों सिग्नेचर वेरिफ़ाई करते हैं, टाइमस्टैम्प वैलिडेट करते हैं और JSON पेलोड पार्स करते हैं।
Python
JavaScript
FastAPI का इस्तेमाल करने वाले वेबहुक हैंडलर का उदाहरण:
कस्टम अनुरोध हेडर
HMAC सिग्नेचर सत्यापन के अलावा, आप हर वेबहुक डिलीवरी के साथ कस्टम हेडर शामिल कर सकते हैं। यह API कुंजियां, बेयरर टोकन या अन्य प्रमाणीकरण हेडर भेजने के लिए उपयोगी है, जिनकी आपके रिसीविंग एंडपॉइंट को ज़रूरत होती है।
डैशबोर्ड
CLI
SDK
ElevenAgents डैशबोर्ड से फ़िलहाल कस्टम हेडर कॉन्फ़िगर नहीं किए जा सकते। कस्टम हेडर सेट करने के लिए SDK या API का इस्तेमाल करें।
कस्टम हेडर HMAC प्रमाणीकरण के साथ काम करते हैं। auth_type को फिर भी hmac पर सेट होना चाहिए,
और कस्टम हेडर ElevenLabs-Signature हेडर के अलावा भेजे जाते हैं।
कस्टम हेडर केवल लिखे जा सकते हैं। वेबहुक सूची एंडपॉइंट
अपने रिस्पॉन्स में request_headers नहीं लौटाता, इसलिए आप किसी वेबहुक के लिए कॉन्फ़िगर किए गए
हेडर वापस पढ़ नहीं सकते।
IP अनुमति सूची
अतिरिक्त सुरक्षा के लिए, आप ElevenLabs के स्थिर आउटगोइंग IP को अपनी अनुमति सूची में जोड़ सकते हैं। IP पतों की पूरी सूची के लिए IP अनुमति सूची देखें।
HMAC सिग्नेचर सत्यापन के साथ IP अनुमति सूची का उपयोग सुरक्षा की कई परतें देता है।
हर एजेंट के लिए वेबहुक ओवरराइड
डिफ़ॉल्ट रूप से, आपके वर्कस्पेस के सभी एजेंट आपकी वर्कस्पेस सेटिंग्स में कॉन्फ़िगर किए गए वेबहुक का उपयोग करते हैं। अलग-अलग एजेंट के लिए कॉल के बाद का डेटा अलग एंडपॉइंट पर भेजने हेतु, आप इसे हर एजेंट के लिए अलग से ओवरराइड कर सकते हैं।
डैशबोर्ड
CLI
SDK
post_call_webhook_id को ऐसे वेबहुक का संदर्भ देना चाहिए जो आपके वर्कस्पेस में पहले से मौजूद हो। events ऐरे का उपयोग करके आप यह भी तय कर सकते हैं कि कौनसे इवेंट टाइप भेजने हैं:
वेबहुक रिस्पॉन्स संरचना
ElevenLabs तीन अलग-अलग प्रकार के कॉल के बाद वाले वेबहुक भेजता है, जिनमें से हर एक की डेटा संरचना अलग होती है:
ट्रांसक्रिप्शन वेबहुक (post_call_transcription)
इसमें पूरे ट्रांसक्रिप्ट, विश्लेषण परिणाम और मेटाडेटा सहित व्यापक बातचीत डेटा होता है।
शीर्ष-स्तरीय फ़ील्ड
डेटा ऑब्जेक्ट संरचना
data ऑब्जेक्ट में ये शामिल हैं:
ऑडियो वेबहुक (post_call_audio)
इसमें base64-एन्कोड किए गए MP3 के रूप में पूरी बातचीत के ऑडियो के साथ न्यूनतम डेटा होता है।
शीर्ष-स्तरीय फ़ील्ड
डेटा ऑब्जेक्ट संरचना
data ऑब्जेक्ट में केवल ये हैं:
ऑडियो वेबहुक में ऊपर सूचीबद्ध केवल तीन फ़ील्ड होते हैं। इनमें ट्रांसक्रिप्ट डेटा, मेटाडेटा, विश्लेषण परिणाम या बातचीत के कोई अन्य विवरण शामिल नहीं होते।
कॉल शुरू करने में विफलता वाले वेबहुक (call_initiation_failure)
इसमें विफलता के कारणों और टेलीफोनी-प्रोवाइडर मेटाडेटा सहित टेलीफोनी कॉल शुरू करने के प्रयासों की जानकारी होती है।
कनेक्शन त्रुटियों, यूज़र के कॉल अस्वीकार करने या यूज़र के कॉल न उठाने के कारण कॉल शुरू न होने पर कॉल शुरू करने में विफलता वाले वेबहुक इवेंट भेजे जाते हैं। अगर कॉल वॉइसमेल पर जाती है या किसी ऑटोमेटेड सेवा द्वारा उठाई जाती है, तो कॉल शुरू करने में विफलता वाला वेबहुक नहीं भेजा जाता, क्योंकि कॉल सफलतापूर्वक शुरू हो गई थी।
शीर्ष-स्तरीय फ़ील्ड
डेटा ऑब्जेक्ट संरचना
data ऑब्जेक्ट में ये शामिल हैं:
Twilio के ज़रिए की गई आउटबाउंड कॉल के लिए, failure_reason Twilio के CallStatus से लिया जाता है: busy और no-answer को ज्यों का त्यों भेजा जाता है, जबकि failed को unknown के रूप में रिपोर्ट किया जाता है। Twilio के अन्य कॉल स्टेटस पर कॉल शुरू करने में विफलता वाला वेबहुक नहीं भेजा जाता।
मेटाडेटा ऑब्जेक्ट संरचना
metadata ऑब्जेक्ट की संरचना इस बात पर निर्भर करती है कि आउटबाउंड कॉल Twilio के ज़रिए की गई थी या SIP ट्रंकिंग के ज़रिए। इस ऑब्जेक्ट में दोनों के बीच अंतर करने वाला type फ़ील्ड और प्रोवाइडर-विशिष्ट विवरण वाला body फ़ील्ड शामिल होता है।
SIP मेटाडेटा (type: "sip"):
SIP मेटाडेटा के लिए body ऑब्जेक्ट में ये शामिल हैं:
Twilio मेटाडेटा (type: "twilio"):
वेबहुक पेलोड के उदाहरण
ट्रांसक्रिप्शन वेबहुक उदाहरण
ऑडियो वेबहुक उदाहरण
कॉल शुरू करने में विफलता वाले वेबहुक के उदाहरण
Twilio मेटाडेटा उदाहरण
SIP मेटाडेटा उदाहरण
ऑडियो वेबहुक डिलीवरी
ऑडियो वेबहुक ट्रांसक्रिप्शन वेबहुक से अलग डिलीवर किए जाते हैं और इनमें बातचीत की पहचान के लिए ज़रूरी फ़ील्ड के साथ केवल base64-एन्कोड किया हुआ ऑडियो डेटा होता है।
आपके वेबहुक सेटिंग्स में “ऑडियो डेटा भेजें” टॉगल से ऑडियो वेबहुक सक्षम या निष्क्रिय किए जा सकते हैं। इस सेटिंग को वर्कस्पेस स्तर (ElevenAgents सेटिंग्स में) और एजेंट स्तर (अलग-अलग एजेंट वेबहुक ओवरराइड में) पर कॉन्फ़िगर किया जा सकता है।
स्ट्रीमिंग डिलीवरी
बड़ी ऑडियो फ़ाइलों को कुशलता से संभालने के लिए ऑडियो वेबहुक transfer-encoding: chunked हेडर के साथ स्ट्रीमिंग HTTP अनुरोध के रूप में डिलीवर किए जाते हैं। हर अनुरोध 5 मिनट बाद टाइम आउट हो जाता है।
रिट्राई
वेबहुक पर रिट्राई सक्षम होने पर, विफल ऑडियो डिलीवरी को ट्रांसक्रिप्शन वेबहुक के समान शेड्यूल पर फिर से आजमाया जाता है। रिट्राई में पूरा ऑडियो पेलोड दोबारा भेजा जाता है, इसलिए conversation_id के आधार पर डुप्लीकेट हटाएं। शेड्यूल, रिट्राई की जा सकने वाली त्रुटियों और ऑडियो आकार की सीमाओं के लिए वेबहुक रिट्राई देखें।
ऑडियो वेबहुक प्रोसेस करना
ऑडियो वेबहुक चंक्ड ट्रांसफ़र एन्कोडिंग से डिलीवर होते हैं, इसलिए आपको स्ट्रीमिंग डेटा को सही तरह से संभालना होगा:
ऑडियो वेबहुक बड़ी फ़ाइलें हो सकते हैं, इसलिए सुनिश्चित करें कि आपका वेबहुक एंडपॉइंट स्ट्रीमिंग अनुरोधों को संभाल सकता है और उसके पास पर्याप्त मेमोरी/स्टोरेज क्षमता है। ऑडियो MP3 फ़ॉर्मैट में डिलीवर किया जाता है।
उपयोग के मामले
ऑटोमेटेड कॉल फ़ॉलो-अप
कॉल के बाद के वेबहुक आपको ऐसे ऑटोमेटेड वर्कफ़्लो बनाने देते हैं, जो कॉल खत्म होते ही ट्रिगर हो जाते हैं। यहां कुछ व्यावहारिक उपयोग हैं:
CRM इंटीग्रेशन
कॉल पूरी होते ही अपने ग्राहक संबंध प्रबंधन सिस्टम को बातचीत डेटा से अपडेट करें:
स्टेटफुल बातचीत
स्टेट को स्टोर और प्राप्त करके कई इंटरैक्शन के दौरान बातचीत का संदर्भ बनाए रखें:
- कॉल शुरू होने पर, अपना यूज़र ID एक डायनामिक वेरिएबल के रूप में पास करें।
- कॉल खत्म होने पर, dynamic_variables से निकाले गए यूज़र ID के आधार पर अपने डेटाबेस में बातचीत डेटा स्टोर करने के लिए अपना वेबहुक एंडपॉइंट सेट करें।
- यूज़र के दोबारा कॉल करने पर, आप इस संदर्भ को प्राप्त कर सकते हैं और इसे
{{previous_topics}}डायनामिक वेरिएबल में नई बातचीत को पास कर सकते हैं। - इससे एक सहज अनुभव बनता है, जहां एजेंट पिछले इंटरैक्शन को “याद” रखता है