UNPKG

@congminh1254/shopee-sdk

Version:
301 lines (300 loc) 9.53 kB
import { BaseResponse } from "./base.js"; /** * Bundle deal rule types */ export declare enum BundleDealRuleType { /** Fixed price for the bundle */ FIX_PRICE = 1, /** Discount percentage */ DISCOUNT_PERCENTAGE = 2, /** Discount value */ DISCOUNT_VALUE = 3 } /** * Bundle deal time status for filtering */ export declare enum BundleDealTimeStatus { /** All bundle deals regardless of status */ ALL = 1, /** Bundle deals that have not started yet */ UPCOMING = 2, /** Currently active bundle deals */ ONGOING = 3, /** Bundle deals that have ended */ EXPIRED = 4 } /** * Additional tier for multi-tier bundle deals */ export interface BundleDealAdditionalTier { /** The quantity of items that the buyers need to purchase for additional tier */ min_amount: number; /** The bundle price when the buyers purchase a bundle deal for additional tiers */ fix_price?: number; /** The bundle deal discount amount the buyer can save when purchasing a bundle deal */ discount_value?: number; /** The bundle deal discount% that the buyer can get when buying a bundle deal for additional tiers */ discount_percentage?: number; } /** * Bundle deal rule information */ export interface BundleDealRule { /** The bundle deal rule type */ rule_type: BundleDealRuleType; /** The deducted price when buying a bundle deal */ discount_value?: number; /** The amount of the buyer needs to spend to purchase a bundle deal */ fix_price?: number; /** The discount that the buyer can get when buying a bundle deal */ discount_percentage?: number; /** The quantity of items that need buyer to combine purchased */ min_amount: number; /** Additional tiers for tiered bundle deals (max 2 additional tiers) */ additional_tiers?: BundleDealAdditionalTier[]; } /** * Bundle deal item in list */ export interface BundleDealItem { /** Shopee's unique identifier for an item */ item_id: number; } /** * Bundle deal information */ export interface BundleDealInfo { /** Shopee's unique identifier for a bundle deal activity */ bundle_deal_id: number; /** Title of the bundle deal */ name: string; /** The time when bundle deal activity start */ start_time: number; /** The time when bundle deal activity end */ end_time: number; /** Bundle deal rule configuration */ bundle_deal_rule: BundleDealRule; /** Maximum number of bundle deals that can be bought by a buyer */ purchase_limit: number; } /** * Failed item in batch operations */ export interface BundleDealFailedItem { /** Shopee's unique identifier for an item */ item_id: number; /** Error code */ fail_error: string; /** Error message */ fail_message: string; } /** * Parameters for adding a new bundle deal */ export interface AddBundleDealParams { /** The bundle deal rule type */ rule_type: BundleDealRuleType; /** The deducted price when buying a bundle deal (required when rule_type is DISCOUNT_VALUE) */ discount_value?: number; /** The amount of the buyer needs to spend to purchase a bundle deal (required when rule_type is FIX_PRICE) */ fix_price?: number; /** The discount that the buyer can get when buying a bundle deal (required when rule_type is DISCOUNT_PERCENTAGE) */ discount_percentage?: number; /** The quantity of items that need buyer to combine purchased */ min_amount: number; /** The time when bundle deal activity start */ start_time: number; /** The time when bundle deal activity end */ end_time: number; /** Title of the bundle deal */ name: string; /** Maximum number of bundle deals that can be bought by a buyer */ purchase_limit: number; /** Additional tiers for tiered bundle deals (max 2 additional tiers) */ additional_tiers?: BundleDealAdditionalTier[]; } /** * Parameters for adding items to a bundle deal */ export interface AddBundleDealItemParams { /** Shopee's unique identifier for a bundle deal activity */ bundle_deal_id: number; /** List of items to add to the bundle deal */ item_list: BundleDealItem[]; } /** * Parameters for deleting a bundle deal */ export interface DeleteBundleDealParams { /** Shopee's unique identifier for a bundle deal activity */ bundle_deal_id: number; } /** * Parameters for deleting items from a bundle deal */ export interface DeleteBundleDealItemParams { /** Shopee's unique identifier for a bundle deal activity */ bundle_deal_id: number; /** List of items to delete from the bundle deal */ item_list: BundleDealItem[]; } /** * Parameters for ending a bundle deal immediately */ export interface EndBundleDealParams { /** Shopee's unique identifier for a bundle deal activity */ bundle_deal_id: number; } /** * Parameters for getting bundle deal details */ export interface GetBundleDealParams { /** Shopee's unique identifier for a bundle deal activity */ bundle_deal_id: number; } /** * Parameters for getting bundle deal items */ export interface GetBundleDealItemParams { /** Shopee's unique identifier for a bundle deal activity */ bundle_deal_id: number; } /** * Parameters for getting a list of bundle deals */ export interface GetBundleDealListParams { /** Data paging, representing the data size of each page (max: 1000, default: 20) */ page_size?: number; /** The Status of bundle deal */ time_status?: BundleDealTimeStatus; /** Data paging, represents the page number, starting from 1 (default: 1) */ page_no?: number; } /** * Parameters for updating a bundle deal */ export interface UpdateBundleDealParams { /** Shopee's unique identifier for a bundle deal activity */ bundle_deal_id: number; /** The bundle deal rule type */ rule_type?: BundleDealRuleType; /** The deducted price when buying a bundle deal */ discount_value?: number; /** The amount of the buyer needs to spend to purchase a bundle deal */ fix_price?: number; /** The discount that the buyer can get when buying a bundle deal */ discount_percentage?: number; /** The quantity of items that need buyer to combine purchased */ min_amount?: number; /** The time when bundle deal activity start */ start_time?: number; /** The time when bundle deal activity end */ end_time?: number; /** Title of the bundle deal */ name?: string; /** Maximum number of bundle deals that can be bought by a buyer */ purchase_limit?: number; /** Additional tiers for tiered bundle deals */ additional_tiers?: BundleDealAdditionalTier[]; } /** * Parameters for updating bundle deal items */ export interface UpdateBundleDealItemParams { /** Shopee's unique identifier for a bundle deal activity */ bundle_deal_id: number; /** List of items to update in the bundle deal */ item_list: BundleDealItem[]; } /** * Response for the add bundle deal API */ export interface AddBundleDealResponse extends BaseResponse { response: { /** Shopee's unique identifier for a bundle deal activity */ bundle_deal_id: number; }; } /** * Response for the add bundle deal item API */ export interface AddBundleDealItemResponse extends BaseResponse { response: { /** List of items that failed to be added */ failed_list: BundleDealFailedItem[]; /** List of successfully added item IDs */ success_list: number[]; }; } /** * Response for the delete bundle deal API */ export interface DeleteBundleDealResponse extends BaseResponse { response: { /** Shopee's unique identifier for a bundle deal activity */ bundle_deal_id: number; }; } /** * Response for the delete bundle deal item API */ export interface DeleteBundleDealItemResponse extends BaseResponse { response: { /** List of items that failed to be deleted */ failed_list: BundleDealFailedItem[]; /** List of successfully deleted item IDs */ success_list: number[]; }; } /** * Response for the end bundle deal API */ export interface EndBundleDealResponse extends BaseResponse { response: { /** Shopee's unique identifier for a bundle deal activity */ bundle_deal_id: number; }; } /** * Response for the get bundle deal API */ export interface GetBundleDealResponse extends BaseResponse { response: BundleDealInfo; } /** * Response for the get bundle deal item API */ export interface GetBundleDealItemResponse extends BaseResponse { response: { /** List of items in the bundle deal */ item_list: number[]; }; } /** * Response for the get bundle deal list API */ export interface GetBundleDealListResponse extends BaseResponse { response: { /** The list of bundle deals */ bundle_deal_list: BundleDealInfo[]; /** Indicates whether there are more pages of bundle deals to retrieve */ more: boolean; }; } /** * Response for the update bundle deal API */ export interface UpdateBundleDealResponse extends BaseResponse { response: BundleDealInfo; } /** * Response for the update bundle deal item API */ export interface UpdateBundleDealItemResponse extends BaseResponse { response: { /** List of items that failed to be updated */ failed_list: BundleDealFailedItem[]; /** List of successfully updated item IDs */ success_list: number[]; }; }