Huỷ đơn hàng (toàn bộ hoặc theo từng line item)
API : /api/integration/orders/cancel.json
Method: PATCH
Request Header
| key | value |
|---|---|
| X-pawdo-access-token | API KEY |
Request Body (JSON - raw)
| key | type | required | note |
|---|---|---|---|
| order_id | uuid | Required | ID của đơn hàng cần huỷ |
| lineitem_ids | uuid[] | Optional | Danh sách ID line item cần huỷ |
Lưu ý
- Nếu truyền
lineitem_ids: hệ thống sẽ chỉ huỷ các line item được chỉ định. - Nếu không truyền hoặc truyền mảng rỗng
[]: hệ thống sẽ huỷ toàn bộ đơn hàng. - Các phần tử trong
lineitem_idsphải là UUID hợp lệ, không được để chuỗi rỗng"".
Quy tắc huỷ theo trạng thái đơn hàng
- Đơn chưa thanh toán chi phí fulfillment (
fulfillment_cost_paidchưa có giá trị): cho phép huỷ toàn bộ hoặc huỷ từng line item tuỳ ý. - Đơn đã thanh toán chi phí fulfillment: chỉ cho phép huỷ toàn bộ đơn hàng (không được huỷ từng phần) — nếu
lineitem_idskhông bao gồm tất cả line item còn lại của đơn, API trả lỗipartial cancellation is not allowed for paid orders. - Đơn đang ở trạng thái
pending: chưa thể huỷ ngay, API trả lỗiorder is pending, please try again later. - Đơn đã ở trạng thái huỷ rồi (
cancel,cancel-produce,cancel-ship,cancel-shipout): API trả lỗiorder has already been cancelled. - Đơn đã thanh toán nhưng đang ở trạng thái không cho huỷ (không thuộc
error,paid,awaiting,processing): API trả lỗiorder cannot be cancelled in current status.
Example (Request)
json
{
"order_id": "425ec1f5-****-48b0-9acc-4093811a8ced",
"lineitem_ids": [
"c10d3fff-****-488b-90ac-3714a74da0e7"
]
}Example (Response thành công)
json
{
"message": "order cancelled",
"status": true
}Example (Response lỗi)
| status code | message | note |
|---|---|---|
| 400 | invalid request body | body không đúng định dạng |
| 400 | validation failed | thiếu order_id hoặc lineitem_ids chứa uuid không hợp lệ |
| 404 | order not found | không tìm thấy order theo order_id |
| 422 | order is pending, please try again later | order đang chờ request fulfill |
| 422 | order has already been cancelled | order đã ở trạng thái huỷ |
| 422 | order cannot be cancelled in current status | order đã thanh toán nhưng đang ở trạng thái không cho huỷ |
| 422 | partial cancellation is not allowed for paid orders | order đã thanh toán, chỉ được huỷ toàn bộ |
Ví dụ response lỗi (422):
json
{
"message": "order is pending, please try again later",
"status": false
}Nếu có bất kỳ vấn đề nào liên quan đến API hủy đơn hàng, vui lòng liên hệ với bộ phận support của Pawdo qua Facebook để được hỗ trợ.