/* 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 { ProductModelsReadProductItemStock } from './ProductModelsReadProductItemStock'; import { ProductModelsReadProductItemStockFromJSON, ProductModelsReadProductItemStockFromJSONTyped, ProductModelsReadProductItemStockToJSON, } from './ProductModelsReadProductItemStock'; import type { ProductModelsReadShippingFee } from './ProductModelsReadShippingFee'; import { ProductModelsReadShippingFeeFromJSON, ProductModelsReadShippingFeeFromJSONTyped, ProductModelsReadShippingFeeToJSON, } from './ProductModelsReadShippingFee'; /** * A product item belonging to a product. * @export * @interface ProductModelsReadProductItem */ export interface ProductModelsReadProductItem { /** * The product item id. * @type {number} * @memberof ProductModelsReadProductItem */ itemId?: number; /** * The article number for the product item. * @type {string} * @memberof ProductModelsReadProductItem */ articleNumber?: string; /** * The id of the product that the item belongs to. * @type {number} * @memberof ProductModelsReadProductItem */ productId?: number; /** * The name of the product item. * @type {string} * @memberof ProductModelsReadProductItem */ name?: string; /** * The shelf name where the product item can be found. * @type {string} * @memberof ProductModelsReadProductItem */ shelf?: string; /** * The weight of the item in grams (g). * @type {number} * @memberof ProductModelsReadProductItem */ weight?: number; /** * The length of the item in millimeters (mm). * @type {number} * @memberof ProductModelsReadProductItem */ length?: number; /** * The width of the item in millimeters (mm). * @type {number} * @memberof ProductModelsReadProductItem */ width?: number; /** * The height of the item in millimeters (mm). * @type {number} * @memberof ProductModelsReadProductItem */ height?: number; /** * The GTIN number for the item. * Also known as EAN, UCC or UPS number. * @type {string} * @memberof ProductModelsReadProductItem */ gtin?: string; /** * The date the item was created. * @type {Date} * @memberof ProductModelsReadProductItem */ dateCreated?: Date; /** * The date the item was last updated. * @type {Date} * @memberof ProductModelsReadProductItem */ dateUpdated?: Date; /** * The date the item will be in stock again. * @type {Date} * @memberof ProductModelsReadProductItem */ dateIncoming?: Date; /** * The current state of the item. * @type {boolean} * @memberof ProductModelsReadProductItem */ active?: boolean; /** * External Id of the product item. * @type {string} * @memberof ProductModelsReadProductItem */ externalId?: string; /** * * @type {ProductModelsReadProductItemStock} * @memberof ProductModelsReadProductItem */ stock?: ProductModelsReadProductItemStock; /** * The lowest shipping fees for each market and country for the product item. * @type {Array} * @memberof ProductModelsReadProductItem */ shippingFees?: Array; } /** * Check if a given object implements the ProductModelsReadProductItem interface. */ export function instanceOfProductModelsReadProductItem(value: object): boolean { let isInstance = true; return isInstance; } export function ProductModelsReadProductItemFromJSON(json: any): ProductModelsReadProductItem { return ProductModelsReadProductItemFromJSONTyped(json, false); } export function ProductModelsReadProductItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProductModelsReadProductItem { if ((json === undefined) || (json === null)) { return json; } return { 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], 'articleNumber': !exists(json, 'ArticleNumber') ? undefined : json['ArticleNumber'], 'productId': !exists(json, 'ProductId') ? undefined : json['ProductId'], 'name': !exists(json, 'Name') ? undefined : json['Name'], 'shelf': !exists(json, 'Shelf') ? undefined : json['Shelf'], 'weight': !exists(json, 'Weight') ? undefined : json['Weight'], 'length': !exists(json, 'Length') ? undefined : json['Length'], 'width': !exists(json, 'Width') ? undefined : json['Width'], 'height': !exists(json, 'Height') ? undefined : json['Height'], 'gtin': !exists(json, 'Gtin') ? undefined : json['Gtin'], 'dateCreated': !exists(json, 'DateCreated') ? undefined : (new Date(json['DateCreated'])), 'dateUpdated': !exists(json, 'DateUpdated') ? undefined : (new Date(json['DateUpdated'])), 'dateIncoming': !exists(json, 'DateIncoming') ? undefined : (new Date(json['DateIncoming'])), 'active': !exists(json, 'Active') ? undefined : json['Active'], 'externalId': !exists(json, 'ExternalId') ? undefined : json['ExternalId'], 'stock': !exists(json, 'Stock') ? undefined : ProductModelsReadProductItemStockFromJSON(json['Stock']), 'shippingFees': !exists(json, 'ShippingFees') ? undefined : ((json['ShippingFees'] as Array).map(ProductModelsReadShippingFeeFromJSON)), }; } export function ProductModelsReadProductItemToJSON(value?: ProductModelsReadProductItem | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'ItemId': value.itemId, 'ArticleNumber': value.articleNumber, 'ProductId': value.productId, 'Name': value.name, 'Shelf': value.shelf, 'Weight': value.weight, 'Length': value.length, 'Width': value.width, 'Height': value.height, 'Gtin': value.gtin, 'DateCreated': value.dateCreated === undefined ? undefined : (value.dateCreated.toISOString()), 'DateUpdated': value.dateUpdated === undefined ? undefined : (value.dateUpdated.toISOString()), 'DateIncoming': value.dateIncoming === undefined ? undefined : (value.dateIncoming.toISOString()), 'Active': value.active, 'ExternalId': value.externalId, 'Stock': ProductModelsReadProductItemStockToJSON(value.stock), 'ShippingFees': value.shippingFees === undefined ? undefined : ((value.shippingFees as Array).map(ProductModelsReadShippingFeeToJSON)), }; }