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"}

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