जल्दी Voximplant के साथ कॉलबैक स्क्रिप्ट बनाएँ

यह आश्चर्य की बात नहीं है कि कई व्यावसायिक प्रक्रियाओं में, एक तरह से या किसी अन्य, एक फोन नंबर को कॉल करने और फिर इसे दूसरे नंबर से जोड़ने जैसी समस्या है। अक्सर, ऐसी सेवा को कॉलबैक या कॉलबैक कहा जाता है, कभी-कभी - एक कॉल ऑर्डर। कई लोग उसे ऑनलाइन स्टोर की साइटों पर मिले हैं, लेकिन ज्यादातर मामलों में यह एक स्वचालित कॉलबैक नहीं है, लेकिन एक नियमित अनुप्रयोग जो ईमेल द्वारा प्रबंधक को गिरता है या सीआरएम में दिखाई देता है, जिसके बाद प्रबंधक ग्राहक का नंबर डायल करता है और उससे बात करता है। कुछ बड़ी कंपनियां स्वचालित कॉलबैक को लागू करती हैं और यहां तक ​​कि इसे संपर्क केंद्र में कतारों के साथ एकीकृत करती हैं। इस पोस्ट में, हम इस बात पर ध्यान देंगे कि VoxImplant प्लेटफॉर्म का उपयोग करके कुछ ही मिनटों में कॉलबैक स्क्रिप्ट का शाब्दिक निर्माण कैसे किया जाए, और कॉलक डेटा को बचाने / प्राप्त करने के लिए कुछ मौजूदा बैकएंड के साथ इस अर्थव्यवस्था को एकीकृत करें, पॉपकॉर्न पर स्टॉक करें और बिल्ली का स्वागत करें।

इसके साथ शुरू करने के लिए, हम इस योजना को बड़े आकार में डुप्लिकेट करेंगे ताकि हमारी कॉलबैक सेवा को लागू करते समय क्या, कैसे और किसके साथ यह व्याख्या करना आसान हो।



यह थोड़ा बोझिल लग रहा है, लेकिन वास्तव में सब कुछ बहुत सरल और सुविधाजनक है। VoxImplant डेवलपर (एक डेवलपर खाता प्राप्त करने के लिए जिसे आपको साइट पर रजिस्टर करने की आवश्यकता है, यह HTTP API के माध्यम से बिल्कुल मुफ्त है) VoxImplant क्लाउड से अनुरोध करता है, जिसके बाद स्क्रिप्ट सर्वर JS में पहले से लिखी गई स्क्रिप्ट चलाता है जो कॉल करने के तर्क का वर्णन करता है, उन्हें कनेक्ट करता है, और यदि वांछित है, तो भी। व्यापार तर्क। स्क्रिप्ट चलाने के लिए HTTP अनुरोध करने से पहले, जाहिर है, आपको इसे एप्लिकेशन के अंदर लिखना होगा और इसे नियम में संलग्न करना होगा, फिर इस नियम की आईडी को HTTP अनुरोध में इंगित करना होगा, ताकि यह स्पष्ट हो जाए कि कौन सी स्क्रिप्ट चलनी चाहिए। तो, क्रम में:

  1. हम VoxImplant एप्लिकेशन बनाते हैं।
  2. इसमें एक स्क्रिप्ट बनाएं।
  3. एक नियम बनाएं और एक स्क्रिप्ट को बांधें।
  4. हम स्क्रिप्ट चलाने के लिए एक HTTP अनुरोध करते हैं।


स्क्रिप्ट चलाने के लिए HTTP अनुरोध करने के बाद, यदि सब कुछ सही ढंग से किया जाता है, तो प्रतिक्रिया Media_session_access_url होगी, जो आपको स्क्रिप्ट चलाने के बाद अपने काम का रिमोट कंट्रोल जारी रखने की अनुमति देती है। उदाहरण के लिए, यदि आप स्क्रिप्ट को कुछ विशिष्ट समय पर समाप्त करना चाहते हैं, तो आप स्क्रिप्ट में निम्नलिखित लिख सकते हैं:



VoxEngine.addEventListener(AppEvents.HttpRequest, handleHttpRequest); function handleHttpRequest(e) { VoxEngine.terminate(); }
      
      





इस मामले में, Media_session_access_url के लिए अनुरोध करने पर, आप स्क्रिप्ट रोक देंगे। हम फोन नंबर पर अपने कॉलबैक के कार्यान्वयन पर लौटते हैं। हम कंट्रोल पैनल के संबंधित सेक्शन में एप्लिकेशन बनाते हैं, इसे कॉर्न कॉलबैक कहते हैं (अंत में, पूरा नाम कॉलबैक होगा ।account_name.voximplant.com), और स्क्रिप्स सेक्शन में, निम्न फॉर्म की एक नई स्क्रिप्ट बनाएँ:



 var call1, call2, data; const callerId = "+1234567890"; //      VoxEngine.addEventListener(AppEvents.Started, handleScenarioStart); function handleScenarioStart(e) { //         customData, //  script_custom_data  HTTP- StartScenarios //        1:2 data = VoxEngine.customData(); data = data.split(":"); //    -    1 call1 = VoxEngine.callPSTN(data[0], callerId); //   call1.addEventListener(CallEvents.Connected, handleCall1Connected); call1.addEventListener(CallEvents.Failed, function(e) { VoxEngine.terminate(); }); call1.addEventListener(CallEvents.Disconnected, function(e) { VoxEngine.terminate(); }); } function handleCall1Connected(e) { //    ,   call1.say(",     ,  ", Language.RU_RUSSIAN_FEMALE); call1.addEventListener(CallEvents.PlaybackFinished, function(e1) { //        2 call2 = VoxEngine.callPSTN(data[1], callerId); //   call2.addEventListener(CallEvents.Connected, handleCall2Connected); call2.addEventListener(CallEvents.Failed, function(e2) { call1.say(" ,     ", Language.RU_RUSSIAN_FEMALE); call1.addEventListener(CallEvents.PlaybackFinished, function(e3) { VoxEngine.terminate(); }); }); call2.addEventListener(CallEvents.Disconnected, function(e2) { VoxEngine.terminate(); }); }); } function handleCall2Connected(e) { //    -  VoxEngine.sendMediaBetween(call1, call2); //   VoxEngine.easyProcess(call1, call2); }
      
      





