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

List GMS items that have been removed from the Campaign by seller — API Shopee Ads

v2.ads.list_gms_user_deleted_item · 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.ads.list_gms_user_deleted_item

POST/api/v2/ads/list_gms_user_deleted_itemGọi qua 360: POST https://partner.quantri360.com/v1/shopee_ads/api/v2/ads/list_gms_user_deleted_item
Mô tả API

Liệt kê sản phẩm GMS đã được người bán loại khỏi chiến dịch, có phân trang.

  • Gọi qua /v1/shopee_ads/api/v2/ads/list_gms_user_deleted_item 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 chỉ đọc; error rỗng mới là thành công. HTTP 200 vẫn có thể chứa lỗi nghiệp vụ trong error/message.
  • Trang đầu offset=0; tăng offset theo limit khi has_next_page=true.

Request

Địa chỉ

POST https://partner.quantri360.com/v1/shopee_ads/api/v2/ads/list_gms_user_deleted_item

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ả
offsetbodyint32Không0Số bản ghi bỏ qua; mặc định 0.
limitbodyint32Không50Số bản ghi tối đa mỗi trang; mặc định 50, tối đa 100.

Ví dụ request

curl -s -X POST "https://partner.quantri360.com/v1/shopee_ads/api/v2/ads/list_gms_user_deleted_item" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"offset":0,"limit":50}'
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.post(
    "https://partner.quantri360.com/v1/shopee_ads/api/v2/ads/list_gms_user_deleted_item",
    params={},
    json={
        "offset": 0,
        "limit": 50
    },
    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_ads/api/v2/ads/list_gms_user_deleted_item');
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({"offset":0,"limit":50}),
});
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_ads/api/v2/ads/list_gms_user_deleted_item' . '?' . 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, '{"offset":0,"limit":50}');
$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 Ads)

Phản hồi có thể không chứa has_next_page; khi có dùng cờ này, khi thiếu đối chiếu offset và số item_id_list đã nhận với total để xác định trang kế. Đọc error/message trước khi dùng response; responseSample là dữ liệu minh họa thành công và giữ cây trường phản hồi.

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.
warningstringCảnh báo khi một phần dữ liệu không trả về bình thường.
responseobjectKết quả nghiệp vụ.
campaign_idint64200001Mã chiến dịch.
item_id_listint64[][100001]Danh sách mã sản phẩm.
totalint641Tổng số mã sản phẩm.
has_next_pagebooleanFalseCòn trang mã sản phẩm tiếp theo hay không.

Mẫu phản hồi

{
  "error": "",
  "message": "",
  "warning": "",
  "request_id": "demo-request",
  "response": {
    "campaign_id": 200001,
    "item_id_list": [
      100001
    ],
    "total": 1,
    "has_next_page": false
  }
}

Mã lỗi của Shopee Ads (16)

Bấm để xem
MãÝ nghĩa
ads_error_not_whitelisted_for_product_gmsGian hàng chưa được cho phép sử dụng GMS sản phẩm.
error_paramTham số sai / thiếu / sai kiểu — xem `message` để biết tham số nào.
ads_error_product_gms_campaign_not_foundKhông tìm thấy chiến dịch GMS sản phẩm.
error_serverLỗi hệ thống Shopee — thử lại sau ít phút.
ads.ads_account.invalid_statusTrạng thái tài khoản quảng cáo không hợp lệ.
ads.rate_limit.campaign_levelChiến dịch có quá nhiều yêu cầu; thử lại sau.
ads.rate_limit.exceed_partner_apiQuá nhiều yêu cầu; giảm tần suất rồi thử lại sau.
ads.rate_limit.exceed_shop_apiGian hàng có quá nhiều yêu cầu; thử lại sau.
ads.rate_limit.exceed_apiQuá nhiều yêu cầu; thử lại sau.
ads.shop.in_holiday_modeGian hàng đang ở chế độ nghỉ.
ads.shop.status_not_normalTrạng thái gian hàng không bình thường.
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 Quảng cáo (Ads) ở trang nền tảng
  3. Tạo API key (tick kênh Shopee Ads)
  4. Gọi theo ví dụ ở trên