Retrieve the List of Modified Stock Items
If you are using the contract-based REST API to integrate MYOB Acumatica with an external system, this external system can retrieve the list of stock items that have been modified within a particular period.
You will use the GET
HTTP method and the
StockItem entity of the Default/24.200.001 endpoint to list the stock items. The StockItem entity
is mapped to the Stock Items (IN202500) form.
System Preparation
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:
- Deploy a new MYOB Acumatica instance with the T100 dataset. For details on deploying an instance, see Instance Deployment: To Deploy an Instance with Demo Data in the Installation Guide.
-
On the Stock Items (IN202500) form, modify these inventory items as follows:
- AACOMPUT01: Change the status of this inventory item to Inactive and save the record.
- AALEGO500: Change the description of this inventory item and save the record.
Now you have at least two inventory items that have been modified within the past month, and one of them has the Active status.
- If you use Postman as the client application for testing, in the IntegrationDevelopmentGuide.postman_collection.json collection, make sure that the collection’s variables have the proper values. This collection is located in the IntegrationDevelopment\Help folder of the Help-and-Training-Examples repository on GitHub.
- 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.
Request
You can use the following request example to retrieve the active
stock item that was changed today through the contract-based REST API. (You should
specify today's date instead of 2024-11-14
.) The only stock item
that the response will contain will be AALEGO500, which you have just
changed.
<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 (that is, you can use https://my.acumatica.com) if the instance
is installed in the root of the website.GET /entity/Default/24.200.001/StockItem?
$expand=WarehouseDetails&
$select=InventoryID,Description,WarehouseDetails/WarehouseID,
WarehouseDetails/QtyOnHand,ItemClass,BaseUOM&
$filter=ItemStatus eq 'Active' and
LastModified gt datetimeoffset'2024-11-14T00:00:00.000' HTTP/1.1
Host: [<MYOB Acumatica instance URL>]
Accept: application/json
Content-Type: application/json
Usage Notes
You use the $filter parameter to specify the search conditions for the fields.
Because the database can contain thousands of stock item records, to achieve the best performance of the application, you need to specify the fields of the stock item records that should be returned. You use the $select parameter to specify the fields whose values should be retrieved from MYOB Acumatica for each stock item record.
The fields that are specified in the $filter parameter are returned by default.
You use the $expand parameter to specify the nested entity, such as WarehouseDetails, to be returned.