Today we released a new API endpoint to inform what work orders have changed since a given date. When properly used, it cuts down client processing time/traffic for applications that need to process specific sets of information from each work order in the system.
BigWave records the timestamp each time a work order is updated in BigWave. It’s updated for status updates, schedule and assignment changes, comment updates, document updates, pricing updates, and custom field updates. In all, a timestamp is recorded whenever anything on a work order is changed.
Using that, you can request a list of all work orders that have changed since a given date. Then with that finite list of work orders returned, you issue GET calls for each and process the information.
For all work orders returned, save the latest LastUpdated value you find. LastUpdated is the field on the work order that saves the timestamp the work order was updated as described above. This becomes your new query value the next time you process your client code.
Example
Looking at the Swagger docs you will find the new GetChanged endpoint…
So an example call …
/api/v1/WorkOrder/getchanged/2022-05-25T01:04:55
Results in an array of work order ids that have changed since May 25, 2022 1:04:55 AM …
Cycle through calling GET for each work order ID returned. Grab the information needed by your client process, and save the max LastUpdated date found. Then when your client code runs again, it will use this value to return work orders that have changed since this new timestamp.
Using this technique will enable your client code to run efficiently as it tells it what work orders have changed. This keeps traffic to the API to a minimum!