Delen via


Bewerkingen voor schrijven, bewerken en verwijderen met de web-API voor portals gebruiken

U kunt beschikbare web-API-bewerkingen uitvoeren in portals. Web-API-bewerkingen bestaan uit HTTP-aanvragen en -reacties. In dit artikel worden voorbeelden gegeven van bewerkingen voor schrijven, bijwerken en verwijderen, methoden, URI en het voorbeeld-JSON-bestand die u in de HTTP-aanvragen kunt gebruiken.

Belangrijk

  • Uw portalversie moet 9.3.3.x of hoger zijn om deze functie te laten werken.

Vereisten

  • Schakel tabel en veld in voor web API-bewerkingen. Meer informatie: Site-instellingen voor de web-API

  • De web-API voor portals heeft toegang tot tabelrecords en volgt de tabelmachtigingen die aan gebruikers zijn gegeven via de toegewezen webrollen. Zorg ervoor dat u de juiste tabelmachtigingen configureert. Meer informatie: Webrollen maken.

Een record in een tabel maken

Notitie

Als wordt verwezen naar Dataverse-tabellen met behulp van de web-API voor portals, moet u de EntitySetName gebruiken, bijvoorbeeld om toegang te krijgen tot de account-tabel, gebruikt de codesyntaxis de EntitySetName van accounts.

Basis maken

Bewerking Methode URI JSON-voorbeeld
Basis maken POSTEN [Portal-URI]/_api/accounts {"naam":"Voorbeeldaccount"}

Met de volgende aanvraagtekst die is opgenomen in de tabelset Account, worden bijvoorbeeld in totaal vier nieuwe tabellen gemaakt, inclusief het account, in de context van het aanmaken van het account.

  • Er wordt een contactpersoon gemaakt omdat deze is gedefinieerd als een objecteigenschap van de navigatie-eigenschap met één waarde primarycontactid.
  • Er wordt een verkoopkans gemaakt omdat deze is gedefinieerd als een object binnen een matrix die is ingesteld op de waarde van een navigatie-eigenschap met collectiewaarde opportunity_customer_accounts.
  • Er wordt een taak gemaakt omdat deze is gedefinieerd als een object binnen een matrix die is ingesteld op de waarde van een navigatie-eigenschap met collectiewaarde 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" }
      ]
  }
 ]
}

Tabelrecords koppelen bij het maken

Operation Wijze URI JSON-voorbeeld
Tabelrecords koppelen bij het maken POST [Portal-URI]/_api/accounts {"name":"Sample Account","primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"}

Voorbeeld-JSON voor het maken van een aantekening via de 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 bevat de bijlage als een base64-tekenreeks.

Records bijwerken en verwijderen met behulp van de web-API

Basisbijwerkbewerking

Bewerking Methode URI JSON-voorbeeld
Basisbijwerkbewerking 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 }

Eén eigenschapswaarde bijwerken

Bewerking Methode URI JSON-voorbeeld
Eén eigenschapswaarde bijwerken PUT [Portal-URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/name {"value": "Updated Sample Account Name"}

Een veldwaarde verwijderen of wissen

Operation Wijze URI
Een veldwaarde verwijderen of wissen DELETE [Portal-URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/description

Basisverwijderbewerking

Bewerking Methode URI
Basisverwijderbewerking DELETE [Portal-URI]/_api/accounts(00000000-0000-0000-0000-000000000001)

Tabellen koppelen en ontkoppelen met de web-API

Een verwijzing toevoegen naar een collection-valued navigatie-eigenschap

Bewerking Methode URI JSON-voorbeeld
Een verwijzing toevoegen naar een collection-valued navigatie-eigenschap Posten [Portal-URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref {"@odata.id":"[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)"}

Een verwijzing naar een tabel verwijderen

Bewerking Methode URI
Een verwijzing naar een tabel verwijderen DELETE [Portal-URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref?$id=[Portal-URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)

Een verwijzing naar een tabel verwijderen voor een navigatie-eigenschap met één waarde

Verwijder voor een navigatie-eigenschap met één waarde de querytekenreeksparameter $id.

Bewerking Methode URI
Een verwijzing naar een tabel verwijderen voor een navigatie-eigenschap met één waarde DELETE [Portal-URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref

De verwijzing in een navigatie-eigenschap met één waarde wijzigen

Bewerking Methode URI JSON-voorbeeld
De verwijzing in een navigatie-eigenschap met één waarde wijzigen PUT [Portal-URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref {"@odata.id":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"}

Tabellen koppelen bij het maken

Nieuwe tabellen kunnen worden gemaakt met relaties door diep invoegen.

Tabellen koppelen bij het bijwerken met behulp van een navigatie-eigenschap met één waarde

U kunt tabellen bij het bijwerken koppelen door hetzelfde bericht te gebruiken dat wordt beschreven in Basisupdate, eerder in dit onderwerp, maar u moet de @odata.bind-aantekening gebruiken om de waarde van een navigatie-eigenschap met één waarde in te stellen. In het volgende voorbeeld wordt het account dat aan een verkoopkans is gekoppeld, gewijzigd met behulp van de navigatie-eigenschap met één waarde customerid_account.

Tabellen koppelen bij het bijwerken met behulp van een navigatie-eigenschap met één waarde

Bewerking Methode URI JSON-voorbeeld
Tabellen koppelen bij het bijwerken met behulp van een navigatie-eigenschap met één waarde 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-voorbeelden

Dit voorbeeld laat zien hoe u tabelrecords maakt, bijwerkt en verwijdert met Asynchronous JavaScript And XML (AJAX).

Wrapper-functie van 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)

Create

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

Bijwerken

  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);
		}
  });

Koppelen

In het volgende voorbeeld wordt een bestaande contactpersoon toegewezen als de primaire contactpersoon voor een bestaande account.

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

Volgende stap

Procedure: De web-API voor portals gebruiken

Zie ook