Zalando Order Export (acknowledge)
The purpose of the page is to detail the flow of order acknowledgement to Zalando (known as “export” in their flows)
Orders that are ZFS(Zalando Fulfilled orders) needs to be skipped because we cant ship ZFS orders. It can be checked from the field Order > Type which needs to be different from Marketplace Fulfilled).
API Docs: https://developers.merchants.zalando.com/docs/orders-exporting.html
API Call: PATCH merchants/{merchant_ID}/orders/{order_ID}
The whole purpose of the order “export” is to mark an order as “received” in our system. The specific for Zalando is that this is required by them to happen when an order moves to the “approved” status. Zalando requires an “export” update to happen within 3 hours of an order moving to an approved status meaning every order that hits our system as RFS or Incomplete tool statuses will need to be updated as Exported
Example call:
{
"data":{
"type":"Order",
"id":"$YOUR_ORDER_ID",
"attributes":{
"merchant_order_id":"$YOUR_MERCHANT_ORDER_ID"
}
}
}
Mapping:
Zalando Field | WAP Mapping | WAP Notes | ||
---|---|---|---|---|
data |
N/A | |||
type |
“Order” | Hardcoded | ||
id |
Orders > Marketplace Order ID | |||
attributes |
N/A | |||
merchant_order_id |
Orders > ID | The internal Hemisphere Order ID |
As an act of acknowledgement we are to provide an internal ID as well. This should be our corresponding Hemisphere ID provided within the “merchant_order_id” field
Order Export is to be happening only for PartnerFulfilled orders. ZFS Orders are READ ONLY by nature and this operation should be returning an error for them
We are looking to pick up orders on Hemi status “pending”, Zalando status “approved” that are not yet acknowledged to send an “export”. In case it fails we are to put the order on Incomplete so we can block any further updates and store the correct error message in “order_error” table with an “Acknowledge” type. The error itself should not be a blocker for the acknowledgement process, meaning if someone puts the order back on “pending” Hemi status we should try and fire an acknowledgement again. We should keep track of which orders are acknowledged or not as well via a flag for example (Dev team to decide)
Note: There is a specific section within the Zalando docs stating the “export” marking is required so they can reduce the responses when we are calling for orders - This will need to be tested and confirmed - what will happen once we “export” an order and then we try to get back the orders with a correct timeframe that will service the test order (I have slight concerns we might have to call with a parameter for “exported” orders as well so we can get them all every time to track changes). In general if we don't supply this parameter we should receive both exported and not orders, still worth to keep in mind