/** * Geins Management API * Geins Management API is a RESTful api that powers your applications and helps you manage your Geins services. Geins provides an easy-to-use and scalable solution for managing all aspects of an online store, from product listings and customer information to order processing and payment transactions. :::tip Tip With this API, you can build custom applications and integrate with third-party systems, feeds, dashboards and other bussiness logic apps. ::: ## Getting started Once you have created an account, you can start using the Management API by creating an `API User`. You can create as many API users as you need. Each `API user` is connected to a specific account so you can keep track of operations and manage keys. You can find all your API credentials in `Geins Merchant Center`. ### Fast track Use one of our [SDKs](https://docs.geins.io/docs/sdk/introduction) to get started quickly. The SDKs are available for the most popular programming languages and frameworks. Or, if you prefer to just take it for a test run: [![Run in Postman](https://run.pstmn.io/button.svg)](https://god.gw.postman.com/run-collection/25895885-aaf6598f-1a7c-4949-85d7-ba846c42d553?action=collection%2Ffork&collection-url=entityId%3D25895885-aaf6598f-1a7c-4949-85d7-ba846c42d553%26entityType%3Dcollection%26workspaceId%3Da2a179ce-158e-46b0-8d06-e9640f45112c) ### Authentication Two authentication methods are required: - `Basic Auth` - `API Key` All API credentials can be found in `Geins Merchant Center`. #### Basic Auth A Basic auth `Authorization` header needs to be included in every request. The value should be `Basic ` where `` is the Base64 encoding of your `API username` and `API password` joined by a single colon `:`. See [Wikipedia](https://en.wikipedia.org/wiki/Basic_access_authentication) for more information on Basic auth. #### API Key An `X-ApiKey` header needs to be included in every request. This header should contain the value of your `API key`. #### Example ```bash curl -X GET \"https://mgmtapi.geins.io/API/Market/List\" \\ -H \"Authorization: Basic [USER-CREDENTIALS-BASE64-ENCODED]\" \\ -H \"X-ApiKey: [API-KEY]\" ``` * * The version of the OpenAPI document: v1.10.1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import * as runtime from '../runtime'; import type { BaseEnvelope, EnvelopeListProductModelsReadFeed, EnvelopeListProductModelsReadProductItem, EnvelopeListProductModelsReadProductItemStock, EnvelopeListProductModelsReadRelationType, EnvelopeProductModelsReadProduct, EnvelopeProductModelsReadProductItem, EnvelopeProductModelsReadProductItemResult, PagedEnvelopeListProductModelsReadProduct, ProductModelsMonitorSku, ProductModelsProductCategory, ProductModelsProductQuery, ProductModelsReadProductItem, ProductModelsRelatedProductEnvelope, ProductModelsStockEnvelope, ProductModelsWriteProduct, ProductModelsWriteProductItem, ProductModelsWriteProductItemStock, ProductModelsWriteRelatedProduct, ProductProductItemEnvelope } from '../models'; export interface AddAvailabilityMonitorRequest { model: ProductModelsMonitorSku; } export interface AddCategoryToProductRequest { productId: string; productCategory: ProductModelsProductCategory; productIdType?: AddCategoryToProductProductIdTypeEnum; } export interface AddRelatedProductsToProductRequest { productId: string; relatedProducts: Array; productIdType?: AddRelatedProductsToProductProductIdTypeEnum; } export interface CreateProductRequest { product: ProductModelsWriteProduct; include?: string; } export interface CreateProductItemRequest { productId: string; productItem: ProductModelsWriteProductItem; productIdType?: CreateProductItemProductIdTypeEnum; } export interface DeleteProductRequest { productId: string; productIdType?: DeleteProductProductIdTypeEnum; } export interface GetProductRequest { productId: string; productIdType?: GetProductProductIdTypeEnum; include?: string; } export interface GetProductItemRequest { itemId: string; productItemIdType?: GetProductItemProductItemIdTypeEnum; } export interface LinkRelatedProductsRequest { productId: string; relationTypeId: number; relatedProducts: Array; productIdType?: LinkRelatedProductsProductIdTypeEnum; } export interface ListProductItemsPagedRequest { page: number; } export interface QueryProductsRequest { query: ProductModelsProductQuery; include?: string; } export interface QueryProductsPagedRequest { page: number; query: ProductModelsProductQuery; include?: string; } export interface QueryStockRequest { productItemIds: Array; } export interface UnlinkRelatedProductsViaRelationRequest { productId: string; relationTypeId: number; relatedProducts: Array; productIdType?: UnlinkRelatedProductsViaRelationProductIdTypeEnum; } export interface UpdateProductRequest { productId: string; product: ProductModelsWriteProduct; productIdType?: UpdateProductProductIdTypeEnum; include?: string; } export interface UpdateProductItemRequest { itemId: string; productItem: ProductModelsWriteProductItem; productItemIdType?: UpdateProductItemProductItemIdTypeEnum; } export interface UpdateProductItemsBatchRequest { productItems: Array; productItemIdType?: UpdateProductItemsBatchProductItemIdTypeEnum; } export interface UpdateStockBatchRequest { productItemStocks: Array; productItemIdType?: UpdateStockBatchProductItemIdTypeEnum; } /** * */ export declare class ProductApi extends runtime.BaseAPI { /** * Adds a product availability monitor. * Add availability monitor */ addAvailabilityMonitorRaw(requestParameters: AddAvailabilityMonitorRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Adds a product availability monitor. * Add availability monitor */ addAvailabilityMonitor(requestParameters: AddAvailabilityMonitorRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Adds a category relation to a product. * Add category to product */ addCategoryToProductRaw(requestParameters: AddCategoryToProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Adds a category relation to a product. * Add category to product */ addCategoryToProduct(requestParameters: AddCategoryToProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Add related products to a product */ addRelatedProductsToProductRaw(requestParameters: AddRelatedProductsToProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Add related products to a product */ addRelatedProductsToProduct(requestParameters: AddRelatedProductsToProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Creates a new product. * Create product */ createProductRaw(requestParameters: CreateProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Creates a new product. * Create product */ createProduct(requestParameters: CreateProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Creates a new product item. * Create product item */ createProductItemRaw(requestParameters: CreateProductItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Creates a new product item. * Create product item */ createProductItem(requestParameters: CreateProductItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Deletes a specific product. * Delete product */ deleteProductRaw(requestParameters: DeleteProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Deletes a specific product. * Delete product */ deleteProduct(requestParameters: DeleteProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Gets a specific product. Make sure to include relevant child-collections in the request. * Get product */ getProductRaw(requestParameters: GetProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Gets a specific product. Make sure to include relevant child-collections in the request. * Get product */ getProduct(requestParameters: GetProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Gets a specific product item (SKU). * Get product item */ getProductItemRaw(requestParameters: GetProductItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Gets a specific product item (SKU). * Get product item */ getProductItem(requestParameters: GetProductItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Add related products to a product using a fixed relation type. * Link related products */ linkRelatedProductsRaw(requestParameters: LinkRelatedProductsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Add related products to a product using a fixed relation type. * Link related products */ linkRelatedProducts(requestParameters: LinkRelatedProductsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Gets a list of all feeds. * List feeds */ listFeedsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Gets a list of all feeds. * List feeds */ listFeeds(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Gets all product items. * List product items */ listProductItemsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>>; /** * Gets all product items. * List product items */ listProductItems(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Gets all product items with pagination. * List product items (paged) */ listProductItemsPagedRaw(requestParameters: ListProductItemsPagedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Gets all product items with pagination. * List product items (paged) */ listProductItemsPaged(requestParameters: ListProductItemsPagedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Gets a list of product relation types * List product relation types */ listProductRelationTypesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Gets a list of product relation types * List product relation types */ listProductRelationTypes(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Query products */ queryProductsRaw(requestParameters: QueryProductsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Query products */ queryProducts(requestParameters: QueryProductsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * The batch id is mandatory when fetching any page other than the first page. If no batch id is provided for the first page, then a new batch is created. Batch id and pagination information can be found in the response. * Query products (paged) */ queryProductsPagedRaw(requestParameters: QueryProductsPagedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * The batch id is mandatory when fetching any page other than the first page. If no batch id is provided for the first page, then a new batch is created. Batch id and pagination information can be found in the response. * Query products (paged) */ queryProductsPaged(requestParameters: QueryProductsPagedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Query stock */ queryStockRaw(requestParameters: QueryStockRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Query stock */ queryStock(requestParameters: QueryStockRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Remove related products from a product using a fixed relation type. * Unlink related products (via relation). */ unlinkRelatedProductsViaRelationRaw(requestParameters: UnlinkRelatedProductsViaRelationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Remove related products from a product using a fixed relation type. * Unlink related products (via relation). */ unlinkRelatedProductsViaRelation(requestParameters: UnlinkRelatedProductsViaRelationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Updates a product. * Update product */ updateProductRaw(requestParameters: UpdateProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Updates a product. * Update product */ updateProduct(requestParameters: UpdateProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Updates a product item. * Update product item */ updateProductItemRaw(requestParameters: UpdateProductItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Updates a product item. * Update product item */ updateProductItem(requestParameters: UpdateProductItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Updates product items in batch. * Update product items (batch) */ updateProductItemsBatchRaw(requestParameters: UpdateProductItemsBatchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Updates product items in batch. * Update product items (batch) */ updateProductItemsBatch(requestParameters: UpdateProductItemsBatchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Update stock values for multiple product items. * Update stock (batch) */ updateStockBatchRaw(requestParameters: UpdateStockBatchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Update stock values for multiple product items. * Update stock (batch) */ updateStockBatch(requestParameters: UpdateStockBatchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } /** * @export */ export declare const AddCategoryToProductProductIdTypeEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; readonly NUMBER_2: 2; readonly NUMBER_3: 3; }; export type AddCategoryToProductProductIdTypeEnum = typeof AddCategoryToProductProductIdTypeEnum[keyof typeof AddCategoryToProductProductIdTypeEnum]; /** * @export */ export declare const AddRelatedProductsToProductProductIdTypeEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; readonly NUMBER_2: 2; readonly NUMBER_3: 3; }; export type AddRelatedProductsToProductProductIdTypeEnum = typeof AddRelatedProductsToProductProductIdTypeEnum[keyof typeof AddRelatedProductsToProductProductIdTypeEnum]; /** * @export */ export declare const CreateProductItemProductIdTypeEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; readonly NUMBER_2: 2; readonly NUMBER_3: 3; }; export type CreateProductItemProductIdTypeEnum = typeof CreateProductItemProductIdTypeEnum[keyof typeof CreateProductItemProductIdTypeEnum]; /** * @export */ export declare const DeleteProductProductIdTypeEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; readonly NUMBER_2: 2; readonly NUMBER_3: 3; }; export type DeleteProductProductIdTypeEnum = typeof DeleteProductProductIdTypeEnum[keyof typeof DeleteProductProductIdTypeEnum]; /** * @export */ export declare const GetProductProductIdTypeEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; readonly NUMBER_2: 2; readonly NUMBER_3: 3; }; export type GetProductProductIdTypeEnum = typeof GetProductProductIdTypeEnum[keyof typeof GetProductProductIdTypeEnum]; /** * @export */ export declare const GetProductItemProductItemIdTypeEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; readonly NUMBER_2: 2; readonly NUMBER_3: 3; readonly NUMBER_4: 4; }; export type GetProductItemProductItemIdTypeEnum = typeof GetProductItemProductItemIdTypeEnum[keyof typeof GetProductItemProductItemIdTypeEnum]; /** * @export */ export declare const LinkRelatedProductsProductIdTypeEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; readonly NUMBER_2: 2; readonly NUMBER_3: 3; }; export type LinkRelatedProductsProductIdTypeEnum = typeof LinkRelatedProductsProductIdTypeEnum[keyof typeof LinkRelatedProductsProductIdTypeEnum]; /** * @export */ export declare const UnlinkRelatedProductsViaRelationProductIdTypeEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; readonly NUMBER_2: 2; readonly NUMBER_3: 3; }; export type UnlinkRelatedProductsViaRelationProductIdTypeEnum = typeof UnlinkRelatedProductsViaRelationProductIdTypeEnum[keyof typeof UnlinkRelatedProductsViaRelationProductIdTypeEnum]; /** * @export */ export declare const UpdateProductProductIdTypeEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; readonly NUMBER_2: 2; readonly NUMBER_3: 3; }; export type UpdateProductProductIdTypeEnum = typeof UpdateProductProductIdTypeEnum[keyof typeof UpdateProductProductIdTypeEnum]; /** * @export */ export declare const UpdateProductItemProductItemIdTypeEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; readonly NUMBER_2: 2; readonly NUMBER_3: 3; readonly NUMBER_4: 4; }; export type UpdateProductItemProductItemIdTypeEnum = typeof UpdateProductItemProductItemIdTypeEnum[keyof typeof UpdateProductItemProductItemIdTypeEnum]; /** * @export */ export declare const UpdateProductItemsBatchProductItemIdTypeEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; readonly NUMBER_2: 2; readonly NUMBER_3: 3; readonly NUMBER_4: 4; }; export type UpdateProductItemsBatchProductItemIdTypeEnum = typeof UpdateProductItemsBatchProductItemIdTypeEnum[keyof typeof UpdateProductItemsBatchProductItemIdTypeEnum]; /** * @export */ export declare const UpdateStockBatchProductItemIdTypeEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; readonly NUMBER_2: 2; readonly NUMBER_3: 3; readonly NUMBER_4: 4; }; export type UpdateStockBatchProductItemIdTypeEnum = typeof UpdateStockBatchProductItemIdTypeEnum[keyof typeof UpdateStockBatchProductItemIdTypeEnum];