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