Korištenje operacija pisanja, ažuriranja i brisanja web-API-ja portala
Možete izvesti dostupne operacije Web API-ja na portalima. Operacije API-ja na webu sastoje se od HTTP zahtjeva i odgovora. Ovaj članak pruža ogledne operacije pisanja, ažuriranja i brisanja, metode, URI i ogledni JSON koje možete koristiti u HTTP zahtjevima.
Važno
- Verzija vašeg portala mora biti 9.3.3.x ili novija da bi ova značajka radila.
Preduvjeti
Omogućite tablicu i polje za operacije web-API-ja. Dodatne informacije: Postavke web-mjesta za web-API
Web-API portala pristupa zapisima tablice i slijedi dozvole tablice dane korisnicima putem pridruženih web-uloga. Provjerite jeste li konfigurirali ispravne dozvole za tablicu. Dodatne informacije: Stvaranje web-uloga
Stvaranje zapisa u tablici
Osnovno stvaranje
| Operacija | Metoda | URI | JSON uzorak |
|---|---|---|---|
| Osnovno stvaranje | POST | [URI portala]/_api/accounts | {"naziv":"Ogledni račun"} |
Uzorak JSON-a za stvaranje povezanih zapisa tablice u jednoj operaciji
Na primjer, sljedeće tijelo zahtjeva objavljeno u skupu tablica Poslovni subjekt stvorit će ukupno četiri nove tablice, uključujući račun, u kontekstu stvaranja računa.
- Kontakt se stvara jer je definiran kao svojstvo objekta jednovrijednog navigacijskog svojstva
primarycontactid. - Prilika se kreira jer je definirana kao objekt unutar polja koje je postavljeno na vrijednost navigacijskog svojstva vrijednog zbirke
opportunity_customer_accounts. - Zadatak se stvara jer je definiran kao objekt unutar polja koje je postavljeno na vrijednost navigacijskog svojstva vrijednog zbirke
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" }
]
}
]
}
Pridruživanje zapisa tablice pri stvaranju
| Operacija | Metoda | URI | JSON uzorak |
|---|---|---|---|
| Pridruživanje zapisa tablice pri stvaranju | POST | [URI portala]/_api/accounts | {"name":"Sample Account","primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"} |
Primjer JSON-a za stvaranje bilješke putem Web API-ja
{
"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 sadržavat će privitak kao niz base64.
Ažuriranje i brisanje zapisa pomoću API-ja na webu
Osnovno ažuriranje
| Operacija | Metoda | URI | JSON uzorak |
|---|---|---|---|
| Osnovno ažuriranje | PATCH | [URI portala]/_api/računi(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 } |
Ažuriranje jedne vrijednosti svojstva
| Operacija | Metoda | URI | JSON uzorak |
|---|---|---|---|
| Ažuriranje jedne vrijednosti svojstva | PUT | [URI portala]/_api/računi(00000000-0000-0000-0000-000000000001)/naziv | {"value": "Updated Sample Account Name"} |
Brisanje jedne vrijednosti svojstva
| Operacija | Metoda | URI |
|---|---|---|
| Brisanje jedne vrijednosti svojstva | DELETE | [URI portala]/_api/računi(00000000-0000-0000-0000-000000000001)/opis |
Osnovno brisanje
| Operacija | Metoda | URI |
|---|---|---|
| Osnovno brisanje | DELETE | [URI portala]/_api/računi(00000000-0000-0000-0000-000000000001) |
Pridruživanje i poništavanje pridruživanja tablica pomoću Web API-ja
Dodavanje reference u svojstvo za navigaciju sa skupnom vrijednosti
| Operacija | Način | URI | JSON uzorak |
|---|---|---|---|
| Dodavanje reference u svojstvo za navigaciju sa skupnom vrijednosti | POST | [URI portala]/_api/računi(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref | {"@odata.id":"[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)"} |
Uklanjanje reference na tablicu
| Operacija | Metoda | URI |
|---|---|---|
| Uklanjanje reference na tablicu | DELETE | [URI portala]/_api/računi(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref?$id=[URI portala]/_api/prilike(00000000-0000-0000-0000-000000000001) |
Uklanjanje reference na tablicu za svojstvo navigacije s jednom vrijednošću
Za jednovrijedno navigacijsko svojstvo uklonite parametar niza $id upita.
| Operacija | Metoda | URI |
|---|---|---|
| Uklanjanje reference na tablicu za svojstvo navigacije s jednom vrijednošću | DELETE | [URI portala]/_api/prilike(00000000-0000-0000-0000-000000000001)/customerid_account/$ref |
Promjena reference u svojstvu za navigaciju s jednom vrijednosti
| Operacija | Način | URI | JSON uzorak |
|---|---|---|---|
| Promjena reference u svojstvu za navigaciju s jednom vrijednosti | PUT | [URI portala]/_api/prilike(00000000-0000-0000-0000-000000000001)/customerid_account/$ref | {"@odata.id":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
Pridruživanje tablica pri stvaranju
Nove tablice moguće je stvoriti s odnostima tako da se upotrijebi dubinsko umetanje.
Pridruživanje tablice nakon ažuriranja uz pomoć upotrebe svojstva navigacije s jednom vrijednošću
Tablice možete pridružiti prilikom ažuriranja koristeći istu poruku opisanu u osnovnom ažuriranju ranije ovog tema, ali morate koristiti @odata.bind primjedbu da biste postavili vrijednost jednovrijednog navigacijskog svojstva. Sljedeći primjer mijenja račun povezan s prilikom pomoću customerid_account navigacijskog svojstva s jednom vrijednošću.
Pridruživanje tablice nakon ažuriranja uz pomoć upotrebe svojstva navigacije s jednom vrijednošću
| Operacija | Metoda | URI | JSON uzorak |
|---|---|---|---|
| Pridruživanje tablice nakon ažuriranja uz pomoć upotrebe svojstva navigacije s jednom vrijednošću | PATCH | [URI portala]/_api/prilike(00000000-0000-0000-0000-000000000001) | {"customerid_account@odata.bind":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
AJAX uzorci API-ja na webu
Ovaj uzorak pokazuje kako stvoriti, ažurirati i izbrisati zapise tablice upotrebom asinkronog JavaScripta i XML-a (AJAX).
AJAX funkcija omotača
(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)
Stvaranje
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);
}
});
Izbriši
webapi.safeAjax({
type: "DELETE",
url: "/_api/accounts(00000000-0000-0000-0000-000000000001)",
contentType: "application/json",
success: function (res) {
console.log(res);
}
});
Sljedeći korak
Praktični vodič: Korištenje web-API-ja portala
Pogledajte
Pregled Web API-ja za portale Portali čitaju operacije pomoću web-API-ja