UNPKG

shopee-client

Version:
236 lines (235 loc) 10.8 kB
import BaseModule from "../BaseModule"; import DeleteItemResponse from "./response/item/DeleteItemResponse"; import { ItemUnlist } from "./request/item/UnlistRequest"; import UnlistResponse from "./response/item/UnlistResponse"; import getCategoryRequest from "./request/get/getCategoryRequest"; import GetCategoryReponse from "../category/response/getCategoryResponse"; import GetAttributeRequest from "./request/get/GetAttributeRequest"; import GetAttributeResponse from "./response/get/GetAttributeResponse"; import AddVariantRequest from "./request/variant/AddVariantRequest"; import AddVariantResponse from "./response/variant/AddVariantResponse"; import AddItemRequest from "./request/item/AddItemRequest"; import AddItemResponse, { Item } from "./response/item/AddItemResponse"; import deleteVariantRequest from "./request/variant/deleteVariantRequest"; import deleteVariantResponse from "./response/variant/deleteVariantResponse"; import GetItemListRequest from "./request/get/GetItemListRequest"; import GetItemListReponse from "./response/get/GetItemListResponse"; import getItemDetailResponse from "./response/get/getItemDetailResponse"; import updateItemResponse from "./response/item/updateItemResponse"; import AddItemImageRequest from "./request/img/AddItemImageRequest"; import AddItemImageResponse from "./response/img/AddItemImageResponse"; import UpdateItemImgRequest from "./request/img/UpdateItemImgRequest"; import UpdateItemImgResponse from "./response/img/UpdateItemImgResponse"; import InsertItemImgRequest from "./request/img/InsertItemImgRequest"; import InsertItemImgResponse from "./response/img/InsertItemImgResponse"; import DeleteItemImgRequest from "./request/img/DeleteItemImgRequest"; import DeleteItemImgResponse from "./response/img/DeleteItemImgResponse"; import UpdatePriceResponse from "./response/item/UpdatePriceResponse"; import UpdateStockResponse from "./response/item/UpdateStockResponse"; import UpdateVariantPriceRequest from "./request/variant/UpdateVariantPriceRequest"; import UpdateVariantPriceResponse from "./response/variant/UpdateVariantPriceResponse"; import UpdateVariantStockRequest from "./request/variant/UpdateVariantStockRequest"; import UpdateVariantStockResponse from "./response/variant/UpdateVariantStockResponse"; import UpdatePriceBatchRequest from "./request/batch/UpdatePriceBatchRequest"; import UpdatePriceBatchResponse from "./response/batch/UpdatePriceBatchResponse"; import UpdateStockBatchRequest from "./request/batch/UpdateStockBatchRequest"; import UpdateStockBatchResponse from "./response/batch/UpdateStockBatchResponse"; import UpdateVariantPriceBatchRequest from "./request/batch/UpdateVariantPriceBatchRequest"; import UpdateVariantPriceBatchResponse from "./response/batch/UpdateVariantPriceBatchResponse"; import UpdateVariantStockBatchRequest from "./request/batch/UpdateVariantStockBatchRequest"; import InitTier2Request from "./request/tier2/InitTier2Request"; import InitTier2Response from "./response/tier2/InitTier2Response"; import AddTierVariationRequest from "./request/tier2/AddTierVariationRequest"; import AddTierVariationResponse from "./response/tier2/AddTierVariationResponse"; import GetVariationTierResponse from "./response/tier2/GetVariationTierResponse"; import UpdateTierVariationRequest from "./request/tier2/UpdateTierVariationRequest"; import UpdateTierVariationResponse from "./response/tier2/UpdateTierVariationResponse"; import UpdateTierIndexResponse from "./response/tier2/UpdateTierIndexResponse"; import UpdateTierIndexRequest from "./request/tier2/UpdateTierIndexRequest"; import BoostResponse from "./response/boost/BoostResponse"; import GetBoostResponse from "./response/boost/GetBoostResponse"; import SetItemInstallmentRequest from "./request/item/SetItemInstallmentRequest"; import SetItemInstallmentResponse from "./response/item/SetItemInstallmentResponse"; import GetPromotionInfoRequest from "./request/get/GetPromotionInfoRequest"; import GetPromotionInfoResponse from "./response/get/GetPromotionInfoResponse"; import GetRecommendCategoryResponse from "./response/get/GetRecommendCategoryResponse"; import ReplyCommentRequest from "./request/comment/ReplyCommentRequest"; import ReplyCommentResponse from "./response/comment/ReplyCommentResponse"; export default class ItemModule extends BaseModule { /** * Use this call to add a product item. Should get dependency by calling below API first * shopee.item.GetCategories * shopee.item.GetAttributes * shopee.logistics.GetLogistics * @param request */ addItem(request: AddItemRequest): Promise<AddItemResponse>; /** * Use this call to delete a product item. * @param item_id id of an item. */ deleteItem(item_id: number): Promise<DeleteItemResponse>; /** * Use this api to unlist or list items in batch. * @param request */ unlistItem(items: ItemUnlist[]): Promise<UnlistResponse>; /** * Use this call to get categories of product item * @param request */ getCategory(request?: getCategoryRequest): Promise<GetCategoryReponse>; /** * Use this call to get attributes of product item * @param request */ getAttributes(request: GetAttributeRequest): Promise<GetAttributeResponse>; /** * Use this call to add item variations, it only supports non-tier-variation items. * @param request */ addVariant(request: AddVariantRequest): Promise<AddVariantResponse>; /** * Use this call to delete item variation * @param request */ deleteVariant(request: deleteVariantRequest): Promise<deleteVariantResponse>; /** * Use this call to get a list of items * @param request */ getItemsList(request: GetItemListRequest): Promise<GetItemListReponse>; /** * Use this call to get detail of item * @param request */ getItemDetail(item_id: number): Promise<getItemDetailResponse>; /** * Use this call to update a product item. * Should get dependency by calling below API first shopee.item.GetItemDetail * @param request */ updateItem(item: Item): Promise<updateItemResponse>; /** * Use this call to add product item images. * @param request */ addItemImg(request: AddItemImageRequest): Promise<AddItemImageResponse>; /** * Override and update all the existing images of an item. * @param request */ updateItemImg(request: UpdateItemImgRequest): Promise<UpdateItemImgResponse>; /** * Use this call to add one item image in assigned position. * @param request */ insertItemImg(request: InsertItemImgRequest): Promise<InsertItemImgResponse>; /** * Use this call to delete a product item image. * @param request */ deleteItemImg(request: DeleteItemImgRequest): Promise<DeleteItemImgResponse>; /** * Use this call to update item price * @param request */ updatePrice(item_id: number, price: number): Promise<UpdatePriceResponse>; /** * Use this call to update item stock * @param request */ updateStock(item_id: number, stock: number): Promise<UpdateStockResponse>; /** * Use this call to update item variation price * @param request */ updateVariationPrice(request: UpdateVariantPriceRequest): Promise<UpdateVariantPriceResponse>; /** * Use this call to update item variation stock * @param request */ updateVariationStock(request: UpdateVariantStockRequest): Promise<UpdateVariantStockResponse>; /** * Update items price in batch. * @param request */ updatePriceBatch(request: UpdatePriceBatchRequest): Promise<UpdatePriceBatchResponse>; /** * Update items stock in batch. * @param request */ updateStockBatch(request: UpdateStockBatchRequest): Promise<UpdateStockBatchResponse>; /** * Update variations price in batch. * @param request */ updateVariationPriceBatch(request: UpdateVariantPriceBatchRequest): Promise<UpdateVariantPriceBatchResponse>; /** * Update variations price in batch. * @param request */ updateVariationStockBatch(request: UpdateVariantStockBatchRequest): Promise<UpdateVariantStockBatchRequest>; /** * Initialize a non-tier-variation item to a tier-variation item, upload variation image and initialize stock and price for each variation. * This API cannot edit existed tier_variation and variation price/stock. * @param request */ initTierVariation(request: InitTier2Request): Promise<InitTier2Response>; /** * Use this api to add new tier variations in batch. * Tier variation index of variations in the same item must be unique. * @param request */ addTierVariation(request: AddTierVariationRequest): Promise<AddTierVariationResponse>; /** * Use this call to get tier-variation basic information under an item * @param item_id unique identifier id. */ getTierVariation(item_id: number): Promise<GetVariationTierResponse>; /** * Use this api to update tier-variation list or upload variation image of a tier-variation item. * @param request */ updateTierVariation(request: UpdateTierVariationRequest): Promise<UpdateTierVariationResponse>; /** * Use this api to update existing tier index under the same variation_id. * @param request */ updateTierVariationIndex(request: UpdateTierIndexRequest): Promise<UpdateTierIndexResponse>; /** * Use this api to boost multiple items at once. * @param request */ boostItem(item_id: number[]): Promise<BoostResponse>; /** * Use this api to get all boosted items. * @param request */ getBoostItem(): Promise<GetBoostResponse>; /** * Only for TW whitelisted shop. Use this API to set the installment tenures of items. * @param request */ setInstallment(request: SetItemInstallmentRequest): Promise<SetItemInstallmentResponse>; /** * Use this api to get ongoing and upcoming promotions. * @param request */ getPromotionInfo(request: GetPromotionInfoRequest): Promise<GetPromotionInfoResponse>; /** * Use this API to get recommended category ids according to item name. * @param name title of product */ getRecommendCategory(name: string): Promise<GetRecommendCategoryResponse>; /** * Use this api to get comment by shopid/itemid/comment_id * @param name title of product */ getComment(name: string): Promise<GetRecommendCategoryResponse>; /** * Use this api to reply comments from buyers in batch * @param request */ replyComment(request: ReplyCommentRequest): Promise<ReplyCommentResponse>; }