We were wondering if it was possible for API information to be pulled for an orders pick status. (Like whether it is in a tote or not) We are trying to setup a customer service chat bot and we are trying to make it possible for customers to cancel their orders but only if the pick status for that order is ‘not picked’. This will be very helpful ability to us, is this a possibility?
Hi @AmericanTall,
Welcome, Luca! We do not have the tote status for orders available through the Public API. I can put in a feature request for it, where the idea can be reviewed. Let me know if you would like me to do that or if there is another way you would like to approach this.
That would be perfect! I feel like this will be very beneficial, not only us but a lot of other companies as well. Thanks!
The is a request for this!
Also curious, is it possible to put order on hold through API calls? Is this something that is a current feature request as well?
Yes, that you can do now. For instance, if you wanted to engage an operator hold …
mutation{
order_update_holds(data:{
order_id:"*Xorder id hereX*"
operator_hold:true
}){
request_id
complexity
}
}
Good news @AmericanTall ! Hi Luca, you can now see the tote information in the LineItem query
query{
order(id: "[order id here]") {
request_id
complexity
data {
id
line_items {
edges {
node {
id
tote_picks {tote_id, current}
}
}
}
}
}
}
Current should return a 1 or 0 to show if it is currently in a tote.
Is it possible to see what time an item was placed in tote or when an order was picked complete? we are trying to follow up on orders that are aging in tote and not shipped, but currently we know of no way to check without clicking into individual orders.
Hello @pbrw
There is no way to get returned all orders sitting in a tote automatically. This would require something built on your end.
You could use the Tote Complete Webhook to record all orders that are currently sitting in a tote. But you would need, for example, the Shipment Update Webhook or the Tote Cleared Webhook to remove those that were shipped or returned to the bin from your records.
Another thing you can do is query orders and check which line items are sitting in totes:
query{
orders(fulfillment_status:"" order_date_from:""){
request_id
complexity
data(first:10){
edges{
node{
legacy_id
order_number
line_items(first:5){
edges{
node{
sku
quantity
tote_picks{
created_at
tote_id
current
picked_quantity
}
}
}
}
}
}
}
}
}
- I used
fulfillment_status
as a filter to leave out already fulfilled orders andorder_date_from
to leave out really old orders. -
line_items.tote_picks.current
will tell you if the line item is currently sitting in the tote. In this case, it will return a 1. If the order was shipped or the tote cleared, this value will be 0.
Please let me know if you have further questions.
Kind regards,
TomasFD
Hi Tomas. I cant find any documentation on the “line_item.tote_picks”. Are there any other fields available? If so, can you list all the available fields?
Hello @bbarrett!
You can find our full schema if you follow this link: Schema – Developer Resources | ShipHero. You can also navigate to it from our documentation using the righter most link in the top menu.
Once in it, you can search it using ctrl+f or navigate it using the left menu. Here is what you can see for TotePicks:
Have a great day!
TomasFD