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

Use this API to edit Manual Selection Product Ads — API Shopee Ads

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

POST/api/v2/ads/edit_manual_product_adsGọi qua 360: POST https://partner.quantri360.com/v1/shopee_ads/api/v2/ads/edit_manual_product_ads
Endpoint ghi — thay đổi dữ liệu trên Shopee Ads. 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ỉnh sửa trạng thái, ngân sách, thời gian và cài đặt của quảng cáo chọn sản phẩm thủ công.

  • Gọi qua /v1/shopee_ads/api/v2/ads/edit_manual_product_ads 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 Quảng cáo. Có thể chi tiền quảng cáo và thay đổi ngân sách, thời gian hoặc trạng thái chiến dịch.
  • HTTP 200 vẫn có thể có lỗi nghiệp vụ; kiểm error trước khi dùng kết quả.
  • Có danh sách kết quả: kiểm lỗi từng phần tử trước khi sử dụng; error chung rỗng vẫn có thể có phần tử thất bại.

Request

Địa chỉ

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

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ả
reference_idbodystringCódemo-unique-ad-001Chuỗi ngẫu nhiên để chống tạo trùng quảng cáo. Sau khi tạo thành công, gửi lại cùng chuỗi sẽ thất bại; tạo chuỗi mới cho lần tạo mới. Dùng cùng chuỗi khi lấy gợi ý trước bước tạo quảng cáo.
campaign_idbodyint64Có200001Mã chiến dịch.
edit_actionbodystringCópauseThao tác: start, pause, resume, stop, delete, change_budget, change_duration, change_smart_creative, change_location, change_enhanced_cpc, change_roas_target.
budgetbodyfloatKhông100Ngân sách quảng cáo.
start_datebodystringKhông01-10-2026Ngày bắt đầu, dạng DD-MM-YYYY. Không giới hạn thời gian: dùng ngày hiện tại làm ngày bắt đầu.
end_datebodystringKhông07-10-2026Ngày kết thúc, dạng DD-MM-YYYY; bỏ trống nếu chiến dịch không giới hạn thời gian.
roas_targetbodyfloatKhông1.5ROAS mục tiêu khi đấu thầu tự động.
discovery_ads_locationsbodyobject[]KhôngCài đặt vị trí quảng cáo khám phá khi đấu thầu thủ công.
discovery_ads_locations[].locationbodystringCódaily_discoverVị trí: daily_discover, you_may_also_like.
discovery_ads_locations[].statusbodystringCóactiveTrạng thái: active, inactive.
discovery_ads_locations[].bid_pricebodyfloatCó1.5Giá thầu của vị trí.
enhanced_cpcbodybooleanKhôngfalseBật hoặc tắt CPC nâng cao.
smart_creative_settingbodystringKhôngdefaultCài đặt Smart Creative: chuỗi rỗng, default, on, off; chuỗi rỗng được hiểu là default.

Ví dụ request

curl -s -X POST "https://partner.quantri360.com/v1/shopee_ads/api/v2/ads/edit_manual_product_ads" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"reference_id":"demo-unique-ad-001","campaign_id":200001,"edit_action":"pause"}'
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/edit_manual_product_ads",
    params={},
    json={
        "reference_id": "demo-unique-ad-001",
        "campaign_id": 200001,
        "edit_action": "pause"
    },
    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/edit_manual_product_ads');
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({"reference_id":"demo-unique-ad-001","campaign_id":200001,"edit_action":"pause"}),
});
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/edit_manual_product_ads' . '?' . 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, '{"reference_id":"demo-unique-ad-001","campaign_id":200001,"edit_action":"pause"}');
$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)

Đọ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.
responseobject[]Kết quả nghiệp vụ.
campaign_idint64200001Mã chiến dịch.

Mẫu phản hồi

{
  "error": "",
  "message": "",
  "warning": "",
  "request_id": "demo-request",
  "response": [
    {
      "campaign_id": 200001
    }
  ]
}

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

Bấm để xem
MãÝ nghĩa
ads.account.status_not_normalTrạng thái tài khoản không bình thường.
ads.item.adult_itemSản phẩm người lớn không được dùng cài đặt chiến dịch này.
ads.shop.campaign_not_matchMã chiến dịch không hợp lệ đối với gian hàng này.
ads.campaign.error_daily_budget_rangeNgân sách được thiết lập không hợp lệ.
ads.campaign.error_date_settingNgày bắt đầu và kết thúc phải từ hôm nay trở đi; bỏ trống ngày kết thúc nếu không giới hạn thời gian.
ads_deprecatedTính năng này đã ngừng hỗ trợ.
error_not_foundKhông tìm thấy đơn / gói / yêu cầu theo mã đã gửi.
error_paramTham số sai / thiếu / sai kiểu — xem `message` để biết tham số nào.
error_serverLỗi hệ thống Shopee — thử lại sau ít phút.
ads.api.http_method_not_allowedPhương thức HTTP không được hỗ trợ cho API này.
ads.ads_account.invalid_statusTrạng thái tài khoản quảng cáo không hợp lệ.
ads.edit.invalid_actionThao tác chỉnh sửa không hợp lệ với trạng thái hiện tại của chiến dịch.
ads.item.invalid_statusTrạng thái sản phẩm không hợp lệ.
ads.campaign.invalid_start_dateChiến dịch không có ngày kết thúc phải bắt đầu từ hôm nay.
ads.item.blocked_for_promotionSản phẩm bị chặn quảng bá.
ads.item.sold_outSản phẩm đã hết hàng.
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_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 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