कॉल के बाद के वेबहुक
कॉल समाप्त होने और विश्लेषण पूरा होने पर वेबहुक के ज़रिए सूचना पाएं।
अवलोकन
कॉल के बाद के वेबहुक आपको विश्लेषण पूरा होने के बाद कॉल की विस्तृत जानकारी पाने देते हैं। सक्षम होने पर, 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 के आधार पर डुप्लिकेट हटाएं। शेड्यूल, रिट्राई योग्य त्रुटियों और ऑडियो आकार सीमाओं के लिए वेबहुक रिट्राई देखें।
ऑडियो वेबहुक प्रोसेस करना
ऑडियो वेबहुक chunked transfer encoding के ज़रिए डिलीवर किए जाते हैं, इसलिए आपको स्ट्रीमिंग डेटा को सही तरीके से संभालना होगा:
ऑडियो वेबहुक बड़ी फ़ाइलें हो सकते हैं, इसलिए सुनिश्चित करें कि आपका वेबहुक एंडपॉइंट स्ट्रीमिंग अनुरोधों को संभाल सके और उसके पास पर्याप्त मेमोरी/स्टोरेज क्षमता हो। ऑडियो MP3 फ़ॉर्मैट में डिलीवर किया जाता है।
इस्तेमाल के मामले
ऑटोमेटेड कॉल फ़ॉलो-अप
कॉल के बाद के वेबहुक आपको कॉल समाप्त होते ही ट्रिगर होने वाले ऑटोमेटेड वर्कफ़्लो बनाने देते हैं। यहां कुछ व्यावहारिक उपयोग दिए गए हैं:
CRM इंटीग्रेशन
कॉल पूरा होते ही अपने कस्टमर रिलेशनशिप मैनेजमेंट सिस्टम को बातचीत डेटा से अपडेट करें:
स्टेटफुल बातचीत
स्टेट स्टोर और रिट्रीव करके कई इंटरैक्शन में बातचीत का कॉन्टेक्स्ट बनाए रखें:
- कॉल शुरू होने पर, अपने यूज़र ID को डायनामिक वैरिएबल के रूप में पास करें।
- कॉल समाप्त होने पर, dynamic_variables से निकाली गई यूज़र ID के आधार पर, बातचीत डेटा को अपने डेटाबेस में स्टोर करने के लिए अपना वेबहुक एंडपॉइंट सेट करें।
- यूज़र के फिर से कॉल करने पर, आप इस कॉन्टेक्स्ट को रिट्रीव करके नई बातचीत में
{{previous_topics}}डायनामिक वैरिएबल के रूप में पास कर सकते हैं। - इससे एक सहज अनुभव बनता है, जिसमें एजेंट पिछले इंटरैक्शन को “याद” रखता है