Inno Order Acknowledgement
Summary of Changes: (The purpose of this table is to keep traceability and Product team to highlight the things that were changed into the scope, based on comments or discussions)
Date | Version | Name | Applied changes |
---|---|---|---|
09/01/2023 | 1.0 | Hristiyan Georgiev | First Published |
The purpose of this page is to describe in details the flow of accepting & rejecting order on MIRAKL.
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 Acknowledge = “Pending”
Product In Order > Status ="WAITING_ACCEPTANCE"
Once we push the acceptance successfully we update :
Orders > Marketplace Status = “Acceptance Sent“
Product In Order > Status ="Acceptance Sent"
Order > Is Acknowledge = “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 Acknowledge = “Error”
Order > Status = “Pending“
and we store the relevant error message in Order Error table
If we successfully accept an order we set: Orders > Is Acknowledge = “Completed”
If we successfully accept an order get modified orders cron should update:
Orders > Marketplace Status = “Shipping”
Product In Order > Status = "Shipping"
Order > Status = “Ready for Shipping“
API Call: PUT /api/orders/{order_id}/accept
API Docs: https://galeriainnobe2-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 | If Order Item > Rejected Order Item = 0 we send TRUE | ||
If Order Item > Rejected Order Item = 1 we send 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“. 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.