नोट
इस पेज तक पहुँच के लिए प्रमाणन की आवश्यकता होती है. आप साइन इन करने या निर्देशिकाओं को बदलने का प्रयास कर सकते हैं.
इस पेज तक पहुँच के लिए प्रमाणन की आवश्यकता होती है. आप निर्देशिकाओं को बदलने का प्रयास कर सकते हैं.
पृष्ठ से बंधे Dataverse कस्टम API को लागू करने के लिए ऑब्जेक्ट की क्रिया dataApi और फ़ंक्शन विधियों का उपयोग करें.
नोट
साझा dataApi अनुबंध में कार्रवाई और कार्य विधियाँ वैकल्पिक हैं। कुछ होस्ट उन्हें लागू नहीं करते हैं, इसलिए इसे कॉल करने से पहले जांच लें कि कोई विधि मौजूद है। एक विधि मौजूद होने का मतलब यह नहीं है कि ऑपरेशन पृष्ठ से बंधा हुआ है, रनटाइम के लिए सक्षम है, या वर्तमान उपयोगकर्ता के लिए अनुमति दी गई है। कनेक्टर विधियों के विपरीत, ये विधियां कभी भी अपेक्षित विफलताओं के लिए नहीं फेंकती हैं; वे इसके बजाय एक त्रुटि कोड के साथ ok: false हल करते हैं। परिणाम ok और error गुणों को स्पष्ट रूप से संभालें।
listBoundActions उन कार्यों और कार्यों को लौटाता है जो वर्तमान रनटाइम कॉन्फ़िगरेशन उस खोज को सक्षम करने पर पृष्ठ के लिए अनुमति देता है; यह इस बात की गारंटी नहीं है कि वर्तमान उपयोगकर्ता के पास प्रत्येक सूचीबद्ध ऑपरेशन को निष्पादित करने के लिए आवश्यक Dataverse विशेषाधिकार हैं।
| विधि | विवरण |
|---|---|
executeAction |
एक कार्रवाई के रूप में पृष्ठ से बंधे एक Dataverse कस्टम API का आह्वान करता है. |
executeFunction |
एक फ़ंक्शन के रूप में पृष्ठ से बंधे एक Dataverse कस्टम API का आह्वान करता है. |
listBoundActions |
पृष्ठ से बंधे Dataverse कस्टम API (क्रियाएँ और फ़ंक्शन) को सूचीबद्ध करता है. |
executeAction विधि
एक Dataverse कस्टम API को लागू करता है जिसे एक निर्माता एक क्रिया के रूप में पृष्ठ से बंधा होता है (एक संदेश जो डेटा बदल सकता है).
पैरामीटर
इस आवश्यक पैरामीटर के लिए कोई मान सेट करें.
| नाम | प्रकार | विवरण |
|---|---|---|
request |
DataverseActionRequest | लागू करने की क्रिया और इसके इनपुट पैरामीटर। |
DataverseActionRequest
| नाम | प्रकार | विवरण |
|---|---|---|
name |
string |
कस्टम API का अद्वितीय नाम, प्रकाशक-उपसर्ग, जैसे .new_ApproveExpenseReport |
parameters |
object |
(वैकल्पिक) कार्रवाई द्वारा आवश्यक इनपुट पैरामीटर, पैरामीटर अद्वितीय नाम द्वारा कुंजी। |
boundTo |
object |
(वैकल्पिक) निकाय के लिए एक लक्ष्य पंक्ति संदर्भ ( औरentityName )id वैश्विक (अनबाउंड) कार्रवाइयों के लिए छोड़ दें। |
वापस
एक वादा जिसमें DataverseActionResult शामिल है। यह विधि कभी भी अपेक्षित विफलताओं (जैसे 403 अनुमति त्रुटि, 400 खराब पैरामीटर, या कार्रवाई बाध्य या सक्षम नहीं किया जा रहा है) के लिए फेंकती है - इसके बजाय गुण की ok जाँच करें।
DataverseActionResult
| नाम | प्रकार | विवरण |
|---|---|---|
ok |
boolean |
इंगित करता है कि कार्रवाई सफल हुई या नहीं। |
status |
number |
Dataverse द्वारा लौटाया गया HTTP स्थिति कोड, या जब 0 कोई HTTP स्थिति उपलब्ध नहीं होती है। एक स्थिति का 0 मतलब यह हो सकता है कि रनटाइम ने कॉल भेजने से पहले उसे अस्वीकार कर दिया (उदाहरण के लिए, not_enabled, , not_boundnot_permitted, wrong_operation_kindinvalid_parameter, , अनुरोध invalid_bound_toHTTP प्रतिक्रिया के बिना विफल हो गया, या परिणाम अज्ञात है (indeterminate हैtrue)। इन मामलों का उपयोग करें error.code और indeterminate उन्हें अलग करने के लिए। |
outputs |
object |
कार्रवाई द्वारा लौटाए गए आउटपुट पैरामीटर, अद्वितीय नाम से कुंजी। बिना किसी आउटपुट वाले कार्यों के लिए खाली। |
indeterminate |
boolean |
(वैकल्पिक) true जब टाइमआउट या अन्य पोस्ट-डिस्पैच विफलता का मतलब है कि सर्वर ने कार्रवाई की है; स्वचालित रूप से पुनः प्रयास न करें। |
error |
object |
(वैकल्पिक) त्रुटि विवरण जब ok है false, जिसमें मशीन-पठनीय code और एक साफ करना messageशामिल है।
code, , not_permitted, invalid_parameterwrong_operation_kind, invalid_bound_toindeterminateया network, या कार्रवाई के HTTP स्थिति कोड में से not_boundnot_enabledएक स्ट्रिंग के रूप में है (उदाहरण के लिए, "404") जब Dataverse ने कोई त्रुटि प्रतिक्रिया दी थी, या जब "0" कोई HTTP स्थिति उपलब्ध नहीं थी।
not_permitted इसका मतलब है कि कार्रवाई या फ़ंक्शन जनरेटिव पृष्ठों के लिए पर्यावरण की अनुमति सूची में नहीं है - यह इंगित नहीं करता है कि वर्तमान उपयोगकर्ता के पास इसे चलाने के लिए Dataverse विशेषाधिकार हैं या नहीं। एक विशेषाधिकार विफलता आमतौर पर त्रुटि कोड "403"के साथ सामने status: 403 आती है; यदि होस्ट HTTP स्थिति निर्धारित नहीं कर सकता है, तो यह इसके बजाय वापस आ status: 0 जाता है। |
निष्पादन कार्रवाई उदाहरण
if (!dataApi.executeAction) {
throw new Error("executeAction isn't available on this page.");
}
const result = await dataApi.executeAction({
name: "new_ApproveExpenseReport",
parameters: { comments: "Approved by manager" },
boundTo: { entityName: "new_expensereport", id: "30dc51e9-947d-47d8-ad48-4fc48fba4a95" },
});
if (result.ok) {
console.log(result.outputs);
}
else {
console.log(result.error?.code);
}
executeFunction विधि
एक Dataverse कस्टम API का आह्वान करता है जिसे एक निर्माता एक फ़ंक्शन के रूप में पृष्ठ से बंधा होता है (GET शब्दार्थ के साथ केवल पढ़ने के लिए एक संदेश)।
पैरामीटर
इस आवश्यक पैरामीटर के लिए कोई मान सेट करें.
| नाम | प्रकार | विवरण |
|---|---|---|
request |
DataverseFunctionRequest | आह्वान करने के लिए फ़ंक्शन और इसके इनपुट पैरामीटर। |
DataverseFunctionRequest
| नाम | प्रकार | विवरण |
|---|---|---|
name |
string |
कस्टम API का अद्वितीय नाम, प्रकाशक-उपसर्ग, जैसे .new_GetExchangeRate |
parameters |
object |
(वैकल्पिक) फ़ंक्शन द्वारा आवश्यक इनपुट पैरामीटर, पैरामीटर अद्वितीय नाम द्वारा कुंजी। |
boundTo |
object |
(वैकल्पिक) निकाय बाध्य कार्यों के लिए एक लक्ष्य पंक्ति संदर्भ ( औरentityName ) id। वैश्विक (अनबाउंड) फ़ंक्शंस के लिए छोड़ दें। |
वापस
एक वादा जिसमें DataverseActionResult शामिल है। जैसा कि होता है executeAction, यह विधि कभी भी अपेक्षित विफलताओं के लिए नहीं फेंकती है - इसके बजाय संपत्ति की ok जांच करें।
executeFunction उदाहरण
if (!dataApi.executeFunction) {
throw new Error("executeFunction isn't available on this page.");
}
const result = await dataApi.executeFunction({
name: "new_GetExchangeRate",
parameters: { currencyCode: "EUR" },
});
if (result.ok) {
console.log(result.outputs);
}
listBoundActions विधि
Dataverse कस्टम API (क्रियाएँ और फ़ंक्शंस) को सूचीबद्ध करता है जो एक निर्माता पृष्ठ से बंधा होता है.
पैरामीटर
None.
वापस
एक वादा जिसमें DataverseActionInfo प्रविष्टियों की एक सरणी शामिल है। रनटाइम के लिए खोज सक्षम नहीं होने पर एक रिक्त सरणी लौटाता है.
DataverseActionInfo
DataverseActionInfo यह दर्शाता है कि पृष्ठ का निर्माता इस क्रिया या फ़ंक्शन के लिए क्या बाध्य है, न कि लाइव Dataverse मेटाडेटा. इनपुट फ़ॉर्म बनाने या आउटपुट को मान्य करने के लिए इसका उपयोग न करें — वास्तविक Dataverse कस्टम API परिभाषा के विरुद्ध पैरामीटर आवश्यकताओं और आउटपुट आकृतियों को सत्यापित करें.
| नाम | प्रकार | विवरण |
|---|---|---|
name |
string |
Dataverse कस्टम API का अद्वितीय (तार्किक) नाम. |
displayName |
string |
कस्टम API का प्रदर्शन नाम. |
isFunction |
boolean |
true अगर Dataverse कस्टम API एक फ़ंक्शन है (केवल-पढ़ने के लिए); false अगर यह एक कार्रवाई है, जिसमें यह मान बाध्यकारी समय पर रिकॉर्ड नहीं किया गया था. |
bindingType |
string |
बाध्यकारी प्रकार: "Global" या ."Entity" |
boundEntityLogicalName |
string |
(वैकल्पिक) क्रिया या फ़ंक्शन जिस तालिका से बाध्य है, जब bindingType है "Entity"। |
parameters |
Object[] |
इनपुट पैरामीटर तब रिकॉर्ड किए गए जब Dataverse कस्टम API पृष्ठ से बंधा हुआ था, प्रत्येक में a और name .declaredKind
type हमेशा होता है "unknown" और हमेशा optionalfalse होता है — न तो Dataverse कस्टम API के वास्तविक मेटाडेटा को दर्शाता है. |
outputs |
Object[] |
हमेशा एक खाली सरणी। बाइंडिंग खोज आउटपुट पैरामीटर रिकॉर्ड नहीं करती है। |
listBoundActions उदाहरण
const actions = await dataApi.listBoundActions?.();