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


विभिन्न विषयों में विषय-वस्तु ले जाने के लिए चरों का उपयोग करें

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

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

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

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

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

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

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

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

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

    स्क्रीनशॉट में वैरिएबल गुण फलक दिखाया गया है, जिसमें ग्लोबल सेटिंग हाइलाइट की गई है।

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

    वैश्विक चर का नाम सभी विषयों में अद्वितीय होना चाहिए। यदि कोई विवाद है, तो आपको अपने विषय को सहेजने से पहले चर का नाम बदलना होगा।

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

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

वैश्विक चर का चयन दर्शाने वाला स्क्रीनशॉट.

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

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

  1. संलेखन कैनवास में एक वैश्विक चर का चयन करें, या चर फलक खोलें और एक वैश्विक चर का चयन करें.

  2. चर गुण फलक पर, संदर्भ अनुभाग में, उन विषयों में से किसी एक का चयन करें जहां चर का उपयोग सीधे उस विषय और नोड पर जाने के लिए किया जाता है।

    चर गुण फलक में चर द्वारा उपयोग किए जाने वाले विषयों की सूची दिखाने वाला स्क्रीनशॉट।

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

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

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

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

  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=Renata.

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

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

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

  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));