इसके माध्यम से साझा किया गया


विषयों में चर का पुनः उपयोग करें

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

डिफ़ॉल्ट रूप से, किसी चर का मान केवल उस विषय में उपयोग किया जा सकता है जहाँ चर बनाया गया है। हालाँकि, विभिन्न विषयों में समान मान का पुनः उपयोग संभव है। उदाहरण के लिए, स्वागत विषय में ग्राहक का नाम और ईमेल पता पूछा जाता है। अपॉइंटमेंट बुकिंग विषय में, आप चाहते हैं कि एजेंट को याद रहे कि ग्राहक ने क्या दर्ज किया है और वह दोबारा न पूछे।

किसी चर का पुनः उपयोग करने का एक तरीका यह है कि चर को विषयों के बीच पास किया जाए। दूसरा तरीका यह है कि चर को वैश्विक स्तर पर लागू किया जाए, और इस लेख में इसी पर चर्चा की गई है। वैश्विक चरों को इसलिए कहा जाता है क्योंकि वे संपूर्ण एजेंट में सभी विषयों में उपलब्ध होते हैं।

वैश्विक चर एकल उपयोगकर्ता सत्र के दौरान लागू होते हैं. आप निर्दिष्ट करते हैं कि कौन से चर वैश्विक चर हैं ताकि उन्हें विषय-स्तरीय चर से अलग किया जा सके।

एक वैश्विक चर बनाएँ

आप किसी विषय चर का दायरा बदलकर एक वैश्विक चर बनाते हैं।

  1. एक चर बनाएँ या एक मौजूदा चर को खोलने के लिए चर फलक का उपयोग करें .

  2. चर गुण पैनल पर, वैश्विक (कोई भी विषय एक्सेस कर सकता है) का चयन करें.

    चर नाम को विषय-स्तरीय चर से अलग करने के लिए उपसर्ग Global. दिया जाता है। उदाहरण के लिए, चर UserName को Global.UserName के रूप में प्रदर्शित किया जाता है।

  3. विषय को सहेजें.

    वैश्विक चर का नाम सभी विषयों में अद्वितीय होना चाहिए।

वैश्विक चर का उपयोग करें

जब आप किसी संदेश नोड या प्रश्न नोड में संदेश लिख रहे हों, तो विषय के लिए उपलब्ध चरों को देखने के लिए {x} आइकन का चयन करें. वैश्विक चर किसी भी विषय चर के साथ कस्टम टैब में दिखाई देते हैं। चरों को वर्णानुक्रम में सूचीबद्ध किया गया है।

वैश्विक चर का उपयोग करके सभी विषय खोजें

आप यह पता लगा सकते हैं कि वैश्विक चर कहां परिभाषित किया गया है और कौन से अन्य विषय इसका उपयोग कर रहे हैं। यह सुविधा तब उपयोगी हो सकती है जब आप किसी नए एजेंट पर काम कर रहे हों, या आपके पास एकाधिक चर और जटिल विषय शाखाएँ हों।

  1. संलेखन कैनवास पर, या चर पैनल में वांछित वैश्विक चर का चयन करें.

  2. चर गुण पैनल पर, संदर्भ अनुभाग में, सभी संदर्भ देखें का चयन करें.

  3. अन्य टैब पर जाएं, और किसी भी विषय का चयन करें जहां चर का उपयोग सीधे उस विषय और नोड पर जाने के लिए किया जाता है।

वैश्विक चरों का जीवनचक्र

डिफ़ॉल्ट रूप से, वैश्विक चर का मान सत्र समाप्त होने तक बना रहता है। चर मान साफ़ करें नोड वैश्विक चर के मानों को रीसेट करता है और इसका उपयोग वार्तालाप रीसेट करें सिस्टम विषय में किया जाता है। वह विषय या तो पुनर्निर्देशन द्वारा ट्रिगर किया जा सकता है या जब उपयोगकर्ता कोई ट्रिगर वाक्यांश जैसे "फिर से शुरू करें" दर्ज करता है। उस स्थिति में, सभी वैश्विक चर रीसेट हो जाते हैं।

बाह्य स्रोतों से वैश्विक चर का मान सेट करें

यदि आप यह सुनिश्चित करना चाहते हैं कि एजेंट किसी संदर्भ के साथ बातचीत शुरू करे, तो आप किसी वैश्विक चर को किसी बाहरी स्रोत से आरंभ कर सकते हैं। मान लीजिए कि आपकी साइट को उपयोगकर्ताओं को साइन इन करना आवश्यक है। चूंकि आपका एजेंट पहले से ही उपयोगकर्ता का नाम जानता है, इसलिए वह ग्राहकों द्वारा पहला प्रश्न लिखने से पहले उनका नाम लेकर अभिवादन कर सकता है।

  1. एक वैश्विक चर का चयन करें.

  2. चर गुण फलक पर, बाहरी स्रोत मान सेट कर सकते हैं का चयन करें.

