VI | EN
Message us on Messenger
Developer resources

Get Activity — TikTok Shop API

tiktok.promotion.202309.activities.activity_id · call it through Quantri360 with one API key for your own accounts / assets that you connected and authorized — 360 handles request signing and refreshing the authorization you granted.

tiktok.promotion.202309.activities.activity_id

GET/promotion/202309/activities/{activity_id}Via 360: GET https://partner.quantri360.com/v1/tiktok/promotion/202309/activities/{activity_id}
Coming soon. This API already runs in production through 360 and pricing is being finalised — you can read the docs and prepare your integration now.
Description

Lấy chi tiết chương trình khuyến mãi. Sản phẩm của FIXED_PRICE, DIRECT_DISCOUNT và FLASHSALE đã kết thúc hơn 180 ngày không được trả về.

  • Gọi qua /v1/tiktok/promotion/202309/activities/{activity_id} 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 chỉ đọc; code = 0 mới là thành công.

Request

Endpoint

GET https://partner.quantri360.com/v1/tiktok/promotion/202309/activities/{activity_id}

Authentication & shop

NameInTypeSampleDescription
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.

Request parameters

NameInTypeRequiredSampleDescription
activity_idpathstringYes100000000000000001Chương trình mã.

Request examples

curl -s "https://partner.quantri360.com/v1/tiktok/promotion/202309/activities/100000000000000001" \
  -H "Authorization: Bearer $KEY"
Python
import requests

KEY = "q360_live_..."  # khóa API của brand
r = requests.get(
    "https://partner.quantri360.com/v1/tiktok/promotion/202309/activities/100000000000000001",
    params={},
    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/promotion/202309/activities/100000000000000001');
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: 'GET',
  headers: { Authorization: `Bearer ${KEY}` },
});
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/promotion/202309/activities/100000000000000001' . '?' . http_build_query([]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer ' . $key]);
$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)

