Inventory
Manifests
Before you create manifests, you'll want to set up locations in your dashboard so that you'll be able to add manifests to a certain location.
Create Manifest
To create a manifest, you only need to include the location_id
and specify the inventory items that you want to add.
Example
Update Manifest
Before you can update a manifest, you'll need to update its status to accepted
. The reason this exists is because manifests can be created (with your permission) by third parties. Therefore, it's best that you accept them, and understand that there could be inventory items that will get created.
If you do not wish to proceed with the manifest, you can update the status to void
instead.
Accept Manifest
Verify Inventory
When verifying inventory for a manifest, we want to determine what is in good condition, bad condition, and what is missing. We do so by incrementing the verified_qty
and damaged_qty
properties on each inventory item within the manifest.
Adding to Inventory
When all items have been verified -- and even if some items are missing -- you are able to update the status of the manifest to 'completed'. Once this happens, all of the inventory items that are referenced in the manifest will automatically have their verified_qty
and damaged_qty
properties updated.
Retrieve Manifest
Get a single manifest using its id
.
List Manifests
Example
When you want to retrieve multiple manifests, your data
property on the result will always be an array
even if you don't have any manifests.
Pagination
If the has_more
property on the pagination object is set to true, you know there are more manifests in the database that have not been returned to you. The pagination object also has a page
property indicating your current offset and a limit property. The total_count property in pagination returns the the total number of manifests in the database.
By default the page
is set to 1
and the limit
is 25
.
If we want to query for items 26 - 50, we would request page 2 with a query parameter.
Filter
You can filter manifests by location_id
, statuses
- location_id - Add the ID of one of your locations to get all of the deliveries currently mapped to that location. For example:
location_id=loc_czhgjrk5JaVvyATPDbyURp
- statuses - A comma separated list of manifest statuses. Keep in mind comma's in URLs are encoded as
%2C
, so we recommend using your platforms native URL encoding library. For example:statuses=processing,completed
Sorting
Sorting describes in what order you want your responses to come in. You can select an available property by which to sort, as well as the direction.
- order_by - The property by which to sort. Available properties are:
created_at
- direction - The direction to sort. Available directions are:
asc
anddesc
By default, manifests will be sorted by in descending order, meaning the most recently created will be first.
Search
There are times when filtering is not enough and you want to find a specific manifest by some other attribute. In this case, you can do a fuzzy, typo-tolerant search. Below are the properties that are supported by our full text search.
Searchable Properties
order_number
tracking_number
To search, simply provide a string to search by using the search
query param. The results will be order by the most relevant first.
If you want to highlight matching search results for a frontend, we provide a special property for search-returned manifest objects called _search
which will have the matched text surrounded with <mark>
handles.
Ordering Search Results
By default, search results are ordered by relevance. However, if you include an order_by
parameter along with your search query, the results will be ordered by the specified property instead of by relevance.
Relevance Score
Relevance scores are included in the search results by default. Note that this could add up to 10ms of extra time to the request.