/* tslint:disable */ /* eslint-disable */ /** * 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 { exists, mapValues } from '../runtime'; import type { MarketModelsMarket } from './MarketModelsMarket'; import { MarketModelsMarketFromJSON, MarketModelsMarketFromJSONTyped, MarketModelsMarketToJSON, } from './MarketModelsMarket'; import type { ProductModelsWriteProductItem } from './ProductModelsWriteProductItem'; import { ProductModelsWriteProductItemFromJSON, ProductModelsWriteProductItemFromJSONTyped, ProductModelsWriteProductItemToJSON, } from './ProductModelsWriteProductItem'; import type { ProductParameterModelsWriteProductParameterValue } from './ProductParameterModelsWriteProductParameterValue'; import { ProductParameterModelsWriteProductParameterValueFromJSON, ProductParameterModelsWriteProductParameterValueFromJSONTyped, ProductParameterModelsWriteProductParameterValueToJSON, } from './ProductParameterModelsWriteProductParameterValue'; import type { SharedModelsLocalizableContent } from './SharedModelsLocalizableContent'; import { SharedModelsLocalizableContentFromJSON, SharedModelsLocalizableContentFromJSONTyped, SharedModelsLocalizableContentToJSON, } from './SharedModelsLocalizableContent'; import type { VariantModelsWriteVariant } from './VariantModelsWriteVariant'; import { VariantModelsWriteVariantFromJSON, VariantModelsWriteVariantFromJSONTyped, VariantModelsWriteVariantToJSON, } from './VariantModelsWriteVariant'; /** * A product. * @export * @interface ProductModelsWriteProduct */ export interface ProductModelsWriteProduct { /** * The article number of the product. * @type {string} * @memberof ProductModelsWriteProduct */ articleNumber?: string; /** * The localized names of the product. * @type {Array} * @memberof ProductModelsWriteProduct */ names?: Array; /** * The current state of the product. * @type {boolean} * @memberof ProductModelsWriteProduct */ active?: boolean; /** * The purchase price in the currency defined in PurchasePriceCurrency. * @type {number} * @memberof ProductModelsWriteProduct */ purchasePrice?: number; /** * The 3-letter ISO 4217 currency code for the amount given in PurchasePrice. * @type {string} * @memberof ProductModelsWriteProduct */ purchasePriceCurrency?: string; /** * Localized short texts for the product. * @type {Array} * @memberof ProductModelsWriteProduct */ shortTexts?: Array; /** * Localized long texts for the product. * @type {Array} * @memberof ProductModelsWriteProduct */ longTexts?: Array; /** * Localized tech texts for the product. * @type {Array} * @memberof ProductModelsWriteProduct */ techTexts?: Array; /** * The brand of the product. * @type {number} * @memberof ProductModelsWriteProduct */ brandId?: number; /** * The supplier id of the product. * @type {number} * @memberof ProductModelsWriteProduct */ supplierId?: number; /** * The items belonging to the product. * Only valid for product creation. * @type {Array} * @memberof ProductModelsWriteProduct */ items?: Array; /** * The category ids the product belongs to. * @type {Array} * @memberof ProductModelsWriteProduct */ categoryIds?: Array; /** * The parameter values associated with the product. * Only valid for product creation. * @type {Array} * @memberof ProductModelsWriteProduct */ parameterValues?: Array; /** * The variants for this product. * @type {Array} * @memberof ProductModelsWriteProduct */ variants?: Array; /** * The markets for this product. * @type {Array} * @memberof ProductModelsWriteProduct */ markets?: Array; /** * Id of freight class. * @type {number} * @memberof ProductModelsWriteProduct */ freightClassId?: number; /** * Intrastat code of the product. * @type {string} * @memberof ProductModelsWriteProduct */ intrastatCode?: string; /** * Country of orgin of product. * @type {string} * @memberof ProductModelsWriteProduct */ countryOfOrigin?: string; /** * Id of Variant Group to whom the product should be associated. * @type {number} * @memberof ProductModelsWriteProduct */ variantGroupId?: number; /** * ID or rate of VAT (On create and if no VAT is provided then default VAT will be used). * @type {number} * @memberof ProductModelsWriteProduct */ vat?: number; /** * Defines how VAT parameter should be interpreted. * Actual = VAT parameter is interpreted as VAT rate. * VatId = VAT parameter is interpreted as VAT Id. * @type {string} * @memberof ProductModelsWriteProduct */ vatType?: string; /** * External id of the product. * @type {string} * @memberof ProductModelsWriteProduct */ externalId?: string; /** * Activation date for the product. * @type {Date} * @memberof ProductModelsWriteProduct */ activationDate?: Date; } /** * Check if a given object implements the ProductModelsWriteProduct interface. */ export function instanceOfProductModelsWriteProduct(value: object): boolean { let isInstance = true; return isInstance; } export function ProductModelsWriteProductFromJSON(json: any): ProductModelsWriteProduct { return ProductModelsWriteProductFromJSONTyped(json, false); } export function ProductModelsWriteProductFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProductModelsWriteProduct { if ((json === undefined) || (json === null)) { return json; } return { 'articleNumber': !exists(json, 'ArticleNumber') ? undefined : json['ArticleNumber'], 'names': !exists(json, 'Names') ? undefined : ((json['Names'] as Array).map(SharedModelsLocalizableContentFromJSON)), 'active': !exists(json, 'Active') ? undefined : json['Active'], 'purchasePrice': !exists(json, 'PurchasePrice') ? undefined : json['PurchasePrice'], 'purchasePriceCurrency': !exists(json, 'PurchasePriceCurrency') ? undefined : json['PurchasePriceCurrency'], 'shortTexts': !exists(json, 'ShortTexts') ? undefined : ((json['ShortTexts'] as Array).map(SharedModelsLocalizableContentFromJSON)), 'longTexts': !exists(json, 'LongTexts') ? undefined : ((json['LongTexts'] as Array).map(SharedModelsLocalizableContentFromJSON)), 'techTexts': !exists(json, 'TechTexts') ? undefined : ((json['TechTexts'] as Array).map(SharedModelsLocalizableContentFromJSON)), 'brandId': !exists(json, 'BrandId') ? undefined : json['BrandId'], 'supplierId': !exists(json, 'SupplierId') ? undefined : json['SupplierId'], 'items': !exists(json, 'Items') ? undefined : ((json['Items'] as Array).map(ProductModelsWriteProductItemFromJSON)), 'categoryIds': !exists(json, 'CategoryIds') ? undefined : json['CategoryIds'], 'parameterValues': !exists(json, 'ParameterValues') ? undefined : ((json['ParameterValues'] as Array).map(ProductParameterModelsWriteProductParameterValueFromJSON)), 'variants': !exists(json, 'Variants') ? undefined : ((json['Variants'] as Array).map(VariantModelsWriteVariantFromJSON)), 'markets': !exists(json, 'Markets') ? undefined : ((json['Markets'] as Array).map(MarketModelsMarketFromJSON)), 'freightClassId': !exists(json, 'FreightClassId') ? undefined : json['FreightClassId'], 'intrastatCode': !exists(json, 'IntrastatCode') ? undefined : json['IntrastatCode'], 'countryOfOrigin': !exists(json, 'CountryOfOrigin') ? undefined : json['CountryOfOrigin'], 'variantGroupId': !exists(json, 'VariantGroupId') ? undefined : json['VariantGroupId'], 'vat': !exists(json, 'Vat') ? undefined : json['Vat'], 'vatType': !exists(json, 'VatType') ? undefined : json['VatType'], 'externalId': !exists(json, 'ExternalId') ? undefined : json['ExternalId'], 'activationDate': !exists(json, 'ActivationDate') ? undefined : (new Date(json['ActivationDate'])), }; } export function ProductModelsWriteProductToJSON(value?: ProductModelsWriteProduct | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'ArticleNumber': value.articleNumber, 'Names': value.names === undefined ? undefined : ((value.names as Array).map(SharedModelsLocalizableContentToJSON)), 'Active': value.active, 'PurchasePrice': value.purchasePrice, 'PurchasePriceCurrency': value.purchasePriceCurrency, 'ShortTexts': value.shortTexts === undefined ? undefined : ((value.shortTexts as Array).map(SharedModelsLocalizableContentToJSON)), 'LongTexts': value.longTexts === undefined ? undefined : ((value.longTexts as Array).map(SharedModelsLocalizableContentToJSON)), 'TechTexts': value.techTexts === undefined ? undefined : ((value.techTexts as Array).map(SharedModelsLocalizableContentToJSON)), 'BrandId': value.brandId, 'SupplierId': value.supplierId, 'Items': value.items === undefined ? undefined : ((value.items as Array).map(ProductModelsWriteProductItemToJSON)), 'CategoryIds': value.categoryIds, 'ParameterValues': value.parameterValues === undefined ? undefined : ((value.parameterValues as Array).map(ProductParameterModelsWriteProductParameterValueToJSON)), 'Variants': value.variants === undefined ? undefined : ((value.variants as Array).map(VariantModelsWriteVariantToJSON)), 'Markets': value.markets === undefined ? undefined : ((value.markets as Array).map(MarketModelsMarketToJSON)), 'FreightClassId': value.freightClassId, 'IntrastatCode': value.intrastatCode, 'CountryOfOrigin': value.countryOfOrigin, 'VariantGroupId': value.variantGroupId, 'Vat': value.vat, 'VatType': value.vatType, 'ExternalId': value.externalId, 'ActivationDate': value.activationDate === undefined ? undefined : (value.activationDate.toISOString()), }; }