Skip to content

Huỷ đơn hàng (toàn bộ hoặc theo từng line item)

API : /api/integration/orders/cancel.json

Method: PATCH

Request Header

keyvalue
X-pawdo-access-tokenAPI KEY

Request Body (JSON - raw)

keytyperequirednote
order_iduuidRequiredID của đơn hàng cần huỷ
lineitem_idsuuid[]OptionalDanh 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_ids phả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_paid chư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_ids không bao gồm tất cả line item còn lại của đơn, API trả lỗi partial cancellation is not allowed for paid orders.
  • Đơn đang ở trạng thái pending: chưa thể huỷ ngay, API trả lỗi order is pending, please try again later.
  • Đơn đã ở trạng thái huỷ rồi (cancel, cancel-produce, cancel-ship, cancel-shipout): API trả lỗi order 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ỗi order 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 codemessagenote
400invalid request bodybody không đúng định dạng
400validation failedthiếu order_id hoặc lineitem_ids chứa uuid không hợp lệ
404order not foundkhông tìm thấy order theo order_id
422order is pending, please try again laterorder đang chờ request fulfill
422order has already been cancelledorder đã ở trạng thái huỷ
422order cannot be cancelled in current statusorder đã thanh toán nhưng đang ở trạng thái không cho huỷ
422partial cancellation is not allowed for paid ordersorder đã 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ợ.