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

Thông tin hóa đơn người mua — API Shopee

v2.order.get_buyer_invoice_info · 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_buyer_invoice_info

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

Thông tin xuất hóa đơn người mua đã khai khi đặt hàng (cá nhân / công ty / hộ kinh doanh): tên, mã số thuế, email, địa chỉ — dùng để phát hành hóa đơn điện tử cho đơn Shopee.

  • Gọi bằng POST, body JSON.
  • Một lần gọi có thể vừa có đơn trả thông tin vừa có đơn báo lỗi riêng — đọc error của từng phần tử.
  • Dữ liệu cá nhân người mua: chỉ dùng để xuất hóa đơn cho chính đơn đó.

Request

Địa chỉ

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

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ả
queriesbodyobject[]Có[{"order_sn":"2610220ABCDE01"}]Danh sách đơn cần tra, mỗi phần tử một order_sn.
queries[].order_snbodystringCó2610220ABCDE01Mã đơn.

Ví dụ request

curl -s -X POST "https://partner.quantri360.com/v1/shopee/api/v2/order/get_buyer_invoice_info" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"queries":[{"order_sn":"2610220ABCDE01"},{"order_sn":"2610220ABCDE02"}]}'
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_buyer_invoice_info",
    params={},
    json={
        "queries": [
            {
                "order_sn": "2610220ABCDE01"
            },
            {
                "order_sn": "2610220ABCDE02"
            }
        ]
    },
    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_buyer_invoice_info');
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({"queries":[{"order_sn":"2610220ABCDE01"},{"order_sn":"2610220ABCDE02"}]}),
});
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_buyer_invoice_info' . '?' . 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, '{"queries":[{"order_sn":"2610220ABCDE01"},{"order_sn":"2610220ABCDE02"}]}');
$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)

API này trả invoice_info_list ở cấp gốc, không bọc trong `response`.

TênKiểuMẫuMô tả
request_idstringe3e3e7f3…Mã request của Shopee.
errorstringLỗi cả lần gọi; rỗng = thành công.
messagestringMô tả lỗi.
invoice_info_listobject[]Kết quả từng đơn.
order_snstring2610220ABCDE01Mã đơn.
is_requestedbooltrueNgười mua có yêu cầu hóa đơn không.
invoice_typestringcompanypersonal (cá nhân) · company (công ty) · household (hộ kinh doanh); rỗng = không yêu cầu.
errorstringLỗi riêng đơn này (vd `receipt settings not found` = người mua không khai hóa đơn).
invoice_detailobjectThông tin người mua khai — có thể bị che một phần (A****b) theo trạng thái đơn.
namestringNguyễn Văn ATên người mua (cá nhân / hộ / công ty).
emailstringa@example.comEmail nhận hóa đơn (cá nhân / hộ).
tax_idstring10000000122Mã số thuế cá nhân / hộ.
national_idstringSố định danh (cá nhân).
addressstringĐịa chỉ (cá nhân / hộ).
company_namestringCông ty TNHH ABCTên công ty.
company_tax_idstring10000000123Mã số thuế công ty.
company_emailstringketoan@abc.vnEmail công ty.
company_addressstringĐịa chỉ công ty.
household_address_breakdownobjectĐịa chỉ hộ kinh doanh tách trường (household_state, household_city, household_district, household_town, household_detailed_address, household_full_address).

Mẫu phản hồi

{
  "request_id": "e3e3e7f35e8f6b9e…",
  "error": "",
  "message": "",
  "invoice_info_list": [
    {
      "order_sn": "2610220ABCDE01",
      "invoice_type": "company",
      "is_requested": true,
      "error": "",
      "invoice_detail": {
        "company_name": "Công ty TNHH ABC",
        "company_tax_id": "10000000123",
        "company_email": "ketoan@abc.vn",
        "company_address": "12 Trần Duy Hưng, Cầu Giấy, Hà Nội"
      }
    },
    {
      "order_sn": "2610220ABCDE02",
      "invoice_type": "",
      "is_requested": false,
      "error": "receipt settings not found",
      "invoice_detail": null
    }
  ]
}

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

Bấm để xem
MãÝ nghĩa
error_paramTham số sai / thiếu / sai kiểu — xem `message` để biết tham số nào.
error_databaseShopee đọc dữ liệu lỗi — thử lại sau.
error_orderLỗi xử lý đơn phía Shopee — thử lại sau.
internal_errorLỗi hệ thống Shopee — thử lại sau.
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_serverLỗi hệ thống Shopee — thử lại sau ít phút.
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