वैश्विक चर एकल उपयोगकर्ता सत्र के दौरान लागू होते हैं. आप निर्दिष्ट करते हैं कि कौन से चर वैश्विक चर हैं ताकि उन्हें विषय-स्तरीय चर से अलग किया जा सके।
आप किसी विषय चर का दायरा बदलकर एक वैश्विक चर बनाते हैं।
एक चर बनाएँ या एक मौजूदा चर को खोलने के लिए चर फलक का उपयोग करें .
चर गुण पैनल पर, वैश्विक (कोई भी विषय एक्सेस कर सकता है) का चयन करें.
चर नाम को विषय-स्तरीय चर से अलग करने के लिए उपसर्ग Global.
दिया जाता है। उदाहरण के लिए, चर UserName
को Global.UserName
के रूप में प्रदर्शित किया जाता है।
विषय को सहेजें.
वैश्विक चर का नाम सभी विषयों में अद्वितीय होना चाहिए।
जब आप किसी संदेश नोड या प्रश्न नोड में संदेश लिख रहे हों, तो विषय के लिए उपलब्ध चरों को देखने के लिए {x} आइकन का चयन करें. वैश्विक चर किसी भी विषय चर के साथ कस्टम टैब में दिखाई देते हैं। चरों को वर्णानुक्रम में सूचीबद्ध किया गया है।
वैश्विक चर का उपयोग करके सभी विषय खोजें
आप यह पता लगा सकते हैं कि वैश्विक चर कहां परिभाषित किया गया है और कौन से अन्य विषय इसका उपयोग कर रहे हैं। यह सुविधा तब उपयोगी हो सकती है जब आप किसी नए एजेंट पर काम कर रहे हों, या आपके पास एकाधिक चर और जटिल विषय शाखाएँ हों।
संलेखन कैनवास पर, या चर पैनल में वांछित वैश्विक चर का चयन करें.
चर गुण पैनल पर, संदर्भ अनुभाग में, सभी संदर्भ देखें का चयन करें.
अन्य टैब पर जाएं, और किसी भी विषय का चयन करें जहां चर का उपयोग सीधे उस विषय और नोड पर जाने के लिए किया जाता है।
डिफ़ॉल्ट रूप से, वैश्विक चर का मान सत्र समाप्त होने तक बना रहता है।
चर मान साफ़ करें नोड वैश्विक चर के मानों को रीसेट करता है और इसका उपयोग वार्तालाप रीसेट करें सिस्टम विषय में किया जाता है। वह विषय या तो पुनर्निर्देशन द्वारा ट्रिगर किया जा सकता है या जब उपयोगकर्ता कोई ट्रिगर वाक्यांश जैसे "फिर से शुरू करें" दर्ज करता है। उस स्थिति में, सभी वैश्विक चर रीसेट हो जाते हैं।
बाह्य स्रोतों से वैश्विक चर का मान सेट करें
यदि आप यह सुनिश्चित करना चाहते हैं कि एजेंट किसी संदर्भ के साथ बातचीत शुरू करे, तो आप किसी वैश्विक चर को किसी बाहरी स्रोत से आरंभ कर सकते हैं। मान लीजिए कि आपकी साइट को उपयोगकर्ताओं को लॉग इन करना आवश्यक है। चूंकि आपका एजेंट पहले से ही उपयोगकर्ता का नाम जानता है, इसलिए वह ग्राहकों द्वारा पहला प्रश्न लिखने से पहले उनका नाम लेकर अभिवादन कर सकता है।
एक वैश्विक चर का चयन करें.
चर गुण फलक पर, बाहरी स्रोत मान सेट कर सकते हैं का चयन करें.
एम्बेडेड एजेंट में वैश्विक वैरिएबल सेट करें
यदि आप अपने एजेंट को एक साधारण वेब पेज में एम्बेड कर रहे हैं, तो आप एजेंट के URL में वेरिएबल और उनकी परिभाषाएँ जोड़ सकते हैं। या, यदि आप थोड़ा और अधिक नियंत्रण चाहते हैं, तो आप प्रोग्रामेटिक रूप से वेरिएबल्स को कॉल करने और उपयोग करने के लिए <script>
कोड ब्लॉक का उपयोग कर सकते हैं।
URL की क्वेरी स्ट्रिंग में वेरिएबल नाम Global.
उपसर्ग के बिना वैश्विक वेरिएबल के नाम से मेल खाना चाहिए। उदाहरण के लिए, एक वैश्विक चर Global.UserName
को क्वेरी में UserName
के रूप में संदर्भित किया जाएगा।
निम्नलिखित उदाहरण चरों के लिए एक बुनियादी घोषणा का उपयोग करते हैं। उत्पादन परिदृश्य में, आप क्वेरी पैरामीटर या वैरिएबल परिभाषा के रूप में कोई अन्य वैरिएबल पास कर सकते हैं जो पहले से ही उपयोगकर्ता का नाम संग्रहीत करता है (उदाहरण के लिए, यदि आपके पास साइन-इन स्क्रिप्ट से उपयोगकर्ता नाम है)।
एजेंट के URL में वेरिएबल्स और उनकी परिभाषाओं को क्वेरी स्ट्रिंग पैरामीटर्स प्रारूप में जोड़ें botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
.
उदाहरण के लिए:
पैरामीटर नाम अक्षर-संवेदी होता है.
username=Ana
इस उदाहरण में भी काम करेगा.
कस्टम कैनवास में वैश्विक वैरिएबल जोड़ें
आप वेरिएबल को कस्टम कैनवास में भी जोड़ सकते हैं.
पृष्ठ पर <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);
});
अपने <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));
वैश्विक चर एकल उपयोगकर्ता सत्र के दौरान लागू होते हैं. आप निर्दिष्ट करते हैं कि कौन से चर वैश्विक चर हैं ताकि उन्हें विषय-स्तरीय चर से अलग किया जा सके।
जब आप किसी चर को वैश्विक बना देते हैं, तो वह सभी विषयों के लिए उपलब्ध हो जाता है।
जब आप संदेश नोड या प्रश्न नोड में संदेश लिखते समय {x}
आइकन का चयन करते हैं, तो आपको सभी वैश्विक चर दिखाई देते हैं। चरों को वर्णानुक्रम में सूचीबद्ध किया जाता है, और सभी वैश्विक चर एक साथ दिखाई देते हैं क्योंकि वे सभी bot.
से शुरू होते हैं।
जब आप किसी शर्त नोड, प्रवाह क्रिया नोड या कौशल नोड का उपयोग करते हैं, तो आपको वहां उपलब्ध वैश्विक चर भी दिखाई देते हैं।
किसी वैरिएबल को वैश्विक वैरिएबल बनाकर विभिन्न विषयों में उसका पुनः उपयोग करें
संलेखन कैनवास पर वांछित चर का चयन करें.
चर गुण पैनल में, उपयोग के अंतर्गत, बॉट (कोई भी विषय एक्सेस कर सकता है) का चयन करें।
चर नाम को विषय-स्तरीय चरों से अलग करने के लिए उपसर्ग bot.
से चिह्नित किया जाता है। उदाहरण के लिए, चर UserEmail
अब bot.UserEmail
के रूप में प्रकट होता है।
नोट
वैश्विक चर का नाम सभी विषयों में अद्वितीय होना चाहिए।
ग्लोबल वैरिएबल बनाने के बाद, आप देख सकते हैं कि इसे सबसे पहले कहां परिभाषित किया गया है और कौन से अन्य विषय इसका उपयोग कर रहे हैं। यह सुविधा तब उपयोगी हो सकती है जब आप किसी नए एजेंट पर काम कर रहे हों, या आपके पास एकाधिक चर और जटिल विषय शाखाएँ हों।
वैश्विक चर की परिभाषा के स्रोत पर जाएँ
संलेखन कैनवास पर वांछित चर का चयन करें.
चर गुण पैनल पर, स्रोत पर जाएँ का चयन करें.
यह क्रिया आपको विषय में उस नोड पर ले जाती है जहां वैश्विक चर बनाया गया था।
वैश्विक चर का उपयोग करके सभी विषय खोजें
संलेखन कैनवास पर वांछित चर का चयन करें.
चर गुण पैनल पर, द्वारा प्रयुक्त अनुभाग में, उन विषयों में से किसी एक का चयन करें जहां चर का उपयोग किया जाता है, सीधे उस विषय पर जाने के लिए।
यदि किसी वैश्विक चर को आरंभीकृत (या "भरे गए") होने से पहले ट्रिगर किया जाता है, तो एजेंट मूल विषय पर लौटने से पहले स्वचालित रूप से विषय के उस भाग को ट्रिगर करता है, जहां वैश्विक चर को पहली बार परिभाषित किया गया है - भले ही वह किसी भिन्न विषय में हो। यह व्यवहार एजेंट को वार्तालाप में बाधा डाले बिना सभी चरों को भरने की अनुमति देता है।
उदाहरण के लिए, ग्राहक "अपॉइंटमेंट बुकिंग" विषय पर वार्तालाप प्रारंभ करता है, जिसमें एक वैश्विक चर bot.UserName
का उपयोग किया जाता है. हालाँकि, bot.UserName
चर को सबसे पहले "स्वागत" विषय में परिभाषित किया जाता है।
जब बातचीत "अपॉइंटमेंट बुकिंग" विषय में उस बिंदु पर आती है जहां bot.UserName
संदर्भित है, तो एजेंट सहजता से उस प्रश्न नोड पर पहुंच जाता है जहां bot.UserName
को सबसे पहले परिभाषित किया गया है।
ग्राहक द्वारा प्रश्न का उत्तर देने के बाद, एजेंट "अपॉइंटमेंट बुकिंग" विषय को पुनः शुरू करता है।
प्रवाह या कौशल के माध्यम से कार्रवाइयों को लागू करते समय वैश्विक परिवर्तनशील व्यवहार Power Automate
कभी-कभी, आप किसी चर को आरंभ करने या भरने के लिए प्रवाह या कौशल का उपयोग कर सकते हैं।
हालाँकि, जब कोई उपयोगकर्ता एजेंट के साथ बातचीत करता है, तो हो सकता है कि वेरिएबल को बातचीत के पहले के बिंदु पर भरा गया हो, या हो सकता है कि आपने वेरिएबल को पहले ही बाह्य रूप से सेट कर दिया हो। ...
इस स्थिति में, प्रवाह या कौशल अभी भी चलता है और चर को भरता है, तथा चर में पहले से संग्रहीत जो कुछ भी था उसे अधिलेखित कर देता है।
वैश्विक चर जीवनचक्र और इसके मूल्य को रीसेट करना
वैश्विक चर किसी भी विषय से सुलभ हैं, और उनका मान पूरे सत्र में बना रहता है।
मान केवल तभी साफ़ किया जाता है जब एजेंट उपयोगकर्ता को फिर से शुरू करें विषय पर पुनर्निर्देशित किया जाता है, या जब उपयोगकर्ता सीधे इस विषय को ट्रिगर करता है (उदाहरण के लिए, "फिर से शुरू करें" टाइप करके)। इस स्थिति में, सभी वैश्विक चर रीसेट हो जाते हैं और उनका कोई मान नहीं होता।
बाह्य स्रोतों से वैश्विक चर का मान सेट करें
आप किसी वैश्विक चर को किसी बाह्य स्रोत से आरंभ करने के लिए सेट कर सकते हैं। यह क्रिया एजेंट को कुछ संदर्भ के साथ बातचीत शुरू करने देती है.
उदाहरण के लिए, कोई ग्राहक आपकी वेबसाइट से एजेंट चैट लाता है, और साइट को पहले से ही ग्राहक का नाम पता होता है। आप बातचीत शुरू करने से पहले एजेंट को उपयोगकर्ता का नाम बता देते हैं, और एजेंट ग्राहक से दोबारा उसका नाम पूछे बिना ही अधिक समझदारी से बातचीत कर सकता है।
किसी बाहरी स्रोत से वैश्विक चर सेट करें
संलेखन कैनवास में किसी भी चर का चयन करें.
चर गुण पैनल पर, उपयोग अनुभाग में, चेकबॉक्स बाहरी स्रोत मान सेट कर सकते हैं का चयन करें.
यदि आप अपने एजेंट को किसी साधारण वेबपेज में एम्बेड कर रहे हैं, तो आप वेरिएबल्स और उनकी परिभाषाओं को जोड़ सकते हैं, या आप प्रोग्रामेटिक रूप से वेरिएबल्स को कॉल करने और उपयोग करने के लिए कोड ब्लॉक का उपयोग कर सकते हैं।<script>
नोट
क्वेरी स्ट्रिंग में चर का नाम bot.
उपसर्ग के बिना, वैश्विक चर के नाम से मेल खाना चाहिए। उदाहरण के लिए, वैश्विक चर bot.UserEmail
को UserEmail=
के रूप में प्रदर्शित होना चाहिए।
यहां वर्णित उदाहरणों में, चरों के लिए एक सरल घोषणा की गई है. उत्पादन परिदृश्य में, आप क्वेरी पैरामीटर या वैरिएबल परिभाषा के रूप में कोई अन्य वैरिएबल पास कर सकते हैं जो पहले से ही उपयोगकर्ता का नाम संग्रहीत करता है (उदाहरण के लिए, यदि आपके पास साइन-इन स्क्रिप्ट से उपयोगकर्ता नाम है)।
वेरिएबल को एम्बेडेड एजेंट में जोड़ने के लिए
एजेंट के URL में वेरिएबल और उनकी परिभाषाएँ क्वेरी स्ट्रिंग पैरामीटर्स ( botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
के प्रारूप में) के रूप में जोड़ें, उदाहरण के लिए:
पैरामीटर नाम अक्षर-संवेदी होता है. इसका मतलब है कि useremail=Ana@contoso.com
इस उदाहरण में भी काम करेगा।
वेरिएबल को कस्टम कैनवास में जोड़ने के लिए
पृष्ठ पर <script>
अनुभाग में, जहां आपका एजेंट है, चर को निम्नानुसार परिभाषित करें, variableName1
उपसर्ग के बिना चर नाम के लिए bot.
और 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);
});
अपने <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));
यदि आप अन्य विषयों में प्रयुक्त किसी वैश्विक चर को हटाते हैं, तो विषयों में उस चर के संदर्भ Unknown
के रूप में चिह्नित किए जाते हैं। इससे पहले कि आप ऑपरेशन की पुष्टि कर सकें, आपको वैश्विक चर को हटाने के बारे में चेतावनी प्राप्त होगी।
जिन नोड्स में हटाए गए वैश्विक चर का संदर्भ होता है, वे संकेत देते हैं कि उनमें एक अज्ञात चर मौजूद है।
हटाए गए वैश्विक चरों के संदर्भ वाले नोड्स वाले विषय काम करना बंद कर सकते हैं। सुनिश्चित करें कि आप अपने एजेंट को प्रकाशित करने से पहले हटाए गए चर का उपयोग करने वाले सभी विषयों को हटा दें या सही कर दें।
एजेंट के प्रमाणीकरण सेटअप के आधार पर, आपके पास चयनित प्रमाणीकरण प्रदाता से संबद्ध वैश्विक चरों का एक सेट होता है। कौन से चर उपलब्ध हैं और उनका उपयोग कैसे करें, इसके बारे में विवरण के लिए, विषयों में उपयोगकर्ता प्रमाणीकरण जोड़ें देखें।