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


पोर्टल्स वेब API लिखने, अपडेट करने, और हटाने के संचालनों का उपयोग करें

नोट

12 अक्टूबर 2022 से प्रभावी, Power Apps पोर्टल Power Pages है। अधिक जानकारी: Microsoft Power Pages अब आम तौर पर उपलब्ध है (ब्लॉग)
हम जल्द ही Power Apps पोर्टल दस्तावेज़ीकरण को Power Pages दस्तावेज़ीकरण के साथ माइग्रेट और विलय करेंगे।

आप पोर्टल में उपलब्ध वेब API संचालन कर सकते हैं. वेब API संचालन में HTTP अनुरोध और प्रतिक्रियाएँ होती हैं. यह आलेख नमूना लिखने, अपडेट करने और हटाने के संचालन, तरीकें, URI, और नमूना JSON प्रदान करता है जिसका उपयोग आप HTTP अनुरोधों में कर सकते हैं.

महत्वपूर्ण

  • इस फ़ीचर के काम करने के लिए आपका पोर्टल संस्करण 9.3.3.x या बाद का होना चाहिए.

पूर्वावश्यकताएँ

  • वेब API संचालन के लिए तालिका और फ़ील्ड सक्षम करें. अधिक जानकारी: वेब API के लिए साइट सेटिंग्स

  • पोर्टल्स Web API तालिका रिकॉर्ड को एक्सेस करता है और संबद्ध वेब भूमिकाओं के माध्यम से उपयोगकर्ताओं को दी गईं तालिका अनुमतियों का अनुसरण करता है. सुनिश्चित करें कि आप सही तालिका अनुमतियों को कॉन्फ़िगर करते हैं. अधिक जानकारी: वेब भूमिकाएँ बनाएँ

एक टैबल में एक रिकॉर्ड बनाएं

नोट

अपने कोड में पोर्टल्स वेब API का उपयोग करते हुए Dataverse तालिकाओं का संदर्भ देते समय, आपको EntitySetName का उपयोग करने की आवश्यकता होती है, उदाहरण के लिए खाता तालिका तक पहुँचने के लिए, कोड सिंटैक्स खाते के EntitySetName का उपयोग करेगा.

मूल बनाएं

कार्रवाई विधि URI JSON नमूना
मूल बनाएं पोस्ट [Portal URI]/_api/accounts {"name":"नमूना खाता"}

एक संक्रिया में संबंधित टेबल रिकॉर्ड बनाने के लिए नमूना JSON

उदाहरण के तौर पर, खाता तालिका सेट पर पोस्ट किया गया निम्नलिखित अनुरोध निकाय खाता बनाने के संदर्भ में —खाते सहित— कुल चार नई तालिकाएँ बनाएगा.

  • एक संपर्क इसलिए बनाया जाता है, क्योंकि इसे एकल-मान वाले नेविगेशन गुण primarycontactid के ऑब्जेक्ट गुण के रूप में परिभाषित किया गया है.
  • एक अवसर बनाया जाता है क्योंकि इसे किसी सरणी के भीतर किसी ऑब्जेक्ट के रूप में परिभाषित किया जाता है जो संग्रह-मान वाले नेविगेशन गुण opportunity_customer_accounts के मान पर सेट होता है.
  • एक कार्य बनाया जाता है क्योंकि इसे किसी सरणी के भीतर किसी ऑब्जेक्ट के रूप में परिभाषित किया जाता है जो संग्रह-मान वाले नेविगेशन गुण Opportunity_Tasks के मान पर सेट होता है.
{
 "name": "Sample Account",
 "primarycontactid":
 {
     "firstname": "Alton",
     "lastname": "Stott"
 },
 "opportunity_customer_accounts":
 [
  {
      "name": "Opportunity associated to Sample Account",
      "Opportunity_Tasks":
      [
       { "subject": "Task associated to opportunity" }
      ]
  }
 ]
}

बनाने पर टेबल रिकॉर्ड संबद्ध करें

कार्रवाई विधि URI JSON नमूना
बनाने पर टेबल रिकॉर्ड संबद्ध करें POST [Portal URI]/_api/accounts {"name":"Sample Account","primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"}

वेब API के माध्यम से एक टिप्पणी बनाने के लिए नमूना JSON

{
    "new_attribute1": "test attribute 1",
    "new_attribute2": "test attribute 2",
    "new_comments": "test comments",
    "new_recordurl": recordURL,
    "new_feedback_Annotations":
        [
            {
                "notetext": "Screenshot attached",
                "subject": "Attachment",
                "filename": file.name,
                "mimetype": file.type,
                "documentbody": base64str,
            }
        ]
    }

documentbody में base64 स्ट्रिंग के रूप में अटैचमेंट होगा।

वेब API का उपयोग करके रिकॉर्ड अपडेट करें और हटाएं

मूल अद्यतन

कार्रवाई विधि URI JSON नमूना
मूल अद्यतन PATCH [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001) { "name": "Updated Sample Account ", "creditonhold": true, "address1_latitude": 47.639583, "description": "This is the updated description of the sample account", "revenue": 6000000, "accountcategorycode": 2 }

कोई एकल विशेषता मान अपडेट करें

