tiktok.fulfillment.202309.packages.package_id
GET/fulfillment/202309/packages/{package_id}Gọi qua 360: GET https://partner.quantri360.com/v1/tiktok/fulfillment/202309/packages/{package_id}
Mô tả API
Chi tiết một gói hàng: trạng thái và trạng thái con, mã vận đơn, đơn vị vận chuyển, khung giờ lấy hàng, cân nặng / kích thước, địa chỉ gửi / nhận, các đơn và dòng hàng trong gói.
- Gọi qua /v1/tiktok/fulfillment/202309/packages/{package_id} 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.
- Số điện thoại / địa chỉ người nhận có thể bị che (
***) khi đơn dùng vận chuyển của sàn.
Request
Địa chỉ
GET https://partner.quantri360.com/v1/tiktok/fulfillment/202309/packages/{package_id}
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ả |
|---|---|---|---|---|---|
| package_id | path | string | Có | 1152000000000000001 | Mã gói (orders → packages[].id, hoặc packages/search → packages[].id). |
Ví dụ request
curl -s "https://partner.quantri360.com/v1/tiktok/fulfillment/202309/packages/1152000000000000001?platform_shop_id=7494000000000000000" \ -H "Authorization: Bearer $KEY"
Python
import requests
KEY = "q360_live_..." # khóa API của brand
r = requests.get(
"https://partner.quantri360.com/v1/tiktok/fulfillment/202309/packages/1152000000000000001",
params={
"platform_shop_id": "7494000000000000000"
},
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/fulfillment/202309/packages/1152000000000000001');
for (const [k, v] of Object.entries({"platform_shop_id":"7494000000000000000"})) url.searchParams.set(k, typeof v === 'object' ? JSON.stringify(v) : String(v));
const r = await fetch(url, {
method: 'GET',
headers: { Authorization: `Bearer ${KEY}` },
});
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/fulfillment/202309/packages/1152000000000000001' . '?' . http_build_query(['platform_shop_id' => '7494000000000000000']); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $key]); $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. | |
| package_id | string | 100000000000000001 | |
| package_status | string | PROCESSING | `TO_FULFILL` (chờ gửi) · `PROCESSING` (đã sắp xếp, chờ ĐVVC lấy) · `FULFILLING` (ĐVVC đã lấy, đang giao) · `COMPLETED` (đã giao) · `CANCELLED` (đã hủy — thường do thất lạc / hỏng). |
| package_sub_status | string | RTS | Trạng thái con: `CREATED` · `ISSUE` (phân bổ lỗi, liên hệ sàn) · `STOCKING` (chờ người bán gửi) · `RTSING` (đang mua nhãn) · `RTS` (đã có nhãn, in được) · `TTS` (ĐVVC đã lấy) · `DELIVERED` · `SHIP_EXCEPTION` (hỏng / thất lạc — xem `ship_exception_reason`) · `PART_DELIVERED_AND_EXCEPTION` · `CANCELLED` · `HBW` / `HBWING` (chỉ đơn kho TikTok FBT) · `TSP_PENDING`. |
| ship_exception_reason | string | PACKAGE_DAMAGAED | Chỉ khi có sự cố: `PACKAGE_DAMAGAED` (đúng chính tả TikTok trả) · `PACKAGE_LOST` · `RETURNED_TO_SHIPPER` · `PACKAGE_SCRAP`. |
| split_and_combine_tag | string | DEFAULT | `DEFAULT` · `COMBINE` (gộp với đơn khác) · `SPLIT` (đơn đã tách gói). |
| has_multi_skus | boolean | false | Gói có nhiều SKU. |
| note_tag | string | BUYER_UNNOTED | `BUYER_NOTED` = người mua có ghi chú. |
| shipping_type | string | TIKTOK | `TIKTOK` (ĐVVC của sàn, lấy nhãn từ TikTok) · `SELLER` (tự vận chuyển). |
| handover_method | string | PICKUP | `PICKUP` (ĐVVC tới lấy) · `DROP_OFF` (người bán mang ra điểm gửi). |
| shipping_provider_id | string | 100000000000000001 | |
| shipping_provider_name | string | Mẫu minh họa | Tên đơn vị vận chuyển. |
| delivery_option_id | string | 100000000000000001 | |
| delivery_option_name | string | Mẫu minh họa | Tên phương thức giao (chỉ để hiển thị). |
| tracking_number | string | VNDEMO0001 | Mã vận đơn. |
| last_mile_tracking_number | string | VNDEMO0001 | Chỉ đơn xuyên biên giới. |
| pickup_slot | object | Khung giờ ĐVVC hẹn lấy: {start_time, end_time} Unix giây. | |
| start_time | number | 1792650000 | Bắt đầu thời gian. Mốc Unix giây. |
| end_time | number | 1792650000 | Kết thúc thời gian. Mốc Unix giây. |
| weight | object | {value (chuỗi), unit} — vd `{"value":"500","unit":"GRAM"}`. | |
| value | string | 10 | Giá trị. |
| unit | string | GRAM | Đơn vị. |
| dimension | object | {length, width, height (chuỗi), unit} — vd `CM`. | |
| length | string | 10 | Dài. |
| width | string | 10 | Rộng. |
| height | string | 10 | Cao. |
| unit | string | GRAM | Đơn vị. |
| recipient_address | object | Người nhận: name, phone_number, full_address, address_detail, address_line1–4, postal_code, region_code — có thể bị che một phần. | |
| full_address | string | Đầy đủ địa chỉ. | |
| phone_number | string | 0900000000 | Điện thoại số. |
| name | string | Mẫu minh họa | Tên. |
| postal_code | string | Bưu chính mã. | |
| address_detail | string | Địa chỉ chi tiết. | |
| region_code | string | VN | Vùng mã. |
| address_line1 | string | Địa chỉ dòng 1. | |
| address_line2 | string | Địa chỉ dòng 2. | |
| address_line3 | string | Địa chỉ dòng 3. | |
| address_line4 | string | Địa chỉ dòng 4. | |
| sender_address | object | Địa chỉ gửi, cùng cấu trúc. | |
| full_address | string | Đầy đủ địa chỉ. | |
| phone_number | string | 0900000000 | Điện thoại số. |
| name | string | Mẫu minh họa | Tên. |
| postal_code | string | Bưu chính mã. | |
| address_detail | string | Địa chỉ chi tiết. | |
| region_code | string | VN | Vùng mã. |
| address_line1 | string | Địa chỉ dòng 1. | |
| address_line2 | string | Địa chỉ dòng 2. | |
| address_line3 | string | Địa chỉ dòng 3. | |
| address_line4 | string | Địa chỉ dòng 4. | |
| orders | object[] | Đơn trong gói. | |
| id | string | 100000000000000001 | Mã đơn. |
| skus | object[] | {id, name, image_url, quantity} — TikTok đánh dấu cũ (deprecated) nhưng vẫn trả. | |
| id | string | 100000000000000001 | Mã. |
| name | string | Mẫu minh họa | Tên. |
| image_url | string | https://example.com/tep-minh-hoa.pdf | Ảnh url. |
| quantity | number | 1 | Số lượng. |
| order_line_item_ids | string[] | Id các dòng hàng nằm trong gói. | |
| create_time | number | 1792650000 | Unix giây. |
| update_time | number | 1792650000 | Unix giây. |
| insurance | object | Bảo hiểm. | |
| is_purchased | boolean | false | Là purchased. |
| coverage_amount | string | 10000 | Coverage số tiền. |
| is_claim_eligible | boolean | false | Là claim đủ điều kiện. |
| claim_status | string | Claim trạng thái. | |
| biz_extension_tags | string[] | Nghiệp vụ extension tags. | |
| warehouse_id | string | 100000000000000001 | Mã kho. |
Mẫu phản hồi
{
"code": 0,
"message": "Success",
"request_id": "DEMO_REQUEST_0001",
"data": {
"package_id": "100000000000000001",
"package_status": "PROCESSING",
"package_sub_status": "RTS",
"ship_exception_reason": "PACKAGE_DAMAGAED",
"split_and_combine_tag": "DEFAULT",
"has_multi_skus": false,
"note_tag": "BUYER_UNNOTED",
"shipping_type": "TIKTOK",
"handover_method": "PICKUP",
"shipping_provider_id": "100000000000000001",
"shipping_provider_name": "Mẫu minh họa",
"delivery_option_id": "100000000000000001",
"delivery_option_name": "Mẫu minh họa",
"tracking_number": "VNDEMO0001",
"last_mile_tracking_number": "VNDEMO0001",
"pickup_slot": {
"start_time": 1792650000,
"end_time": 1792650000
},
"weight": {
"value": "10",
"unit": "GRAM"
},
"dimension": {
"length": "10",
"width": "10",
"height": "10",
"unit": "CM"
},
"recipient_address": {
"full_address": "",
"phone_number": "0900000000",
"name": "Mẫu minh họa",
"postal_code": "",
"address_detail": "",
"region_code": "VN",
"address_line1": "",
"address_line2": "",
"address_line3": "",
"address_line4": ""
},
"sender_address": {
"full_address": "",
"phone_number": "0900000000",
"name": "Mẫu minh họa",
"postal_code": "",
"address_detail": "",
"region_code": "VN",
"address_line1": "",
"address_line2": "",
"address_line3": "",
"address_line4": ""
},
"orders": [
{
"id": "100000000000000001",
"skus": [
{
"id": "100000000000000001",
"name": "Mẫu minh họa",
"image_url": "https://example.com/tep-minh-hoa.pdf",
"quantity": 1
}
]
}
],
"order_line_item_ids": [
"100000000000000001"
],
"create_time": 1792650000,
"update_time": 1792650000,
"insurance": {
"is_purchased": false,
"coverage_amount": "10000",
"is_claim_eligible": false,
"claim_status": ""
},
"biz_extension_tags": [
""
],
"warehouse_id": "100000000000000001"
}
}
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