एम्बेडेड एजेंट में वैश्विक वैरिएबल सेट करें

यदि आप अपने एजेंट को एक साधारण वेब पेज में एम्बेड कर रहे हैं, तो आप एजेंट के URL में वेरिएबल और उनकी परिभाषाएँ जोड़ सकते हैं। या, यदि आप थोड़ा और अधिक नियंत्रण चाहते हैं, तो आप प्रोग्रामेटिक रूप से वेरिएबल्स को कॉल करने और उपयोग करने के लिए <script> कोड ब्लॉक का उपयोग कर सकते हैं।

URL की क्वेरी स्ट्रिंग में वेरिएबल नाम Global. उपसर्ग के बिना वैश्विक वेरिएबल के नाम से मेल खाना चाहिए। उदाहरण के लिए, एक वैश्विक चर Global.UserName को क्वेरी में UserName के रूप में संदर्भित किया जाएगा।

निम्नलिखित उदाहरण चरों के लिए एक बुनियादी घोषणा का उपयोग करते हैं। उत्पादन परिदृश्य में, आप क्वेरी पैरामीटर या वैरिएबल परिभाषा के रूप में कोई अन्य वैरिएबल पास कर सकते हैं जो पहले से ही उपयोगकर्ता का नाम संग्रहीत करता है (उदाहरण के लिए, यदि आपके पास साइन-इन स्क्रिप्ट से उपयोगकर्ता नाम है)।

एजेंट के URL में वेरिएबल्स और उनकी परिभाषाओं को क्वेरी स्ट्रिंग पैरामीटर्स प्रारूप में जोड़ें botURL?variableName1=variableDefinition1&variableName2=variableDefinition2.

उदाहरण के लिए:

  • आपके पास एक वैश्विक चर है जिसका नाम है Global.UserName.
  • आपके एजेंट का यूआरएल है https://web.powerva.microsoft.com/webchat/bots/12345.
  • अपनी वेबसाइट पर एजेंट वार्तालाप शुरू करते समय उपयोगकर्ता का नाम पास करने के लिए, UserName= क्वेरी स्ट्रिंग को इस प्रकार संलग्न करें: https://web.powerva.microsoft.com/webchat/bots/12345?UserName=Ana.

पैरामीटर नाम अक्षर-संवेदी होता है. username=Ana इस उदाहरण में भी काम करेगा.

कस्टम कैनवास में वैश्विक वैरिएबल जोड़ें

आप वेरिएबल को कस्टम कैनवास में भी जोड़ सकते हैं.

  1. पृष्ठ पर <script> अनुभाग में, जहां आपका एजेंट है, चर को निम्नानुसार परिभाषित करें, variableName1 उपसर्ग के बिना चर नाम के लिए Global. और परिभाषा के लिए variableDefinition1 प्रतिस्थापित करें। एकाधिक चरों को अल्पविराम (,) से अलग करें.

       const store = WebChat.createStore({}, ({ dispatch }) => next => action => {
         if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
           dispatch({
              type: "WEB_CHAT/SEND_EVENT",
              payload: {
                name: "pvaSetContext",
                value: {
                   "variableName1": "variableDefinition1",
                   "variableName2": "variableDefinition2"
                }
              },
            });
          }
            return next(action);
        });
    
  2. अपने <script> अनुभाग में, जब आप अपने एजेंट को एम्बेड करते हैं, तो store को कॉल करें, जैसा कि निम्नलिखित उदाहरण में है जहाँ store को styleOptions को कॉल करने से ठीक पहले कॉल किया जाता है (आपको BOT_ID को अपने एजेंट की आईडी से बदलना होगा):

    const BOT_ID = "12345-5678";
    const theURL = "https://powerva.microsoft.com/api/botmanagement/v1/directline/directlinetoken?botId=" + BOT_ID;
    
    fetch(theURL)
        .then(response => response.json())
        .then(conversationInfo => {
            window.WebChat.renderWebChat(
                {
                    directLine: window.WebChat.createDirectLine({
                        token: conversationInfo.token,
                    }),
                    store,
                    styleOptions
                },
                document.getElementById('webchat')
            );
        })
        .catch(err => console.error("An error occurred: " + err));