Development, Howto

How to close Opportunity as Won using WebApi

Following code can be used to close Opportunity as Won using JavaScript and WebApi:

var opportunityclose = {
    "opportunityid@odata.bind": "/opportunities(628CF01A-AED1-E411-80EF-C4346BAC7BE8)",//replace with id of opportunity
    "actualrevenue": 100,
    "actualend": new Date(),
    "description": "Your description here"
};

var parameters = {
    "OpportunityClose": opportunityclose,
    "Status": -1
};

var context;

if (typeof GetGlobalContext === "function") {
    context = GetGlobalContext();
} else {
    context = Xrm.Page.context;
}

var req = new XMLHttpRequest();
req.open("POST", context.getClientUrl() + "/api/data/v8.2/WinOpportunity", true);
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.onreadystatechange = function () {
    if (this.readyState === 4) {
        req.onreadystatechange = null;
        if (this.status === 204) {
            //Success - No Return Data - Do Something
        } else {
            var errorText = this.responseText;
            //Error and errorText variable contains an error - do something with it
        }
    }
};
req.send(JSON.stringify(parameters));

 

3 Comments

    1. Hello,
      It’s almost the same. Just replace WinOpportunity with LoseOpportunity.
      Thanks,
      Andrew

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.