NameTypeSampleDescription
codeint0Mã. Giá trị: API.
messagestringSuccessTin nhắn. Giá trị: API.
request_idstringDEMO_REQUEST_A_01Yêu cầu mã.
dataobjectDữ liệu.
activity_idstring100000000000000001Chương trình mã.
titlestringMinh họaTiêu đề.
activity_typestringFIXED_PRICEFIXED_PRICE: giá cố định; DIRECT_DISCOUNT: giảm phần trăm; FLASHSALE: flash sale; SHIPPING_DISCOUNT: giảm vận chuyển; BUY_MORE_SAVE_MORE: mua nhiều giảm nhiều; GIFT_WITH_PURCHASE: quà tặng; BUY_X_GET_Y: mua X nhận Y.
duration_typestringNORMALNORMAL: có begin_time và end_time. INDEFINITE chỉ cho SHIPPING_DISCOUNT, đặt hai mốc bằng 0; mặc định NORMAL.
begin_timenumber1793491200Bắt đầu (Unix giây), phải ở tương lai khi tạo / lên lịch; chương trình đang chạy giữ nguyên mốc. INDEFINITE dùng 0. Giá trị: UNIX.
end_timenumber1793577600Kết thúc (Unix giây).
participation_limit[]objectBMSM, BXGY và GWP cần đúng một phần tử giới hạn tham gia.
typestringBUYER_NO_LIMITLoại. Giá trị: BUYER_NO_LIMIT, BUYER_LIMIT_ONLY_ONE.
productsobject[]Products. Giá trị: FIXED_PRICE, DIRECT_DISCOUNT, FLASHSALE.
idstring100000000000000001Mã.
activity_priceobjectChương trình giá.
amountstring10000Số tiền.
currencystringVNDMã tiền tệ.
quantity_limitnumber1Giới hạn số lượng: 1–99 hoặc -1 để không giới hạn; khi cập nhật không được giảm. Cấp sản phẩm của VARIATION phải là -1.
quantity_per_usernumber1Giới hạn mỗi người mua: 1–99 hoặc -1; khi cập nhật không được giảm. Cấp sản phẩm của VARIATION phải là -1.
discountstringMinh họaCấu hình ưu đãi: shipping_discount cho SHIPPING_DISCOUNT; bmsm_discount cho BMSM; gift_discount cho GWP; bxgy_discount cho BXGY. Không dùng cho FIXED_PRICE / DIRECT_DISCOUNT / FLASHSALE.
skusobject[]Skus. Giá trị: VARIATION.
idstring100000000000000001Mã. Giá trị: SKU.
discountstringMinh họaCấu hình ưu đãi: shipping_discount cho SHIPPING_DISCOUNT; bmsm_discount cho BMSM; gift_discount cho GWP; bxgy_discount cho BXGY. Không dùng cho FIXED_PRICE / DIRECT_DISCOUNT / FLASHSALE.
quantity_limitnumber1Giới hạn số lượng: 1–99 hoặc -1 để không giới hạn; khi cập nhật không được giảm. Cấp sản phẩm của VARIATION phải là -1.
quantity_per_usernumber1Giới hạn mỗi người mua: 1–99 hoặc -1; khi cập nhật không được giảm. Cấp sản phẩm của VARIATION phải là -1.
activity_priceobjectChương trình giá. Giá trị: FIXED_PRICE, FLASHSALE.
amountstring10000Số tiền.
currencystringVNDMã tiền tệ.
used_quantityint1Used số lượng. Giá trị: SKU.
used_quantityint1Used số lượng.
statusstringDRAFTTrạng thái. Giá trị: DRAFT, NOT_START, ONGOING, EXPIRED, DEACTIVATED, NOT_EFFECTIVE.
create_timenumber1793491200Tạo thời điểm. Giá trị: UNIX.
update_timenumber1793491200Update thời điểm. Giá trị: UNIX.
product_levelstringPRODUCTPRODUCT: toàn bộ SKU của sản phẩm; VARIATION: SKU chỉ định; SHOP: toàn gian hàng. FIXED_PRICE / DIRECT_DISCOUNT / FLASHSALE dùng PRODUCT hoặc VARIATION; SHIPPING_DISCOUNT không dùng VARIATION; BMSM / BXGY dùng PRODUCT hoặc SHOP; GWP chỉ PRODUCT.
activity_commands[]string['Minh họa']Chương trình commands. Giá trị: IMMUTABLE.
discountobjectCấu hình ưu đãi: shipping_discount cho SHIPPING_DISCOUNT; bmsm_discount cho BMSM; gift_discount cho GWP; bxgy_discount cho BXGY. Không dùng cho FIXED_PRICE / DIRECT_DISCOUNT / FLASHSALE.
shipping_discountobjectVận chuyển giảm giá.
threshold_typestringNO_THRESHOLDNO_THRESHOLD: không ngưỡng; MINIMAL_ITEM_QUANTITY: số sản phẩm tối thiểu; MINIMAL_ORDER_AMOUNT: tổng tiền tối thiểu. Giảm vận chuyển có ngưỡng chỉ dùng với SHOP.
threshold_valuestringMinh họaNgưỡng hưởng ưu đãi: số lượng là số nguyên dương; tiền là số dương theo nội tệ, tối đa hai chữ số thập phân. NO_THRESHOLD không cần giá trị.
typestringFREE_SHIPPINGFREE_SHIPPING: miễn vận chuyển; DISCOUNT_SHIPPING_FEE: giảm tối đa value theo nội tệ. Giá trị: FREE_SHIPPING, DISCOUNT_SHIPPING_FEE.
valuestring10000Bỏ khi FREE_SHIPPING; DISCOUNT_SHIPPING_FEE dùng mức giảm tối đa theo nội tệ, tối đa hai chữ số thập phân. Giá trị: FREE_SHIPPING, DISCOUNT_SHIPPING_FEE.
shipping_methodstringSTANDARD_SHIPPINGSTANDARD_SHIPPING: tiêu chuẩn, gồm tiết kiệm (mặc định); EXPRESS_SHIPPING: nhanh; ALL_SHIPPING_METHOD: tất cả.
inventory_typestringSELF_FULFILLEDSELF_FULFILLED: kho người bán (mặc định); FULFILLED_BY_TIKTOK: kho FBT; ALL: tất cả. Hai giá trị sau chỉ khi SHOP và NO_THRESHOLD.
area_scopeobjectArea phạm vi.
typestringWHOLEWHOLE: mọi vùng giao hàng; SPECIFIC_AREAS: các vùng trong specific_areas. Giá trị: WHOLE, SPECIFIC_AREAS.
specific_areas[]string['Minh họa']Danh sách mã vùng giao hàng hợp lệ tùy khu vực của gian hàng.
bmsm_discountobjectBmsm giảm giá. Giá trị: BMSM.
details[]objectMột hoặc hai bậc; threshold_type và type phải giống nhau giữa các bậc. Giá trị: BMSM.
tierint1Bậc bắt đầu từ 1; ngưỡng của bậc sau phải lớn hơn bậc trước. Với BMSM cả value cũng phải tăng.
threshold_typestringNO_THRESHOLDNO_THRESHOLD: không ngưỡng; MINIMAL_ITEM_QUANTITY: số sản phẩm tối thiểu; MINIMAL_ORDER_AMOUNT: tổng tiền tối thiểu. Giảm vận chuyển có ngưỡng chỉ dùng với SHOP.
threshold_valuestringMinh họaNgưỡng hưởng ưu đãi: số lượng là số nguyên dương; tiền là số dương theo nội tệ, tối đa hai chữ số thập phân. NO_THRESHOLD không cần giá trị.
typestringPERCENTAGE_OFFLoại. Giá trị: PERCENTAGE_OFF, AMOUNT_OFF.
valuestring10000PERCENTAGE_OFF: phần trăm nguyên dương; AMOUNT_OFF: tiền nội tệ dương, tối đa hai chữ số thập phân. Giá trị: PERCENTAGE_OFF, AMOUNT_OFF.
gift_discountobjectQuà tặng giảm giá. Giá trị: GWP.
gift_receiving_typestringALL_RECEIVEChỉ hỗ trợ ALL_RECEIVE: nhận toàn bộ quà cấu hình.
gift_infos[]objectÍt nhất một bậc; tối đa hai tại Đông Nam Á / Anh, một tại Mỹ; threshold_type phải giống nhau giữa các bậc.
tierint1Bậc bắt đầu từ 1; ngưỡng của bậc sau phải lớn hơn bậc trước. Với BMSM cả value cũng phải tăng.
threshold_typestringNO_THRESHOLDNO_THRESHOLD: không ngưỡng; MINIMAL_ITEM_QUANTITY: số sản phẩm tối thiểu; MINIMAL_ORDER_AMOUNT: tổng tiền tối thiểu. Giảm vận chuyển có ngưỡng chỉ dùng với SHOP.
threshold_valuestringMinh họaNgưỡng hưởng ưu đãi: số lượng là số nguyên dương; tiền là số dương theo nội tệ, tối đa hai chữ số thập phân. NO_THRESHOLD không cần giá trị.
gift_details[]objectSKU quà tặng; có ít nhất một SKU trên toàn chương trình, không lặp sku_id. Ngưỡng MINIMAL_ITEM_QUANTITY cần danh sách không rỗng.
product_idstring100000000000000001Sản phẩm mã.
sku_idstring100000000000000001Sku mã.
total_claim_limitstringMinh họaTổng số quà được nhận theo SKU: số nguyên từ 1 đến 99999.
bxgy_discountobjectBxgy giảm giá. Giá trị: BXGY.
threshold_typestringNO_THRESHOLDNO_THRESHOLD: không ngưỡng; MINIMAL_ITEM_QUANTITY: số sản phẩm tối thiểu; MINIMAL_ORDER_AMOUNT: tổng tiền tối thiểu. Giảm vận chuyển có ngưỡng chỉ dùng với SHOP.
threshold_valuestringMinh họaNgưỡng hưởng ưu đãi: số lượng là số nguyên dương; tiền là số dương theo nội tệ, tối đa hai chữ số thập phân. NO_THRESHOLD không cần giá trị. Ngưỡng số lượng tối đa 10.
discount_typestringPERCENTAGE_OFFGiảm giá loại. Giá trị: PERCENTAGE_OFF, AMOUNT_OFF_EACH, FREE.
discount_valuestringMinh họaGiảm giá giá trị. Giá trị: PERCENTAGE_OFF, AMOUNT_OFF_EACH.
benefit_max_applicable_quantitystringMinh họaSố lượng Y mỗi lần hưởng ưu đãi, số nguyên dương tối đa 20.
benefit_max_applicable_timesstring1793491200Số lần hưởng ưu đãi tối đa mỗi đơn, số nguyên dương tối đa 50.
target_user_infoobjectĐối tượng BMSM / BXGY / GWP; bỏ trống để dùng ALL_USER.
user_typestringALL_USERNgười dùng loại. Giá trị: ALL_USER, SHOP_NEW_CUSTOMER, SHOP_EXISTING_CUSTOMER, SHOP_REPEAT_CUSTOMER, SHOP_ABANDONED_CHECKOUTS_CUSTOMER.
benefit_products[]objectƯu đãi products. Giá trị: BXGY.
idstring100000000000000001Mã.
auction_support_typestringALLALL: gồm sản phẩm đấu giá (mặc định); EXCLUDE_AUCTION: loại sản phẩm đấu giá.

