UNPKG

@congminh1254/shopee-sdk

Version:
134 lines (133 loc) 7.46 kB
import { BaseManager } from "./base.manager.js"; import { ShopeeConfig } from "../sdk.js"; import { GetCommentParams, GetCommentResponse, ReplyCommentParams, ReplyCommentResponse, GetItemListParams, GetItemListResponse, GetItemBaseInfoParams, GetItemBaseInfoResponse, GetModelListParams, GetModelListResponse } from "../schemas/product.js"; export declare class ProductManager extends BaseManager { constructor(config: ShopeeConfig); /** * Get comments for products * * Use this API to get comments by shop_id, item_id, or comment_id. Can retrieve up to 1000 comments. * * @param params - The parameters for getting comments * @param params.item_id - The identity of product item * @param params.comment_id - The identity of comment * @param params.cursor - Specifies the starting entry of data to return. Default is empty string * @param params.page_size - Maximum number of entries to return per page (between 1 and 100) * * @returns A promise that resolves to the comment response containing: * - request_id: The identifier for API request tracking * - error: Error type if any error occurred * - message: Error details if any error occurred * - response: The response data containing comment list, pagination info * * @throws {Error} When the API request fails or returns an error */ getComment(params: GetCommentParams): Promise<GetCommentResponse>; /** * Reply to buyer comments in batch * * Use this API to reply to comments from buyers in batch. You can reply to multiple comments at once. * * @param params - The parameters for replying to comments * @param params.comment_list - List of comments to reply to (between 1 and 100 items) * @param params.comment_list[].comment_id - The identity of comment to reply to * @param params.comment_list[].comment - The content of the reply (between 1 and 500 characters) * * @returns A promise that resolves to the reply response containing: * - request_id: The identifier for API request tracking * - error: Error type if any error occurred * - message: Error details if any error occurred * - response: The response data containing result list and warnings * * @throws {Error} When the API request fails or returns an error * - product.duplicate_request: You have already replied to this comment * - product.comment_length_invalid: Comment length should be between 1 and 500 * - product.error_permission: Reply comment failed due to invalid shop token * - product.error_not_exist: The comment you replied to does not exist * - product.duplicate_comment_id: Duplicate comment id in the request */ replyComment(params: ReplyCommentParams): Promise<ReplyCommentResponse>; /** * Use this call to get a list of items. * * @param params - Parameters for getting item list * @param params.offset - Specifies the starting entry of data to return. Default is 0. * @param params.page_size - The size of one page (1-100). * @param params.update_time_from - Start of date range for item update time. * @param params.update_time_to - End of date range for item update time. * @param params.item_status - Array of item statuses to filter by. * * @returns A promise that resolves to the item list response containing: * - item: List of item details (item_id, item_status, update_time, tag) * - total_count: Total number of items matching the filter * - has_next_page: Boolean indicating if there are more items * - next_offset: Offset for the next page if has_next_page is true * - warning: Optional warning message * * @throws {Error} When the API request fails or returns an error: * - error_update_time_range: update_time_to before update_time_from * - error_param_item_status: Invalid item status * - error_param_shop_id_not_found: Shop ID not found * - error_param: Offset over limit * - error_item_not_found: Product not found */ getItemList(params: GetItemListParams): Promise<GetItemListResponse>; /** * Use this API to get basic info of items by a list of item_ids. * * @param params - Parameters for getting item base info * @param params.item_id_list - List of Shopee's unique identifiers for items. Max 50. * @param params.need_tax_info - If true, tax_info will be included in the response. * @param params.need_complaint_policy - If true, complaint_policy will be included in the response (PL region only). * * @returns A promise that resolves to the item base info response containing: * - item_list: List of detailed item base information including: * - item_id, category_id, item_name, description, item_sku, create_time, update_time * - attribute_list: Item attributes * - price_info: Pricing details (if no models) * - image: Image URLs and IDs * - weight, dimension: Physical characteristics * - logistic_info: Enabled logistics channels and fees * - pre_order: Pre-order status and days to ship * - wholesales: Wholesale pricing tiers * - condition, size_chart, item_status, deboost, has_model, promotion_id * - video_info: Video URLs, thumbnails, and duration * - brand: Brand ID and name * - item_dangerous: Dangerous goods status * - gtin_code, size_chart_id, promotion_image, compatibility_info, scheduled_publish_time * - authorised_brand_id, ssp_id, is_fulfillment_by_shopee * - complaint_policy: (If requested and applicable) * - tax_info: (If requested) * - description_info, description_type: Normal or extended description details * - stock_info_v2: Detailed stock information (summary, seller, Shopee, advance) * - certification_info: Product certifications * - warning: Optional warning message * - Note: The top-level complaint_policy and tax_info in the response object seem redundant as they are also part of each item in item_list if requested. * * @throws {Error} When the API request fails or returns an error: * - error_item_not_found: Item ID not found * - error_param_shop_id_not_found: Shop ID not found * - error_invalid_language: Invalid language * - error_query_over_itemid_size: Too many item_ids in list */ getItemBaseInfo(params: GetItemBaseInfoParams): Promise<GetItemBaseInfoResponse>; /** * Get model list of an item * * Use this API to get model list of an item. * * @param params - The parameters for getting the model list * @param params.item_id - The ID of the item * * @returns A promise that resolves to the model list response containing: * - tier_variation: Variation config of item with option_list and name * - model: List of model information including price_info, model_id, tier_index, model_sku, model_status, etc. * - standardise_tier_variation: Standardise variation config of item (if available) * * @throws {Error} When the API request fails or returns an error: * - error_item_not_found: Item_id is not found * - error_param_shop_id_not_found: Shop_id is not found * - error_item_not_found: Product not found */ getModelList(params: GetModelListParams): Promise<GetModelListResponse>; }