संचालन विधि URI JSON नमूना
कोई एकल विशेषता मान अपडेट करें डालें [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/name {"value": "Updated Sample Account Name"}

फ़ील्ड मान हटाएं या साफ़ करें

कार्रवाई विधि URI
फ़ील्ड मान हटाएं या साफ़ करें DELETE [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/description

मूल हटाना

संचालन विधि URI
मूल हटाना DELETE [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)

Web API का उपयोग करके टेबल को संबद्ध और असंबद्ध करें

संग्रह-मूल्यांकित नेविगेशन विशेषता का संदर्भ जोड़ें

संचालन विधि URI JSON नमूना
संग्रह-मूल्यांकित नेविगेशन विशेषता का संदर्भ जोड़ें पोस्ट [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref {"@odata.id":"[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)"}

किसी टेबल से संदर्भ निकालें

कार्रवाई विधि URI
किसी टेबल से संदर्भ निकालें DELETE [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref?$id=[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)

एक एकल-समादृत नेविगेशन गुणधर्म से के लिए एक टेबल से संदर्भ निकालें

एकल-मान वाले नेविगेशन गुण के लिए, $id क्वेरी स्ट्रिंग पैरामीटर निकालें.

कार्रवाई विधि URI
एक एकल-समादृत नेविगेशन गुणधर्म से के लिए एक टेबल से संदर्भ निकालें DELETE [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref

एकल-मूल्यांकित नेविगेशन विशेषता में संदर्भ बदलें

संचालन विधि URI JSON नमूना
एकल-मूल्यांकित नेविगेशन विशेषता में संदर्भ बदलें डालें [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref {"@odata.id":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"}

बनाने पर टेबल संबद्ध करें

डीप इन्सर्ट का उपयोग करके संबंधों के साथ नयी टेबलें बनाई जा सकती हैं.

एकल-समादृत नेविगेशन गुणधर्म का उपयोग करके टेबलों को अपडेट पर संबद्ध करें

आप इस विषय में पूर्व में वर्णित मूल अपडेट समान संदेश का उपयोग करके अपडेट पर टेबलों को संबद्ध कर सकते हैं, लेकिन आपको एकल-समादृत नेविगेशन गुणधर्म का मान सेट करने के लिए @odata.bind टिप्पणी का उपयोग करना होगा. निम्नलिखित उदाहरण customerid_account एकल-मान वाले नेविगेशन गुण का उपयोग करके अवसर से जुड़े खाते को बदलता है.

एकल-समादृत नेविगेशन गुणधर्म का उपयोग करके टेबलों को अपडेट पर संबद्ध करें

कार्रवाई विधि URI JSON नमूना
एकल-समादृत नेविगेशन गुणधर्म का उपयोग करके टेबलों को अपडेट पर संबद्ध करें PATCH [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) {"customerid_account@odata.bind":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"}

वेब API AJAX के नमूने

यह नमूना Asynchronous JavaScript और XML (AJAX) का उपयोग करके टेबल रिकॉर्ड बनाने, अपडेट करने और हटाने का तरीका प्रदर्शित करता है.

रैपर AJAX फ़ंक्शन

    (function(webapi, $){
        function safeAjax(ajaxOptions) {
            var deferredAjax = $.Deferred();
    
            shell.getTokenDeferred().done(function (token) {
                // add headers for AJAX
                if (!ajaxOptions.headers) {
                    $.extend(ajaxOptions, {
                        headers: {
                            "__RequestVerificationToken": token
                        }
                    }); 
                } else {
                    ajaxOptions.headers["__RequestVerificationToken"] = token;
                }
                $.ajax(ajaxOptions)
                    .done(function(data, textStatus, jqXHR) {
                        validateLoginSession(data, textStatus, jqXHR, deferredAjax.resolve);
                    }).fail(deferredAjax.reject); //AJAX
            }).fail(function () {
                deferredAjax.rejectWith(this, arguments); // on token failure pass the token AJAX and args
            });
    
            return deferredAjax.promise();  
        }
        webapi.safeAjax = safeAjax;
    })(window.webapi = window.webapi || {}, jQuery)

निर्माण करें

    webapi.safeAjax({
        type: "POST",
        url: "/_api/accounts",
        contentType: "application/json",
        data: JSON.stringify({
            "name": "Sample Account"
        }),
        success: function (res, status, xhr) {
      //print id of newly created table record
            console.log("entityID: "+ xhr.getResponseHeader("entityid"))
        }
    });

अद्यतित करें

  webapi.safeAjax({
    type: "PATCH",
    url: "/_api/accounts(00000000-0000-0000-0000-000000000001)",
    contentType: "application/json",
    data: JSON.stringify({
      "name": "Sample Account - Updated"
    }),
    success: function (res) {
      console.log(res);
    }
  });

हटाएं

    webapi.safeAjax({
        type: "DELETE",
        url: "/_api/accounts(00000000-0000-0000-0000-000000000001)",
        contentType: "application/json",
        success: function (res) {
            console.log(res);
        }
  });

अगला कदम

ट्यूटोरियल: पोर्टल वेब API का उपयोग करें

भी देखें

पोर्टल वेब API अवलोकन
वेब API का उपयोग करते हुए पोर्टल्स रीड ऑपरेशन

नोट

क्या आप हमें अपनी दस्तावेज़ीकरण भाषा वरीयताओं के बारे में बता सकते हैं? एक छोटा सर्वेक्षण पूरा करें. (कृपया ध्यान दें कि यह सर्वेक्षण अंग्रेज़ी में है)

सर्वेक्षण में लगभग सात मिनट लगेंगे. कोई भी व्यक्तिगत डेटा एकत्र नहीं किया जाता है (गोपनीयता कथन).