/* 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 { OrderModelsAddress } from './OrderModelsAddress'; import { OrderModelsAddressFromJSON, OrderModelsAddressFromJSONTyped, OrderModelsAddressToJSON, } from './OrderModelsAddress'; import type { OrderModelsOrderRefund } from './OrderModelsOrderRefund'; import { OrderModelsOrderRefundFromJSON, OrderModelsOrderRefundFromJSONTyped, OrderModelsOrderRefundToJSON, } from './OrderModelsOrderRefund'; import type { OrderModelsOrderRow } from './OrderModelsOrderRow'; import { OrderModelsOrderRowFromJSON, OrderModelsOrderRowFromJSONTyped, OrderModelsOrderRowToJSON, } from './OrderModelsOrderRow'; import type { OrderModelsPaymentDetail } from './OrderModelsPaymentDetail'; import { OrderModelsPaymentDetailFromJSON, OrderModelsPaymentDetailFromJSONTyped, OrderModelsPaymentDetailToJSON, } from './OrderModelsPaymentDetail'; import type { OrderModelsShippingDetail } from './OrderModelsShippingDetail'; import { OrderModelsShippingDetailFromJSON, OrderModelsShippingDetailFromJSONTyped, OrderModelsShippingDetailToJSON, } from './OrderModelsShippingDetail'; /** * An order. * @export * @interface OrderModelsOrder */ export interface OrderModelsOrder { /** * The id of the order. * @type {number} * @memberof OrderModelsOrder */ id?: number; /** * The external id of the order. * @type {string} * @memberof OrderModelsOrder */ externalId?: string; /** * The personal id or organisation number of the customer. * @type {string} * @memberof OrderModelsOrder */ personalId?: string; /** * The id of the customer that placed the order. * @type {number} * @memberof OrderModelsOrder */ customerId?: number; /** * Customer type. Usually 1 for private customers and 2 for companies. * @type {number} * @memberof OrderModelsOrder */ customerTypeId?: number; /** * The id of the customer group that the customer belongs to, if any. * @type {number} * @memberof OrderModelsOrder */ customerGroupId?: number; /** * The name of the customer group that the customer belongs to, if any. * @type {string} * @memberof OrderModelsOrder */ customerGroupName?: string; /** * Date and time when the order was created. * @type {Date} * @memberof OrderModelsOrder */ createdAt?: Date; /** * Date and time when the order was last updated. * @type {Date} * @memberof OrderModelsOrder */ updatedAt?: Date; /** * The date nd time when the order was completed (eg delivered and paid). * @type {Date} * @memberof OrderModelsOrder */ completedAt?: Date; /** * The order status. * Possbile values: * cancelled * on-hold * inactive * refunded * partial * pending-payment * backorder * completed * pending * @type {string} * @memberof OrderModelsOrder */ status?: string; /** * ISO currency code. * @type {string} * @memberof OrderModelsOrder */ currency?: string; /** * The currency rate to SEK. * @type {number} * @memberof OrderModelsOrder */ currencyRate?: number; /** * The id of the market that this order originates from. * @type {number} * @memberof OrderModelsOrder */ marketId?: number; /** * The market name. This is usually equal to the site or channel name. * @type {string} * @memberof OrderModelsOrder */ marketName?: string; /** * Two-letter language code. * @type {string} * @memberof OrderModelsOrder */ language?: string; /** * Order total. * @type {number} * @memberof OrderModelsOrder */ orderTotal?: number; /** * Expected total sum to be paid after discount and balance. * The value is usually taken directly from the payment provider and represents the actual reserved amount. * If this differs from OrderTotal, actions should be taken to ensure they match. This usually happens due to rounding. * @type {number} * @memberof OrderModelsOrder */ expectedSum?: number; /** * Order VAT total. * @type {number} * @memberof OrderModelsOrder */ vATTotal?: number; /** * Order value inc vat after discount but before balance. * @type {number} * @memberof OrderModelsOrder */ orderValueIncVat?: number; /** * Order value ex vat after discount but before balance. * @type {number} * @memberof OrderModelsOrder */ orderValueExVat?: number; /** * Item value inc vat excluding fees and discount. * @type {number} * @memberof OrderModelsOrder */ itemValueIncVat?: number; /** * Item value ex vat excluding fees and discount. * @type {number} * @memberof OrderModelsOrder */ itemValueExVat?: number; /** * Total discount inc vat. * @type {number} * @memberof OrderModelsOrder */ discount?: number; /** * Total discount ex vat. * @type {number} * @memberof OrderModelsOrder */ discountExVat?: number; /** * The amount which was withdrawn from the customers balance inc vat. * @type {number} * @memberof OrderModelsOrder */ fromBalance?: number; /** * Shipping fee inc vat. * @type {number} * @memberof OrderModelsOrder */ shippingFee?: number; /** * Shipping fee ex vat. * @type {number} * @memberof OrderModelsOrder */ shippingFeeExVat?: number; /** * Payment fee inc vat. * @type {number} * @memberof OrderModelsOrder */ paymentFee?: number; /** * Payment fee ex vat. * @type {number} * @memberof OrderModelsOrder */ paymentFeeExVat?: number; /** * Order message. Can contain instructions from customer or added details about the order. * @type {string} * @memberof OrderModelsOrder */ message?: string; /** * Internal order messages. Can contain internal details about the order. * @type {Array} * @memberof OrderModelsOrder */ orderMessages?: Array; /** * List of payment details. * @type {Array} * @memberof OrderModelsOrder */ paymentDetails?: Array; /** * List of shipping details. * @type {Array} * @memberof OrderModelsOrder */ shippingDetails?: Array; /** * * @type {OrderModelsAddress} * @memberof OrderModelsOrder */ shippingAddress?: OrderModelsAddress; /** * * @type {OrderModelsAddress} * @memberof OrderModelsOrder */ billingAddress?: OrderModelsAddress; /** * List of order rows. * @type {Array} * @memberof OrderModelsOrder */ rows?: Array; /** * List of order refunds. * @type {Array} * @memberof OrderModelsOrder */ refunds?: Array; /** * Customer IP-number. * @type {string} * @memberof OrderModelsOrder */ ip?: string; /** * Customer User Agent. * @type {string} * @memberof OrderModelsOrder */ userAgent?: string; /** * Chosen service location. * @type {string} * @memberof OrderModelsOrder */ serviceLocation?: string; /** * Campaign code applied to the order. * @type {string} * @memberof OrderModelsOrder */ campaignCode?: string; /** * The internal id of the applied campaign code. * @type {number} * @memberof OrderModelsOrder */ campaignCodeId?: number; /** * General percent discount applied to the order. * @type {number} * @memberof OrderModelsOrder */ percent?: number; /** * The desired delivery date of the order. * @type {Date} * @memberof OrderModelsOrder */ desiredDeliveryDate?: Date; /** * The gender of the customer. * True = male, False = female, null = unknown. * @type {boolean} * @memberof OrderModelsOrder */ gender?: boolean; /** * The id of the cart from which this order originates. * @type {number} * @memberof OrderModelsOrder */ cartId?: number; /** * The session id for the from which this order originates. * @type {string} * @memberof OrderModelsOrder */ sessionId?: string; /** * * 0 = None * 10 = New * 20 = Processing * 30 = Failed * 40 = Done * @type {number} * @memberof OrderModelsOrder */ externalOrderStatus?: OrderModelsOrderExternalOrderStatusEnum; /** * The ids for the campaigns applied to this order (not rows). * @type {Array} * @memberof OrderModelsOrder */ campaignIds?: Array; /** * The names of the campaigns applied to this order (not rows). * @type {Array} * @memberof OrderModelsOrder */ campaignNames?: Array; /** * The order meta data to store additional information about the order. * @type {{ [key: string]: string; }} * @memberof OrderModelsOrder */ metaData?: { [key: string]: string; }; /** * The public id of this order. * @type {string} * @memberof OrderModelsOrder */ publicId?: string; } /** * @export */ export const OrderModelsOrderExternalOrderStatusEnum = { NUMBER_0: 0, NUMBER_10: 10, NUMBER_20: 20, NUMBER_30: 30, NUMBER_40: 40 } as const; export type OrderModelsOrderExternalOrderStatusEnum = typeof OrderModelsOrderExternalOrderStatusEnum[keyof typeof OrderModelsOrderExternalOrderStatusEnum]; /** * Check if a given object implements the OrderModelsOrder interface. */ export function instanceOfOrderModelsOrder(value: object): boolean { let isInstance = true; return isInstance; } export function OrderModelsOrderFromJSON(json: any): OrderModelsOrder { return OrderModelsOrderFromJSONTyped(json, false); } export function OrderModelsOrderFromJSONTyped(json: any, ignoreDiscriminator: boolean): OrderModelsOrder { if ((json === undefined) || (json === null)) { return json; } return { 'id': !exists(json, 'Id') ? undefined : json['Id'], 'externalId': !exists(json, 'ExternalId') ? undefined : json['ExternalId'], 'personalId': !exists(json, 'PersonalId') ? undefined : json['PersonalId'], 'customerId': !exists(json, 'CustomerId') ? undefined : json['CustomerId'], 'customerTypeId': !exists(json, 'CustomerTypeId') ? undefined : json['CustomerTypeId'], 'customerGroupId': !exists(json, 'CustomerGroupId') ? undefined : json['CustomerGroupId'], 'customerGroupName': !exists(json, 'CustomerGroupName') ? undefined : json['CustomerGroupName'], 'createdAt': !exists(json, 'CreatedAt') ? undefined : (new Date(json['CreatedAt'])), 'updatedAt': !exists(json, 'UpdatedAt') ? undefined : (new Date(json['UpdatedAt'])), 'completedAt': !exists(json, 'CompletedAt') ? undefined : (new Date(json['CompletedAt'])), 'status': !exists(json, 'Status') ? undefined : json['Status'], 'currency': !exists(json, 'Currency') ? undefined : json['Currency'], 'currencyRate': !exists(json, 'CurrencyRate') ? undefined : json['CurrencyRate'], 'marketId': !exists(json, 'MarketId') ? undefined : json['MarketId'], 'marketName': !exists(json, 'MarketName') ? undefined : json['MarketName'], 'language': !exists(json, 'Language') ? undefined : json['Language'], 'orderTotal': !exists(json, 'OrderTotal') ? undefined : json['OrderTotal'], 'expectedSum': !exists(json, 'ExpectedSum') ? undefined : json['ExpectedSum'], 'vATTotal': !exists(json, 'VATTotal') ? undefined : json['VATTotal'], 'orderValueIncVat': !exists(json, 'OrderValueIncVat') ? undefined : json['OrderValueIncVat'], 'orderValueExVat': !exists(json, 'OrderValueExVat') ? undefined : json['OrderValueExVat'], 'itemValueIncVat': !exists(json, 'ItemValueIncVat') ? undefined : json['ItemValueIncVat'], 'itemValueExVat': !exists(json, 'ItemValueExVat') ? undefined : json['ItemValueExVat'], 'discount': !exists(json, 'Discount') ? undefined : json['Discount'], 'discountExVat': !exists(json, 'DiscountExVat') ? undefined : json['DiscountExVat'], 'fromBalance': !exists(json, 'FromBalance') ? undefined : json['FromBalance'], 'shippingFee': !exists(json, 'ShippingFee') ? undefined : json['ShippingFee'], 'shippingFeeExVat': !exists(json, 'ShippingFeeExVat') ? undefined : json['ShippingFeeExVat'], 'paymentFee': !exists(json, 'PaymentFee') ? undefined : json['PaymentFee'], 'paymentFeeExVat': !exists(json, 'PaymentFeeExVat') ? undefined : json['PaymentFeeExVat'], 'message': !exists(json, 'Message') ? undefined : json['Message'], 'orderMessages': !exists(json, 'OrderMessages') ? undefined : json['OrderMessages'], 'paymentDetails': !exists(json, 'PaymentDetails') ? undefined : ((json['PaymentDetails'] as Array).map(OrderModelsPaymentDetailFromJSON)), 'shippingDetails': !exists(json, 'ShippingDetails') ? undefined : ((json['ShippingDetails'] as Array).map(OrderModelsShippingDetailFromJSON)), 'shippingAddress': !exists(json, 'ShippingAddress') ? undefined : OrderModelsAddressFromJSON(json['ShippingAddress']), 'billingAddress': !exists(json, 'BillingAddress') ? undefined : OrderModelsAddressFromJSON(json['BillingAddress']), 'rows': !exists(json, 'Rows') ? undefined : ((json['Rows'] as Array).map(OrderModelsOrderRowFromJSON)), 'refunds': !exists(json, 'Refunds') ? undefined : ((json['Refunds'] as Array).map(OrderModelsOrderRefundFromJSON)), 'ip': !exists(json, 'Ip') ? undefined : json['Ip'], 'userAgent': !exists(json, 'UserAgent') ? undefined : json['UserAgent'], 'serviceLocation': !exists(json, 'ServiceLocation') ? undefined : json['ServiceLocation'], 'campaignCode': !exists(json, 'CampaignCode') ? undefined : json['CampaignCode'], 'campaignCodeId': !exists(json, 'CampaignCodeId') ? undefined : json['CampaignCodeId'], 'percent': !exists(json, 'Percent') ? undefined : json['Percent'], 'desiredDeliveryDate': !exists(json, 'DesiredDeliveryDate') ? undefined : (new Date(json['DesiredDeliveryDate'])), 'gender': !exists(json, 'Gender') ? undefined : json['Gender'], 'cartId': !exists(json, 'CartId') ? undefined : json['CartId'], 'sessionId': !exists(json, 'SessionId') ? undefined : json['SessionId'], 'externalOrderStatus': !exists(json, 'ExternalOrderStatus') ? undefined : json['ExternalOrderStatus'], 'campaignIds': !exists(json, 'CampaignIds') ? undefined : json['CampaignIds'], 'campaignNames': !exists(json, 'CampaignNames') ? undefined : json['CampaignNames'], 'metaData': !exists(json, 'MetaData') ? undefined : json['MetaData'], 'publicId': !exists(json, 'PublicId') ? undefined : json['PublicId'], }; } export function OrderModelsOrderToJSON(value?: OrderModelsOrder | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'Id': value.id, 'ExternalId': value.externalId, 'PersonalId': value.personalId, 'CustomerId': value.customerId, 'CustomerTypeId': value.customerTypeId, 'CustomerGroupId': value.customerGroupId, 'CustomerGroupName': value.customerGroupName, 'CreatedAt': value.createdAt === undefined ? undefined : (value.createdAt.toISOString()), 'UpdatedAt': value.updatedAt === undefined ? undefined : (value.updatedAt.toISOString()), 'CompletedAt': value.completedAt === undefined ? undefined : (value.completedAt.toISOString()), 'Status': value.status, 'Currency': value.currency, 'CurrencyRate': value.currencyRate, 'MarketId': value.marketId, 'MarketName': value.marketName, 'Language': value.language, 'OrderTotal': value.orderTotal, 'ExpectedSum': value.expectedSum, 'VATTotal': value.vATTotal, 'OrderValueIncVat': value.orderValueIncVat, 'OrderValueExVat': value.orderValueExVat, 'ItemValueIncVat': value.itemValueIncVat, 'ItemValueExVat': value.itemValueExVat, 'Discount': value.discount, 'DiscountExVat': value.discountExVat, 'FromBalance': value.fromBalance, 'ShippingFee': value.shippingFee, 'ShippingFeeExVat': value.shippingFeeExVat, 'PaymentFee': value.paymentFee, 'PaymentFeeExVat': value.paymentFeeExVat, 'Message': value.message, 'OrderMessages': value.orderMessages, 'PaymentDetails': value.paymentDetails === undefined ? undefined : ((value.paymentDetails as Array).map(OrderModelsPaymentDetailToJSON)), 'ShippingDetails': value.shippingDetails === undefined ? undefined : ((value.shippingDetails as Array).map(OrderModelsShippingDetailToJSON)), 'ShippingAddress': OrderModelsAddressToJSON(value.shippingAddress), 'BillingAddress': OrderModelsAddressToJSON(value.billingAddress), 'Rows': value.rows === undefined ? undefined : ((value.rows as Array).map(OrderModelsOrderRowToJSON)), 'Refunds': value.refunds === undefined ? undefined : ((value.refunds as Array).map(OrderModelsOrderRefundToJSON)), 'Ip': value.ip, 'UserAgent': value.userAgent, 'ServiceLocation': value.serviceLocation, 'CampaignCode': value.campaignCode, 'CampaignCodeId': value.campaignCodeId, 'Percent': value.percent, 'DesiredDeliveryDate': value.desiredDeliveryDate === undefined ? undefined : (value.desiredDeliveryDate.toISOString()), 'Gender': value.gender, 'CartId': value.cartId, 'SessionId': value.sessionId, 'ExternalOrderStatus': value.externalOrderStatus, 'CampaignIds': value.campaignIds, 'CampaignNames': value.campaignNames, 'MetaData': value.metaData, 'PublicId': value.publicId, }; }