Shein Cancel Order
Version | Date | Created / Updated | Notes |
---|---|---|---|
v1.0 | 08.07.2024 | Bogomil Pavlov | First publish |
In order to cancel order on Shein we must have marketplace status "Pending", "To Be Shipped", "To be collected by SHEIN" which refers to our internal tool status “Pending” and “Ready For Shipping”. Shein supports only full cancellations and we want to send cancellations only for orders with these statuses. Also the cancellations are per refund so if we have an order with 2 “pending” refund rows we want to make 2 separate requests but the tricky part here is if we refund even one of the products “orderGoodsId” we cancel the whole order.
All triggers, validations etc are as per the abstraction Refunds send general logic
Confirm No Stock
API Call: `POST /open-api/order/confirm-no-stock`
API Docs: https://open.sheincorp.com/documents/apidoc/detail/2000116-2000001
Sample Request:
POST [https://openapi.sheincorp.com//open-api/order/confirm-no-stock](https://openapi.sheincorp.com//open-api/order/confirm-no-stock)
Body:
{
"orderNo":"GSON8F44T00000N",
"orderGoodsId":3000000000065821
}
Mapping:~
Shein Field | Hemi Field | Comment |
---|---|---|
orderNo | Order >Marketplace Order ID | |
orderGoodsId | Order Item Line > Marketplace Order Item ID |
Sample Response: 200OK
Success
If the interface request succeeds without any failure, no waybill information will be returned, info will be empty, response code = 0
{
"code": "0",
"msg": "OK",
"info": {}
}
Error if request error (eg.api request limit), response code! = 0, info will be a object
{
"Code": 99999,
"Msg": "api request limit 10/s",
"Info": {}
}
Response Mapping:
Parameter Name | Data Type | Required | Hemi Field | Description | |
---|---|---|---|---|---|
Code | |||||
Msg | Order Error > Error | We will receive either this error or errorMsg so we want to store to one available | |||
Info | |||||
goodsId | bigint | Yes | Order Item Line > Marketplace Order Item ID | This is our Order Item Line > Marketplace Order Item ID so we will used it for mapping purposes | |
expressCode | string | Yes | N/A | ||
errorMsg | string | Yes | Order Error > Message | We will receive either this error or Msg so we want to store to one available | |
status | integer | Yes | N/A |