What is OData in Dynamics CRM?
Open Data Protocol (OData) is a standard protocol for consuming data exposed by Dynamics. OData is a Representational State Transfer (REST) based protocol. It can be applied to all types of technologies, including JavaScript Object Notation (JSON).
To retrieve single record data using JavaScript
function CheckPrimaryContactId(executionContext) {
formContext = executionContext.getFormContext();
var primarycontactid = formContext.data.entity.attributes.get("primarycontactid");
if (primarycontactid.getValue() != null) {
entityId = primarycontactid.getValue()[0].id.slice(1, -1);
entityName = primarycontactid.getValue()[0].entityType;
entityLabel = primarycontactid.getValue()[0].name;
var globalContext = Xrm.Utility.getGlobalContext();
var crmURL=globalContext.getClientUrl()
var req = new XMLHttpRequest();
req.open("GET",crmURL+"/api/data/v9.1/contacts("+entityId+")?$select=emailaddress1",false);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("Prefer", "odata.include-annotations=\"*\"");
req.onreadystatechange = function () {
if (this.readyState === 4) {
req.onreadystatechange = null;
if (this.status === 200) {
var resultsData = JSON.parse(this.response);
if (resultsData) {
emailaddress1 = resultsData["emailaddress1"];
console.log("Email Address is:" + emailaddress1);
}
} else { Xrm.Utility.alertDialog(this.statusText); }
}
};
req.send();
}
}
Comments