Just over a year ago we added support for passing a tracking number in when auto-working an order in LOCATE. Over the last year LOCATE’s auto-work capabilities have grown substantially behind the scenes. These abilities have been exposed mostly through their use backing various service integrations such as ShipStation which we added partial fulfillment support to several months ago. Other features like line specific auto-working have actually been staples in the LOCATE code base, but we never exposed all these features to developers, until now.
The full list of changes that are being released include:
- Addition of carrier_id and carrierservicelevel_id so you can provide all the shipping details rather than just the tracking number. As before when these two fields are not provided the order carrier_id and carrierservicelevel_id will be used on the cartons.
- Site specific auto-work: Previously LOCATE would run auto-work exclusively at the site the calling user was set at. Now, you can optionally provide a site_id (the calling user must have access to the site) and the auto-work will run from this site without having to change the user’s current site. If no site_id is provided we still default to the calling user’s current site.
- Line Specific (and optionally qty specific) auto-working: You can now optionally provide an array of objects containing transactionline_ids (e.g. salesorderline_id, purchaseorderline_id, etc.) and quantities when making an auto-work call to partially work order and/or lines on those orders. This offers developers far more control and use cases where auto-work can be leveraged in their integrated applications. If line_details are not provided we will work the whole order just as before.
- Deprecated full_auto: During our review and enhancements to the auto-work endpoint we discovered that this parameter was no longer necessary and have removed it from the documentation. If full_auto is provided your call will succeed, but as before additional parameters (task_ids/transactionline details) will supersede working the whole order. When no additional parameters are provided the auto-work endpoint will attempt to work all lines of the specified order to the fullest extent possible.
- Enhanced validation and documentation on /autowork endpoint.