नोट
इस पृष्ठ तक पहुंच के लिए प्राधिकरण की आवश्यकता होती है। आप साइन इन करने या निर्देशिकाएँ बदलने का प्रयास कर सकते हैं।
इस पृष्ठ तक पहुंच के लिए प्राधिकरण की आवश्यकता होती है। आप निर्देशिकाएँ बदलने का प्रयास कर सकते हैं।
डेटा को संशोधित करने वाले ऑपरेशन वेब एपीआई का एक मुख्य हिस्सा हैं। सरल अद्यतन और हटाएं कार्रवाई के अतिरिक्त, आप एकल तालिका स्तंभों (निकाय विशेषताओं) पर कार्रवाई कर सकते हैं और अपसर्ट अनुरोध लिख सकते हैं जो या तो डेटा को अपडेट या सम्मिलित करते हैं, जो इस पर निर्भर करता है कि यह मौजूद है या नहीं।
मूल अद्यतन
अद्यतन कार्रवाई HTTP PATCH क्रिया का उपयोग करें। एक JSON ऑब्जेक्ट पास करें जिसमें वे गुण हैं जिन्हें आप रिकॉर्ड का प्रतिनिधित्व करने वाले URI में अपडेट करना चाहते हैं। यदि अद्यतन सफल होता है, तो प्रतिक्रिया की स्थिति 204 No Contentलौटाती है।
हेडर यह If-Match: * सुनिश्चित करता है कि आप गलती से अपसर्ट ऑपरेशन करके एक नया रिकॉर्ड न बनाएं। अधिक जानकारी के लिए, अपसर्ट में बनाएं को रोकेंदेखें।
महत्त्वपूर्ण
किसी निकाय को अपडेट करते समय, केवल उन गुणों को शामिल करें जिन्हें आप अनुरोध मुख्य भाग में बदल रहे हैं। यदि आप किसी निकाय के सभी गुणों को शामिल करके किसी निकाय का अद्यतन करते हैं जिसे आपने पहले पुनर्प्राप्त किया था, तो कार्रवाई प्रत्येक गुण को अद्यतन करती है, भले ही मान समान हो. यह अद्यतन सिस्टम इवेंट जो व्यावसायिक तर्क ट्रिगर जो अपेक्षा करता है कि मान परिवर्तित हो गया है। यह गुणों को ऑडिटिंग डेटा में अपडेट किए जाने का कारण बन सकता है जब वे वास्तव में नहीं बदलते हैं।
जब आप प्रॉपर्टी अपडेट करते statecode हैं, तो हमेशा वांछित statuscodeसेट करें। और statecode मूल्य statuscode एक दूसरे पर निर्भर करते हैं। किसी दिए गए statecode मान के लिए, कई मान्य statuscode मान हो सकते हैं। हालाँकि, प्रत्येक statecode स्तंभ एक एकल DefaultStatus मान कॉन्फ़िगर किया गया है। जब आप निर्दिष्ट statuscodeकिए बिना अद्यतन करते statecode हैं, तो सिस्टम डिफ़ॉल्ट स्थिति मान सेट करता है। साथ ही, यदि आप तालिका और statuscode स्तंभ पर ऑडिटिंग सक्षम करते हैं, तो स्तंभ के लिए परिवर्तित statuscode मान ऑडिट डेटा में तब तक कैप्चर नहीं किया जाता है जब तक कि आप इसे अद्यतन कार्रवाई में निर्दिष्ट नहीं करते.
नोट
विशेषताओं की परिभाषा में एक RequiredLevel संपत्ति शामिल है। जब यह गुण पर सेट होता SystemRequiredहै, तो आप इन विशेषताओं को शून्य मान पर सेट नहीं कर सकते. अधिक जानकारी के लिए, विशेषता आवश्यकता स्तर देखें.
यह उदाहरण 00000000-0000-0000-0000-0000-0000000000001 के मान के साथ accountid किसी मौजूदा खाता रिकॉर्ड को अद्यतन करता है।
निवेदन:
PATCH [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001) HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
If-Match: *
{
"name": "Updated Sample Account ",
"creditonhold": true,
"address1_latitude": 47.639583,
"description": "This is the updated description of the sample account",
"revenue": 6000000,
"accountcategorycode": 2
}
प्रतिक्रिया:
HTTP/1.1 204 No Content
OData-Version: 4.0
नोट
अद्यतन पर निकायों को संबद्ध करने और अलग करने के बारे में जानकारी के लिए, एकल-मान नेविगेशन गुणों का उपयोग करना देखें.
लौटाए गए डेटा के साथ अपडेट
आपके द्वारा अद्यतन किए जा रहे निकाय से डेटा पुनर्प्राप्त करने के लिए, अपना PATCH अनुरोध लिखें ताकि वह अद्यतन किए गए रिकॉर्ड से 200 (ठीक) की स्थिति वाला डेटा लौटाए. यह परिणाम प्राप्त करने के लिए, अनुरोध शीर्षलेख का Prefer: return=representation उपयोग करें।
यह नियंत्रित करने के लिए कि कौन से गुण लौटाए जाते हैं, $select निकाय सेट के URL में क्वेरी विकल्प जोड़ें. यदि उपयोग किया जाता है तो क्वेरी विकल्प पर $expand ध्यान नहीं दिया जाता है।
यह उदाहरण किसी खाता निकाय को अद्यतन करता है और प्रतिसाद में अनुरोधित डेटा लौटाता है.
निवेदन:
PATCH [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)?$select=name,creditonhold,address1_latitude,description,revenue,accountcategorycode,createdon HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
Content-Type: application/json; charset=utf-8
Prefer: return=representation
If-Match: *
{"name":"Updated Sample Account"}
प्रतिक्रिया:
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
Preference-Applied: return=representation
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#accounts/$entity",
"@odata.etag": "W/\"536537\"",
"accountid": "00000000-0000-0000-0000-000000000001",
"accountcategorycode": 1,
"description": "This is the description of the sample account",
"address1_latitude": 47.63958,
"creditonhold": false,
"name": "Updated Sample Account",
"createdon": "2016-09-28T23:14:00Z",
"revenue": 5000000.0000,
"_transactioncurrencyid_value": "048dddaa-6f7f-e611-80d3-00155db5e0b6"
}
एक ही अनुरोध में एकाधिक रिकॉर्ड अद्यतन करें
एक ही अनुरोध में एक ही प्रकार के एकाधिक रिकॉर्ड को अपडेट करने का सबसे तेज़ तरीका UpdateMultiple क्रिया का उपयोग करना है। सभी मानक तालिकाएँ इस क्रिया का समर्थन नहीं करती हैं, लेकिन सभी लोचदार तालिकाएँ ऐसा करती हैं।
और जानकारी:
- बल्क ऑपरेशन संदेश
- नमूना: वेब एपीआई बल्क ऑपरेशन का उपयोग करें
- लोचदार तालिकाओं के साथ UpdateMultiple का उपयोग करें
एकल गुण मान का अद्यतन करें
किसी एकल प्रॉपर्टी मान को अपडेट करने के लिए, अनुरोध PUT का उपयोग करें और प्रॉपर्टी का नाम इकाई के Uri में जोड़ें.
निम्न उदाहरण किसी मौजूदा account पंक्ति के गुण को name के मान 00000000-0000-0000-0000-000000000001के साथ accountid अद्यतन करता है।
निवेदन:
PUT [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)/name HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
{"value": "Updated Sample Account Name"}
प्रतिक्रिया:
HTTP/1.1 204 No Content
OData-Version: 4.0
एकल प्रॉपर्टी मान हटाना
किसी एकल प्रॉपर्टी का मान हटाने के लिए, निकाय के URI में जोड़े गए प्रॉपर्टी नाम के साथ अनुरोध DELETE का उपयोग करें.
निम्न उदाहरण के मूल्य 00000000-0000-0000-0000-000000000001के साथ accountid किसी खाता निकाय की संपत्ति के description मान को हटा देता है।
निवेदन:
DELETE [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)/description HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
प्रतिक्रिया:
HTTP/1.1 204 No Content
OData-Version: 4.0
नोट
आप दो निकायों को अलग करने के लिए एकल-मान नेविगेशन गुण के साथ इस दृष्टिकोण का उपयोग नहीं कर सकते. वैकल्पिक दृष्टिकोण के लिए, एकल-मान नेविगेशन गुण का उपयोग करके अलग करें देखें.
एक तालिका पंक्ति को ऊपर करें
एक अपसर्ट ऑपरेशन एक अद्यतन के समान है। यह एक PATCH अनुरोध का उपयोग करता है और एक विशिष्ट रिकॉर्ड को संदर्भित करने के लिए यूआरआई का उपयोग करता है। अंतर यह है कि यदि रिकॉर्ड मौजूद नहीं है, तो यह बनाया जाता है। यदि यह पहले से मौजूद है, तो इसे अपडेट किया गया है।
बाहरी प्रणालियों के बीच डेटा को सिंक्रनाइज़ करते समय अपसर्ट मूल्यवान है। हो सकता है कि बाहरी सिस्टम में Dataverse तालिका की प्राथमिक कुंजी का संदर्भ न हो, इसलिए आप बाहरी सिस्टम से मानों का उपयोग करके Dataverse तालिका के लिए वैकल्पिक कुंजियों को कॉन्फ़िगर कर सकते हैं जो दोनों सिस्टम पर रिकॉर्ड की विशिष्ट रूप से पहचान करते हैं. अधिक जानकारी: संदर्भ पंक्तियों के लिए वैकल्पिक कुंजियाँ निर्धारित करें
आप $metadata सेवा दस्तावेज़ में निकाय प्रकार के एनोटेशन में किसी तालिका के लिए निर्धारित कोई भी वैकल्पिक कुंजी देख सकते हैं. अधिक जानकारी: वैकल्पिक कुंजियाँ।
निम्नलिखित उदाहरण में, नाम sample_thing के साथ एक तालिका है जिसमें एक वैकल्पिक कुंजी है जो दो स्तंभों को संदर्भित करती है: sample_key1 और sample_key2, जो दोनों पूर्णांक मानों को संग्रहीत करने के लिए परिभाषित की गई हैं।
निवेदन:
PATCH [Organization URI]/api/data/v9.2/sample_things(sample_key1=1,sample_key2=1) HTTP/1.1
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
If-None-Match: null
Content-Type: application/json
{
"sample_name": "1:1"
}
दोनों बनाने या अद्यतन कार्रवाई के लिए, आपको एक ही प्रतिसाद मिलता है। ध्यान दें कि OData-EntityId प्रतिसाद शीर्ष लेख रिकॉर्ड के लिए GUID प्राथमिक कुंजी पहचानकर्ता के बजाय कुंजी मानों का उपयोग कैसे करता है।
प्रतिक्रिया:
HTTP/1.1 204 No Content
OData-Version: 4.0
OData-EntityId: [Organization URI]/api/data/v9.2/sample_things(sample_key1=1,sample_key2=1)
क्योंकि प्रतिक्रिया समान है, आप यह नहीं जान सकते कि ऑपरेशन एक या Create ऑपरेशन Update का प्रतिनिधित्व करता है या नहीं।
यदि आपको जानने की आवश्यकता है, तो आप अनुरोध हेडर का उपयोग कर सकते हैं Prefer: return=representation । इस शीर्ष लेख का उपयोग करके, रिकॉर्ड बनाए जाने पर आपको प्रतिक्रिया 201 Created मिलती है और रिकॉर्ड अपडेट होने पर प्रतिक्रिया 200 OK मिलती है. यह विकल्प एक Retrieve ऑपरेशन जोड़ता है, जिसका प्रदर्शन पर प्रभाव पड़ता है। यदि आप अनुरोध शीर्ष लेख का उपयोग करते Prefer: return=representation हैं, तो सुनिश्चित करें कि आपके में $select डेटा की न्यूनतम मात्रा शामिल है, अधिमानतः केवल प्राथमिक कुंजी स्तंभ. अधिक जानकारी: लौटाए गए डेटा के साथ अपडेट करें और लौटाए गए डेटा के साथ बनाएं।
वैकल्पिक कुंजियों का उपयोग करते समय, अनुरोध के मुख्य भाग में वैकल्पिक कुंजी मान शामिल न करें।
- जब एक अपसर्ट एक का
Updateप्रतिनिधित्व करता है, तो इन वैकल्पिक कुंजी मानों को अनदेखा कर दिया जाता है। आप रिकॉर्ड की पहचान करने के लिए वैकल्पिक कुंजी मानों का उपयोग करते समय उन्हें अद्यतन नहीं कर सकते. - जब एक अपसर्ट का
Createप्रतिनिधित्व करता है, तो URL में कुंजी मान रिकॉर्ड के लिए सेट किए जाते हैं यदि वे मुख्य भाग में मौजूद नहीं हैं। इसलिए उन्हें अनुरोध के मुख्य भाग में शामिल करने की कोई आवश्यकता नहीं है।
अधिक जानकारी: रिकॉर्ड बनाने या अद्यतन करने के लिए Upsert का उपयोग करें
नोट
सामान्य रूप से एक नया रिकॉर्ड बनाते समय आप सिस्टम को प्राथमिक कुंजी के लिए एक GUID मान असाइन करने देते हैं। यह अभ्यास सबसे अच्छा है क्योंकि सिस्टम अनुक्रमणिका के लिए अनुकूलित कुंजियाँ उत्पन्न करता है और यह विकल्प प्रदर्शन में सुधार करता है। लेकिन यदि आपको किसी विशिष्ट प्राथमिक कुंजी मान के साथ कोई रिकॉर्ड बनाने की आवश्यकता है, जैसे कि जब कुंजी GUID मान किसी बाहरी सिस्टम द्वारा जनरेट किया जाता है, तो upsert कार्रवाई ऐसा करने का एक तरीका प्रदान करती है।
अपसर्ट के साथ बनाने या अपडेट करने से रोकें
कभी-कभी, आप संभावित upsert कार्यों में से किसी एक को निष्पादित करना चाहते हैं: या तो बनाएं या अपडेट करें। आप या शीर्ष If-None-Match लेख का उपयोग करके If-Match इन कार्रवाइयों को रोक सकते हैं। अधिक जानकारी के लिए, अपसर्ट कार्रवाई सीमित करें देखें।
मूल हटाना
एक डिलीट ऑपरेशन सीधा है। उस निकाय के URI के साथ क्रिया का DELETE उपयोग करें जिसे आप हटाना चाहते हैं. यह उदाहरण संदेश किसी खाता निकाय को हटा देता है जिसके प्राथमिक कुंजी accountid मान के बराबर 00000000-0000-0000-0000-000000000001है.
निवेदन:
DELETE [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001) HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
प्रतिक्रिया:
यदि निकाय मौजूद है, तो आपको यह इंगित करने के लिए स्थिति 204 के साथ एक सामान्य प्रतिसाद मिलता है कि हटाना सफल रहा। यदि निकाय नहीं मिलता है, तो आपको स्थिति 404 के साथ एक प्रतिसाद मिलता है.
HTTP/1.1 204 No Content
OData-Version: 4.0
डुप्लिकेट रिकॉर्ड की जाँच करें
किसी अद्यतन कार्रवाई के दौरान डुप्लिकेट रिकॉर्ड की जाँच करने के तरीके के बारे में अधिक जानकारी के लिए, वेब API का उपयोग कर अद्यतन कार्रवाई के दौरान डुप्लिकेट का पता लगाना देखें।
एक ही अनुरोध में एकाधिक रिकॉर्ड हटाएँ
एक ही अनुरोध में एक ही प्रकार के एकाधिक रिकॉर्ड हटाने के लिए, क्रिया का DeleteMultiple उपयोग करें. मानक तालिकाएँ इस क्रिया का DeleteMultiple समर्थन नहीं करती हैं, लेकिन सभी लोचदार तालिकाएँ करती हैं।
नोट
मानक तालिकाओं के लिए, BulkDelete क्रिया का उपयोग करें. यह क्रिया किसी क्वेरी से मेल खाने वाले रिकॉर्ड्स को एसिंक्रोनस हटाने में सक्षम बनाती है. अधिक जानकारी के लिए, बल्क में डेटा हटाएँ देखें.
और जानकारी:
भंडारण विभाजन में दस्तावेज़ों को अद्यतन करें और हटाएं
यदि आप विभाजन में संग्रहीत इलास्टिक तालिका डेटा को अद्यतन या हटा रहे हैं, तो उस डेटा तक पहुँचने पर विभाजन कुंजी निर्दिष्ट करें.
अधिक जानकारी: कोई PartitionId मान चुनना
यह सभी देखें
वेब API मूलभूत कार्रवाई नमूना (C#)
वेब API बेसिक ऑपरेशन नमूना (क्लाइंट-साइड जावास्क्रिप्ट)
वेब एपीआई का उपयोग करके संचालन करें
Http अनुरोध लिखें और त्रुटियों को संभालें
वेब API का उपयोग करके क्वेरी डेटा
वेब API का उपयोग करके एक तालिका पंक्ति बनाएँ
वेब API का उपयोग करके तालिका पंक्ति पुनर्प्राप्त करें
वेब API का उपयोग करके तालिका पंक्तियों को संबद्ध और अलग करें
वेब एपीआई फ़ंक्शन का उपयोग करें
वेब API क्रियाएँ उपयोग करें
वेब API का उपयोग करके बैच ऑपरेशन निष्पादित करें
वेब API का उपयोग करके किसी अन्य उपयोगकर्ता का प्रतिरूपण करें
वेब एपीआई का उपयोग करके सशर्त कार्रवाई करें