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"} |
Voorbeeld-JSON voor het maken van gerelateerde tabelrecords in één bewerking
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