Response sample

{
  "code": 0,
  "message": "Success",
  "request_id": "DEMO_REQUEST_A_01",
  "data": {
    "activity_id": "100000000000000001",
    "title": "Minh họa",
    "activity_type": "FIXED_PRICE",
    "duration_type": "NORMAL",
    "begin_time": 1793491200,
    "end_time": 1793577600,
    "participation_limit": [
      {
        "type": "BUYER_NO_LIMIT"
      }
    ],
    "products": [
      {
        "id": "100000000000000001",
        "activity_price": {
          "amount": "10000",
          "currency": "VND"
        },
        "quantity_limit": 1,
        "quantity_per_user": 1,
        "discount": "Minh họa",
        "skus": [
          {
            "id": "100000000000000001",
            "discount": "Minh họa",
            "quantity_limit": 1,
            "quantity_per_user": 1,
            "activity_price": {
              "amount": "10000",
              "currency": "VND"
            },
            "used_quantity": 1
          }
        ],
        "used_quantity": 1
      }
    ],
    "status": "DRAFT",
    "create_time": 1793491200,
    "update_time": 1793491200,
    "product_level": "PRODUCT",
    "activity_commands": [
      "Minh họa"
    ],
    "discount": {
      "shipping_discount": {
        "threshold_type": "NO_THRESHOLD",
        "threshold_value": "Minh họa",
        "type": "FREE_SHIPPING",
        "value": "10000",
        "shipping_method": "STANDARD_SHIPPING",
        "inventory_type": "SELF_FULFILLED",
        "area_scope": {
          "type": "WHOLE",
          "specific_areas": [
            "Minh họa"
          ]
        }
      },
      "bmsm_discount": {
        "details": [
          {
            "tier": 1,
            "threshold_type": "NO_THRESHOLD",
            "threshold_value": "Minh họa",
            "type": "PERCENTAGE_OFF",
            "value": "10000"
          }
        ]
      },
      "gift_discount": {
        "gift_receiving_type": "ALL_RECEIVE",
        "gift_infos": [
          {
            "tier": 1,
            "threshold_type": "NO_THRESHOLD",
            "threshold_value": "Minh họa",
            "gift_details": [
              {
                "product_id": "100000000000000001",
                "sku_id": "100000000000000001",
                "total_claim_limit": "Minh họa"
              }
            ]
          }
        ]
      },
      "bxgy_discount": {
        "threshold_type": "NO_THRESHOLD",
        "threshold_value": "Minh họa",
        "discount_type": "PERCENTAGE_OFF",
        "discount_value": "Minh họa",
        "benefit_max_applicable_quantity": "Minh họa",
        "benefit_max_applicable_times": "1793491200"
      }
    },
    "target_user_info": {
      "user_type": "ALL_USER"
    },
    "benefit_products": [
      {
        "id": "100000000000000001"
      }
    ],
    "auction_support_type": "ALL"
  }
}

Get started

  1. Sign up for Partner
  2. Enable a data type of the Khuyến mãi (Promotion) group on the platform page
  3. Create an API key (tick the TikTok Shop channel)
  4. Call it as in the examples above