VI | EN
Nhắn Messenger
Dành cho developer

Returns the estimated refund value for a partial order cancellation given the specified items to cancel. — API Shopee

v2.order.get_estimate_cancel_value · gọi qua Quantri360 bằng một API key cho chính tài khoản / tài sản bạn đã kết nối và ủy quyền — 360 lo việc ký request và làm mới phiên đăng nhập bạn đã cấp.

v2.order.get_estimate_cancel_value

POST/api/v2/order/get_estimate_cancel_valueGọi qua 360: POST https://partner.quantri360.com/v1/shopee/api/v2/order/get_estimate_cancel_value
Mô tả API

Ước tính số tiền khi hủy MỘT PHẦN đơn có nhiều đơn vị hàng. Không dùng khi hủy hết số lượng; API chỉ tính thử, chưa hủy đơn.

  • Gọi qua /v1/shopee/api/v2/order/get_estimate_cancel_value với Authorization: Bearer <key>; dùng platform_shop_id khi có nhiều shop. 360 tự gắn partner_id, shop_id, sign và access_token.
  • API chỉ đọc; error rỗng mới là thành công. HTTP 200 vẫn có thể chứa lỗi nghiệp vụ trong error/message.
  • partial_cancel_item_list[] bắt buộc có item_id, model_id, model_quantity. Nếu hủy hết số lượng, dùng luồng hủy toàn bộ thay vì API ước tính này.

Request

Địa chỉ

POST https://partner.quantri360.com/v1/shopee/api/v2/order/get_estimate_cancel_value

Xác thực & gian hàng

TênVị tríKiểuMẫuMô tả
AuthorizationheaderheaderBearer q360_live_ab12cd34_…Khóa API của brand (tạo ở mục API key). Bắt buộc với mọi request. Brand suy từ key — không truyền mã brand.
platform_shop_idquerystring100001Gian hàng (lấy ở GET /v1/platforms → shops[].platform_shop_id). BẮT BUỘC khi brand có > 1 gian hàng trên nền tảng; 360 bỏ tham số này trước khi chuyển tiếp.

Tham số request

TênVị tríKiểuBắt buộcMẫuMô tả
order_snbodystringCó2611040DEMO001Mã đơn cần tra cứu.
partial_cancel_item_listbodyobject[]CóCác dòng hàng và số lượng dự kiến hủy một phần; không gửi toàn bộ số lượng của đơn.

Ví dụ request

curl -s -X POST "https://partner.quantri360.com/v1/shopee/api/v2/order/get_estimate_cancel_value" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"order_sn":"2611040DEMO001","partial_cancel_item_list":[{"item_id":100001,"model_id":100001,"model_quantity":1}]}'
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.post(
    "https://partner.quantri360.com/v1/shopee/api/v2/order/get_estimate_cancel_value",
    params={},
    json={
        "order_sn": "2611040DEMO001",
        "partial_cancel_item_list": [
            {
                "item_id": 100001,
                "model_id": 100001,
                "model_quantity": 1
            }
        ]
    },
    headers={"Authorization": f"Bearer {KEY}"},
    timeout=60,
)
print(r.status_code)
print(r.json())
Node.js
const KEY = 'q360_live_...'; // khóa API của brand
const url = new URL('https://partner.quantri360.com/v1/shopee/api/v2/order/get_estimate_cancel_value');
for (const [k, v] of Object.entries({})) url.searchParams.set(k, typeof v === 'object' ? JSON.stringify(v) : String(v));
const r = await fetch(url, {
  method: 'POST',
  headers: { Authorization: `Bearer ${KEY}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({"order_sn":"2611040DEMO001","partial_cancel_item_list":[{"item_id":100001,"model_id":100001,"model_quantity":1}]}),
});
console.log(r.status, await r.json());
PHP
<?php
$key = 'q360_live_...'; // khóa API của brand
$url = 'https://partner.quantri360.com/v1/shopee/api/v2/order/get_estimate_cancel_value' . '?' . http_build_query([]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $key, 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"order_sn":"2611040DEMO001","partial_cancel_item_list":[{"item_id":100001,"model_id":100001,"model_quantity":1}]}');
$res = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $status, "\n", $res;

Response

Tham số phản hồi (nguyên của Shopee)

Phản hồi giữ nguyên cấu trúc của API. Xem error/message trước khi dùng response; ví dụ tham số là dữ liệu minh họa.

TênKiểuMẫuMô tả
request_idstringd52ca43b277a4f9292fb8be658bfd33dMã request của Shopee để tra lỗi.
errorstringMã lỗi Shopee; rỗng = thành công.
messagestringMô tả lỗi.

Mẫu phản hồi

{
	"cancel_value_price": "1000"
}

Mã lỗi của Shopee (9)

Bấm để xem
MãÝ nghĩa
error_not_foundKhông tìm thấy đơn / gói / yêu cầu theo mã đã gửi.
error_paramTham số sai / thiếu / sai kiểu — xem `message` để biết tham số nào.
error_serverLỗi hệ thống Shopee — thử lại sau ít phút.
common.invalid_shopGian hàng không hợp lệ — kiểm tra platform_shop_id.
error_authỦy quyền gian hàng cho 360 đã hết hạn hoặc bị thu hồi (360 đã tự làm mới token một lần) — chủ gian hàng kết nối lại Shopee trong Partner.
error_limitChạm hạn mức gọi Shopee trong ngày của kết nối — 360 trả kèm thời điểm thử lại; giảm tần suất gọi.
error_rate_limitGọi quá nhanh — chờ vài giây rồi gọi lại (360 cũng giới hạn theo key: 429 + Retry-After).
shop_bannedGian hàng đang bị Shopee khóa — mọi API tạm ngưng tới khi gỡ khóa.
error_kyc_authGian hàng chưa hoàn tất đăng ký người bán trên Kênh Người Bán.

Bắt đầu dùng

  1. Đăng ký tài khoản Partner
  2. Mở loại dữ liệu thuộc nhóm Đơn hàng ở trang nền tảng
  3. Tạo API key (tick kênh Shopee)
  4. Gọi theo ví dụ ở trên