ASOS - Accept / Reject Orders
The purpose of this page is to describe in details the flow of accepting & rejecting order on MIRAKL.
Date | Version | Name | Applied changes |
---|---|---|---|
17/10/2022 | 1.1 | Bogomil Pavlov | Acceptance Flow updated with more details and Acknowledge Flag |
24/10/2022 | 1.2 | Beatris Bunova | Fix typos. |
By default we do accept all orders in Hemi however we have different cases which we need to cover.
We accept all order items with Product In Order > Status = "WAITING_ACCEPTANCE"
and Order > Marketplace Status = “WAITING_ACCEPTANCE“ we also need to tack the Orders > Acknowledge status.
If we want to pick an order for acceptance we need to have:
Order > Status = “Pending“
Order > Marketplace Status = “WAITING_ACCEPTANCE“
Orders > Is Acknowledged = “Pending”
Product In Order > Status = "WAITING_ACCEPTANCE"
Once we push the acceptance successfully we update :
Orders > Marketplace Status = “Acceptance Sent“
Product In Order > Status = "WAITING_ACCEPTANCE"
Orders > Is Acknowledged = “Sent”
Order > Status = “Pending“
this way we know the acceptance was sent and waiting for modified order to update the order details and to avoid sending another acceptance for this order.
If we receive an error during the acceptance we update:
Orders > Marketplace Status = “WAITING_ACCEPTANCE
Product In Order > Status = "WAITING_ACCEPTANCE"
Orders > Is Acknowledged = “Error”
Order > Status = “Pending“
and we store the relevant error message in Order Error table
If we successfully accept an order we update:
Orders > Marketplace Status = “Shipping”
Product In Order > Status = "Shipping"
Orders > Is Acknowledged = “Completed”
Order > Status = “Ready for Shipping“
API Call: PUT /api/orders/{order_id}/accept
API Docs: https://asosuk-dev.mirakl.net/help/api-doc/seller/mmp.html#OR21
Example Call: (with accept on two order item lines)
{
"order_lines": [
{
"accepted": true,
"id": "Order_00012-B-1"
},
{
"accepted": true,
"id": "Order_00012-B-2"
}
]
}
Mapping
Parameter | Integration Notes / Value | Required | Notes | |
---|---|---|---|---|
order_lines |
List of representations of order line for acceptance | Yes | ||
accepted |
Boolean indicating if the order line is accepted or refused | |||
‘TRUE' or 'FALSE’ | Yes | In our case if we want to accept we will sent “TRUE“ otherwise “FALSE“ | ||
id |
string | Yes | The value stored in Product In Order > Order Item Line |
Please note we DO accept only order items which are with Order Item > Rejected Order Item = 0 or the status of the order item is NOT “CANCELED“ or “REFUNDED”. This way we have both cases cover we download an order on status “Awaiting Acceptance“ with cancelled order item and if we try to accept it we will receive an error so we need to make sure that only order items with the correct status are accepted. Then if we have order which we do not want to accept all order item our internal teams can set Order Item > Rejected Order Item = 1 and we need to reject the item.