Showing posts with label WebAPI CRM 2016. Show all posts
Showing posts with label WebAPI CRM 2016. Show all posts

Wednesday, March 23, 2016

Sample WebAPI Methods for MSCRM 2016

function InitiateAPICalls() {
    var resp = ExecuteAPIRequest("accounts"); //Ajax Request
    var resp1 = ExecuteXmlRequestToAPI("accounts"); //XMLHttpRequest

}


function result(resultArray, error) {
    this.results = resultArray;
    this.error = error;
}
function ExecuteAPIRequest(query) {
    var resultArray = null;
    var errorMessage = null;
    $.ajax(
    {
        type: "GET",
        url: Xrm.Page.context.getClientUrl() + "/api/data/v8.0/" +query,
        async: false,
        headers: { "Accept": "application/json", "Content-Type": "application/json;charset=utf-8", "OData-MaxVersion": "4.0", "OData-Version": "4.0" }
    })
    .done(function (Httpresponse) {
        resultArray = Httpresponse.value;
    })
    .fail(function (Httpresponse) {
        var errors = JSON.parse(Httpresponse.responseText);
        if (errors.error)
            errorMessage = "There was an error executing the request. " + Httpresponse.status + " " + Httpresponse.statusText +". " + errors.error.message;
    })
    .always(function (Httpresponse) {
    });
    return new result(resultArray,errorMessage);
}

function ExecuteXmlRequestToAPI(query) {
    var resultArray = null;
    var errorMessage = null;
    var req = new XMLHttpRequest()
    var resultArray = null;
    req.open("GET", Xrm.Page.context.getClientUrl() + "/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.onerror = function (error) {
        throw new Error("There was an error executing the request. " + req.status + " " + error.message);
    }
    var response = req.send();
    if (req.status == 200) {
        var results = JSON.parse(req.response);
        resultArray = results.value;
    }
    else {
        var errors = JSON.parse(req.response);
        if (errors.error)
            errorMessage = "There was an error executing the request. " + req.status + " " +req.statusText+ ". "+ errors.error.message;
    }
    return new result(resultArray,errorMessage);
}