v2.livestream.upload_image
POST/api/v2/livestream/upload_imageGọi qua 360: POST https://partner.quantri360.com/v1/shopee_live/api/v2/livestream/upload_image
Endpoint ghi — thay đổi dữ liệu trên Shopee Live. 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
Tải ảnh bìa cho phiên livestream, áp dụng TW, ID, TH, PH, MY, SG, VN. Hiện chưa gọi được qua 360.
- Gọi qua /v1/shopee_live/api/v2/livestream/upload_image với Authorization: Bearer <key>. 360 tự gắn token và chữ ký.
- 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 Livestream. Tải ảnh bìa dùng cho phiên live.
- HTTP 200 vẫn có thể có lỗi nghiệp vụ; kiểm error trước khi dùng kết quả.
- HIỆN CHƯA GỌI ĐƯỢC QUA 360: API này chưa mở nhận tệp multipart/form-data, 360 sẽ trả lỗi thiếu tham số bắt buộc. Cần dùng API này → liên hệ 360.
Request
Địa chỉ
POST https://partner.quantri360.com/v1/shopee_live/api/v2/livestream/upload_image
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ả |
|---|---|---|---|---|---|
| image | body | file | Có | (tệp ảnh) | Tệp ảnh bìa. |
Ví dụ request
curl -s -X POST "https://partner.quantri360.com/v1/shopee_live/api/v2/livestream/upload_image" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{}'
Python
import requests
KEY = "q360_live_..." # khóa API của brand
r = requests.post(
"https://partner.quantri360.com/v1/shopee_live/api/v2/livestream/upload_image",
params={},
json={},
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_live/api/v2/livestream/upload_image');
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({}),
});
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_live/api/v2/livestream/upload_image' . '?' . 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, '{}');
$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 Live)
Kiểm error trước khi dùng kết quả; mẫu chỉ dùng dữ liệu minh họa.
| Tên | Kiểu | Mẫu | Mô tả |
|---|---|---|---|
| request_id | string | d52ca43b277a4f9292fb8be658bfd33d | Mã request của Shopee để tra lỗi. |
| error | string | Mã lỗi Shopee; rỗng = thành công. | |
| message | string | Mô tả lỗi. | |
| response | object | Kết quả. | |
| image_url | string | https://example.com/anh-mau.jpg | Link ảnh đã tải. |
Mẫu phản hồi
{
"request_id": "demo-request",
"error": "",
"message": "",
"response": {
"image_url": "https://example.com/anh-mau.jpg"
}
}
Mã lỗi của Shopee Live (8)
Bấm để xem
| Mã | Ý nghĩa |
|---|---|
| error_data | Dữ 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_param | Tham số sai / thiếu / sai kiểu — xem `message` để biết tham số nào. |
| 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_server | Lỗi hệ thống Shopee — thử lại sau ít phút. |
| error_limit | Chạ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_limit | Gọ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). |
| user_no_linked | Tài khoản chưa liên kết với 360 — kết nối lại trong Partner. |
| user_banned | Tài khoản đang bị Shopee khóa, mọi API tạm ngưng tới khi gỡ khóa. |
Bắt đầu dùng
- Đăng ký tài khoản Partner
- Mở loại dữ liệu thuộc nhóm Livestream ở trang nền tảng
- Tạo API key (tick kênh Shopee Live)
- Gọi theo ví dụ ở trên