You can use following code to Fulfill Sales Order using JavaScript and WebApi:
var orderclose = { "subject": "Put Your Fulfill Subject Here", "salesorderid@odata.bind": "/salesorders(58D2C742-9F0D-E711-8102-3863BB354FF0)",//Put salesorder Id here "description": "Additional Description Here", "actualend": new Date() }; var parameters = { "OrderClose": orderclose, "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/salesorders/Microsoft.Dynamics.CRM.FulfillSalesOrder", 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)); |