Monday 13 March 2017

WebAPI Retrieve Records



Below is the sample query to get records,

function retrieveRecordsWebAPI(query)
{
try
{
var data;
var serverURL = Xrm.Page.context.getClientUrl();
var req = new XMLHttpRequest();
req.open("GET", serverURL + "/api/data/v8.0/" + query, false);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Prefer", "odata.include-annotations=OData.Community.Display.V1.FormattedValue");
req.onreadystatechange = function ()
{
if (this.readyState == 4 )
{
req.onreadystatechange = null;
if (this.status == 200)
{
data = JSON.parse(this.response);
}
else
{
var error = JSON.parse(this.response).error;
alert(error.message);
}
}
};
req.send();
return data;
}
catch (e)
{
Xrm.Page.ui.setFormNotification("Error occured in function : Common.retrieveRecordsWebAPI()" + ".Details : " + (e.description || e.message), "Error");
}
}

Call above function like below,

function getDataUsingWEBAPI()
{
     var cusId = Xrm.Page.getAttribute("customerid").getValue()[0].id;
var columnSet = "?$select=address1_line1,address1_line2";
var query = "accounts" + "(" + cusId.substring(1, 37) + ")" + columnSet;
var response = retrieveRecordsWebAPI(query);
}

No comments:

Post a Comment