import BaseModule from "../BaseModules"; import { GetProductInfoResponse } from "./response/GetProductInfoResponse"; import getProductByShopRequest from "./request/getProductByShopRequest"; import getAllProductRequest from "./request/getAllProductRequest"; import GetAllProductResponse from "./response/GetAllProductResponse"; import getAllActiveProductsRequest from "./request/getAllActiveProductsRequest"; import GetAllActiveProductResponse from "./response/GetAllActiveProductResponse"; import CreateProductRequest from "./request/CreateProductRequest"; import CreateProductResponse from "./response/CreateProductResponse"; import CheckCreateStatusResponse from "./response/CheckCreateStatusResponse"; import UpdateProductRequest from "./request/UpdateProductRequest"; import UpdateProductResponse from "./response/UpdateProductResponse"; import SetActiveResponse from "./response/SetActiveResponse"; import SetInactiveResponse from "./response/SetInactiveResponse"; import DeleteProductResponse from "./response/DeleteProductResponse"; import UpdatePriceResponse from "./response/UpdatePriceResponse"; import UpdatePriceRequest from "./request/UpdatePriceRequest"; import UpdateStockRequest from "./request/UpdateStockRequest"; import UpdateStockResponse from "./response/UpdateStockResponse"; import GetVariantByCategoryResponse from "./response/GetVariantByCategoryResponse"; import GetEtlaseResponse from "./response/GetEtlaseResponse"; export default class ProductModule extends BaseModule { /** * This method will retrieve single product information by product id or product url as parameter (choose one of those two parameters to use) from related fs_id * @param product_id Can input more than one product_id * @param product_url Can input more than one product_url */ getProductInfo(product_id?: number[], product_url?: string[]): Promise; /** * This method will retrieve single product information by product id or product url as parameter (choose one of those two parameters to use) from related fs_id * @param product_id Can input more than one product_id * @param product_url Can input more than one product_url */ getProductById(product_id: number): Promise; /** * This method will retrieve single product information by product sku from related fs_id * @param sku Product’s SKU */ getProductBySku(sku: string): Promise; /** * This is the new version of Get All Products V1, which adds sku field to the product object. * @param request */ getAllProduct(request: getAllProductRequest): Promise; /** * This endpoint retrieves a list of active products related to shop_id. * @param request */ getAllActiveProduct(request: getAllActiveProductsRequest): Promise; /** * This method will retrieve all product information from related shop id that associate with fs id. This method also support pagination pages. * To get list of shop id that associate with fs id, we can use this endpoint Get Shop Info * @param request */ getProductByShop(request: getProductByShopRequest): Promise; /** * use this method to create new product * @param request */ createProduct(request: CreateProductRequest): Promise; /** * use this method to update product * @param request */ updateProduct(request: UpdateProductRequest): Promise; /** * use this method to check operatin status * @param shop_id Unique identifier number for shop. * @param upload_id Unique identifier number for process operation. */ checkStatus(shop_id: number, upload_id: number): Promise; /** * This endpoint use to set product into active without change product current stock. * @param shop_id Unique identifier number for shop. * @param product_id Unique identifier number for product in array. */ setActiveProduct(shop_id: number, product_id: number[]): Promise; /** * This endpoint use to set product into inactive without change product current stock. * @param shop_id Unique identifier number for shop. * @param product_id Unique identifier number for product in array. */ setInactiveProduct(shop_id: number, product_id: number[]): Promise; /** * This endpoint use to delete product from a shop. * @param shop_id Unique identifier number for shop. * @param product_id Unique identifier number for product in array. */ deleteProduct(shop_id: number, product_id: number[]): Promise; /** * This endpoint used for update products’ price. You can update up to 100 products or SKUs in a single request to this endpoint. * @param request */ updateProductPrice(request: UpdatePriceRequest): Promise; /** * This endpoint used for update products’ stock. You can update up to 100 products or SKUs in a single request to this endpoint. * @param request */ updateProductStock(request: UpdateStockRequest): Promise; /** * get recommendation category * @param title the product name */ getCategoryRecommend(title: string): Promise; /** * get variant by category * @param category_id category unique identifier. */ getVariantByCategory(category_id: number): Promise; /** * get variant by product * @param product_id product unique identifier. */ getVariantByProduct(product_id: number): Promise; /** * get etalase by shop * @param shop_id shop unique identifier. */ getEtalase(shop_id: number): Promise; }