संक्षेप में, यह स्क्रिप्ट उन संख्याओं को कॉल करती है जो हम विशेष अनुरोध पैरामीटर से गुजरते हैं StartScenarios script_custom_data एक स्ट्रिंग नंबर 1: नंबर 2 के रूप में। सबसे पहले, नंबर 1 डायल करें और टीटीएस का उपयोग करके संदेश चलाएं, फिर नंबर 2 डायल करें और दो कॉल को एक दूसरे से कनेक्ट करें। इस परिदृश्य में, हम कुछ मामलों में किसी भी तरह से काम नहीं करते हैं, उदाहरण के लिए, यदि आप संख्या 1 तक नहीं पहुंचे हैं, तो हम बस स्क्रिप्ट को पूरा करते हैं। यदि थोड़ा जादू है, तो आप बाहरी दुनिया को सूचित कर सकते हैं कि कुछ गलत हुआ, बदल गया

 call1.addEventListener(CallEvents.Failed, function(e) { VoxEngine.terminate(); });
      
      





पर

 call1.addEventListener(CallEvents.Failed, handleCall1Failed);
      
      





और हैंडल का वर्णन करें

 function handleCall1Failed(e) { //     var code = e.code, reason = e.reason; //         HTTP- Net.httpRequest("http://somewebservice", function(e1) { //     - e1.code, e1.text, e1.data, e1.headers //   VoxEngine.terminate(); }); }
      
      





GET अनुरोध के साथ यह सबसे सरल उदाहरण है। HttpRequestOptions क्लास स्क्रिप्ट के किनारे से HTTP अनुरोध को कॉन्फ़िगर करने और प्रबंधित करने के लिए उपलब्ध है।

उसी तरह, दिनांक का उपयोग करके, आप स्क्रिप्ट के अंदर व्यक्तिगत कॉल या सत्र की अवधि को माप सकते हैं और बाहरी दुनिया को डेटा भेज सकते हैं, यदि किसी कारण से आप कॉल इतिहास में जाते हैं तो यह जानकारी सेवा / एप्लिकेशन के तर्क से मेल नहीं खाती है। जैसा कि आप शायद पहले से ही समझ चुके हैं, हमने एक बहुत ही लचीली प्रणाली बनाने की कोशिश की ताकि डेवलपर स्वयं कुछ समस्याओं के समाधान के लिए तंत्र का चयन कर सके।

स्क्रिप्ट तैयार होने के बाद, हमें इसे हुक करने के लिए "रूटिंग" अनुभाग पर जाना होगा और अंत में नियम आईडी प्राप्त करना होगा:









खैर, यह सब है, अब आप StartScenarios के लिए एक HTTP अनुरोध कर सकते हैं, जिसके लिए कई मापदंडों की आवश्यकता होगी, आप प्रोफ़ाइल अनुभाग में अपना api_key पा सकते हैं। अनुरोध कुछ इस तरह दिखाई देगा:



 https://api.voximplant.com/platform_api/StartScenarios/?account_id=1&api_key=eec36d6c-a0eb-46b5-a006-1c2b65343bac&rule_id=55033&script_custom_data=number1%3Anumber2
      
      





सफलता के परिणामस्वरूप, आत्मा में कुछ वापस आ जाएगा:

 { "result" : 1, "media_session_access_url" : "http:\/\/1.2.3.4:12092\/request?id=93e41c6e20811b9b.1380201554.0@1.2.3.4&token=36bc7ce95edc679e32d83bb6f3ad985f" }
      
      





इस मीडिया_सेशन_एक्सेस_उर्ल के माध्यम से, यदि आवश्यक हो तो आप सत्र के साथ संवाद जारी रख सकते हैं। स्क्रिप्ट को डीबग करने के लिए, लॉग हमेशा उपलब्ध होते हैं, जो कॉल हिस्ट्री सेक्शन में स्थित होते हैं, साथ ही साथ हमारा Uberdebager, जो प्रत्येक स्क्रिप्ट (ऊपर का बटन) के अंदर उपलब्ध होता है। सुविधा के लिए, हमने इस पोस्ट से GitHub पर स्क्रिप्ट अपलोड की ताकि हम जल्दी से प्रयोग कर सकें।



गिटहब कॉलबैक स्क्रिप्ट



All Articles