tiktok.return_refund.202309.returns.search
POST/return_refund/202309/returns/searchGọi qua 360: POST https://partner.quantri360.com/v1/tiktok/return_refund/202309/returns/search
Mô tả API
Tìm yêu cầu trả hàng / hoàn tiền / đổi hàng theo thời gian, đơn, trạng thái — kèm tiền hoàn, dòng hàng trả, việc người bán phải làm và hạn chót.
- Gọi qua /v1/tiktok/return_refund/202309/returns/search với Authorization: Bearer <key>; dùng platform_shop_id khi có nhiều shop. 360 tự gắn app_key, shop_cipher, sign và access_token.
- API chỉ đọc; code = 0 mới là thành công.
page_sizetối đa 50.- Cùng cấu trúc với bản 202602 (/return_refund/202602/returns/search).
- Lịch sử chi tiết + ảnh / video người mua gửi: GET /return_refund/202309/returns/{return_id}/records.
Request
Địa chỉ
POST https://partner.quantri360.com/v1/tiktok/return_refund/202309/returns/search
Xác thực & gian hàng
| Tên | Vị trí | Kiểu | Mẫu | Mô tả |
|---|---|---|---|---|
| Authorization | header | header | Bearer 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_id | query | string | 100001 | Gian 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ên | Vị trí | Kiểu | Bắt buộc | Mẫu | Mô tả |
|---|---|---|---|---|---|
| page_size | query | int | Có | 50 | Số yêu cầu mỗi trang, TỐI ĐA 50 (gửi > 50 → lỗi 98001004). |
| page_token | query | string | Không | next_page_token của trang trước. | |
| sort_field | query | string | Không | update_time | create_time (mặc định) · update_time. |
| sort_order | query | string | Không | DESC | ASC · DESC. |
| update_time_ge | body | int | Không | 1790150000 | Cập nhật từ (Unix giây, ≥). |
| update_time_lt | body | int | Không | 1792742000 | Cập nhật trước (Unix giây, <). |
| create_time_ge | body | int | Không | Tạo từ (Unix giây). | |
| create_time_lt | body | int | Không | Tạo trước (Unix giây). | |
| return_ids | body | string[] | Không | Mã yêu cầu trả. | |
| order_ids | body | string[] | Không | Mã đơn. | |
| buyer_user_ids | body | string[] | Không | Id người mua. | |
| return_types | body | string[] | Không | REFUND (chỉ hoàn tiền) · RETURN_AND_REFUND (trả hàng + hoàn tiền) · REPLACEMENT (đổi hàng thay thế) · EXCHANGE. | |
| return_status | body | string[] | Không | RETURN_OR_REFUND_REQUEST_PENDING (chờ duyệt) · REFUND_OR_RETURN_REQUEST_REJECT (bị từ chối) · AWAITING_BUYER_SHIP (đã duyệt, chờ người mua gửi trả) · BUYER_SHIPPED_ITEM (người mua đã gửi) · REJECT_RECEIVE_PACKAGE (người bán từ chối nhận hàng trả) · RETURN_OR_REFUND_REQUEST_SUCCESS (đã duyệt hoàn tiền) · RETURN_OR_REFUND_REQUEST_COMPLETE (đã hoàn tiền xong) · RETURN_OR_REFUND_REQUEST_CANCEL (người mua / hệ thống hủy) · AWAITING_BUYER_RESPONSE (chờ người mua trả lời đề xuất) · REPLACEMENT_REQUEST_* / EXCHANGE_REQUEST_* (đổi hàng: PENDING, REJECT, REFUND_SUCCESS, CANCEL, COMPLETE). | |
| locale | body | string | Không | vi-VN | Ngôn ngữ của return_reason_text (BCP-47, vd vi-VN, en-US). Mặc định tiếng Anh. |
Phân trang
Lặp khi data.next_page_token khác rỗng: gửi lại đúng body, thêm query page_token.
Ví dụ request
curl -s -X POST "https://partner.quantri360.com/v1/tiktok/return_refund/202309/returns/search?platform_shop_id=7494000000000000000&page_size=50&sort_field=update_time" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"update_time_ge":1790150000,"update_time_lt":1792742000,"locale":"vi-VN"}'
Python
import requests
KEY = "q360_live_..." # khóa API của brand
r = requests.post(
"https://partner.quantri360.com/v1/tiktok/return_refund/202309/returns/search",
params={
"platform_shop_id": "7494000000000000000",
"page_size": 50,
"sort_field": "update_time"
},
json={
"update_time_ge": 1790150000,
"update_time_lt": 1792742000,
"locale": "vi-VN"
},
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/tiktok/return_refund/202309/returns/search');
for (const [k, v] of Object.entries({"platform_shop_id":"7494000000000000000","page_size":50,"sort_field":"update_time"})) 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({"update_time_ge":1790150000,"update_time_lt":1792742000,"locale":"vi-VN"}),
});
console.log(r.status, await r.json());PHP
<?php
$key = 'q360_live_...'; // khóa API của brand
$url = 'https://partner.quantri360.com/v1/tiktok/return_refund/202309/returns/search' . '?' . http_build_query(['platform_shop_id' => '7494000000000000000', 'page_size' => 50, 'sort_field' => 'update_time']);
$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, '{"update_time_ge":1790150000,"update_time_lt":1792742000,"locale":"vi-VN"}');
$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 TikTok Shop)
| Tên | Kiểu | Mẫu | Mô tả |
|---|---|---|---|
| code | int | 0 | 0 = thành công; khác 0 xem message (105001–105003 = token, 360 đã tự làm mới một lần). |
| message | string | Success | Thông điệp của TikTok. |
| request_id | string | DEMO_REQUEST_0001 | Mã request TikTok. |
| data | object | Dữ liệu. | |
| total_count | number | 1 | Tổng số yêu cầu khớp bộ lọc. |
| next_page_token | string | Rỗng = hết. | |
| return_orders | object[] | Yêu cầu trả. | |
| return_id | string | 100000000000000001 | Mã yêu cầu. |
| order_id | string | 100000000000000001 | Mã đơn. |
| return_type | string | RETURN_AND_REFUND | `REFUND` · `RETURN_AND_REFUND` · `REPLACEMENT` · `EXCHANGE`. |
| return_status | string | BUYER_SHIPPED_ITEM | RETURN_OR_REFUND_REQUEST_PENDING (chờ duyệt) · REFUND_OR_RETURN_REQUEST_REJECT (bị từ chối) · AWAITING_BUYER_SHIP (đã duyệt, chờ người mua gửi trả) · BUYER_SHIPPED_ITEM (người mua đã gửi) · REJECT_RECEIVE_PACKAGE (người bán từ chối nhận hàng trả) · RETURN_OR_REFUND_REQUEST_SUCCESS (đã duyệt hoàn tiền) · RETURN_OR_REFUND_REQUEST_COMPLETE (đã hoàn tiền xong) · RETURN_OR_REFUND_REQUEST_CANCEL (người mua / hệ thống hủy) · AWAITING_BUYER_RESPONSE (chờ người mua trả lời đề xuất) · REPLACEMENT_REQUEST_* / EXCHANGE_REQUEST_* (đổi hàng: PENDING, REJECT, REFUND_SUCCESS, CANCEL, COMPLETE). |
| role | string | BUYER | Ai tạo yêu cầu: `BUYER` · `SELLER` · `OPERATOR` (CSKH sàn) · `SYSTEM`. |
| return_reason | string | minh-hoa | Mã lý do (máy đọc). |
| return_reason_text | string | minh-hoa | Lý do theo ngôn ngữ `locale`. |
| create_time | number | 1792650000 | Unix giây. |
| update_time | number | 1792650000 | Unix giây. |
| refund_amount | object | Tiền hoàn cho người mua. | |
| currency | string | VND | |
| refund_subtotal | string | 10000 | Hoàn tiền hàng. |
| refund_shipping_fee | string | 10000 | Hoàn phí ship. |
| refund_tax | string | 10000 | |
| refund_total | string | 10000 | Tổng hoàn. |
| retail_delivery_fee | string | 10000 | Bán lẻ giao hàng phí. |
| buyer_service_fee | string | 10000 | Người mua dịch vụ phí. |
| discount_amount | object[] | Phần giảm giá bị thu hồi theo bên chịu. | |
| product_seller_discount | string | 10000 | |
| product_platform_discount | string | 10000 | |
| shipping_fee_seller_discount | string | 10000 | |
| shipping_fee_platform_discount | string | 10000 | |
| currency | string | VND | |
| shipping_fee_amount | object[] | Phí ship trả hàng theo bên trả. | |
| buyer_paid_return_shipping_fee | string | 10000 | |
| seller_paid_return_shipping_fee | string | 10000 | |
| platform_paid_return_shipping_fee | string | 10000 | |
| currency | string | VND | |
| return_line_items | object[] | Dòng hàng trả. | |
| return_line_item_id | string | 100000000000000001 | |
| order_line_item_id | string | 100000000000000001 | Id dòng trong đơn (line_items[].id). |
| sku_id | string | 100000000000000001 | |
| seller_sku | string | ||
| sku_name | string | Mẫu minh họa | |
| product_name | string | Mẫu minh họa | |
| product_image | object | {url, width, height}. | |
| height | number | 1 | Cao. |
| url | string | https://example.com/tep-minh-hoa.pdf | Url. |
| width | number | 1 | Rộng. |
| refund_amount | object | Hoàn của dòng: refund_subtotal, refund_shipping_fee, refund_tax, refund_total. | |
| currency | string | VND | Tiền tệ. |
| refund_shipping_fee | string | 10000 | Hoàn tiền vận chuyển phí. |
| refund_subtotal | string | 10000 | Hoàn tiền tạm tính. |
| refund_tax | string | 10000 | Hoàn tiền thuế. |
| refund_total | string | 10000 | Hoàn tiền tổng. |
| retail_delivery_fee | string | 10000 | Bán lẻ giao hàng phí. |
| buyer_service_fee | string | 10000 | Người mua dịch vụ phí. |
| return_sub_line_items | object[] | Trả hàng con dòng các mặt hàng. | |
| return_sub_line_item_id | string | 100000000000000001 | Mã trả hàng con dòng mặt hàng. |
| return_line_item_id | string | 100000000000000001 | Mã trả hàng dòng mặt hàng. |
| sub_order_line_item_id | string | 100000000000000001 | Mã con đơn dòng mặt hàng. |
| order_line_item_id | string | 100000000000000001 | Mã dòng hàng trong đơn. |
| sku_id | string | 100000000000000001 | Mã SKU. |
| sku_name | string | Mẫu minh họa | Sku tên. |
| product_image | object | Sản phẩm ảnh. | |
| url | string | https://example.com/tep-minh-hoa.pdf | Url. |
| width | int | 1 | Rộng. |
| height | int | 1 | Cao. |
| product_name | string | Mẫu minh họa | Sản phẩm tên. |
| seller_sku | string | Người bán sku. | |
| refund_amount | object | Hoàn tiền số tiền. | |
| currency | string | VND | Mã tiền tệ. |
| refund_total | string | 10000 | Hoàn tiền tổng. |
| refund_subtotal | string | 10000 | Hoàn tiền tạm tính. |
| refund_shipping_fee | string | 10000 | Hoàn tiền vận chuyển phí. |
| refund_tax | string | 10000 | Hoàn tiền thuế. |
| retail_delivery_fee | string | 10000 | Bán lẻ giao hàng phí. |
| buyer_service_fee | string | 10000 | Người mua dịch vụ phí. |
| return_method | string | PLATFORM_SHIPPED | `PLATFORM_SHIPPED` · `SELLER_SHIPPED` · `BUYER_SHIPPED`. |
| shipment_type | string | PLATFORM | `PLATFORM` (ĐVVC của sàn) · `BUYER_ARRANGE`. |
| handover_method | string | PICKUP | `PICKUP` (ĐVVC đến lấy) · `DROP_OFF` (người mua mang ra bưu cục). |
| return_tracking_number | string | EA000000000VN | Mã vận đơn hàng trả. |
| is_quick_refund | bool | false | `true` = sàn hoàn nhanh, người bán KHÔNG từ chối được khi nhận hàng. |
| is_combined_return | boolean | false | Gộp nhiều yêu cầu thành một kiện; mã gộp ở `combined_return_id`. |
| seller_next_action_response | object[] | Việc người bán phải làm tiếp + hạn chót. | |
| action | string | SELLER_RESPOND_RECEIVE_PACKAGE | `SELLER_RESPOND_REFUND` · `SELLER_RESPOND_RETURN` · `SELLER_RESPOND_RECEIVE_PACKAGE` · `SELLER_RESPOND_REPLACEMENT`. |
| deadline | number | 1 | Hạn chót (Unix giây) — quá hạn sàn tự xử lý. |
| return_warehouse_address | object | Kho nhận hàng trả: {full_address}. | |
| full_address | string | Đầy đủ địa chỉ. | |
| combined_return_id | string | 100000000000000001 | Mã đã gộp trả hàng. |
| return_provider_id | string | 100000000000000001 | Mã trả hàng đơn vị. |
| return_provider_name | string | Mẫu minh họa | Trả hàng đơn vị tên. |
| arbitration_status | string | Trọng tài trạng thái. Giá trị / trường liên quan: IN_PROGRESS, SUPPORT_BUYER, SUPPORT_SELLER, CLOSED. | |
| pre_return_id | string | 100000000000000001 | Mã trước trả hàng. |
| next_return_id | string | 100000000000000001 | Mã tiếp theo trả hàng. |
| can_buyer_keep_item | bool | false | Có_thể người mua giữ mặt hàng. Giá trị / trường liên quan: true. Có thể không xuất hiện khi không có dữ liệu phù hợp. |
| return_shipping_document_type | string | Trả hàng vận chuyển chứng từ loại. Giá trị / trường liên quan: SHIPPING_LABEL, QR_CODE, QR_CODE_NBNL. | |
| seller_proposed_return_type | string | Người bán đề xuất trả hàng loại. Giá trị / trường liên quan: PARTIAL_REFUND. | |
| partial_refund | object | Một phần hoàn tiền. | |
| currency | string | VND | Mã tiền tệ. |
| amount | string | 10000 | Số tiền. |
| buyer_rejected_partial_refund | bool | false | Người mua bị từ chối một phần hoàn tiền. Giá trị / trường liên quan: TRUE, FALSE. |
Mẫu phản hồi
{
"code": 0,
"message": "Success",
"request_id": "DEMO_REQUEST_0001",
"data": {
"total_count": 1,
"next_page_token": "",
"return_orders": [
{
"return_id": "100000000000000001",
"order_id": "100000000000000001",
"return_type": "RETURN_AND_REFUND",
"return_status": "BUYER_SHIPPED_ITEM",
"role": "BUYER",
"return_reason": "minh-hoa",
"return_reason_text": "minh-hoa",
"create_time": 1792650000,
"update_time": 1792650000,
"refund_amount": {
"currency": "VND",
"refund_subtotal": "10000",
"refund_shipping_fee": "10000",
"refund_tax": "10000",
"refund_total": "10000",
"retail_delivery_fee": "10000",
"buyer_service_fee": "10000"
},
"discount_amount": [
{
"product_seller_discount": "10000",
"product_platform_discount": "10000",
"shipping_fee_seller_discount": "10000",
"shipping_fee_platform_discount": "10000",
"currency": "VND"
}
],
"shipping_fee_amount": [
{
"buyer_paid_return_shipping_fee": "10000",
"seller_paid_return_shipping_fee": "10000",
"platform_paid_return_shipping_fee": "10000",
"currency": "VND"
}
],
"return_line_items": [
{
"return_line_item_id": "100000000000000001",
"order_line_item_id": "100000000000000001",
"sku_id": "100000000000000001",
"seller_sku": "",
"sku_name": "Mẫu minh họa",
"product_name": "Mẫu minh họa",
"product_image": {
"height": 1,
"url": "https://example.com/tep-minh-hoa.pdf",
"width": 1
},
"refund_amount": {
"currency": "VND",
"refund_shipping_fee": "10000",
"refund_subtotal": "10000",
"refund_tax": "10000",
"refund_total": "10000",
"retail_delivery_fee": "10000",
"buyer_service_fee": "10000"
},
"return_sub_line_items": [
{
"return_sub_line_item_id": "100000000000000001",
"return_line_item_id": "100000000000000001",
"sub_order_line_item_id": "100000000000000001",
"order_line_item_id": "100000000000000001",
"sku_id": "100000000000000001",
"sku_name": "Mẫu minh họa",
"product_image": {
"url": "https://example.com/tep-minh-hoa.pdf",
"width": 1,
"height": 1
},
"product_name": "Mẫu minh họa",
"seller_sku": "",
"refund_amount": {
"currency": "VND",
"refund_total": "10000",
"refund_subtotal": "10000",
"refund_shipping_fee": "10000",
"refund_tax": "10000",
"retail_delivery_fee": "10000",
"buyer_service_fee": "10000"
}
}
]
}
],
"return_method": "PLATFORM_SHIPPED",
"shipment_type": "PLATFORM",
"handover_method": "PICKUP",
"return_tracking_number": "EA000000000VN",
"is_quick_refund": false,
"is_combined_return": false,
"seller_next_action_response": [
{
"action": "SELLER_RESPOND_RECEIVE_PACKAGE",
"deadline": 1
}
],
"return_warehouse_address": {
"full_address": ""
},
"combined_return_id": "100000000000000001",
"return_provider_id": "100000000000000001",
"return_provider_name": "Mẫu minh họa",
"arbitration_status": "",
"pre_return_id": "100000000000000001",
"next_return_id": "100000000000000001",
"can_buyer_keep_item": false,
"return_shipping_document_type": "",
"seller_proposed_return_type": "",
"partial_refund": {
"currency": "VND",
"amount": "10000"
},
"buyer_rejected_partial_refund": false
}
]
}
}
Bắt đầu dùng
- Đăng ký tài khoản Partner
- Mở loại dữ liệu thuộc nhóm Đơn hàng ở trang nền tảng
- Tạo API key (tick kênh TikTok Shop)
- Gọi theo ví dụ ở trên