Χρήση λειτουργιών Λειτουργίες εγγραφής, ενημέρωσης και διαγραφής API Web πυλών
Μπορείτε να εκτελέσετε διαθέσιμες λειτουργίες Web API στις πύλες. Οι λειτουργίες Web API αποτελούνται από αιτήσεις και αποκρίσεις HTTP. Σε αυτό το άρθρο παρέχονται δείγματα λειτουργιών εγγραφής, ενημέρωσης και διαγραφής, μέθοδοι, URI και το δείγμα JSON που μπορείτε να χρησιμοποιήσετε σε αιτήσεις HTTP.
Σημαντικό
- Η έκδοση της πύλης σας πρέπει να είναι 9.3.3.x ή μεταγενέστερη προκειμένου να λειτουργεί αυτή η δυνατότητα
Προϋποθέσεις
Ενεργοποίηση πίνακα και πεδίου για λειτουργίες Web API. Περισσότερες πληροφορίες: Ρυθμίσεις τοποθεσίας για Web API
Τα ΑΡΙ Web πυλών έχουν πρόσβαση σε καρτέλες πίνακα και ακολουθούν τα δικαιώματα πίνακα που δίνονται στους χρήστες μέσω των συσχετισμένων ρόλων web. Βεβαιωθείτε ότι ρυθμίζετε τις παραμέτρους των σωστών δικαιωμάτων πίνακα. Περισσότερες πληροφορίες: Δημιουργία ρόλων web
Δημιουργία καρτέλας σε πίνακα
Σημείωμα
Όταν αναφέρεστε Dataverse πίνακες χρησιμοποιώντας το API web πυλών, πρέπει να χρησιμοποιήσετε το EntitySetName, για παράδειγμα, για να αποκτήσετε πρόσβαση στον πίνακα λογαριασμός, η σύνταξη κώδικα θα χρησιμοποιήσει το EntitySetName των λογαριασμών.
Βασική δημιουργία
Operation | Μέθοδος | URI | Δείγμα JSON |
---|---|---|---|
Βασική δημιουργία | ΚΑΤΑΧΩΡΗΣΗ | [Portal URI]/_api/accounts | {"name":"Sample Account"} |
Δείγμα 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" }
]
}
]
}
Συσχέτιση καρτελών πίνακα κατά τη δημιουργία
Operation | Μέθοδος | URI | Δείγμα JSON |
---|---|---|---|
Συσχέτιση καρτελών πίνακα κατά τη δημιουργία | POST | [Portal URI]/_api/accounts | {"name":"Sample Account","primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"} |
Δείγμα JSON για τη δημιουργία ενός σχολίου μέσω του Web API
{
"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.
Ενημέρωση και διαγραφή καρτελών με χρήση του Web API
Βασική ενημέρωση
Μαζική λειτουργία | Μέθοδος | URI | Δείγμα JSON |
---|---|---|---|
Βασική ενημέρωση | ΕΝΗΜΕΡΩΣΗ ΚΩΔΙΚΑ | [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 |
---|---|---|---|
Ενημέρωση μιας μεμονωμένης τιμής ιδιότητας | PUT | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/name | {"value": "Updated Sample Account Name"} |
Διαγραφή ή απαλοιφή μιας τιμής πεδίου
Operation | Μέθοδος | URI |
---|---|---|
Διαγραφή ή απαλοιφή μιας τιμής πεδίου | ΔΙΑΓΡΑΦΗ | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/description |
Βασική διαγραφή
Λειτουργία | Μέθοδος | URI |
---|---|---|
Βασική διαγραφή | DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001) |
Συσχετίστε και καταργήστε συσχετίσεις πινάκων χρησιμοποιώντας το API Web
Προσθήκη αναφοράς σε μια ιδιότητα περιήγησης που αποτιμάται στη συλλογή
Λειτουργία | Μέθοδος | 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 |
---|---|---|---|
Αλλαγή της αναφοράς σε μια ιδιότητα περιήγησης μίας τιμής | PUT | [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)"} |
Δείγματα Web API AJAX
Αυτό το δείγμα δείχνει τον τρόπο δημιουργίας, ενημέρωσης και διαγραφής καρτελών πινάκων με χρήση Ασύγχρονης 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"))
}
});
Update
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);
}
});
Delete
webapi.safeAjax({
type: "DELETE",
url: "/_api/accounts(00000000-0000-0000-0000-000000000001)",
contentType: "application/json",
success: function (res) {
console.log(res);
}
});
Συσχέτιση
Το παρακάτω παράδειγμα θα αντιστοιχίσει μια υπάρχουσα επαφή ως την κύρια επαφή για έναν υπάρχοντα λογαριασμό.
var record = {};
record[primarycontactid@odata.bind] = "/contacts(00000000-0000-0000-0000-000000000002)";
webapi.safeAjax({
type: "PATCH",
contentType: "application/json",
url: "/_api/accounts(00000000-0000-0000-0000-000000000001)",
data: JSON.stringify(record),
success: function (data, textStatus, xhr) {
console.log("Record updated");
}
});