Update the Detail Lines of a Sales Order

If you are using the REST API to integrate MYOB Acumatica with an external system, this external system can update the detail lines of a sales order. For example, a customer of the online store can edit the order and submit the updated order. The updated sales order can be viewed on the Sales Orders (SO301000) form.

Testing of the Request

Before you test the code below, you need to do the following to configure your client application and the MYOB Acumatica instance to be used:

  1. Deploy a new MYOB Acumatica instance with the T100 dataset. For details on deploying an instance, see To Deploy an MYOB Acumatica Instance in the Installation Guide.
  2. If you use Postman as the client application for testing, in the IntegrationDevelopmentGuide.postman_collection.json collection (which is located in the IntegrationDevelopment\Help folder of the Help-and-Training-Examples repository on GitHub), make sure the collection variables have the proper values.
  3. To sign in to the instance in the client application, use the tenant name (which you specified when you created the instance) and the MYSTORE branch.
  4. Execute the request that is described in Retrieve a Sales Order with Detail Lines to obtain the IDs of the detail lines hat should be updated.

Request

Tip:
In the request examples below, <MYOB Acumatica instance URL> is the URL of the MYOB Acumatica instance (such as https://my.acumatica.com/MyInstance). You can omit the instance name in the URL (such as https://my.acumatica.com) if the instance is installed in the root of the website.

You can use the following request example to delete the line for the CONGRILL item (which, in the session of this request, has the 08731a64-7381-e511-80c0-00155d012302 identifier), and update the quantity of the AALEGO500 item (which has the f4a7e172-7381-e511-80c0-00155d012302 session identifier).

PUT ?$expand=Details&$select=OrderType,OrderNbr,Details/OrderQty,Details/InventoryID,
    OrderedQty,OrderTotal HTTP/1.1
Host: [<MYOB Acumatica instance URL>]/entity/Default/23.200.001/SalesOrder
Accept: application/json
Content-Type: application/json

{
 "OrderType": {"value": "SO"},
 "OrderNbr": {"value": "000003"},
 "Hold": {"value": false},
 "Details":[
  {
   "id": "08731a64-7381-e511-80c0-00155d012302",
   "delete": true
  },
  {
   "id": "f4a7e172-7381-e511-80c0-00155d012302",
   "OrderQty": {"value": 5}
  }
 ]
}