Create a fixed-price, percentage-off, flash sale, shipping-discount, Buy More Save More, Gift With Purchase, or Buy X Get Y promotion activity. Coupons cannot be created with this API; create them in Seller Center or the seller app. To update the products or SKUs included in the activity, use Update Activity Product.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Identifies the shop. Obtain it from the Get Authorized Shops API.
Request Bodyrequired
Section titled “Request Bodyrequired”object
Unique name across all your activities. Maximum length: 50 characters for FLASHSALE and SHIPPING_DISCOUNT; 100 characters for FIXED_PRICE, DIRECT_DISCOUNT, BUY_MORE_SAVE_MORE, BUY_X_GET_Y, and GIFT_WITH_PURCHASE.
The type of promotion activity. Possible values:
FIXED_PRICE: A product discount activity with a fixed price.DIRECT_DISCOUNT: A product discount activity with a percentage discount.FLASHSALE: A flash sale activity.SHIPPING_DISCOUNT: A shipping fee discount activity.BUY_MORE_SAVE_MORE: A Buy More Save More promotion.GIFT_WITH_PURCHASE: A Gift With Purchase promotion.BUY_X_GET_Y: A Buy X Get Y promotion.
The product scope of the activity. Possible values:
PRODUCT: Apply the promotion at the product (SPU) level to all SKUs in each selected product.VARIATION: Apply the promotion only to selected SKUs.SHOP: Apply the promotion to all products in the shop.
Activity-specific constraints:
FIXED_PRICE,DIRECT_DISCOUNT, andFLASHSALEsupportPRODUCTorVARIATION.SHIPPING_DISCOUNTdoes not supportVARIATION.BUY_MORE_SAVE_MOREandBUY_X_GET_YsupportPRODUCTorSHOP.GIFT_WITH_PURCHASErequiresPRODUCT.
To set the products or SKUs covered by the activity, use Update Activity Product.
The effective time type of the current activity
- NORMAL:
begin_timeandend_timemust be filled - INDEFINITE:
begin_timeandend_timearen’t required, and the promotion will be a long-term activity which runs indefinitely.
INDEFINITEis only valid whenactivity_typeisSHIPPING_DISCOUNT,- If
duration_typeisINDEFINITE,start_timeandend_timeshould be 0 Default: NORMAL
Activity start time. UNIX timestamp. The value must be greater than the value of the current time.
Activity end time as a Unix timestamp in seconds. For NORMAL FIXED_PRICE, DIRECT_DISCOUNT, FLASHSALE, BUY_MORE_SAVE_MORE, BUY_X_GET_Y, and GIFT_WITH_PURCHASE activities, it must be at least 600 seconds after begin_time. For a NORMAL shipping-discount activity, provide a positive value.
Buyer participation-limit settings. For BUY_MORE_SAVE_MORE, BUY_X_GET_Y, and GIFT_WITH_PURCHASE, provide exactly one entry.
object
Determines whether each buyer can receive the activity benefit more than once. Possible values:
BUYER_NO_LIMIT: A buyer can benefit from this activity across multiple orders.BUYER_LIMIT_ONLY_ONE: A buyer can benefit from this activity for no more than one order.
Discount configuration. For SHIPPING_DISCOUNT, provide shipping_discount; for BUY_MORE_SAVE_MORE, provide bmsm_discount; for GIFT_WITH_PURCHASE, provide gift_discount; and for BUY_X_GET_Y, provide bxgy_discount. This field is not used for FIXED_PRICE, DIRECT_DISCOUNT, or FLASHSALE.
object
Configurations for the shipping discount, including purchase criteria, discount value, shipping method, inventory type, and area scope.
object
The type of purchase criteria. Possible enumerations are:
NO_THRESHOLD: No minimum purchase criteria.MINIMAL_ITEM_QUANTITY: Buyer must meet or exceed the minimum spend criteria with eligible products.MINIMAL_ORDER_AMOUNT: Buyer must meet or exceed the minimum spend criteria with eligible order.MINIMAL_ITEM_QUANTITYandMINIMAL_ORDER_AMOUNTcan only be set whenproduct_level==SHOP.
The purchase threshold of the discount, based on threshold_type, for example, 3. Determined by the user.
- When
threshold_type==NO_THRESHOLD, this value is not required. - When
threshold_type==MINIMAL_ITEM_QUANTITY, the buyer must purchase at least the specified number of eligible products (for example, 3 eligible products). If it represents a quantity, it must be an integer. - When
threshold_type==MINIMAL_ORDER_AMOUNT, the eligible-product subtotal must meet or exceed the specified value in local currency (for example, 3 units of local currency). If it represents an order value, it must be limited to two decimal places.
The shipping benefit type.
FREE_SHIPPING: Reduce the buyer’s shipping fee to zero.DISCOUNT_SHIPPING_FEE: Reduce the buyer’s shipping fee by up to the amount specified inshipping_discount.value.
The shipping discount value determined by type.
- When
type==FREE_SHIPPING, omit this value. - When
type==DISCOUNT_SHIPPING_FEE, enter the maximum amount deducted from the buyer’s shipping fee in local currency, with at most two decimal places.
The shipping methods to which this promotion applies.
- When
STANDARD_SHIPPING: Only applies to Standard Shipping methods, including Economy. EXPRESS_SHIPPING: Only applies to Express Shipping methods.ALL_SHIPPING_METHOD: Applies to all shipping methods that the shop offers. Default:STANDARD_SHIPPING
The inventory types to which the promotion activity applies:
SELF_FULFILLED: Only applies to Inventory fulfilled from seller warehousesFULFILLED_BY_TIKTOK: Only applies to Inventory fulfilled by TikTok from FBT (Fulfilled by TikTok) warehouses.ALL: Applies to all inventory of eligible products. Default:SELF_FULFILLEDFULFILLED_BY_TIKTOKandALLcan only be set whenproduct_level==SHOPandthreshold_type=NO_THRESHOLD.
The (buyer’s) geographical areas to which the promotion activity applies.
object
The (buyer’s) geographical area to which the promotion activity applies.
- WHOLE: Promotion activity applies to all areas to which the seller offers fulfillment.
SPECIFIC_AREAS: Only applies to specific fulfillment areas, as defined inarea_scope.specific_areas
The list of areas for which the promotion activity applies. The valid values that may be included in this list are dependent on the region of the shop. The list of valid values for each shop region are available here: link
Configurations related to Buy More Save More (BMSM) promotions
object
Configurations for Buy More Save More tiers. Provide one or two tiers. threshold_type and type must be the same across all tiers.
object
tier uses 1-based indexing: the first and second tiers are 1 and 2, not 0 and 1. For each subsequent tier, both threshold_value and value must be greater than those of the previous tier. For example, if tier 1 has threshold_value 20 and value 15, tier 2 must have a threshold_value greater than 20 and a value greater than 15.
The type of purchase criteria. Possible enumerations are:
MINIMAL_ITEM_QUANTITY: Buyer must meet or exceed the minimum spend criteria with eligible products.MINIMAL_ORDER_AMOUNT: Buyer must meet or exceed the minimum spend criteria with eligible order.
The purchase threshold for this tier.
- When
threshold_type==MINIMAL_ITEM_QUANTITY, enter a positive integer. - When
threshold_type==MINIMAL_ORDER_AMOUNT, enter a positive amount in local currency, with at most two decimal places.
The type of discount awarded as a benefit. The value of the discount is determined by value.
Possible enumerations are:
PERCENTAGE_OFF: Buyer will receive X% off the price of the eligible products.AMOUNT_OFF: Buyer will receive X units of local currency off the price of eligible products.
The discount value.
- When
type==PERCENTAGE_OFF, enter a positive integer percentage. - When
type==AMOUNT_OFF, enter a positive amount in local currency, with at most two decimal places.
Configurations related to Gift With Purchase (GWP) promotions. Only needs to be configured for GWP promotions.
object
The receiving type of gift. Currently only one type is supported:
ALL_RECEIVE: All gifts configured in the promotion can be collected.
Gift With Purchase tier configurations. Provide at least one tier. A maximum of two tiers is permitted in SEA and the UK, while only one tier is permitted in the US. threshold_type must be the same across all tiers.
object
tier uses 1-based indexing, i.e. the first and second tiers are counted “1, 2”, not “0, 1”.
threshold_value for a given tier must be greater than that of the previous tier.
E.g. If tier==1 has threshold_value==2, tier==2 must have threshold_value > 2.
The purchase threshold type of discount. Possible enumerations are:
MINIMAL_ITEM_QUANTITY: Buyer must meet or exceed the minimum spend criteria with eligible products.MINIMAL_ORDER_AMOUNT: Buyer must meet or exceed the minimum spend criteria with eligible order.
The purchase threshold for the gift, determined by threshold_type.
- When
threshold_type==MINIMAL_ITEM_QUANTITY, enter a positive integer number of eligible products. - When
threshold_type==MINIMAL_ORDER_AMOUNT, enter a positive eligible-product subtotal in local currency, with at most two decimal places.
The gift SKUs for this tier. Across all tiers, provide at least one gift SKU in total, and do not repeat the same sku_id anywhere in the activity. For a MINIMAL_ITEM_QUANTITY tier, this list must not be empty.
object
TikTok Shop product id of gift.
TikTok Shop sku id of gift.
The total claim limit for the gift SKU in this activity. Enter an integer from 1 to 99999.
Configurations related to Buy X Get Y (BXGY) promotions. Only needs to be configured for BXGY promotions.
object
The purchase criterion. Possible values:
MINIMAL_ITEM_QUANTITY: The buyer must purchase at least the configured quantity of eligible products.MINIMAL_ORDER_AMOUNT: The eligible-product subtotal must reach the configured amount.
The purchase threshold determined by threshold_type.
- When
threshold_type==MINIMAL_ITEM_QUANTITY, enter a positive integer no greater than10. - When
threshold_type==MINIMAL_ORDER_AMOUNT, enter a positive eligible-product subtotal in local currency, with at most two decimal places.
The type of benefit. Possible values:
- PERCENTAGE_OFF: Apply the percentage specified by discount_value to eligible products.
- FREE: Provide the configured quantity of eligible products for free.
- AMOUNT_OFF_EACH: Deduct the local-currency amount specified by discount_value from each eligible product.
Value of the discount.
- When
type==PERCENTAGE_OFF, the buyer will receive X% off the price of eligible products. If the value represents a percentage, it should be an integer. type==AMOUNT_OFF_EACH, the buyer will receive X units of local currency off the price of each eligible products. If the value represents a monetary amount, it should be limited to two decimal places.
The quantity of item Y awarded each time the Buy X Get Y benefit applies. Enter a positive integer no greater than 20.
Optional. The maximum number of times the Buy X Get Y benefit can be applied in one order. Enter a positive integer no greater than 50.
Target-audience configuration for BUY_MORE_SAVE_MORE, BUY_X_GET_Y, and GIFT_WITH_PURCHASE activities. If omitted, the activity targets ALL_USER.
object
Possible enumerations are:
ALL_USER
SHOP_NEW_CUSTOMER
SHOP_EXISTING_CUSTOMER
SHOP_REPEAT_CUSTOMER
For SHIPPING_DISCOUNT activities, determines whether auction products are supported.
Possible values:
ALL: Support both regular and auction products.EXCLUDE_AUCTION: Exclude auction products. Default:ALL.
Example
{ "title": "DiscountEvent0829", "activity_type": "FIXED_PRICE", "product_level": "PRODUCT", "duration_type": "NORMAL", "begin_time": 1661756811, "end_time": 1661856811, "participation_limit": [ { "type": "BUYER_NO_LIMIT" } ], "discount": { "shipping_discount": { "threshold_type": "MINIMAL_ITEM_QUANTITY", "threshold_value": "3", "type": "DISCOUNT_SHIPPING_FEE", "value": "10.5", "shipping_method": "STANDARD_SHIPPING", "inventory_type": "SELF_FULFILLED", "area_scope": { "type": "WHOLE", "specific_areas": [ "Washington", "New York" ] } }, "bmsm_discount": { "details": [ { "tier": 1, "threshold_type": "MINIMAL_ITEM_QUANTITY", "threshold_value": "5", "type": "PERCENTAGE_OFF", "value": "10" } ] }, "gift_discount": { "gift_receiving_type": "ALL_RECEIVE", "gift_infos": [ { "tier": 1, "threshold_type": "MINIMAL_ITEM_QUANTITY", "threshold_value": "3", "gift_details": [ { "product_id": "1732239744891062847", "sku_id": "1732239787859544639", "total_claim_limit": "100" } ] } ] }, "bxgy_discount": { "threshold_type": "MINIMAL_ITEM_QUANTITY", "threshold_value": "5", "discount_type": "AMOUNT_OFF_EACH", "discount_value": "5", "benefit_max_applicable_quantity": "5", "benefit_max_applicable_times": "5" } }, "target_user_info": { "user_type": "ALL_USER" }, "auction_support_type": "ALL"}Responses
Section titled “Responses”Success
object
Status code; 0 means success.
Success or failure message.
Request log ID.
object
On success, the ID of the created activity. Use it as activity_id when adding products or SKUs with Update Activity Product.
The time when the activity was created.
The time when the activity was last updated.
Possible values:
- DRAFT: Promotion activities with this status are not available to TikTok users.
- NOT_START: Promotion activities with this status are not available to TikTok users until the set activity start time.
- ONGOING: Promotion activities with this status are available to TikTok users.
- EXPIRED: Promotion activities with this status are not available to TikTok users because it has expired.
- DEACTIVATED: The activity has been deactivated by the seller and is not available to TikTok users.
- NOT_EFFECTIVE: The activity is terminated by the platform and is not available to TikTok users.
Example
{ "code": 0, "data": { "activity_id": "7136104329798256386", "create_time": 1661756811, "update_time": 1661756811, "status": "ONGOING" }, "message": "Success", "request_id": "202203070749000101890810281E8C70B7"}