tiktok.product.202309.products.product_id.prices.update
POST/product/202309/products/{product_id}/prices/updateVia 360: POST https://partner.quantri360.com/v1/tiktok/product/202309/products/{product_id}/prices/update
Write endpoint — changes data on TikTok Shop. The key must be created with "Allow write API calls" ticked, otherwise you get 403 write_not_allowed. Every call is logged.
Description
Cập nhật giá nhiều SKU của một sản phẩm ACTIVATE không nằm trong chương trình khuyến mãi đang chạy. data không có dữ liệu bổ sung.
- Gọi qua /v1/tiktok/product/202309/products/{product_id}/prices/update với Authorization: Bearer <key>; dùng platform_shop_id khi có nhiều shop. 360 tự gắn app_key, shop_cipher, sign và access_token.
- API GHI: thay đổi dữ liệu thật trên TikTok Shop; cần key có quyền ghi (can_write) và gói mở module products. Thay đổi giá bán của SKU.
- HTTP 200 vẫn có thể có lỗi nghiệp vụ; kiểm code trước khi dùng kết quả.
Request
Endpoint
POST https://partner.quantri360.com/v1/tiktok/product/202309/products/{product_id}/prices/update
Authentication & shop
| Name | In | Type | Sample | Description |
|---|---|---|---|---|
| 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. |
Request parameters
| Name | In | Type | Required | Sample | Description |
|---|---|---|---|---|---|
| product_id | path | string | Yes | 900000000000000001 | Mã sản phẩm. |
| skus | body | object[] | Yes | [{"id": "900000000000000001", "price": {"amount": "150000", "currency": "VND", "sale_price": "150000"}, "list_price": {"amount": "150000", "currency": "VND"}, "external_list_prices": [{"source": "SHOPIFY_COMPARE_AT_PRICE", "amount": "150000", "currency": "VND"}]}] | Danh sách SKU. |
| skus[].id | body | string | Yes | 900000000000000001 | Mã định danh; giá trị liên quan: ACTIVATE. |
| skus[].price | body | object | Yes | {"amount": "150000", "currency": "VND", "sale_price": "150000"} | Giá. |
| skus[].price.amount | body | string | No | 150000 | Số tiền. |
| skus[].price.currency | body | string | Yes | VND | Mã tiền tệ; giá trị liên quan: BRL, CZK, EUR, GBP, HUF, IDR, JPY, MXN, MYR, PHP, PLN, SGD, THB, USD, VND. |
| skus[].price.sale_price | body | string | No | 150000 | Giá hiển thị trước giảm giá. |
| skus[].list_price | body | object | No | {"amount": "150000", "currency": "VND"} | Giá niêm yết. |
| skus[].list_price.amount | body | string | Yes | 150000 | Số tiền; giới hạn: [0.01, 7600]. |
| skus[].list_price.currency | body | string | Yes | VND | Mã tiền tệ; giá trị liên quan: USD. |
| skus[].external_list_prices | body | object[] | No | [{"source": "SHOPIFY_COMPARE_AT_PRICE", "amount": "150000", "currency": "VND"}] | Giá niêm yết bên ngoài. |
| skus[].external_list_prices[].source | body | string | Yes | SHOPIFY_COMPARE_AT_PRICE | Nguồn; giá trị liên quan: SHOPIFY_COMPARE_AT_PRICE. |
| skus[].external_list_prices[].amount | body | string | Yes | 150000 | Số tiền; giới hạn: [0.01, 7600]. |
| skus[].external_list_prices[].currency | body | string | Yes | VND | Mã tiền tệ; giá trị liên quan: USD. |
Request examples
curl -s -X POST "https://partner.quantri360.com/v1/tiktok/product/202309/products/900000000000000001/prices/update" \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"skus":[{"id":"900000000000000001","price":{"amount":"150000","currency":"VND","sale_price":"150000"},"list_price":{"amount":"150000","currency":"VND"},"external_list_prices":[{"source":"SHOPIFY_COMPARE_AT_PRICE","amount":"150000","currency":"VND"}]}]}'
Python
import requests
KEY = "q360_live_..." # khóa API của brand
r = requests.post(
"https://partner.quantri360.com/v1/tiktok/product/202309/products/900000000000000001/prices/update",
params={},
json={
"skus": [
{
"id": "900000000000000001",
"price": {
"amount": "150000",
"currency": "VND",
"sale_price": "150000"
},
"list_price": {
"amount": "150000",
"currency": "VND"
},
"external_list_prices": [
{
"source": "SHOPIFY_COMPARE_AT_PRICE",
"amount": "150000",
"currency": "VND"
}
]
}
]
},
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/tiktok/product/202309/products/900000000000000001/prices/update');
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({"skus":[{"id":"900000000000000001","price":{"amount":"150000","currency":"VND","sale_price":"150000"},"list_price":{"amount":"150000","currency":"VND"},"external_list_prices":[{"source":"SHOPIFY_COMPARE_AT_PRICE","amount":"150000","currency":"VND"}]}]}),
});
console.log(r.status, await r.json());PHP
<?php
$key = 'q360_live_...'; // khóa API của brand
$url = 'https://partner.quantri360.com/v1/tiktok/product/202309/products/900000000000000001/prices/update' . '?' . 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, '{"skus":[{"id":"900000000000000001","price":{"amount":"150000","currency":"VND","sale_price":"150000"},"list_price":{"amount":"150000","currency":"VND"},"external_list_prices":[{"source":"SHOPIFY_COMPARE_AT_PRICE","amount":"150000","currency":"VND"}]}]}');
$res = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $status, "\n", $res;Response
Response fields (as returned by TikTok Shop)
| Name | Type | Sample | Description |
|---|---|---|---|
| code | int | 0 | Mã kết quả; 0 là thành công. |
| message | string | Success | Thông báo kết quả. |
| request_id | string | YEU_CAU_MINH_HOA | Mã yêu cầu để tra cứu lỗi. |
| data | object | Dữ liệu. |
Response sample
{
"code": 0,
"message": "Success",
"request_id": "YEU_CAU_MINH_HOA",
"data": {}
}
Get started
- Sign up for Partner
- Enable a data type of the Sản phẩm group on the platform page
- Create an API key (tick the TikTok Shop channel)
- Call it as in the examples above