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

Use this api to update shop level logistics channel's configuration. — API Shopee

v2.logistics.update_channel · 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.logistics.update_channel

POST/api/v2/logistics/update_channelGọi qua 360: POST https://partner.quantri360.com/v1/shopee/api/v2/logistics/update_channel
Endpoint ghi — thay đổi dữ liệu trên Shopee. Key phải được tạo với tick "Cho phép gọi API ghi", nếu không sẽ nhận 403 write_not_allowed. Mỗi lần gọi được ghi nhật ký.
Mô tả API

Cập nhật cấu hình kênh vận chuyển cho cả gian hàng: bật / tắt kênh, COD và tự động gọi tài xế, ảnh hưởng đơn mới.

  • Gọi qua /v1/shopee/api/v2/logistics/update_channel 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 GHI: thay đổi dữ liệu thật trên Shopee; cần key có quyền ghi (can_write) và gói mở module Đơn hàng. Thay đổi kênh vận chuyển cho cả gian hàng, ảnh hưởng đơn mới.
  • HTTP 200 vẫn có thể có lỗi nghiệp vụ; kiểm error trước khi dùng kết quả.
  • Đổi cấu hình kênh của cả gian hàng, ảnh hưởng đơn mới. COD chỉ bật với kênh hỗ trợ. preparation_time bắt buộc khi auto_call_driver_enabled=true và phải trong preparation_time_limit của get_channel_list.

Request

Địa chỉ

POST https://partner.quantri360.com/v1/shopee/api/v2/logistics/update_channel

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ả
logistics_channel_idbodyint64Có50018Mã kênh vận chuyển.
enabledbodybooleanKhôngtrueBật / tắt kênh vận chuyển.
cod_enabledbodybooleanKhôngfalseBật / tắt COD; chỉ áp dụng với kênh hỗ trợ COD.
auto_call_driver_settingbodyobjectKhông{"auto_call_driver_enabled": true, "preparation_time": 30}Cấu hình tự động gọi tài xế.
auto_call_driver_setting.auto_call_driver_enabledbodybooleanKhôngtrueBật / tắt tự động gọi tài xế.
auto_call_driver_setting.preparation_timebodyint32Không30Thời gian chuẩn bị, đơn vị phút; bắt buộc khi auto_call_driver_enabled=true và nằm trong preparation_time_limit của get_channel_list.

Ví dụ request

curl -s -X POST "https://partner.quantri360.com/v1/shopee/api/v2/logistics/update_channel" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"logistics_channel_id":50018,"enabled":true,"cod_enabled":false,"auto_call_driver_setting":{"auto_call_driver_enabled":true,"preparation_time":30}}'
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.post(
    "https://partner.quantri360.com/v1/shopee/api/v2/logistics/update_channel",
    params={},
    json={
        "logistics_channel_id": 50018,
        "enabled": True,
        "cod_enabled": False,
        "auto_call_driver_setting": {
            "auto_call_driver_enabled": True,
            "preparation_time": 30
        }
    },
    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/logistics/update_channel');
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({"logistics_channel_id":50018,"enabled":true,"cod_enabled":false,"auto_call_driver_setting":{"auto_call_driver_enabled":true,"preparation_time":30}}),
});
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/logistics/update_channel' . '?' . 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, '{"logistics_channel_id":50018,"enabled":true,"cod_enabled":false,"auto_call_driver_setting":{"auto_call_driver_enabled":true,"preparation_time":30}}');
$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)

Kiểm error trước khi dùng kết quả. Danh sách kênh đã đổi có thể mang tên updated_channels hoặc update_channels; đọc theo cả hai tên.

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.
responseobjectThông tin kết quả.
shop_idint64100001Mã gian hàng Shopee.
enabledbooleantrueBật / tắt kênh vận chuyển.
cod_enabledbooleanfalseBật / tắt COD; chỉ áp dụng với kênh hỗ trợ COD.
logistics_channel_idint6450018Mã kênh vận chuyển.
updated_channelsobject[]Các kênh được cập nhật, gồm cả kênh phụ thuộc.
channel_idint6450018Mã kênh vận chuyển.
channel_display_namestringKênh mẫuTên kênh vận chuyển.
unsupport_warehouseobject[]Danh sách kho không được hỗ trợ.
warehouse_idint64100001Mã kho không được hỗ trợ.
warehouse_namestringKho mẫuTên kho không được hỗ trợ.
is_multi_warehousebooleantrueThông tin nhiều kho.
auto_call_driver_settingobjectCấu hình tự động gọi tài xế.
auto_call_driver_enabledbooleantrueBật / tắt tự động gọi tài xế.
preparation_timeint3230Thời gian chuẩn bị hiện tại của kênh, đơn vị phút.

Mẫu phản hồi

{
  "request_id": "demo-request",
  "error": "",
  "message": "",
  "response": {
    "shop_id": 100001,
    "enabled": true,
    "cod_enabled": false,
    "logistics_channel_id": 50018,
    "is_multi_warehouse": true,
    "update_channels": [
      {
        "channel_id": 50018,
        "channel_display_name": "Kênh mẫu",
        "unsupport_warehouse": [
          {
            "warehouse_id": 100001,
            "warehouse_name": "Kho mẫu"
          }
        ]
      }
    ]
  }
}

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

Bấm để xem
MãÝ nghĩa
error_paramTham số sai / thiếu / sai kiểu — xem `message` để biết tham số nào.
logistics_errorKhông cập nhật được địa chỉ / kênh vận chuyển, hoặc mã kênh không hợp lệ — xem `message`.
error_not_foundKhông tìm thấy đơn / gói / yêu cầu theo mã đã gửi.
error_permissionGian hàng không có quyền xem dữ liệu này (vd yêu cầu trả / đơn không thuộc gian hàng).
error_serverLỗi hệ thống Shopee — thử lại sau ít phút.
logistics.has_item_in_bundleKhông thể tắt kênh vì có sản phẩm trong combo.
logistics.error_paramTham số vận chuyển không hợp lệ (vd đơn đang được phân bổ ĐVVC, mã gói trùng) — xem `message`.
errorKhông có địa chỉ kho được hỗ trợ cho kênh này — xem `message`.
logistics.compulsory_channel_ruleChưa thể sửa kênh cha; cần bật ít nhất một kênh được yêu cầu trước.
logistics.dependent_block_ruleChưa thể tắt kênh cha; cần tắt toàn bộ kênh phụ thuộc được yêu cầu trước.
logistics.minimum_activation_ruleKhông thể tắt kênh; cần bật ít nhất một kênh được yêu cầu.
logistics.address_miss_long_latĐịa chỉ thiếu kinh độ / vĩ độ.
logistics.require_pickup_addressCần thiết lập địa chỉ lấy hàng trước.
logistics.not_allow_to_update_channelKhông được phép bật / tắt kênh.
common.invalid_shopGian hàng không hợp lệ — kiểm tra platform_shop_id.
error_dataDữ liệu không tồn tại hoặc không hợp lệ cho thao tác (vd mã không có, loại yêu cầu không cho phép).
error_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