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

Use this api to update the order status for buyer to collect the orders directly from your pharmacy — API Shopee

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

POST/api/v2/logistics/update_self_collection_order_logisticsGọi qua 360: POST https://partner.quantri360.com/v1/shopee/api/v2/logistics/update_self_collection_order_logistics
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

CHỈ ĐƠN NHÀ THUỐC: cập nhật đơn người mua tự đến lấy tại nhà thuốc (sẵn sàng nhận hoặc đã nhận), kèm bằng chứng và PIN khi cần.

  • Gọi qua /v1/shopee/api/v2/logistics/update_self_collection_order_logistics 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. Đổi trạng thái đơn khách đến nhà thuốc nhận.
  • HTTP 200 vẫn có thể có lỗi nghiệp vụ; kiểm error trước khi dùng kết quả.
  • Áp dụng: đơn người mua tự đến lấy tại nhà thuốc; gian hàng không có loại đơn này thì không dùng API này. Lấy package_number qua get_order_detail hoặc get_package_detail trước. ready_for_collection · order_collected; epoc_image_list bắt buộc khi order_collected, tối đa 3 image_id; pin cho đơn thuốc kê toa.

Request

Địa chỉ

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

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ả
package_numberbodystringCóOFG000000000000001Mã kiện; không có thì bỏ trường, không gửi chuỗi rỗng.
self_collection_logistics_actionbodystringCóready_for_collectionready_for_collection · order_collected.
epoc_image_listbodystring[]Không["demo-image"]Bắt buộc khi order_collected, tối đa 3 image_id làm bằng chứng nhận hàng; lấy qua v2.media.upload_image với business=1 và scene=1.
pinbodystringKhông123456Mã PIN bắt buộc cho đơn thuốc kê toa khi khách đến nhận.

Ví dụ request

curl -s -X POST "https://partner.quantri360.com/v1/shopee/api/v2/logistics/update_self_collection_order_logistics" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"package_number":"OFG000000000000001","self_collection_logistics_action":"ready_for_collection"}'
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_self_collection_order_logistics",
    params={},
    json={
        "package_number": "OFG000000000000001",
        "self_collection_logistics_action": "ready_for_collection"
    },
    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_self_collection_order_logistics');
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({"package_number":"OFG000000000000001","self_collection_logistics_action":"ready_for_collection"}),
});
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_self_collection_order_logistics' . '?' . 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, '{"package_number":"OFG000000000000001","self_collection_logistics_action":"ready_for_collection"}');
$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 / message trước khi dùng kết quả; kiểm lỗi riêng từng phần tử nếu phản hồi có danh sách.

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

{
  "error": "",
  "message": "",
  "request_id": "demo-request"
}

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

Bấm để xem
MãÝ nghĩa
logistics.self_collection_pin_invalidPIN nhận hàng không hợp lệ; kiểm tra và thử lại.
logistics.not_available_for_self_collectionĐơn không hỗ trợ người mua tự đến nhận.
logistics.not_ready_for_self_collectionKiện chưa sẵn sàng để khách đến nhận.
logistics.self_collect_outbound_failedChuẩn bị đơn cho người mua đến nhận thất bại.
logistics.invalid_address_versionĐịa chỉ theo địa giới cũ không còn được hỗ trợ — cập nhật địa chỉ gian hàng trên Kênh Người Bán.
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_paramTham số sai / thiếu / sai kiểu — xem `message` để biết tham số nào.
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