diff --git a/deco.ts b/deco.ts index 4d50e9fcd..726d905b5 100644 --- a/deco.ts +++ b/deco.ts @@ -48,6 +48,7 @@ const config = { app("decohub"), app("htmx"), app("sap"), + app("logicommerce"), ...compatibilityApps, ], }; diff --git a/deno.json b/deno.json index 9e923de8d..4024c21f7 100644 --- a/deno.json +++ b/deno.json @@ -56,8 +56,14 @@ "exclude": [ "static", "README.md", - "**/README.md" + "**/README.md", + "**/openapi/api.openapi.gen.ts" ], + "lint": { + "exclude": [ + "**/openapi/api.openapi.gen.ts" + ] + }, "compilerOptions": { "jsx": "react-jsx", "jsxImportSource": "preact" diff --git a/logicommerce/loaders/productDetailsPage.ts b/logicommerce/loaders/productDetailsPage.ts new file mode 100644 index 000000000..db3982bd3 --- /dev/null +++ b/logicommerce/loaders/productDetailsPage.ts @@ -0,0 +1,44 @@ +import type { ProductDetailsPage } from "../../commerce/types.ts"; +import type { AppContext } from "../mod.ts"; +import { toProduct } from "../utils/transform.ts"; +import type { RequestURLParam } from "../../website/functions/requestToParam.ts"; + +interface Props { + slug: RequestURLParam; +} + +/** + * @title PDP - Logicommerce Integration + * @description Product Details Page loader + */ +const loader = async ( + { slug }: Props, + req: Request, + ctx: AppContext, +): Promise => { + const skuId = new URL(req.url).searchParams.get("skuId"); + + const product = await ctx.api["GET /products/:id"]( + { id: slug }, + { + headers: req.headers, + }, + ).then((res) => res.json()); + + return { + "@type": "ProductDetailsPage", + breadcrumbList: { + "@type": "BreadcrumbList", + itemListElement: [], + numberOfItems: 0, + }, + product: toProduct(product, skuId), + seo: { + title: product.language?.name ?? "", + description: product.language?.longDescription ?? "", + canonical: product.language?.urlSeo ?? "", + }, + }; +}; + +export default loader; diff --git a/logicommerce/loaders/productList.ts b/logicommerce/loaders/productList.ts new file mode 100644 index 000000000..2afd8a383 --- /dev/null +++ b/logicommerce/loaders/productList.ts @@ -0,0 +1,54 @@ +import type { Product } from "../../commerce/types.ts"; +import type { AppContext } from "../mod.ts"; +import type { LogicommerceProductSorts } from "../types.ts"; +import { toProduct } from "../utils/transform.ts"; + +/** @title {{{name}}}={{{value}}} */ +interface FilterParam { + name: string; + value: string; +} + +interface Props { + /** + * @title query + * @description query to use on search + */ + q?: string; + /** @description total number of items to display */ + count?: number; + /** @description sort variable */ + sort?: LogicommerceProductSorts; + /** @description (DON'T USE FILTERS WITH SAME NAME, like filterOption[size]=01, filterOption[size]=02), use any param from "https://devcenter.logicommerce.com/apiCore/359#operation/getProducts" */ + filters?: FilterParam[]; +} + +/** + * @title Shelf - Logicommerce Integration + * @description Product List loader + */ +const loader = async ( + props: Props, + req: Request, + ctx: AppContext, +): Promise => { + // You can't use filters with same type, like, filterOption[size]=01 and filterOption[size]=02 + // It will become filterOption[size]=02 + // It occurs because `createHttpClient` accepts only object as params + // And you can't have two keys with the same name in an object + const customFilters = Object.fromEntries( + props.filters?.map(({ name, value }) => [name, value]) ?? [], + ); + + const products = await ctx.api["GET /products"]( + { ...props, ...customFilters }, + { + headers: req.headers, + }, + ).then((res) => res.json()); + + return products.items?.slice(0, props.count ?? 10).map((p) => toProduct(p)) ?? + []; +}; + +export default loader; diff --git a/logicommerce/loaders/productListingPage.ts b/logicommerce/loaders/productListingPage.ts new file mode 100644 index 000000000..dc306f7f2 --- /dev/null +++ b/logicommerce/loaders/productListingPage.ts @@ -0,0 +1,286 @@ +import type { Filter, ProductListingPage } from "../../commerce/types.ts"; +import { slugify } from "../../vtex/utils/slugify.ts"; +import type { AppContext } from "../mod.ts"; +import type { LogicommerceProductSorts } from "../types.ts"; +import type { ProductCollectionDTO } from "../utils/openapi/api.openapi.gen.ts"; +import { toProduct } from "../utils/transform.ts"; + +/** @title {{{name}}}={{{value}}} */ +interface FilterParam { + name: string; + value: string; +} + +interface Props { + /** + * @title Query + * @description overrides the query term on SearchPage, do not use it on PLP, it will be ignored + */ + q?: string; + sort?: LogicommerceProductSorts; + /** @description (DON'T USE FILTERS WITH SAME NAME, like filterOption[size]=01, filterOption[size]=02), use any param from "https://devcenter.logicommerce.com/apiCore/359#operation/getProducts" */ + filters?: FilterParam[]; + /** + * @title Page query parameter + */ + page?: number; + /** @description Overrides the ?q= */ + customQueryParam?: string; + /** @description Overrides the ?sort= */ + customSortParam?: string; + /** @description Remove initial pathnames like, (0) /en/department. -> (1) /department */ + pathnameOffset?: number; +} + +const sortOptions: { label: string; value: LogicommerceProductSorts }[] = [ + { label: "id:asc", value: "id.asc" }, + { label: "id:desc", value: "id.desc" }, + { label: "pId:asc", value: "pId.asc" }, + { label: "pId:desc", value: "pId.desc" }, + { label: "sku:asc", value: "sku.asc" }, + { label: "sku:desc", value: "sku.desc" }, + { label: "name:asc", value: "name.asc" }, + { label: "name:desc", value: "name.desc" }, + { label: "priority:asc", value: "priority.asc" }, + { label: "priority:desc", value: "priority.desc" }, + { label: "price:asc", value: "price.asc" }, + { label: "price:desc", value: "price.desc" }, + { label: "offer:asc", value: "offer.asc" }, + { label: "offer:desc", value: "offer.desc" }, + { label: "featured:asc", value: "featured.asc" }, + { label: "featured:desc", value: "featured.desc" }, + { label: "publicationDate:asc", value: "publicationDate.asc" }, + { label: "publicationDate:desc", value: "publicationDate.desc" }, +]; + +const emptyResponse: ProductListingPage = { + "@type": "ProductListingPage", + breadcrumb: { + "@type": "BreadcrumbList", + itemListElement: [], + numberOfItems: 0, + }, + pageInfo: { + records: 0, + recordPerPage: 0, + currentPage: 1, + nextPage: undefined, + previousPage: undefined, + }, + products: [], + filters: [], + sortOptions: [], +}; + +/** + * @title PLP - Logicommerce Integration + * @description Product Listing Page loader + */ +const loader = async ( + props: Props, + req: Request, + ctx: AppContext, +): Promise => { + const url = new URL(req.url); + + const search = url.searchParams.get(props.customQueryParam ?? "q"); + + props.q = props.q ?? search ?? undefined; + + const oldSort = props.sort; + props.sort = url.searchParams.get( + props.customSortParam ?? "sort", + ) as LogicommerceProductSorts; + props.sort ??= oldSort ?? "id.asc"; + + const categories = url.pathname.split("/").slice( + 1 + (props.pathnameOffset ?? 0), + ); + + let products: ProductCollectionDTO = { + items: [], + pagination: { + page: 0, + totalItems: 0, + perPage: 0, + }, + }; + + let categoryId: number | undefined = undefined; + + if (categories.length && !search) { + const r = await ctx.api["GET /categories/tree"]( + { q: categories[0] }, + { + headers: req.headers, + }, + ).then((res) => res.json()); + + if (r.items?.length === 0) { + return emptyResponse; + } + + let cat = r.items?.[0]; + let n = 1; + + while (true) { + if (n === categories.length) { + if (slugify(cat?.pId ?? "") === slugify(categories.at(-1) ?? "")) { + categoryId = cat?.id; + } + + break; + } + + cat = cat?.subcategories?.find((c) => + slugify(c.pId ?? "") === slugify(categories[n]) + ); + + if (!cat) break; + n += 1; + } + + if (categoryId === undefined) { + return emptyResponse; + } + } + + // You can't use filters with same type, like, filterOption[size]=01 and filterOption[size]=02 + // It will become filterOption[size]=02 + // It occurs because `createHttpClient` accepts only object as params + // And you can't have two keys with the same name in an object + const customFilters = Object.fromEntries( + props.filters?.map(({ name, value }) => [name, value]) ?? [], + ); + + const filtersFromUrl = Object.fromEntries( + [...url.searchParams.entries()].filter(([key]) => key.startsWith("filter")), + ); + + props.page ??= Number(url.searchParams.get("page")); + + products = await ctx.api["GET /products"]( + { ...props, categoryId, ...filtersFromUrl, ...customFilters }, + { headers: req.headers }, + ).then((res) => res.json()); + + const nextPage = new URL(req.url); + const previousPage = new URL(req.url); + const currentPage = products.pagination?.page ?? 0; + const pagesCount = products.pagination?.totalPages ?? 0; + + nextPage.searchParams.set( + "page", + (products.pagination?.page ?? 0 + 1).toString(), + ); + previousPage.searchParams.set( + "page", + (products.pagination?.page ?? 0 - 1).toString(), + ); + + const filters: Filter[] = []; + + const minPrice = products.filter?.prices?.min ?? 0; + const maxPrice = products.filter?.prices?.max ?? 0; + + if (minPrice !== maxPrice) { + filters.push({ + "@type": "FilterRange", + key: "price", + label: "Price", + values: { + min: minPrice, + max: maxPrice, + }, + }); + } + + // OPTIONS FILTERS + for (const filter of products.filter?.options ?? []) { + filters.push({ + "@type": "FilterToggle", + key: filter.filterName ?? "", + label: filter.name ?? "", + quantity: 0, + values: (filter.values ?? []).map((value) => { + const url = new URL(req.url); + + const k = `filterOption[${filter.filterName}]`; + const v = value.value ?? ""; + + const selected = url.searchParams.getAll(k).includes(v); + + if (selected) { + url.searchParams.delete(k, v); + } else { + url.searchParams.append(k, v); + } + + return { + label: v, + quantity: 0, + value: v, + url: url.toString(), + selected, + }; + }), + }); + } + + // TAGS/LABELS FILTERS + for (const filter of products.filter?.customTags ?? []) { + filters.push({ + "@type": "FilterToggle", + key: filter.name ?? "", + label: filter.name ?? "", + quantity: 0, + values: (filter.filterValues ?? []).map((v) => { + const url = new URL(req.url); + + const k = `filterCustomTag[${filter.id}]`; + + const selected = url.searchParams.getAll(k).includes(v); + + if (selected) { + url.searchParams.delete(k, v); + } else { + url.searchParams.append(k, v); + } + + return { + label: v, + quantity: 0, + value: v, + url: url.toString(), + selected, + }; + }), + }); + } + + return { + "@type": "ProductListingPage", + breadcrumb: { + "@type": "BreadcrumbList", + itemListElement: categories.map((c, i) => ({ + "@type": "ListItem", + position: i, + name: c, + item: `/${categories.slice(0, i + 1).join("/")}`, + })), + numberOfItems: categories.length, + }, + pageInfo: { + records: products.pagination?.totalItems ?? 0, + recordPerPage: products.pagination?.perPage ?? 0, + currentPage, + nextPage: currentPage + 1 < pagesCount ? nextPage.toString() : undefined, + previousPage: currentPage - 1 > 0 ? previousPage.toString() : undefined, + }, + products: products.items?.map((p) => toProduct(p)) ?? [], + filters, + sortOptions, + }; +}; + +export default loader; diff --git a/logicommerce/logo.png b/logicommerce/logo.png new file mode 100644 index 000000000..7a3bb848c Binary files /dev/null and b/logicommerce/logo.png differ diff --git a/logicommerce/manifest.gen.ts b/logicommerce/manifest.gen.ts new file mode 100644 index 000000000..70b8a4478 --- /dev/null +++ b/logicommerce/manifest.gen.ts @@ -0,0 +1,21 @@ +// DO NOT EDIT. This file is generated by deco. +// This file SHOULD be checked into source version control. +// This file is automatically updated during development when running `dev.ts`. + +import * as $$$0 from "./loaders/productDetailsPage.ts"; +import * as $$$1 from "./loaders/productList.ts"; +import * as $$$2 from "./loaders/productListingPage.ts"; + +const manifest = { + "loaders": { + "logicommerce/loaders/productDetailsPage.ts": $$$0, + "logicommerce/loaders/productList.ts": $$$1, + "logicommerce/loaders/productListingPage.ts": $$$2, + }, + "name": "logicommerce", + "baseUrl": import.meta.url, +}; + +export type Manifest = typeof manifest; + +export default manifest; diff --git a/logicommerce/middleware.ts b/logicommerce/middleware.ts new file mode 100644 index 000000000..56a78e361 --- /dev/null +++ b/logicommerce/middleware.ts @@ -0,0 +1,76 @@ +import { getCookies } from "@std/http/cookie"; +import { decode } from "@zaubrik/djwt"; +import { setCookie } from "std/http/cookie.ts"; +import type { AppMiddlewareContext } from "./mod.ts"; + +const DAY = 60 * 60 * 24; + +const setToken = (headers: Headers, token: string) => { + setCookie(headers, { + name: "authToken", + value: token, + path: "/", + httpOnly: true, + secure: true, + maxAge: DAY * 30, + }); +}; +export const middleware = async ( + _props: unknown, + req: Request, + ctx: AppMiddlewareContext, +) => { + // Set IP + // const ips = headers.get('CF-Connecting-IP') || headers.get('x-forwarded-for') || headers.get('x-real-ip') + // const ip = ips?.split(',')[0] + + // if (!ip) throw new Error('IP not found') + // req.headers.set('ip', ip) + + let authToken = getCookies(req.headers).authToken; + + // You just need these headers for /auth actually + const headers = new Headers({ + "X-App-id": ctx.appId, + "X-App-key": ctx.appKey, + }); + + const auth = () => + ctx.api["GET /auth"]({}, { headers }).then((res) => res.json()); + const authRefresh = () => + ctx.api["GET /auth/refreshToken"]({}, { headers }).then((res) => + res.json() + ); + + // Set Token + if (authToken) { + const [_, { refreshTokenExpirationDate, exp: expSeconds }] = decode<{ + refreshTokenExpirationDate: number; + exp: number; + }>(authToken); + + // https://stackoverflow.com/a/49624860 + const exp = new Date(0); + exp.setUTCSeconds(expSeconds); + + // If token can't be refreshed, get a new auth token + if (refreshTokenExpirationDate < Date.now()) { + authToken = (await auth()).token as string; + setToken(ctx.response.headers, authToken); + } // If the token just expired, refresh it + else if (exp.getTime() < Date.now()) { + headers.set("Authorization", `Bearer ${authToken}`); + + authToken = (await authRefresh()).token as string; + setToken(ctx.response.headers, authToken); + } + } // If no token, get a new auth token + else { + authToken = (await auth()).token as string; + setToken(ctx.response.headers, authToken); + } + + req.headers.set("Authorization", `Bearer ${authToken}`); + + return await ctx.next?.(); +}; diff --git a/logicommerce/mod.ts b/logicommerce/mod.ts new file mode 100644 index 000000000..3ac3498c6 --- /dev/null +++ b/logicommerce/mod.ts @@ -0,0 +1,74 @@ +import { createHttpClient } from "../utils/http.ts"; +import type { OpenAPI } from "./utils/openapi/api.openapi.gen.ts"; +import { fetchSafe } from "../utils/fetch.ts"; +import manifest, { type Manifest } from "./manifest.gen.ts"; +import { PreviewContainer } from "../utils/preview.tsx"; +import type { + App, + AppContext as AC, + AppMiddlewareContext as AMC, +} from "@deco/deco"; +import { middleware } from "./middleware.ts"; + +interface Props { + appId: string; + appKey: string; + /** + * @ignore + */ + platform: "logicommerce"; + /** + * @ignore + */ + api: ReturnType>; +} + +export type AppContext = AC>; +export type AppMiddlewareContext = AMC>; + +export const color = 0x4091a5; + +/** + * @title Logicommerce + * @description Loaders, actions and workflows for adding Logicommerce to your website. + * @logo https://raw.githubusercontent.com/deco-cx/apps/refs/heads/feat--logicommerce/logicommerce/logo.png + * @category Ecommerce + */ +export default function Logicommerce( + { appId, appKey }: Props, +): App { + const headers = new Headers(); + headers.set("ip", "127.0.0.1"); + headers.set("countryCode", "br"); + headers.set("accept", "application/json"); + + const api = createHttpClient({ + base: "https://api-studio.logicommerce.cloud", + headers, + fetcher: fetchSafe, + }); + + return { + manifest, + state: { api, appId, appKey, platform: "logicommerce" }, + middleware, + }; +} + +export const preview = () => { + return { + Component: PreviewContainer, + props: { + name: "Logicommerce", + owner: "deco.cx", + description: + "Loaders, actions and workflows for adding Wap Commerce Platform to your website.", + logo: + "https://raw.githubusercontent.com/deco-cx/apps/refs/heads/feat--logicommerce/logicommerce/logo.png", + images: [ + "https://deco-sites-assets.s3.sa-east-1.amazonaws.com/starting/235b17e1-6f7a-4077-98cf-dad53ef075e5/2.Home-Galeria-de-topicos-principais-575x455px.jpg", + ], + tabs: [], + }, + }; +}; diff --git a/logicommerce/types.ts b/logicommerce/types.ts new file mode 100644 index 000000000..1cdafaae5 --- /dev/null +++ b/logicommerce/types.ts @@ -0,0 +1,19 @@ +export type LogicommerceProductSorts = + | "id.asc" + | "id.desc" + | "pId.asc" + | "pId.desc" + | "sku.asc" + | "sku.desc" + | "name.asc" + | "name.desc" + | "priority.asc" + | "priority.desc" + | "price.asc" + | "price.desc" + | "offer.asc" + | "offer.desc" + | "featured.asc" + | "featured.desc" + | "publicationDate.asc" + | "publicationDate.desc"; diff --git a/logicommerce/utils/openapi/api.openapi.gen.ts b/logicommerce/utils/openapi/api.openapi.gen.ts new file mode 100644 index 000000000..5127ff124 --- /dev/null +++ b/logicommerce/utils/openapi/api.openapi.gen.ts @@ -0,0 +1,17501 @@ + +// deno-fmt-ignore-file +// deno-lint-ignore-file no-explicit-any ban-types ban-unused-ignore +// +// DO NOT EDIT. This file is generated by deco. +// This file SHOULD be checked into source version control. +// To generate this file: deno task start +// + + +/** + * Information about the set conditions for the applicability of the discount. Only available under license of module 'DISNV'(Discounts Navigation). + */ +export type BaseDiscountConditionDTO = ((DiscountConditionDTO | DiscountConditionRestrictionDTO | DiscountConditionShippingTypeDTO | DiscountConditionActivityLimitDTO | DiscountConditionValueDTO | DiscountConditionPeriodDTO) & { +type?: ("PERIOD" | "ACTIVITY_LIMIT" | "VALUE" | "RESTRICTION" | "SHIPPING_TYPE" | "CATALOG" | "COMBINATION" | "BRAND" | "VOUCHER" | "USER" | "LOCATION" | "USER_AGENT") +}) +/** + * Information on the detail lines. + */ +export type BasketRowDTO = ({ +/** + * Internal identifier of the item. + */ +id?: number +/** + * The hash code of the item. + */ +hash?: string +/** + * Internal name of the item. + */ +name?: string +/** + * Number of units of the item. + */ +quantity?: number +prices?: BasketRowPricesDTO +pricesWithTaxes?: BasketRowPricesDTO +/** + * Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established. + */ +weight?: number +/** + * Information about the discounts applied. + */ +appliedDiscounts?: AppliedDiscountDTO[] +/** + * Total amount, without taxes included and with discounts applied, of the detail line. + */ +subtotal?: number +/** + * Total amount, including taxes and discounts applied, of the detail line. + */ +total?: number +appliedTaxes?: AppliedTaxDTO[] +basketWarnings?: BasketWarningDTO[] +/** + * URL of the item. + */ +urlSeo?: string +images?: MediaDTO +/** + * Element type. + */ +type?: ("PRODUCT" | "GIFT" | "BUNDLE" | "BUNDLE_ITEM" | "LINKED" | "SELECTABLE_GIFT") +} & (BasketProductDTO | BasketGiftDTO | BasketBundleDTO | BackBasketBundleDTO | BasketLinkedDTO | BackBasketLinkedDTO)) +/** + * Information about the discounts applied. + */ +export type AppliedDiscountDTO = ({ +discountId?: number +name?: string +description?: string +valueWithTaxes?: number +discountValue?: number +value?: number +type?: ("AMOUNT" | "GIFT" | "UNIT" | "SELECTABLE_GIFT" | "MXN" | "PERCENT_N_UNIT" | "REWARD_POINTS" | "AMOUNT_COMBINATION") +} & (AppliedDiscountAmountCombinationDTO | AppliedDiscountAmountDTO | AppliedDiscountGiftDTO | AppliedDiscountMxNDTO | AppliedDiscountSelectableGiftDTO | AppliedDiscountUnitDTO | AppliedDiscountPercentNUnitDTO | AppliedDiscountRewardPointsDTO)) +export type AppliedTaxDTO = ({ +/** + * Base of the tax applied. + */ +base?: number +/** + * Amount derived from applying the tax. + */ +taxValue?: number +/** + * Specifies whether the tax is applied. + */ +applyTax?: boolean +/** + * Specifies whether a sales equalization tax is included in the tax applied. + */ +applyRE?: boolean +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} & (PluginAppliedTaxDTO | LogiCommerceAppliedTaxDTO)) +/** + * Information on product options. Options are variations in the product, such as size or color. + */ +export type BasketProductOptionDTO = ({ +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +name?: string +required?: boolean +combinable?: boolean +type?: ("BOOLEAN" | "SHORT_TEXT" | "SINGLE_SELECTION" | "MULTIPLE_SELECTION" | "SINGLE_SELECTION_IMAGE" | "MULTIPLE_SELECTION_IMAGE" | "SELECTOR" | "DATE" | "LONG_TEXT" | "ATTACHMENT") +} & (BooleanOptionDTO | AttachmentOptionDTO | DateOptionDTO | LongTextOptionDTO | MultipleSelectionImageOptionDTO | MultipleSelectionOptionDTO | SelectorOptionDTO | ShortTextOptionDTO | SingleSelectionImageOptionDTO | SingleSelectionOptionDTO)) +/** + * Information about delivery. + */ +export type BasketDeliveryDTO = ({ +/** + * Specifies the type of delivery. + */ +type?: ("SHIPPING" | "PICKING") +/** + * Information about products included in the delivery. + */ +deliveryRows?: { +basketRowData?: BasketRowDataDTO +/** + * Information about the alerts of the cart detail lines that are part of the delivery. + */ +basketWarnings?: { +/** + * Specifies the cart alert code. + */ +code?: ("NOT_AVAILABLE_PRODUCT" | "INVALID_PRICE" | "MIN_ORDER_QUANTITY" | "MAX_ORDER_QUANTITY" | "MULTIPLE_ORDER_OVER_QUANTITY" | "MULTIPLE_ORDER_QUANTITY" | "STOCK_RESTRICTION" | "BACKORDER" | "BACKORDER_PREVISION" | "EMPTY_PRODUCTS" | "STOCK_PREVISION" | "WAREHOUSE_OFFSET" | "ON_REQUEST_PRODUCT" | "INVALID_OPTIONS" | "NEEDS_PAYMENTSYSTEM" | "NEEDS_DELIVERY" | "INVALID_BILLING_ADDRESS" | "INVALID_SHIPPING_ADDRESS" | "USER_NOT_ACTIVED" | "USER_NOT_VERIFIED" | "LOCKED_STOCK_RESTRICTION") +/** + * Specifies the criticality of the cart alert. + */ +severity?: ("WARNING" | "INFO" | "ERROR") +/** + * List of cart detail line hash codes. + */ +hashes?: string[] +/** + * Attributes related to the alert. + */ +attributes?: BasketWarningAttributeDTO[] +} +} +/** + * Information about shipments. + */ +shipments?: { +/** + * Internal identifier of the logistic center originating the shipment. + */ +originWarehouseGroupId?: number +/** + * Specifies for the shipment whether the calculation of shipping costs is determined by weight or by units sold. + */ +shippingCalculation?: ("BY_WEIGHT" | "BY_UNITS") +destinationZone?: GeographicalZoneDTO +shipping?: ShippingDTO +/** + * Information about products included in the shipment. + */ +rows?: ShipmentRowDTO[] +hash?: string +} +multiShipment?: boolean +hash?: string +canBeShipped?: boolean +/** + * @deprecated + */ +physicalLocationId?: number +zone?: GeographicalZoneDTO +} & (BasketShippingDeliveryDTO | BasketPickingDeliveryDTO)) +/** + * Information about the picking mode. + */ +export type PickingDeliveryModeDTO = ({ +/** + * Specifies the picking mode. + */ +type?: ("PROVIDER_PICKUP_POINT" | "PICKUP_POINT_PHYSICAL_LOCATION") +} & (PhysicalLocationPickingDeliveryDTO | ProviderPickupPointPickingDeliveryDTO)) +/** + * Information about the taxes associated with the payment system. + */ +export type ItemTaxDTO = ({ +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} & (LogiCommerceItemTaxDTO | PluginItemTaxDTO)) +/** + * Information about the taxes applied in the cart. + */ +export type BasketTaxDTO = ({ +/** + * Tax key. + */ +key?: string +/** + * Taxable base. + */ +base?: number +/** + * Amount due to discount. + */ +discount?: number +/** + * Tax rate. + */ +taxRate?: number +/** + * Amount derived from applying the tax. + */ +taxValue?: number +/** + * Tax type. + */ +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} & (LogiCommerceBasketTaxDTO | PluginBasketTaxDTO)) +/** + * Information about the document detail lines. + */ +export type RichDocumentItemDTO = ({ +/** + * Hash code of the detail line. + */ +hash?: string +/** + * Internal name of the item. + */ +name?: string +/** + * Link. + */ +link?: string +/** + * Number of units of the item. + */ +quantity?: number +prices?: RichDocumentItemPricesDTO +/** + * Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established. + */ +weight?: number +/** + * Information about discounts in the detail line. + */ +discounts?: RichDocumentDiscountDTO[] +/** + * Information about the taxes associated with the document detail line. + */ +taxes?: RichDocumentElementTaxDTO[] +/** + * Information about the product options included in the document detail line. + */ +options?: RichDocumentItemOptionDTO[] +/** + * Information about the stock of the document detail line. + */ +stocks?: RichDocumentItemStockDTO[] +/** + * Information about custom tags. + */ +customTags?: RichDocumentCustomTagDTO[] +/** + * Internal identifier of the product included in the document detail line. + */ +itemId?: number +/** + * Internal identifier of the parent product when the product that is part of the detail line is linked. + */ +linkedParentId?: number +/** + * Path to the image of the product included in the detail line. + */ +image?: string +/** + * Specifies whether the product included in the detail line is on offer. + */ +offer?: boolean +/** + * Specifies whether the product included in the detail line has stock management enabled. This parameter works as long as stock management is enabled in general. + */ +stockManagement?: boolean +/** + * @deprecated + * Specifies whether the product included in the detail line is under the tax consideration of the taxable person's investment. DEPRECATED, always false. + */ +reverseChargeVat?: boolean +codes?: ProductCodesDTO +/** + * Specifies whether the product included in the detail line can be returned. + */ +noReturn?: boolean +/** + * Reserve work method (sell inventory without stock) for the product included in the detail line. + */ +backOrder?: ("NONE" | "WITH_AND_WITHOUT_PREVISION" | "WITHOUT_PREVISION" | "WITH_PREVISION") +/** + * Specifies the 'onRequest' setting that the product had when the order was created.
This setting specifies whether the product can be served on-request in case of being out of stock.
The product units that are out of stock will be served on-request in case the product has this setting activated, and also the store and the product have the 'stock management' setting activated, and also the product has its stock lines defined. + */ +onRequest?: boolean +/** + * Specifies the 'onRequestDays' setting that the product had when the order was created.
This setting specifies the number of days of preparation that the product needs if it is served on-request. This information is used to display an estimated departure date in this case. + */ +onRequestDays?: number +/** + * Specifies the type of document detail line. + */ +type?: ("PRODUCT" | "GIFT" | "LINKED" | "BUNDLE") +/** + * Specifies that the product is In reserve. + */ +reserve?: boolean +/** + * Specifies that some unit of the detail line’s product is served on-request. + */ +onRequestAffected?: boolean +/** + * Brand name. + */ +brandName?: string +} & (RichReturnProcessDocumentRowDTO | RichDocumentItemDTO)) +export type RichDocumentElementTaxDTO = ({ +/** + * Taxable base. + */ +base?: string +/** + * Amount derived from applying the tax. + */ +taxValue?: string +/** + * Specifies whether the tax is applied. + */ +applyTax?: boolean +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} & (LogiCommerceRichDocumentElementTaxDTO | PluginAccountRichDocumentElementTaxDTO)) +/** + * Information about the delivery. + */ +export type RichDocumentDeliveryDTO = ({ +/** + * Information about shipment records. + */ +shipments?: RichDocumentShipmentDTO[] +type?: ("SHIPPING" | "PICKING") +} & (RichShippingDocumentDeliveryDTO | RichPickingDocumentDeliveryDTO)) +/** + * Information about the records of taxes applied. + */ +export type RichDocumentTaxDTO = ({ +/** + * Name of the tax for the returned language. + */ +name?: string +/** + * Method of application of the tax. + */ +modality?: string +/** + * Tax rate. + */ +taxRate?: number +/** + * Taxable base. + */ +base?: string +/** + * Base amount without taking discounts into account. + */ +baseWithDiscounts?: string +/** + * Amount due to the application of the tax rate of the tax. + */ +taxPrice?: string +/** + * Total amount due due to taxes. + */ +totalPrice?: string +/** + * Amount due to discount. + */ +discount?: string +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} & (LogiCommerceRichDocumentTaxDTO | PluginRichDocumentTaxDTO)) +/** + * Items returned by the resource. + */ +export type DeliveryDTO = ({ +/** + * Specifies the type of delivery. + */ +type?: ("SHIPPING" | "PICKING") +/** + * Information about products included in the delivery. + */ +deliveryRows?: DeliveryRowDTO[] +/** + * Information about shipments. + */ +shipments?: ShipmentDTO[] +/** + * Specifies whether it is the selected delivery in cart. + */ +selected?: boolean +multiShipment?: boolean +hash?: string +canBeShipped?: boolean +zone?: GeographicalZoneDTO +} & (ShippingDeliveryDTO | PickingDeliveryDTO)) +/** + * Information about the records of taxes applied. + */ +export type DocumentTaxDefinitionDTO = ({ +/** + * Internal identifier of the item. + */ +id?: number +/** + * Name of the tax for the returned language. + */ +name?: string +/** + * Method of application of the tax. + */ +modality?: string +/** + * Tax rate. + */ +taxRate?: number +/** + * Taxable base. + */ +base?: number +/** + * Amount due to the application of the tax rate of the tax. + */ +taxPrice?: number +/** + * Total amount due due to taxes. + */ +totalPrice?: number +/** + * Base amount without taking discounts into account. + */ +baseWithoutDiscounts?: number +/** + * Amount due to discount. + */ +discount?: number +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} & (LogiCommerceDocumentTaxDefinitionDTO | PluginDocumentTaxDefinitionDTO)) +/** + * Information about the delivery. + */ +export type DocumentDeliveryDTO = ({ +/** + * Internal identifier of the item. + */ +id?: number +/** + * Information about shipment records. + */ +shipments?: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Specifies the status of the shipment. + */ +status?: ("NONE" | "PENDING" | "PROCESSING" | "SHIPPED" | "DELIVERED" | "INCIDENTS") +/** + * Internal identifier of the current substatus of the shhipment. + */ +substatusId?: number +/** + * Identifier of the logistic center originating the shipment. + */ +originWarehouseGroupId?: number +/** + * @deprecated + * Internal pickup point identifier. + */ +physicalLocationId?: number +/** + * Delivery date of the shipment. + */ +incomingDate?: string +shipping?: DocumentShippingDTO +/** + * Shipment tracking code. + */ +trackingNumber?: string +/** + * URL for tracking the order offered by the carrier. + */ +trackingUrl?: string +/** + * Information about products included in the shipment. + */ +items?: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Number of units of the item. + */ +quantity?: number +/** + * Internal identifier of the document detail line. + */ +orderDetailId?: number +} +minItems?: 0 +} +geographicalZone?: GeographicalZoneDTO +/** + * Specifies the type of delivery. + */ +type?: ("SHIPPING" | "PICKING") +} & (PickingDocumentDeliveryDTO | ShippingDocumentDeliveryDTO)) +export type DocumentAppliedTaxDTO = ({ +/** + * Internal identifier of the item. + */ +id?: number +/** + * Taxable base. + */ +base?: number +/** + * Tax rate. + */ +taxRate?: number +/** + * Amount derived from applying the tax. + */ +taxValue?: number +/** + * Specifies whether the tax is applied. + */ +applyTax?: boolean +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} & (LogiCommerceDocumentAppliedTaxDTO | PluginDocumentAppliedTaxDTO)) +/** + * Information about the picking mode. + */ +export type PickingDocumentDeliveryModeDTO = ({ +/** + * Specifies the picking mode. + */ +type?: ("PROVIDER_PICKUP_POINT" | "PICKUP_POINT_PHYSICAL_LOCATION") +} & (PhysicalLocationPickingDocumentDeliveryDTO | ProviderPickupPointPickingDocumentDeliveryDTO)) +/** + * Information about the document detail lines. + */ +export type TransactionDocumentRowDTO = ({ +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal name of the item. + */ +name?: string +/** + * Number of units of the item. + */ +quantity?: number +/** + * Hash code of the detail line. + */ +hash?: string +/** + * Path to the image of the product included in the detail line. + */ +image?: string +codes?: ProductCodesDTO +fromShoppingListRow?: number +/** + * Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established. + */ +weight?: number +/** + * Specifies the 'onRequest' setting that the product had when the order was created.
This setting specifies whether the product can be served on-request in case of being out of stock.
The product units that are out of stock will be served on-request in case the product has this setting activated, and also the store and the product have the 'stock management' setting activated, and also the product has its stock lines defined. + */ +onRequest?: boolean +/** + * Specifies the 'onRequestDays' setting that the product had when the order was created.
This setting specifies the number of days of preparation that the product needs if it is served on-request. This information is used to display an estimated departure date in this case. + */ +onRequestDays?: number +prices?: DocumentRowPricesDTO +/** + * @deprecated + * Specifies whether the product included in the detail line is under the tax consideration of the taxable person's investment. DEPRECATED, always false. + */ +reverseChargeVat?: boolean +/** + * Specifies that the product is In reserve. + */ +reserve?: boolean +/** + * Specifies the type of document detail line. + */ +type?: ("PRODUCT" | "GIFT" | "LINKED" | "BUNDLE") +/** + * Internal identifier of the product included in the document detail line. + */ +itemId?: number +/** + * Specifies whether the product included in the detail line is on offer. + */ +offer?: boolean +} & (TransactionDocumentSingleRowDTO | TransactionDocumentRowBundleDTO | ReturnProcessDocumentRowDTO)) +export type UserAddressDTO = ((BillingUserAddressDTO | ShippingUserAddressDTO) & { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Username. + */ +firstName?: string +/** + * User last names. + */ +lastName?: string +/** + * Company name. + */ +company?: string +/** + * User address. + */ +address?: string +/** + * Additional address field. + */ +addressAdditionalInformation?: string +/** + * House or building number. + */ +number?: string +/** + * Name of the city. + */ +city?: string +/** + * Province or state. + */ +state?: string +/** + * Zip Code. + */ +postalCode?: string +/** + * Company tax identification code. + */ +vat?: string +/** + * User identity number or code. + */ +nif?: string +location?: LocationDTO +/** + * Phone. + */ +phone?: string +/** + * Mobile phone. + */ +mobile?: string +/** + * Fax. + */ +fax?: string +/** + * Type of address. + */ +type?: ("BILLING" | "SHIPPING") +/** + * Specifies that this is the default address. It is the one that is used automatically if not stated otherwise in the purchase processes. + */ +defaultAddress?: boolean +/** + * Specifies the alias of the address. + */ +alias?: string +/** + * Specifies whether taxes are applied to the user. + */ +tax?: boolean +/** + * Specifies whether the user is liable to sales equalization tax. + */ +re?: boolean +/** + * Specifies whether the user is considered a taxpayer making an investment for tax purposes. + */ +reverseChargeVat?: boolean +}) +/** + * Information about the referenced item. Null means no reference. + */ +export type ListRowReferenceDTO = ({ +/** + * Specifies the internal identifier of the referenced item. + */ +id?: number +type?: string +} & (ListRowReferenceProductDTO | ListRowReferenceBundleDTO | ListRowReferenceBundleNoCombinationDataDTO | ListRowReferenceProductNoCombinationDataDTO | ListRowReferenceBundleBackNoCombinationDataDTO | ListRowReferenceProductBackNoCombinationDataDTO)) + +export interface OpenAPI { +/** + * Sends a single request that includes calls to a resource group. Returns a structure that contains as many items as there are resources in the request. Each of these items includes 4 blocks:
body : this is the body of the response returned by the call to the resource. It has the same structure as when it is called alone.
status : response code of the call to the resource
headers : headers of the response of the call to the resource
requestId : Identifier of the call to the resource.
The batch request only supports resources of type GET . + */ +"POST /batch": { +body: BatchRequestParam +} +/** + * Get the text of the privacy policy configured in the Commerce. + */ +"GET /legalTexts/privacyPolicy": { +response: DataTextDTO +} +/** + * Get the text of the terms and conditions of use configured in the Commerce. + */ +"GET /legalTexts/termsOfUse": { +response: DataTextDTO +} +"GET /assets/ender": { + +} +/** + * Get a set of assets by applying the available filters and parameters. + */ +"GET /assets": { +searchParams: { +routeType?: ("PREHOME" | "HOME" | "PRIVACY_POLICY" | "CONTACT" | "TERMS_OF_USE" | "NOT_FOUND" | "FEED" | "SITEMAP" | "SEARCH" | "AREA" | "BRANDS" | "BRAND" | "CATEGORY" | "NEWS_LIST" | "NEWS" | "PAGE" | "POLL" | "DISCOUNT" | "DISCOUNTS" | "PRODUCT_COMPARISON" | "PRODUCT" | "FEATURED_PRODUCTS" | "OFFERS" | "SUBSCRIPTION_VERIFY" | "SUBSCRIPTION_UNSUBSCRIBE" | "BLOG_HOME" | "BLOG_TAG_CLOUD" | "BLOG_TAG" | "BLOG_ARCHIVE" | "BLOG_POST" | "BLOG_BLOGGERS" | "BLOG_BLOGGER" | "BLOG_CATEGORY" | "BLOG_UNSUBSCRIBE" | "BLOG_CATEGORY_UNSUBSCRIBE" | "BLOG_POST_UNSUBSCRIBE" | "BLOG_RSS" | "BASKET" | "BASKET_RECOVERY" | "EXPRESS_CHECKOUT_RETURN" | "EXPRESS_CHECKOUT_CANCEL" | "ORDER" | "CHECKOUT" | "CHECKOUT_ASYNC_ORDER" | "CHECKOUT_BASKET" | "CHECKOUT_CONFIRM_ORDER" | "CHECKOUT_CREATE_ACCOUNT" | "CHECKOUT_CUSTOMER" | "CHECKOUT_CUSTOMER_NEW_REGISTER" | "CHECKOUT_DENIED_ORDER" | "CHECKOUT_END_ORDER" | "CHECKOUT_GUEST" | "CHECKOUT_PAYMENT_AND_SHIPPING" | "PHYSICAL_LOCATION" | "PHYSICAL_LOCATION_CITIES" | "PHYSICAL_LOCATION_COUNTRIES" | "PHYSICAL_LOCATION_MAP" | "PHYSICAL_LOCATION_STATES" | "PHYSICAL_LOCATION_STORES" | "USER" | "USER_ADDRESS_BOOK" | "USER_ADDRESS_BOOK_ADD" | "USER_ADDRESS_BOOK_EDIT" | "USER_CHANGE_PASSWORD" | "CHANGE_PASSWORD_ANONYMOUS" | "USER_COMPLETE_ACCOUNT" | "USER_CREATE_ACCOUNT" | "USER_DELETE_ACCOUNT" | "USER_DELETE_NEWSLETTER" | "USER_VOUCHER_CODES" | "USER_LOST_PASSWORD" | "USER_OAUTH" | "USER_OAUTH_CALLBACK" | "USER_OAUTH_CALLBACK_PATH" | "USER_ORDERS" | "USER_ORDER" | "USER_PAYMENT_CARDS" | "USER_POLICIES" | "USER_RECOMMENDED_BASKETS" | "USER_SPONSORSHIP" | "USER_STOCK_ALERTS" | "USER_SUBSCRIPTIONS" | "USER_USER_WELCOME" | "USER_VERIFY_ACCOUNT" | "USER_WISHLIST" | "USER_SALES_AGENT" | "USER_RMAS" | "USER_SALES_AGENT_SALES" | "USER_SALES_AGENT_CUSTOMERS" | "USER_REWARD_POINTS" | "USER_SHOPPING_LISTS" | "ANY") +/** + * Specifies the type of page where the asset is embedded. + */ +pageType?: ("ALL" | "HOME" | "AREA" | "CATEGORY" | "PRODUCT" | "CHECKOUT" | "CHECKOUT_USER" | "PAYMENT_SHIPPING" | "CONFIRM_ORDER" | "DENIED_ORDER" | "PAGE_CONTENT" | "NEWS" | "NEW_USER" | "BLOG" | "BLOG_HOME" | "BLOG_TAGS" | "BLOG_CATEGORY" | "BLOG_POST" | "BLOG_AUTHOR" | "SEARCH") +} +response: AssetCollectionDTO +} +"GET /assets/marketplace/orders": { + +} +"GET /assets/marketplace/returns": { + +} +/** + * Executes an action defined in the specified plugin. The information required to execute this action must be declared in the body of the request. Actually, this resource launches requests to the plugin to execute the necessary action. This is necessary when the plugin can perform specific actions of its own that must be activated on demand. Valid only if you are logged in . + */ +"POST /plugins/:id/execute": { + +} +/** + * Gets information about the plugin configuration through the specified internal identifier. A plugin can have more than one connector and each connector can have more than one element defined (for example, if there is a plugin with a payment system type connector, there can be more than one payment method (elements) created under that plugin). + */ +"GET /plugins/:id/properties": { +response: PluginPropertiesDTO +} +/** + * Gets information about the plugin configuration through the specified module name. A plugin can have more than one connector and each connector can have more than one element defined (for example, if there is a plugin with a payment system type connector, there can be more than one payment method (elements) created under that plugin). + */ +"GET /plugins/properties": { +searchParams: { +module: string +} +response: PluginPropertiesDTO +} +/** + * Gets the collection of Commerce plugins of the specified type. + */ +"GET /plugins": { +searchParams: { +type?: ("NONE" | "SHIPPER" | "SHIPPING_TYPE" | "PAYMENT_SYSTEM" | "CUSTOM_TAG" | "RELATED_DEFINITION" | "BASKET" | "MAILING_SYSTEM" | "SEARCH_ENGINE" | "OAUTH" | "TRACKER" | "ASSET" | "MARKETPLACE" | "SHIPMENT" | "CONFIRM_ORDER" | "ORDER_STATUS" | "MARKETING" | "DATA" | "UNKNOWN" | "CAPTCHA" | "MAPS" | "TAXES" | "ORDER" | "DOCUMENT_PAYMENT_SYSTEM" | "DOCUMENT_SHIPMENT" | "RMA" | "EXPRESS_CHECKOUT" | "ADDRESS_VALIDATOR" | "PICKUP_POINT_PROVIDER") +} +response: PluginCollectionDTO +} +/** + * Purges internal caches like sql or MongoDB results. + */ +"DELETE /purge/internal": { +searchParams: { +/** + * Type of cache to purge. + */ +cacheType?: ("ADMINISTRATION" | "PLUGIN_ACCOUNT" | "PLUGIN" | "COMMERCE" | "CATALOG" | "LMS" | "LOCATIONS") +/** + * Pattern cache key. + */ +cachePurgePattern?: string +} +} +/** + * Get the settings related to Basket Stock Locking configuration. Only available under license of module 'STCBL'(Basket Stock Locking). + */ +"GET /settings/basketStockLocking": { +response: BasketStockLockingSettingsDTO +} +/** + * Get the settings related to blog settings. + */ +"GET /settings/blog": { +searchParams: { +/** + * Language code in ISO 639-1 format. + */ +languageCode?: string +} +response: BlogDTO +} +/** + * Get the settings related to the catalog of products. + */ +"GET /settings/catalog": { +response: CatalogSettingsDTO +} +/** + * Gets the list of countries enabled for sale. The output includes the country code in ISO 3166-2 format, required to specify the country in many of the API resources.
If languageCode is provided, the output shows the name of each country in the specified language.
If countryCode is provided, the output only shows deliverable countries for the specified country. + */ +"GET /settings/countries": { +searchParams: { +/** + * Language code in ISO 639-1 format. + */ +languageCode?: string +/** + * Country code in ISO 3166-2 format. + */ +countryCode?: string +} +response: CommerceCountryColectionDTO +} +/** + * Gets the list of countries enabled for sale along with the presentation layer paths of the versions of each of the active languages in them. The output includes the country code in ISO 3166-2 format, required to specify the country in many of the API resources. If languageCode is provided, the output shows the name of each country in the specified language. + */ +"GET /settings/countries/links": { +searchParams: { +/** + * Language code in ISO 639-1 format. + */ +languageCode?: string +/** + * Host + */ +host?: string +/** + * A boolean that allows displaying all countries without grouping. Useful when there is only a level 1 domain that shares URLs across countries. + */ +allCountries?: string +/** + * A boolean that defines whether the link to all store versions should be displayed, or only for specific versions of the introduced host. This only applies when the introduced host belongs to a specific version per country or group of countries. + */ +onlyMyLevel?: string +} +response: CountryLinkCollectionDTO +} +/** + * Get the list of available browsing currencies taking into account the currency restrictions (if any) due to the country. + */ +"GET /settings/currencies": { +response: CurrencyCollectionDTO +} +/** + * Get all Commerce settings. + */ +"GET /settings": { +response: EcommerceSettingsDTO +} +/** + * Get the settings related to the front office session configuration. + */ +"GET /settings/frontOfficeSession": { +response: FrontOfficeSessionSettingsDTO +} +/** + * Get the settings related to the main configuration. + */ +"GET /settings/general": { +response: GeneralSettingsDTO +} +/** + * Get the settings related to the GeoIp configuration. + */ +"GET /settings/geoIp": { +response: GeoIPSettingsDTO +} +/** + * Get the list of available languages ​​visible taking into account the language restrictions (if any) due to the country. + */ +"GET /settings/languages": { +response: LanguageCollectionDTO +} +/** + * Get the settings related to the configuration of the legal data. + */ +"GET /settings/legal": { +response: LegalSettingsDTO +} +/** + * Get the settings related to order setup. + */ +"GET /settings/orders": { +response: OrdersSettingsDTO +} +/** + * Get the settings related to SEO settings. + */ +"GET /settings/seo": { +response: SeoSettingsDTO +} +/** + * Get the settings related to the sitemap configuration. + */ +"GET /settings/sitemap": { +response: SitemapSettingsDTO +} +/** + * Get the settings related to the stock configuration. + */ +"GET /settings/stock": { +response: StockSettingsDTO +} +/** + * Get the settings related to tax configuration. + */ +"GET /settings/tax": { +response: TaxSettingsDTO +} +/** + * Get the settings related to configuring user accounts. + */ +"GET /settings/userAccounts": { +response: UserAccountsSettingsDTO +} +/** + * Get an area through the internal identifier specified. + */ +"GET /areas/:id": { +response: AreaDTO +} +/** + * Get the area that has been configured with the category role. + */ +"GET /areas/categoryRole": { +response: AreaDTO +} +/** + * Get a set of areas by applying the available filters and parameters. + */ +"GET /areas": { +searchParams: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * List the internal identifiers of the items that you want to obtain. + */ +idList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Position of the item to be obtained. + */ +position?: number +/** + * List of positions of the items to be obtained. + */ +positionList?: string +/** + * Parameter to indicate that you only want to obtain the items that are activated. + */ +onlyActive?: boolean +/** + * Filter according to the indexable feature, which specifies whether search engine robots should index the item. + */ +filterIndexable?: ("ALL" | "INDEXABLE" | "NO_INDEXABLE") +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "id.asc,id.desc,pId.asc,pId.desc,priority.asc, priority.desc" +/** + * Ordered list of the internal identifiers of the items to be obtained. + */ +sortByIdList?: string +/** + * Number of random items. + */ +randomItems?: number +} +response: AreaCollectionDTO +} +/** + * Get a set of the categories contained in the area with the category role. + */ +"GET /areas/categoryRole/categories": { +searchParams: { +/** + * Parameter to indicate that you only want to obtain the items that are activated. + */ +onlyActive?: boolean +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "id.asc,id.desc,pId.asc,pId.desc,name.asc,name.desc,priority.asc,priority.desc,dateadded.asc,dateadded.desc" +} +response: CategoryCollectionDTO +} +/** + * Get all the categories contained in the area with the category role including all its subcategories (up to the requested level). This resource is recommended to obtain the category and subcategory structure of, for example, a menu with a single request. + */ +"GET /areas/categoryRole/categories/tree": { +searchParams: { +/** + * Parameter to indicate that you only want to obtain the items that are activated. + */ +onlyActive?: boolean +/** + * Depth level of the category tree to be obtained. + */ +levels?: number +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "id.asc,id.desc,pId.asc,pId.desc,name.asc,name.desc,priority.asc,priority.desc,dateadded.asc,dateadded.desc" +} +response: CategoryTreeCollectionDTO +} +/** + * Increase the banner click count by one unit. + */ +"POST /banners/:id/doneClick": { + +} +/** + * Get a banner through the internal identifier specified. + */ +"GET /banners/:id": { +response: BannerDTO +} +/** + * Get a set of banners by applying the available filters and parameters. + */ +"GET /banners": { +searchParams: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * List the internal identifiers of the items that you want to obtain. + */ +idList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Position of the item to be obtained. + */ +position?: number +/** + * List of positions of the items to be obtained. + */ +positionList?: string +/** + * Parameter to indicate if you only want to obtain those banners for which the number of clicks recorded does not exceed the limit configured. + */ +limited?: boolean +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "id.asc,id.desc,pId.asc,pId.desc,priority.asc, priority.desc" +/** + * Ordered list of the internal identifiers of the items to be obtained. + */ +sortByIdList?: string +/** + * Number of random items. + */ +randomItems?: number +} +response: BannerCollectionDTO +} +/** + * Get the blog post through the internal identifier specified. + */ +"GET /blog/posts/:id": { +response: BlogPostDTO +} +/** + * Get the comments of the post specified. + */ +"GET /blog/posts/:id/comments": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "dateAdded.asc,dateAdded.desc" +/** + * Specifies whether you want comments in all the visible languages ​​of the blog (true) or only in the session language (false). + */ +showAllLanguages?: boolean +} +response: BlogPostCommentCollectionDTO +} +/** + * Add a comment to the post specified. These comments can also be responses to comments, so you can build a nested structure of comments and responses. + */ +"POST /blog/posts/:id/comments": { +body: AddBlogPostCommentParam +response: BlogPostCommentDTO +} +/** + * Get a set of blog posts by applying the available filters and parameters. + */ +"GET /blog/posts": { +searchParams: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * List the internal identifiers of the items that you want to obtain. + */ +idList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Internal blog category identifier. + */ +categoryId?: number +/** + * Internal blog tag identifier. + */ +tagId?: number +/** + * Internal blogger identifier. + */ +bloggerId?: number +/** + * Lower date of the post search by date filter. Those with a publication date equal to or greater than that specified are returned. + */ +fromDate?: string +/** + * Top date of the post search by date filter. Those with a publication date equal to or less than that specified are returned. + */ +toDate?: string +/** + * Search criteria for the fields Name, Short description and Content. + */ +q?: string +qDeep?: ("NONE" | "SHORT" | "LARGE") +qType?: ("PARTIAL" | "COMPLETE" | "COMPLETE_WITH_SPACES" | "SHOULD_APPEAR_PARTIAL") +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "id.asc,id.desc,publicationDate.asc, publicationDate.desc,hits.asc,hits.desc,likes.asc,likes.desc,dislikes.asc,dislikes.desc,votes.asc,votes.desc,rate.asc,rate.desc" +/** + * Number of random items. + */ +randomItems?: number +/** + * Parameter to indicate that you only want to obtain the items that are activated. + */ +onlyActive?: boolean +} +response: BlogPostCollectionDTO +} +/** + * Get the content of a file in RSS format that includes a set of blog posts obtained by applying the available filters and parameters. + */ +"GET /blog/rss": { +searchParams: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * List the internal identifiers of the items that you want to obtain. + */ +idList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Internal blog category identifier. + */ +categoryId?: number +/** + * Internal blog tag identifier. + */ +tagId?: number +/** + * Internal blogger identifier. + */ +bloggerId?: number +/** + * Lower date of the post search by date filter. Those with a publication date equal to or greater than that specified are returned. + */ +fromDate?: string +/** + * Top date of the post search by date filter. Those with a publication date equal to or less than that specified are returned. + */ +toDate?: string +/** + * Search criteria for the fields Name, Short description and Content. + */ +q?: string +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "id.asc,id.desc,publicationDate.asc, publicationDate.desc,hits.asc,hits.desc,likes.asc,likes.desc,dislikes.asc,dislikes.desc,votes.asc,votes.desc,rate.asc,rate.desc" +/** + * Number of random items. + */ +randomItems?: number +} +response: DataFileDTO +} +/** + * Get all the items related to the post specified. + */ +"GET /blog/posts/:id/related": { +searchParams: { +/** + * Position of the item to be obtained. + */ +position?: number +/** + * List of positions of the items to be obtained. + */ +positionList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Maximum number of items to return. + */ +limit?: number +offset?: number +/** + * Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource. + */ +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +} +response: RelatedCollectionDTO +} +/** + * Get only the items of the requested type related to the indicated post. + */ +"GET /blog/posts/:id/related/:type": { +searchParams: { +/** + * Position of the item to be obtained. + */ +position?: number +/** + * List of positions of the items to be obtained. + */ +positionList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Maximum number of items to return. + */ +limit?: number +offset?: number +/** + * Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource. + */ +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +} +response: RelatedCollectionDTO +} +/** + * Get a set of blog categories by applying the available filters and parameters. + */ +"GET /blog/categories": { +searchParams: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * List the internal identifiers of the items that you want to obtain. + */ +idList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Internal identifier of the parent item whose children are to be obtained. + */ +parentId?: number +/** + * Search criteria in the Name field. + */ +q?: string +qDeep?: ("NONE" | "SHORT" | "LARGE") +qType?: ("PARTIAL" | "COMPLETE" | "COMPLETE_WITH_SPACES" | "SHOULD_APPEAR_PARTIAL") +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "id.asc,id.desc,priority.asc, priority.desc, name.asc, name.desc" +/** + * Number of random items. + */ +randomItems?: number +/** + * Parameter to indicate that you only want to obtain the items that are activated. + */ +onlyActive?: boolean +} +response: BlogCategoryCollectionDTO +} +/** + * Get the blog category through the internal identifier specified. + */ +"GET /blog/categories/:id": { +response: BlogCategoryDTO +} +/** + * Get a blogger user through the internal identifier specified. + */ +"GET /blog/bloggers/:id": { +response: BloggerDTO +} +/** + * Get a set of blogger users by applying the available filters and parameters. Blogger users are the authors who create blog posts. + */ +"GET /blog/bloggers": { +searchParams: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * List the internal identifiers of the items that you want to obtain. + */ +idList?: string +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "id.asc,id.desc,numberOfPosts.asc, numberOfPosts.desc, name.asc, name.desc" +} +response: BloggerCollectionDTO +} +/** + * Get the post tag through the internal identifier specified. + */ +"GET /blog/tags/:id": { +response: BlogTagNumberOfPostsDTO +} +/** + * Get a set of post tags by applying available filters and parameters. + */ +"GET /blog/tags": { +searchParams: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * List the internal identifiers of the items that you want to obtain. + */ +idList?: string +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "id.asc,id.desc,numberOfPosts.asc,numberOfPosts.desc,value.asc,value.desc" +} +response: BlogTagCollectionDTO +} +/** + * Add a numerical value between 0 and 5 to rate the post specified. + */ +"POST /blog/posts/:id/rate": { +body: AddBlogPostRateParam +} +/** + * Increase the number of dislikes of the post specified by one unit. Valid only if you are logged in . + */ +"POST /blog/posts/:id/dislike": { + +} +/** + * Remove the dislike by the user of the post specified. Valid only if you are logged in . + */ +"DELETE /blog/posts/:id/dislike": { + +} +/** + * Increase the number of likes of the post specified by one unit. Valid only if you are logged in . + */ +"POST /blog/posts/:id/like": { + +} +/** + * Delete the like by the user of the post specified. Valid only if you are logged in . + */ +"DELETE /blog/posts/:id/like": { + +} +/** + * Increase the number of visits to the post by one through the identifier specified. + */ +"POST /blog/posts/:id/doneHit": { + +} +/** + * Get a brand through the internal identifier specified. + */ +"GET /brands/:id": { +response: BrandDTO +} +/** + * Get a set of brands by applying the available filters and parameters. + */ +"GET /brands": { +searchParams: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * List the internal identifiers of the items that you want to obtain. + */ +idList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Search criterion. + */ +q?: string +/** + * Parameter to indicate that you only want to obtain the items that are activated. + */ +onlyActive?: boolean +/** + * Filter according to the indexable feature, which specifies whether search engine robots should index the item. + */ +filterIndexable?: ("ALL" | "INDEXABLE" | "NO_INDEXABLE") +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "id.asc,id.desc,pId.asc,pId.desc,priority.asc,priority.desc,name.asc,name.desc" +/** + * Ordered list of the internal identifiers of the items to be obtained. + */ +sortByIdList?: string +} +response: BrandCollectionDTO +} +/** + * Get a set of categories by applying the available filters and parameters. + */ +"GET /categories": { +searchParams: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * List the internal identifiers of the items that you want to obtain. + */ +idList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Internal identifier of the parent item whose children are to be obtained. + */ +parentId?: number +/** + * List of internal identifiers of the parent items whose child items are to be obtained. + */ +parentIdList?: string +/** + * Public identifier of the parent item whose child items are to be obtained. + */ +parentPId?: string +/** + * Internal identifier of the area that contains the categories to be obtained. + */ +areaId?: number +/** + * List of internal identifiers of the areas that contain the categories to be obtained. + */ +areaIdList?: string +/** + * Public identifier of the area containing the categories to be obtained. + */ +areaPId?: string +/** + * Position of the area containing the categories to be obtained. + */ +areaPosition?: number +/** + * Search criteria in the Name field. + */ +q?: string +qDeep?: ("NONE" | "SHORT" | "LARGE") +qType?: ("PARTIAL" | "COMPLETE" | "COMPLETE_WITH_SPACES" | "SHOULD_APPEAR_PARTIAL") +/** + * Parameter to indicate that you only want to obtain the items that are activated. + */ +onlyActive?: boolean +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "id.asc,id.desc,pId.asc,pId.desc,name.asc,name.desc,priority.asc,priority.desc,dateadded.asc,dateadded.desc" +/** + * Ordered list of the internal identifiers of the items to be obtained. + */ +sortByIdList?: string +/** + * Filter according to the indexable feature, which specifies whether search engine robots should index the item. + */ +filterIndexable?: ("ALL" | "INDEXABLE" | "NO_INDEXABLE") +} +response: CategoryCollectionDTO +} +/** + * Get a category through the internal identifier specified. + */ +"GET /categories/:id": { +response: CategoryDTO +} +/** + * Get a set of categories including its subcategories. + */ +"GET /categories/tree": { +searchParams: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * List the internal identifiers of the items that you want to obtain. + */ +idList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Search criteria in the Name field. + */ +q?: string +/** + * Parameter to indicate that you only want to obtain the items that are activated. + */ +onlyActive?: boolean +/** + * Depth level of the category tree to be obtained. + */ +levels?: number +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "id.asc,id.desc,pId.asc,pId.desc,name.asc,name.desc,priority.asc,priority.desc,dateadded.asc,dateadded.desc" +} +response: CategoryTreeCollectionDTO +} +/** + * Get all the items related to the category specified. + */ +"GET /categories/:id/related": { +searchParams: { +/** + * Get the products included in related categories. Valid only if the category specified has items of type categories related . + */ +categoryProducts?: boolean +/** + * Position of the item to be obtained. + */ +position?: number +/** + * List of positions of the items to be obtained. + */ +positionList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Maximum number of items to return. + */ +limit?: number +offset?: number +/** + * Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource. + */ +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +} +response: RelatedCollectionDTO +} +/** + * Get only the items of the requested type related to the category specified. + */ +"GET /categories/:id/related/:type": { +searchParams: { +/** + * Get the products included in related categories. Valid only if the category specified has items of type categories related . + */ +categoryProducts?: boolean +/** + * Position of the item to be obtained. + */ +position?: number +/** + * List of positions of the items to be obtained. + */ +positionList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Maximum number of items to return. + */ +limit?: number +offset?: number +/** + * Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource. + */ +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +} +response: RelatedCollectionDTO +} +/** + * Get the rich snippets of the category specified. + */ +"GET /categories/:id/richSnippets": { +response: CategoryRichSnippetDTO[] +} +/** + * Get the content for the requested language from a data feed file consisting of a list of products that use attribute groups, which define each of the products uniquely. The number and syntax of those attributes depends on the data feed indicated through the internal identifier. This identifier is inserted as a parameter in the URL generated by the system for each data feed created in the Commerce (so that it can be called by third-party systems). + */ +"GET /dataFeed/:languageCode/:hash": { +response: DataFileDTO +} +/** + * Gets all available validation data sets. The validation data is used to define the valid values of the fields of the forms used in the presentation layer. + */ +"GET /dataValidation": { +response: DataValidationCollectionDTO +} +/** + * Gets a set of validation data through the internal identifier specified. The validation data is used to define the valid values of the fields of a certain form used in the presentation layer. + */ +"GET /dataValidation/:id": { +response: DataValidationDTO +} +/** + * Get a list of active discounts applicable to the user and their location, and that meet the optional indicated filters, sort, and pagination. Only available under license of module 'DISNV'(Discounts Navigation). + */ +"GET /discounts": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. Comma separated list of these possible values: priority.asc,priority.desc,displayPriority.asc,displayPriority.desc,name.asc,name.desc + */ +sort?: string +/** + * Comma separated list of the conditional types that the returned discounts must meet in case they are set. Admited values for the list: ACTIVITY_LIMIT, PERIOD, VALUE_NUM_ORDERS. + */ +conditionsToBeMet?: string +/** + * Comma separated list of the conditional types you want to discard Discounts conditioned by them. + */ +discardConditionedBy?: string +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item to be obtained. + */ +pId?: string +} +response: DiscountCollectionDTO +} +/** + * Get the list of products that are selectable as a Gift for the specified discount, by applying the specified filters, sort and pagination. + */ +"GET /discountSelectableGifts/:id/products": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Specifies whether you want to get those products that are in stock; stock and with prevision; stock and with prevision and on request or withot filter. + */ +stockType?: ("NONE" | "AVAILABLE" | "AVAILABLE_AND_PREVISION" | "AVAILABLE_PREVISION_AND_ONREQUEST") +/** + * Sort variable. + */ +sort?: "id.asc,id.desc,pId.asc,pId.desc,sku.asc,sku.desc,name.asc,name.desc,priority.asc,priority.desc,price.asc,price.desc,offer.asc,offer.desc,featured.asc,featured.desc,publicationDate.asc,publicationDate.desc" +} +response: DiscountSelectableGiftProductCollectionDTO +} +/** + * Get a news item through the internal identifier specified. + */ +"GET /news/:id": { +response: NewsDTO +} +/** + * Get a news set by applying the available filters and parameters. + */ +"GET /news": { +searchParams: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * List the internal identifiers of the items that you want to obtain. + */ +idList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Parameter to indicate that you only want to obtain the items that are activated. + */ +onlyActive?: boolean +/** + * Search criteria for the fields Title, Short description and Content. + */ +q?: string +qDeep?: ("NONE" | "SHORT" | "LARGE") +qType?: ("PARTIAL" | "COMPLETE" | "COMPLETE_WITH_SPACES" | "SHOULD_APPEAR_PARTIAL") +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "priority.asc,priority.desc,publicationdate.asc,publicationdate.desc" +/** + * Ordered list of the internal identifiers of the items to be obtained. + */ +sortByIdList?: string +/** + * Number of random items. + */ +randomItems?: number +} +response: NewsCollectionDTO +} +/** + * Get a page through the internal identifier specified. + */ +"GET /pages/:id": { +searchParams: { +/** + * Level of depth of the tree of pages that you want to obtain. + */ +levels?: number +} +response: PageDTO +} +/** + * Get a set of pages by applying the available filters and parameters. + */ +"GET /pages": { +searchParams: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * List the internal identifiers of the items that you want to obtain. + */ +idList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Internal identifier of the parent page whose pages you want to get. + */ +parentId?: number +/** + * Position of the item to be obtained. + */ +position?: number +/** + * List of internal identifiers of the parent pages whose pages you want to obtain. + */ +parentIdList?: string +/** + * Public identifier of the parent page whose pages you want to get. + */ +parentPId?: string +/** + * Internal identifier of the page group to be obtained. + */ +pagesGroupId?: number +/** + * List of internal identifiers of the page group to be obtained. + */ +pagesGroupIdList?: string +/** + * Public identifier of the page group to be obtained. + */ +pagesGroupPId?: string +/** + * List of positions of the items to be obtained. + */ +positionList?: string +/** + * Search criteria for the fields Name, and Short title or Long title or Individual title. + */ +q?: string +qDeep?: ("NONE" | "SHORT" | "LARGE") +qType?: ("PARTIAL" | "COMPLETE" | "COMPLETE_WITH_SPACES" | "SHOULD_APPEAR_PARTIAL") +/** + * Indicate the type of content or behavior that the pages you want to obtain have. + */ +pageType?: ("DEFAULT" | "HOME" | "CONTACT" | "SITEMAP" | "SUBPAGES" | "USER" | "SHOPPING_CART" | "SPONSORSHIP_REGISTERED_USER" | "NEWSLETTER" | "SPONSORSHIP_UNREGISTERED_USER" | "CATEGORY" | "NEWS_LIST" | "OFFERS" | "FEATURED_PRODUCTS" | "PRIVACY_POLICY" | "TERMS_OF_USE" | "BLOG_HOME" | "BLOG_CATEGORY" | "DISCOUNTS" | "CUSTOM" | "MODULE") +/** + * Parameter to indicate that you only want to obtain the items that are activated. + */ +onlyActive?: boolean +/** + * Filter according to the indexable feature, which specifies whether search engine robots should index the item. + */ +filterIndexable?: ("ALL" | "INDEXABLE" | "NO_INDEXABLE") +/** + * Level of depth of the tree of pages that you want to obtain. + */ +levels?: number +/** + * Number of random items. + */ +randomItems?: number +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "id.asc,id.desc,pId.asc,pId.desc,name.asc,name.desc,priority.asc,priority.desc" +/** + * Ordered list of the internal identifiers of the items to be obtained. + */ +sortByIdList?: string +} +response: PageCollectionDTO +} +/** + * Get all the items related to the page specified. + */ +"GET /pages/:id/related": { +searchParams: { +/** + * Position of the item to be obtained. + */ +position?: number +/** + * List of positions of the items to be obtained. + */ +positionList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Maximum number of items to return. + */ +limit?: number +offset?: number +/** + * Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource. + */ +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +} +response: RelatedCollectionDTO +} +/** + * Get only the items of the requested type related to the page specified. + */ +"GET /pages/:id/related/:type": { +searchParams: { +/** + * Position of the item to be obtained. + */ +position?: number +/** + * List of positions of the items to be obtained. + */ +positionList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Maximum number of items to return. + */ +limit?: number +offset?: number +/** + * Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource. + */ +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +} +response: RelatedCollectionDTO +} +/** + * Get the physical locations supported by the cart. + */ +"GET /physicalLocations": { +searchParams: { +/** + * Country code in ISO 3166-2 format. + */ +countryCode?: string +/** + * Filter to obtain the PhysicalLocations whose state is the same as the indicated one. + */ +state?: string +/** + * Filter to obtain those PhysicalLocations whose city is the same as the indicated one. + */ +city?: string +/** + * Filter to obtain those PhysicalLocations whose zip code is the same as the indicated one. + */ +postalCode?: string +/** + * Internal identifier of a subdivision of a country. + */ +locationId?: number +/** + * Latitude value of the geographic coordinate of the location for which physical locations are requested. + */ +latitude?: number +/** + * Longitude value of the geographic coordinate of the location for which physical locations are requested. + */ +longitude?: number +/** + * Specifies the distance radius in kilometers centering on the location described by the latitude and longitude values. Physical locations within this radius are obtained. + */ +radius?: number +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * List the internal identifiers of the items that you want to obtain. + */ +idList?: string +/** + * Specifies that physical locations are visible on a map. + */ +visibleOnMap?: boolean +/** + * Specifies that the physical locations are configured as pickup points. + */ +deliveryPoint?: boolean +/** + * Specifies that the physical locations are configured as return points. + */ +returnPoint?: boolean +} +response: PhysicalLocationCollectionDTO +} +/** + * Get the available pickup point providers that are applicable to the user, by applying the specified filters and pagination. + */ +"GET /oms/pickupPointProviders": { +searchParams: { +/** + * ISO 3166-1 alpha-2 code of the country for which you wish to obtain pickup point providers that can offer pickup points for that. It must be one of those supported by the sales area. + */ +countryCode?: string +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * List the internal identifiers of the items that you want to obtain. + */ +idList?: string +} +response: PickupPointProviderCollectionDTO +} +/** + * Adds the specified product to the product comparison. + */ +"POST /productComparison/products": { +body: AddComparisonProductParam +} +/** + * Delete the specified product from the product comparison. + */ +"DELETE /productComparison/products/:id": { + +} +/** + * Get all the necessary data to be able to compare the products of the product comparison. + */ +"GET /productComparison": { +response: ProductComparisonDTO +} +/** + * Get a list of active discounts applicable to the user and their location, which also have set some product condition (brand, combination, or catalog) that references the indicated product, and that meet the optional indicated filters, sort, and pagination. + */ +"GET /products/:id/discounts": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. Comma separated list of these possible values: priority.asc,priority.desc,displayPriority.asc,displayPriority.desc,name.asc,name.desc + */ +sort?: string +/** + * Comma separated list of the conditional types that the returned discounts must meet in case they are set. Admited values for the list: ACTIVITY_LIMIT, PERIOD, VALUE_NUM_ORDERS. + */ +conditionsToBeMet?: string +/** + * Comma separated list of the conditional types you want to discard Discounts conditioned by them. + */ +discardConditionedBy?: string +} +response: DiscountCollectionDTO +} +/** + * Get a list of active discounts applicable to the user and their location, which also have set some product condition (brand, combination, or catalog) that references any of the specified products, and that meet the optional indicated filters, sort, and pagination. + */ +"GET /products/discounts": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. Comma separated list of these possible values: priority.asc,priority.desc,displayPriority.asc,displayPriority.desc,name.asc,name.desc + */ +sort?: string +/** + * Comma separated list of the conditional types that the returned discounts must meet in case they are set. Admited values for the list: ACTIVITY_LIMIT, PERIOD, VALUE_NUM_ORDERS. + */ +conditionsToBeMet?: string +/** + * Comma separated list of the conditional types you want to discard Discounts conditioned by them. + */ +discardConditionedBy?: string +/** + * Comma separated list of the internal identifiers of the products to be considered + */ +productIdList: string +} +response: ProductsDiscountsCollectionDTO +} +/** + * Returns the earned points in a product purchase for each active points policy. + */ +"GET /products/:id/rewardPoints": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +} +response: ProductRewardPointsCollectionDTO +} +/** + * Get the comments for the product specified. + */ +"GET /products/:id/comments": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "rating.asc,rating.desc,dateAdded.asc,dateAdded.desc" +/** + * Specifies whether you want to get comments in all languages ​​or only the language active in the session. + */ +showAllLanguages?: boolean +} +response: ProductCommentCollectionDTO +} +/** + * Add a comment to the product specified. + */ +"POST /products/:id/comments": { +body: AddProductCommentParam +response: ProductCommentDTO +} +/** + * Add a numerical value between 0 and 5 to rate the product specified. + */ +"POST /products/:id/rate": { +body: AddProductRateParam +} +/** + * products/{id}/bundleDefinitions + */ +"GET /products/:id/bundleDefinitions": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "priority.asc, priority.desc,name.asc,name.desc" +} +response: BundleDefinitionCollectionDTO +} +/** + * products/{id}/bundleDefinitions/{bundleDefinitionId}/groupings + */ +"GET /products/:id/bundleDefinitions/:bundleDefinitionId/groupings": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "priority.asc, priority.desc" +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +} +response: BundleGroupingCollectionDTO +} +/** + * products/{id}/combinationData + */ +"POST /products/:id/combinationData": { +body: ProductCombinationDataParam +response: ProductCombinationDataDTO +} +/** + * Gets all items linked to the product specified + */ +"GET /products/:id/linked": { +searchParams: { +/** + * Position of the item to be obtained. + */ +position?: number +/** + * List of positions of the items to be obtained. + */ +positionList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Maximum number of items to return. + */ +limit?: number +offset?: number +/** + * Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource. + */ +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +} +response: LinkedCollectionDTO +} +/** + * Obtain a product through the internal identifier specified. + */ +"GET /products/:id": { +searchParams: { +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +} +response: ProductDTO +} +/** + * Get the best-selling products by applying the available filters and parameters. + */ +"GET /products/topSellers": { +searchParams: { +/** + * List of the internal identifiers of the categories that contain the products to be obtained. + */ +categoryIdList?: string +/** + * Internal brand identifier of the products to be obtained. + */ +brandId?: number +/** + * Date that defines the bottom end of the range for the calculation of bestsellers. The top end of the range is always the current date. The calculation only applies to orders whose creation date is within this range and have not been eliminated. + */ +date?: string +/** + * Specifies the number of products that you want to obtain. + */ +productsNumber?: number +/** + * Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource. + */ +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +} +response: ProductCollectionDTO +} +/** + * Get a collection of products by applying the available filters and parameters. + */ +"GET /products": { +searchParams: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * List the internal identifiers of the items that you want to obtain. + */ +idList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Internal identifier of the category that contains the products to be obtained. The value 0 refers to products that are not linked to any category. + */ +categoryId?: number +/** + * List of the internal identifiers of the categories that contain the products to be obtained. + */ +categoryIdList?: string +/** + * Specifies whether all products found in the subcategories contained in the main product category should also be displayed. Valid only when any of these parameters are also passed: categoryId, categoryIdList or categoryPId. + */ +includeSubcategories?: boolean +/** + * Internal brand identifier of the products to be obtained. + */ +brandId?: number +/** + * List of internal brand identifiers of the products to be obtained. + */ +brandsList?: string +/** + * Search criteria for the fields Name, Keywords, EAN, SKU, ProductCombination SKU, Brand and Description. + */ +q?: string +/** + * Specifies the depth level in the search:
SHORT: Using the short product description.
LARGE: Using the long product description. + */ +qDeep?: ("NONE" | "SHORT" | "LARGE") +/** + * Specifies the behavior of the search to be performed:
PARTIAL: Partial search for any different parts that might be in the search criteria string.
COMPLETE: Full search using search criteria string.
COMPLETE_WITH_SPACES: Full search including blank spaces using search criteria string.
SHOULD_APPEAR_PARTIAL: Partial search where all parts of the search criteria string must appear. + */ +qType?: ("PARTIAL" | "COMPLETE" | "COMPLETE_WITH_SPACES" | "SHOULD_APPEAR_PARTIAL") +/** + * Specifies the behavior of the search to be performed:
PARTIAL: Partial search for any different parts that might be in the search criteria string.
COMPLETE: Full search using search criteria string.
COMPLETE_WITH_SPACES: Full search including blank spaces using search criteria string.
SHOULD_APPEAR_PARTIAL: Partial search where all parts of the search criteria string must appear. + */ +customTagsSearchType?: ("PARTIAL" | "COMPLETE" | "COMPLETE_WITH_SPACES" | "SHOULD_APPEAR_PARTIAL") +/** + * Specifies whether you want to get those products that are in stock; stock and with prevision; stock and with prevision and on request or withot filter. + */ +stockType?: ("NONE" | "AVAILABLE" | "AVAILABLE_AND_PREVISION" | "AVAILABLE_PREVISION_AND_ONREQUEST") +/** + * Indicate if you only want to get those products that are configured as featured. + */ +onlyFeatured?: boolean +/** + * Indicate if you only want to get those products configured with an offer activated. + */ +onlyOffers?: boolean +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * List of internal identifiers for custom product tags. + */ +customTagsSearchList?: string +/** + * Sort variable. + */ +sort?: ("id.asc" | "id.desc" | "pId.asc" | "pId.desc" | "sku.asc" | "sku.desc" | "name.asc" | "name.desc" | "priority.asc" | "priority.desc" | "price.asc" | "price.desc" | "offer.asc" | "offer.desc" | "featured.asc" | "featured.desc" | "dateAdded.asc(deprecated)" | "dateAdded.desc(deprecated)" | "publicationDate.asc" | "publicationDate.desc") +/** + * Ordered list of the internal identifiers of the items to be obtained. + */ +sortByIdList?: string +/** + * Indicates that you want to preserve the ordering received by thirdparty. + */ +thirdPartySort?: boolean +/** + * Bottom of price range of tax-free product to search for products using a price filter. Those with a price equal or higher than the one specified are returned. + */ +fromPrice?: number +/** + * Top of price range of tax-free product to search for products using a price filter. Those with a price equal to or less than the one specified are returned. + */ +toPrice?: number +/** + * Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource. + */ +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +/** + * Indicates if the initial and final value of the price filter include taxes. This criterion will also be used to select the price value in the products (with or without taxes) that should be used to evaluate the filter. By default, it uses the Commerce's configuration. + */ +taxIncluded?: boolean +/** + * Number of random items. + */ +randomItems?: number +/** + * Filter according to the indexable feature, which specifies whether search engine robots should index the item. + */ +filterIndexable?: ("ALL" | "INDEXABLE" | "NO_INDEXABLE") +/** + * Parameter to filter according to a specific option with a specific option value. Several can be used at once.
Usage: filterOption [option name in language returned]? option value in the language returned. + */ +"filterOption[name]"?: string +/** + * Parameter to filter based on a specific custom tag with a specific value. Several can be used at once.
Usage: filterCustomTag [tag identifier]? tag value. + */ +"filterCustomTag[id]"?: string +/** + * Parameter for filtering ranges of numeric values ​​for custom tags. Several can be used at once.
Usage: filterCustomTagInterval [tag identifier]? start value of the range & filterCustomTagInterval [tag identifier]? end value of the range. + */ +"filterCustomTagInterval[id]"?: string +showFilters?: boolean +/** + * Internal identifier of the discount whose conditioning Products are the ones to be obtained.
  • These Products are those referenced by any of the following types of discount conditions:
    • Brand: Products whose brand is among the brands established by this condition.
    • Catalog: Products that are directly defined by this condition, or whose main category is among the categories included by this condition; as long as the product has not been excluded, and its parent category has not been excluded either in this condition.
    • Combination: Products that are among those referenced by any of the groups defined by this condition.
    • *Always excluding those products that are marked as on offer if the provided discount has the condition of restricting products on offer.
  • Filter only available under license of module DISNV (Discounts Navigation), otherwise it will be ignored.
+ */ +discountId?: number +} +response: ProductCollectionDTO +} +/** + * Get all items related to the product specified. + */ +"GET /products/:id/related": { +searchParams: { +/** + * Position of the item to be obtained. + */ +position?: number +/** + * List of positions of the items to be obtained. + */ +positionList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Maximum number of items to return. + */ +limit?: number +offset?: number +/** + * Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource. + */ +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +} +response: RelatedCollectionDTO +} +/** + * Get only items of the requested type related to the product specified. + */ +"GET /products/:id/related/:type": { +searchParams: { +/** + * Position of the item to be obtained. + */ +position?: number +/** + * List of positions of the items to be obtained. + */ +positionList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Maximum number of items to return. + */ +limit?: number +offset?: number +/** + * Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource. + */ +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +} +response: RelatedCollectionDTO +} +/** + * Get the rich snippets of the product specified. + */ +"GET /products/:id/richSnippets": { +response: ProductRichSnippetDTO[] +} +/** + * products/bundleDefinitions/groupings/combinationData + */ +"POST /products/bundleDefinitions/groupings/combinationData": { +response: BundleCombinationDataDTO +} +/** + * Submit an inquiry about a product to the Commerce administrator. + */ +"POST /products/:id/productQuery": { +body: ProductQueryParam +} +/** + * Subscribe a user or email address to the stock alerts system for the product combination specified. + */ +"POST /products/combinations/:id/stockAlert": { +body: StockSubscriptionParam +} +/** + * Send a recommendation of the specified items to the email address supplied. A transactional email recommending products is sent.
For products, if you indicate value for all the options of the product that are mandatory and of type selector, the product will be recommended with all the indicated options of type selector.

For bundles, if for each product of the bundle you indicate value for all its options that are mandatory and of type selector, the bundle will be recommended with all the indicated options of type selector.
+ */ +"POST /recommend": { +body: RecommendBodyExtended +} +/** + * Get information about the presentation layer resource path specified. It details the type of presentation layer resource that the path points to and supplies the information that the presentation layer view needs in order to build the content associated with that resource. + */ +"GET /route": { +searchParams: { +/** + * Http or https protocol. + */ +protocol: string +/** + * Domain to be used by the presentation layer resource. + */ +host: string +/** + * Presentation layer resource path. + */ +path: string +/** + * Cart token. + */ +basketToken?: string +} +response: RouteDTO +} +/** + * Gets the content of a sitemap index file that includes the collection of the different sitemaps that the Commerce generates, the number of which will vary depending on the configuration that has been set. + */ +"GET /sitemap": { +response: DataFileDTO +} +/** + * Get a set of trace scripts by applying the available filters and parameters. + */ +"GET /trackers": { +searchParams: { +routeType?: ("PREHOME" | "HOME" | "PRIVACY_POLICY" | "CONTACT" | "TERMS_OF_USE" | "NOT_FOUND" | "FEED" | "SITEMAP" | "SEARCH" | "AREA" | "BRANDS" | "BRAND" | "CATEGORY" | "NEWS_LIST" | "NEWS" | "PAGE" | "POLL" | "DISCOUNT" | "DISCOUNTS" | "PRODUCT_COMPARISON" | "PRODUCT" | "FEATURED_PRODUCTS" | "OFFERS" | "SUBSCRIPTION_VERIFY" | "SUBSCRIPTION_UNSUBSCRIBE" | "BLOG_HOME" | "BLOG_TAG_CLOUD" | "BLOG_TAG" | "BLOG_ARCHIVE" | "BLOG_POST" | "BLOG_BLOGGERS" | "BLOG_BLOGGER" | "BLOG_CATEGORY" | "BLOG_UNSUBSCRIBE" | "BLOG_CATEGORY_UNSUBSCRIBE" | "BLOG_POST_UNSUBSCRIBE" | "BLOG_RSS" | "BASKET" | "BASKET_RECOVERY" | "EXPRESS_CHECKOUT_RETURN" | "EXPRESS_CHECKOUT_CANCEL" | "ORDER" | "CHECKOUT" | "CHECKOUT_ASYNC_ORDER" | "CHECKOUT_BASKET" | "CHECKOUT_CONFIRM_ORDER" | "CHECKOUT_CREATE_ACCOUNT" | "CHECKOUT_CUSTOMER" | "CHECKOUT_CUSTOMER_NEW_REGISTER" | "CHECKOUT_DENIED_ORDER" | "CHECKOUT_END_ORDER" | "CHECKOUT_GUEST" | "CHECKOUT_PAYMENT_AND_SHIPPING" | "PHYSICAL_LOCATION" | "PHYSICAL_LOCATION_CITIES" | "PHYSICAL_LOCATION_COUNTRIES" | "PHYSICAL_LOCATION_MAP" | "PHYSICAL_LOCATION_STATES" | "PHYSICAL_LOCATION_STORES" | "USER" | "USER_ADDRESS_BOOK" | "USER_ADDRESS_BOOK_ADD" | "USER_ADDRESS_BOOK_EDIT" | "USER_CHANGE_PASSWORD" | "CHANGE_PASSWORD_ANONYMOUS" | "USER_COMPLETE_ACCOUNT" | "USER_CREATE_ACCOUNT" | "USER_DELETE_ACCOUNT" | "USER_DELETE_NEWSLETTER" | "USER_VOUCHER_CODES" | "USER_LOST_PASSWORD" | "USER_OAUTH" | "USER_OAUTH_CALLBACK" | "USER_OAUTH_CALLBACK_PATH" | "USER_ORDERS" | "USER_ORDER" | "USER_PAYMENT_CARDS" | "USER_POLICIES" | "USER_RECOMMENDED_BASKETS" | "USER_SPONSORSHIP" | "USER_STOCK_ALERTS" | "USER_SUBSCRIPTIONS" | "USER_USER_WELCOME" | "USER_VERIFY_ACCOUNT" | "USER_WISHLIST" | "USER_SALES_AGENT" | "USER_RMAS" | "USER_SALES_AGENT_SALES" | "USER_SALES_AGENT_CUSTOMERS" | "USER_REWARD_POINTS" | "USER_SHOPPING_LISTS" | "ANY") +/** + * Specifies the type of page where the tracking script is embedded. + */ +pageType?: ("ALL" | "HOME" | "AREA" | "CATEGORY" | "PRODUCT" | "CHECKOUT" | "CHECKOUT_USER" | "PAYMENT_SHIPPING" | "CONFIRM_ORDER" | "DENIED_ORDER" | "PAGE_CONTENT" | "NEWS" | "NEW_USER" | "BLOG" | "BLOG_HOME" | "BLOG_TAGS" | "BLOG_CATEGORY" | "BLOG_POST" | "BLOG_AUTHOR" | "SEARCH") +} +response: TrackerCollectionDTO +} +/** + * Endpoint to retrieve an existing attachment in the commerce. + */ +"GET /oms/attachment": { +searchParams: { +/** + * Path of the existing attachment in the commerce to be retrieved. + */ +path?: string +} +response: AttachmentDTO +} +/** + * Add a bundle to the cart in the required quantity. + */ +"POST /oms/basket/bundle": { +body: AddBasketBundleParam +response: BasketDTO +} +/** + * Modify the quantity or the products of the bundle with the hash code specified. + */ +"PUT /oms/basket/bundle/:hash": { +body: UpdateBasketBundleParam +response: BasketDTO +} +/** + * Get the express checkout url. + */ +"GET /oms/basket/expressCheckout": { +searchParams: { +pluginAccountId?: number +} +response: ExpressCheckoutUrlDTO +} +/** + * Logout the express checkout session. + */ +"POST /oms/basket/expressCheckout/logout": { +response: BasketDTO +} +/** + * Validate the express checkout parameters. + */ +"POST /oms/basket/expressCheckout/validate": { +body: ValidateParam +response: BasketDTO +} +/** + * Bulk add or update quantities of products to cart. + */ +"POST /oms/basket/products": { +body: AddBasketFillProductsParam +response: ResponseAddFillProductCollectionDTO +} +/** + * Add a product to the cart in the required quantity. + */ +"POST /oms/basket/product": { +body: AddBasketProductParam +response: BasketDTO +} +/** + * Pin the indicated attributes of the product row with the specified value. + */ +"PUT /oms/basket/product/:hash/pin": { +body: ProductRowPinnedRequestBody +response: BasketDTO +} +/** + * Modify the quantity or the options of the product with the hash code specified. + */ +"PUT /oms/basket/product/:hash": { +body: UpdateBasketProductParam +response: BasketDTO +} +/** + * Add a comment to the cart. Overwrite the comment if it was submitted previously. + */ +"POST /oms/basket/comment": { +body: AddCommentParam +response: BasketDTO +} +/** + * Get all items linked to products in the cart. + */ +"GET /oms/basket/linked": { +searchParams: { +/** + * Position of the item to be obtained. + */ +position?: number +/** + * List of positions of the items to be obtained. + */ +positionList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Maximum number of items to return. + */ +limit?: number +offset?: number +/** + * Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource. + */ +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +} +response: LinkedCollectionDTO[] +} +/** + * Add linked product to the cart. + */ +"POST /oms/basket/linked": { +response: BasketDTO +} +/** + * Add to the basket the specified gift of a discount selectable gift that is applicable to the basket. + */ +"POST /oms/basket/gift": { +response: BasketDTO +} +/** + * Add a discount code to the cart if it is valid and has not been previously added. + */ +"POST /oms/basket/voucher/:code": { +response: BasketDTO +} +/** + * Delete a discount code from the cart through your code. It must have been previously added. + */ +"DELETE /oms/basket/voucher/:code": { +response: BasketDTO +} +/** + * Delete all the products in the cart leaving it empty. + */ +"POST /oms/basket/clear": { +response: BasketDTO +} +/** + * Get the detail of the cart that is in session. + */ +"GET /oms/basket": { +response: BasketDTO +} +/** + * @deprecated + * Retrieves the content of the abandoned cart identified with the provided token and dumps it into a new cart. This resource is deprecated, use the recover resource instead. + */ +"GET /oms/basket/recovery": { +searchParams: { +hash?: string +} +response: BasketDTO +} +/** + * Get the custom cart tags. + */ +"GET /oms/basket/customTags": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +} +response: CustomTagCollectionDTO +} +/** + * Add custom tags to the cart. + */ +"POST /oms/basket/customTags": { +body: SetCustomTagParam +response: BasketDTO +} +/** + * Get all the payment systems compatible with the cart. + */ +"GET /oms/basket/paymentSystems": { +response: PaymentSystemCollectionDTO +} +/** + * Assign a payment system to the cart. + */ +"POST /oms/basket/paymentSystems": { +body: PaymentSystemParam +response: BasketDTO +} +/** + * Get all items related to products in the cart. Only available for plugins . + */ +"GET /oms/basket/related": { +searchParams: { +/** + * Position of the item to be obtained. + */ +position?: number +/** + * List of positions of the items to be obtained. + */ +positionList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Maximum number of items to return. + */ +limit?: number +offset?: number +/** + * Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource. + */ +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +} +response: RelatedCollectionDTO[] +} +/** + * Get only the items of the requested type related to the cart. Only available for plugins . + */ +"GET /oms/basket/related/:type": { +searchParams: { +/** + * Position of the item to be obtained. + */ +position?: number +/** + * List of positions of the items to be obtained. + */ +positionList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Maximum number of items to return. + */ +limit?: number +offset?: number +/** + * Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource. + */ +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +} +response: RelatedCollectionDTO[] +} +/** + * Process to validate and calculate all the items of the cart: products, discount codes, payment systems and shipping methods. + */ +"POST /oms/basket/recalculate": { +response: BasketDTO +} +"POST /oms/basket/rewardPoints/redeem": { +response: BasketDTO +} +/** + * Select billing and shipping addresses for cart + */ +"POST /oms/basket/addresses": { +body: BasketAddressesParam +response: BasketDTO +} +/** + * Assign the shipments and shipping methods specified to the delivery identified with the hash code provided. Each expedition must have a shipping method, so shipment-shipping method pairs must be sent to cover all the shipments included in the delivery. + */ +"POST /oms/basket/shippings": { +response: BasketDTO +} +/** + * Update linked product to the cart. + */ +"PUT /oms/basket/linked/:hash": { +response: BasketDTO +} +/** + * Modifies the specified locked stock timer of the basket's session. Only available under license 'STCBL'(Basket Stock Locking). + */ +"PUT /oms/basket/lockedStockTimers/:uid": { +body: UpdateLockedStockTimer +response: LockedStockTimerDTO +} +/** + * Delete the row from the cart with the hash code specified. + */ +"DELETE /oms/basket/row/:hash": { +response: BasketDTO +} +/** + * Delete the rows from the cart with the hash codes specified. + */ +"POST /oms/basket/rows/delete": { +response: BasketDTO +} +/** + * Fill the cart with the rows identifieds with the provided hash. + */ +"POST /oms/basket/rows": { +body: HashRequestBody +response: SetRowsResponseDTO +} +/** + * Verify the contact form for subsequent submission. + */ +"POST /contact": { +body: ContactParam +} +/** + * Get the contact reasons established in the email template specified. + */ +"GET /contact/motives": { +response: MotiveDTO +} +/** + * Submit a form with information and custom fields. + */ +"POST /customForm/sendData": { +body: CustomFormSendDataRequestBody +} +/** + * Submit an email with information and attachments. + */ +"POST /customForm/sendMail": { +body: CustomFormSendMailRequestBody +} +/** + * Obtain a delivery note through the internal identifier specified. + */ +"GET /oms/deliveryNotes/:id": { +response: DeliveryNoteDTO +} +/** + * Get a delivery note in PDF format encoded in BASE64 through the internal identifier specified. + */ +"GET /oms/deliveryNotes/:id/pdf": { +response: CreateDocumentDTO +} +/** + * Get a delivery note with the rich currency, number and date formats. Valid only if you are logged in . + */ +"GET /oms/deliveryNotes/:id/rich": { +response: RichDocumentDTO +} +/** + * @deprecated + * Get all possible deliveries of the order compatible with the cart, including home deliveries and store pickups. By default, the user's shipping address is used to find the pickup points. + */ +"GET /oms/basket/deliveries": { +searchParams: { +/** + * Country code in ISO 3166-2 format. + */ +countryCode?: string +/** + * Filter to obtain the order deliveries of store pickup of the physical locations whose state is the same as the indicated one. + */ +state?: string +/** + * Filter to obtain the order deliveries of store pickup of the physical locations whose city is the same as the indicated one. + */ +city?: string +/** + * Filter to obtain the order deliveries of store pickup of the physical locations whose postalCode is the same as the indicated one. + */ +postalCode?: string +/** + * Internal identifier of a subdivision of a country. + */ +locationId?: number +/** + * Latitude value of the geographic coordinate of the location for which physical locations are requested. + */ +latitude?: number +/** + * Longitude value of the geographic coordinate of the location for which physical locations are requested. + */ +longitude?: number +/** + * Specifies the distance radius in kilometers centering on the location described by the latitude and longitude values. Physical locations within this radius are obtained. + */ +radius?: number +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * List the internal identifiers of the items that you want to obtain. + */ +idList?: string +/** + * Specifies that physical locations are visible on a map. + */ +visibleOnMap?: boolean +/** + * Specifies that the physical locations are configured as pickup points. + */ +deliveryPoint?: boolean +/** + * Specifies that the physical locations are configured as return points. + */ +returnPoint?: boolean +} +response: DeliveryCollectionDTO +} +/** + * Obtains the possible picking deliveries compatible with the basket at the physical locations that can act as a pickup points. By default, the user's shipping address is used to find them. + */ +"GET /oms/basket/physicalLocationPickingDeliveries": { +searchParams: { +/** + * Country code in ISO 3166-2 format. + */ +countryCode?: string +/** + * Filter to obtain the order deliveries of store pickup of the physical locations whose state is the same as the indicated one. + */ +state?: string +/** + * Filter to obtain the order deliveries of store pickup of the physical locations whose city is the same as the indicated one. + */ +city?: string +/** + * Filter to obtain the order deliveries of store pickup of the physical locations whose postalCode is the same as the indicated one. + */ +postalCode?: string +/** + * Internal identifier of a subdivision of a country. + */ +locationId?: number +/** + * Latitude value of the geographic coordinate of the location for which physical locations are requested. + */ +latitude?: number +/** + * Longitude value of the geographic coordinate of the location for which physical locations are requested. + */ +longitude?: number +/** + * Specifies the distance radius in kilometers centering on the location described by the latitude and longitude values. Physical locations within this radius are obtained. + */ +radius?: number +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * List the internal identifiers of the items that you want to obtain. + */ +idList?: string +/** + * Specifies that physical locations are visible on a map. + */ +visibleOnMap?: boolean +/** + * Specifies that the physical locations are configured as pickup points. + */ +deliveryPoint?: boolean +/** + * Specifies that the physical locations are configured as return points. + */ +returnPoint?: boolean +} +response: { +/** + * Information about distinct filterable values over the returned items. + */ +filter?: PhysicalLocationFilterDTO +/** + * Information about the pagination of the items. + */ +pagination?: PaginationDTO +/** + * Items returned by the resource. + */ +items?: PickingDeliveryDTO[] +} +} +/** + * @deprecated + * Get the possible in-store pickups compatible with the cart. By default, the user's shipping address is used to find the pickup points. + */ +"GET /oms/basket/deliveries/picking": { +searchParams: { +/** + * Country code in ISO 3166-2 format. + */ +countryCode?: string +/** + * Filter to obtain the order deliveries of store pickup of the physical locations whose state is the same as the indicated one. + */ +state?: string +/** + * Filter to obtain the order deliveries of store pickup of the physical locations whose city is the same as the indicated one. + */ +city?: string +/** + * Filter to obtain the order deliveries of store pickup of the physical locations whose postalCode is the same as the indicated one. + */ +postalCode?: string +/** + * Internal identifier of a subdivision of a country. + */ +locationId?: number +/** + * Latitude value of the geographic coordinate of the location for which physical locations are requested. + */ +latitude?: number +/** + * Longitude value of the geographic coordinate of the location for which physical locations are requested. + */ +longitude?: number +/** + * Specifies the distance radius in kilometers centering on the location described by the latitude and longitude values. Physical locations within this radius are obtained. + */ +radius?: number +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * List the internal identifiers of the items that you want to obtain. + */ +idList?: string +/** + * Specifies that physical locations are visible on a map. + */ +visibleOnMap?: boolean +/** + * Specifies that the physical locations are configured as pickup points. + */ +deliveryPoint?: boolean +/** + * Specifies that the physical locations are configured as return points. + */ +returnPoint?: boolean +} +response: DeliveryCollectionDTO +} +/** + * Obtains the possible picking deliveries compatible with the basket at the pickup points provided by the indicated provider according to the location data provided.
In addition to the location data described, additional query parameters required for the pickup point provider plugin can be provided according to its specification. + */ +"GET /oms/basket/providerPickupPointPickingDeliveries": { +searchParams: { +/** + * Internal identifier of the pickup point provider for which you wish to obtain its pickup points.
Must be one of the valid pickup point providers for the user's session and the specified country. + */ +pickupPointProviderId: number +/** + * ISO 3166-1 alpha-2 code of the country for which you wish to obtain provider pickup points.
It must be one of those supported by the sales area.
If not specified, the user's shipping address country is used to find the pickup points.
Mandatory in case the session has no user's shipping address country. + */ +countryCode: string +/** + * Filter to obtain picking deliveries at the pickup points that the provider's plugin considers available for this postal code. + */ +postalCode?: string +/** + * Filter to obtain picking deliveries at the pickup points that the provider's plugin considers available for this city. + */ +city?: string +/** + * Filter to obtain picking deliveries at the pickup points that the provider's plugin considers available for the geographic coordinate whose latitude is given here. Must be provided in format: ISO 6709 '±DD.D'. + */ +latitude?: number +/** + * Filter to obtain picking deliveries at the pickup points that the provider's plugin considers available for the geographic coordinate whose latitude is given here. Must be provided in format: ISO 6709 '±DDD.D'. + */ +longitude?: number +/** + * Filter to obtain picking deliveries at the pickup points that the provider's plugin considers available within this radius. Must be provided in kilometres. + */ +radius?: number +} +response: { +/** + * Items returned by the resource. + */ +items?: PickingDeliveryDTO[] +} +} +/** + * Obtains the possible picking deliveries compatible with the basket, but only those for the provider's pickup point of the current selected delivery.
This resource only makes sense to call if a delivery of type 'picking' at a 'provider pickup point' is already selected in the basket; otherwise, the resource will not return any elements. + */ +"GET /oms/basket/providerPickupPointPickingDeliveries/selectedPickupPoint": { +response: ProviderPickupPointPickingDeliveryCollectionDTO +} +/** + * @deprecated + * Get the possible home deliveries compatible with the cart. + */ +"GET /oms/basket/deliveries/shipping": { +response: DeliveryShippingCollectionDTO +} +/** + * Get the possible deliveries of type shipping to home compatible with the cart. + */ +"GET /oms/basket/shippingDeliveries": { +response: { +/** + * Information about the pagination of the items. + */ +pagination?: PaginationDTO +/** + * Items returned by the resource. + */ +items?: ShippingDeliveryDTO[] +} +} +/** + * Get an invoice through the internal identifier specified. + */ +"GET /oms/invoices/:id": { +response: InvoiceDTO +} +/** + * Get an invoice in PDF format encoded in BASE64 through the internal identifier specified. + */ +"GET /oms/invoices/:id/pdf": { +response: CreateDocumentDTO +} +/** + * Get an invoice with the rich currency, number and date formats. Valid only if you are logged in . + */ +"GET /oms/invoices/:id/rich": { +response: RichDocumentDTO +} +/** + * Get aggregated data of basket stock lockings for the indicated product combinations. Only available under license 'STCBL'(Basket Stock Locking). + */ +"GET /oms/lockedStocks/aggregateData": { +searchParams: { +/** + * Comma separated list of the internal identifiers of the product combinations to be considered. + */ +productCombinationIdList: string +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +} +response: LockedStocksAggregateDataCollectionDTO +} +/** + * Create an order with the contents of the cart in current session. + */ +"POST /oms/orders": { +response: OrderDTO +} +/** + * Create a return request for the products specified through the detail line hash code and in the required quantity of the order specified. + */ +"POST /oms/orders/:id/rma": { +body: CreateRMAParam +response: RMADTO +} +/** + * Get all delivery notes for the order specified. + */ +"GET /oms/orders/:id/deliveryNotes": { +response: DeliveryNoteCollectionDTO +} +/** + * Get all the invoices for the order specified. + */ +"GET /oms/orders/:id/invoices": { +response: InvoiceCollectionDTO +} +/** + * Obtains an order through the internal identifier specified. Valid only if you are logged in . + */ +"GET /oms/orders/:id": { +response: OrderDTO +} +/** + * Obtains an order through the internal identifier and token specified. No login is required because access to the order is validated using the token. This parameter is obtained through the validate payment resource. + */ +"GET /oms/orders/:id/:token": { +response: OrderDTO +} +/** + * Gets a request in PDF format encoded in BASE64 through the internal identifier specified. Valid only if you are logged in . + */ +"GET /oms/orders/:id/pdf": { +response: CreateDocumentDTO +} +/** + * Get a request in PDF format encoded in BASE64 through the indicated internal identifier and token. No login is required because access to the order is validated using the token. This parameter is obtained through the validate payment resource. + */ +"GET /oms/orders/:id/:token/pdf": { +response: OrderDTO +} +/** + * Add items of selected order to the cart. + */ +"GET /oms/orders/:id/recovery": { +response: BasketDTO +} +/** + * Get all the products available to be included in a request to return the order specified. + */ +"GET /oms/orders/:id/rma/request": { +response: { +/** + * Items returned by the resource. + */ +items?: TransactionDocumentSingleRowDTO[] +} +} +/** + * Get all the return requests made for the order specified. + */ +"GET /oms/orders/:id/rmas": { +response: RMACollectionDTO +} +/** + * oms/orders/{id}/rma/returnPoints + */ +"GET /oms/orders/:id/rma/returnPoints": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +} +response: PhysicalLocationCollectionDTO +} +/** + * Get an order with the rich currency, number and date formats. Valid only if you are logged in . + */ +"GET /oms/orders/:id/rich": { +response: RichDocumentDTO +} +/** + * Get the necessary information to be able to connect to the corresponding payment gateway. + */ +"POST /oms/orders/:id/pay": { +response: PayResponseDTO +} +/** + * Verify the payment with the information provided by the payment gateway. If successful, it returns a token that allows the order to proceed. + */ +"POST /oms/orders/validate": { +body: ValidateParam +response: PaymentValidationResponseDTO +} +/** + * Get the indicated corrective invoice. Valid only if you are logged in .

*Note: Response.items is always ReturnProcessDocumentRowDTO. + */ +"GET /oms/rmas/creditNote/:id": { +response: CreditNoteDTO +} +/** + * @deprecated + */ +"GET /oms/rmas/correctiveInvoice/:id": { + +} +/** + * oms/rmas/creditNote/{id}/pdf + */ +"GET /oms/rmas/creditNote/:id/pdf": { +response: CreateDocumentDTO +} +/** + * @deprecated + */ +"GET /oms/rmas/correctiveInvoice/:id/pdf": { + +} +/** + * Get a rma through the internal identifier specified. Valid only if you are logged in .

*Note: Response.items is always ReturnProcessDocumentRowDTO. + */ +"GET /oms/rmas/:id": { +response: RMADTO +} +/** + * Gets the list of RMA reasons. + */ +"GET /oms/rmas/reasons": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. Comma-sepparated list of these possible values: description.asc,description.desc,priority.asc,priority.desc,id.asc,id.desc + */ +sort?: "^(description|priority|id).(asc|desc)((((,description|,priority|,id).(asc|desc)))*)$" +} +response: RMAReasonCollectionDTO +} +/** + * Get the indicated return. Valid only if you are logged in .

*Note: Response.items is always ReturnProcessDocumentRowDTO. + */ +"GET /oms/rmas/return/:id": { +response: ReturnDTO +} +/** + * oms/rmas/return/{id}/pdf + */ +"GET /oms/rmas/return/:id/pdf": { +response: CreateDocumentDTO +} +/** + * Get a corrective invoice with the rich currency, number and date formats. Valid only if you are logged in .

*Note: Response.items is always RichReturnProcessDocumentRowDTO. + */ +"GET /oms/rmas/creditNote/:id/rich": { +response: RichDocumentDTO +} +/** + * @deprecated + */ +"GET /oms/rmas/correctiveInvoice/:id/rich": { + +} +/** + * Get a RMA with the rich currency, number and date formats. Valid only if you are logged in .

*Note: Response.items is always RichReturnProcessDocumentRowDTO. + */ +"GET /oms/rmas/:id/rich": { +response: RichDocumentDTO +} +/** + * Get a return with the rich currency, number and date formats. Valid only if you are logged in .

*Note: Response.items is always RichReturnProcessDocumentRowDTO. + */ +"GET /oms/rmas/return/:id/rich": { +response: RichDocumentDTO +} +/** + * You get a rma in PDF format encoded in BASE64 through the internal identifier specified. Valid only if you are logged in . + */ +"GET /oms/rmas/:id/pdf": { +response: CreateDocumentDTO +} +/** + * Get aggregated data, basically counters, of some relevant items of the session. + */ +"GET /sessionAggregateData": { +response: SessionAggregateDataDTO +} +/** + * Validates the address specified. The validation is done by the address validator plugin configured in the Commerce. + */ +"POST /address/validate": { +body: AddressParam +response: AddressValidatedDTO +} +/** + * Subscribe to the blog. + */ +"POST /blog/subscribe": { +body: BlogSubscribeParam +} +/** + * Delete the user's subscription to the blog. Valid only if you are logged in . + */ +"DELETE /blog/subscribe": { + +} +/** + * Make the subscription to the blog category specified. + */ +"POST /blog/categories/:id/subscribe": { +body: BlogSubscribeParam +} +/** + * Remove the user's subscription to the blog category specified. Valid only if you are logged in . + */ +"DELETE /blog/categories/:id/subscribe": { + +} +/** + * Make the subscription to the post specified. + */ +"POST /blog/posts/:id/subscribe": { +body: BlogSubscribeParam +} +/** + * Eliminate the user's subscription to the post specified. Valid only if you are logged in . + */ +"DELETE /blog/posts/:id/subscribe": { + +} +/** + * Delete the blog subscription through a token code. The wildcard % linkDeleteSubscription% must be included in the transactional email about the new post. The wildcard contains the token used here. + */ +"DELETE /blog/subscribe/:token": { + +} +/** + * Remove the subscription to a blog category through a token code. The wildcard % linkDeleteSubscription% is required to be included in the new post transactional email. The wildcard contains the token used here. + */ +"DELETE /blog/categories/:id/subscribe/:token": { + +} +/** + * Delete the subscription to a post through a token code. The wildcard % linkDeleteSubscription% must be included in the transactional email about the new comment on the post. The wildcard contains the token used here. + */ +"DELETE /blog/posts/:id/subscribe/:token": { + +} +/** + * Get information about subscription. + */ +"POST /newsletterSubscription/checkStatus": { +body: NewsletterSubscriptionRequestBody +response: NewsletterSubscriptionDTO +} +/** + * Subscribe an email to the newsletter. + */ +"POST /newsletterSubscription/subscribe": { +body: NewsletterSubscriptionRequestBody +response: NewsletterSubscriptionDTO +} +/** + * Unsubscribe from the newsletter. + */ +"POST /newsletterSubscription/unsubscribe": { +body: NewsletterSubscriptionRequestBody +response: NewsletterSubscriptionDTO +} +/** + * salesAgent/getCustomers + */ +"GET /user/salesAgent/customers": { +searchParams: { +/** + * Search criterion. + */ +q?: string +/** + * Start date of the period for obtaining the items. + */ +fromDate?: string +/** + * End date of the period for obtaining the items. + */ +toDate?: string +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +} +response: SalesAgentCustomerCollectionDTO +} +/** + * salesAgent/getCustomerOrders + */ +"GET /user/salesAgent/customers/:customerId/orders": { +searchParams: { +/** + * Start date of the period for obtaining the items. + */ +fromDate?: string +/** + * End date of the period for obtaining the items. + */ +toDate?: string +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +} +response: UserOrderCollectionDTO +} +/** + * salesAgent/getSales + */ +"GET /user/salesAgent/sales": { +searchParams: { +/** + * Start date of the period for obtaining the items. + */ +fromDate?: string +/** + * End date of the period for obtaining the items. + */ +toDate?: string +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +} +response: SalesAgentSaleCollectionDTO +} +/** + * salesAgent/loginSimulateUser + */ +"POST /user/salesAgent/login": { +body: SalesAgentSimulateUserParam +response: BasketDTO +} +/** + * salesAgent/logoutSimulateUser + */ +"POST /user/salesAgent/logout": { +response: BasketDTO +} +/** + * Change session country. + */ +"PUT /session/country": { +body: CountryParam +response: BasketDTO +} +/** + * Change session currency. + */ +"PUT /session/currency": { +body: CurrencyParam +response: BasketDTO +} +/** + * Change session language. + */ +"PUT /session/language": { +body: LanguageParam +response: BasketDTO +} +/** + * Get all subscriptions for a registered user. + */ +"GET /user/subscriptions": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +} +response: SubscriptionCollectionDTO +} +/** + * Unsubscribe by token. + */ +"DELETE /user/subscriptions/unsubscribe/:token": { + +} +/** + * Unsubscribe registered user. + */ +"DELETE /user/subscriptions/unsubscribe": { +searchParams: { +subscriptionType: ("BLOG" | "STOCK_ALERT") +} +} +/** + * Verify subscription. + */ +"POST /user/subscriptions/verify/:token": { + +} +/** + * Get the user address specified. Valid only if you are logged in . + */ +"GET /user/addresses/:id": { +response: UserAddressDTO +} +/** + * Delete the user address specified. Valid only if you are logged in . + */ +"DELETE /user/addresses/:id": { + +} +/** + * Get the user's billing addresses. Valid only if you are logged in . + */ +"GET /user/billingAddresses": { +response: UserAddressDTO[] +} +/** + * Create a billing address for the user. Valid only if you are logged in . + */ +"POST /user/billingAddresses": { +body: BillingUserAddressParam +} +/** + * Get the user's shipping addresses. Valid only if you are logged in . + */ +"GET /user/shippingAddresses": { +response: UserAddressDTO[] +} +/** + * Create a shipping address for the user. Valid only if you are logged in . + */ +"POST /user/shippingAddresses": { +body: ShippingUserAddressParam +} +/** + * Update the user billing address specified. Valid only if you are logged in . + */ +"PUT /user/billingAddresses/:id": { +body: BillingUserAddressUpdateParam +} +/** + * Update the user shipping address specified. Valid only if you are logged in . + */ +"PUT /user/shippingAddresses/:id": { +body: ShippingUserAddressParam +} +/** + * Get the user's custom tags. Valid only if you are logged in . + */ +"GET /user/customTags": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +} +response: CustomTagCollectionDTO +} +/** + * Get the url required to make the OAuth connection. + */ +"GET /user/oauth": { +searchParams: { +pluginModule?: string +} +response: UserOauthUrlDTO +} +/** + * Process response of OAuth request, if necessary create a new user and login. + */ +"POST /user/oauth": { +response: UserOauthDTO +} +/** + * Get the set of headers for a user's orders that have the status: INCOMING, IN_PROCESS, COMPLETED. + */ +"GET /user/orders": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "id.asc,id.desc,documentNumber.asc,documentNumber.desc,date.asc,date.desc" +} +response: UserOrderCollectionDTO +} +/** + * Gets the set of Return Merchandise Authorization (RMA) headers for a user. + */ +"GET /user/rmas": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. + */ +sort?: "id.asc,id.desc,documentNumber.asc,documentNumber.desc,date.asc,date.desc" +} +response: UserRMACollectionDTO +} +/** + * Removes the specified token from the payment system. The token symbolizes a specific payment method of a user, such as a credit card number. Valid only if you are logged in . + */ +"DELETE /user/plugins/:pluginId/paymentTokens/:token": { + +} +/** + * Removes the user property linked to the specified plugin. Valid only if you are logged in . + */ +"DELETE /user/plugins/properties/:id": { + +} +/** + * Gets the tokens, linked to a user, of a payment system from the plugin that implements that system. These tokens symbolize a specific payment method of a user, such as a credit card number. Valid only if you are logged in . + */ +"GET /user/plugins/:pluginId/paymentTokens": { +response: PluginPaymentTokenCollectionDTO[] +} +/** + * Gets the user-bound properties of the indicated plugin type. Valid only if you are logged in . + */ +"GET /user/plugins/properties": { +searchParams: { +type?: ("NONE" | "SHIPPER" | "SHIPPING_TYPE" | "PAYMENT_SYSTEM" | "CUSTOM_TAG" | "RELATED_DEFINITION" | "BASKET" | "MAILING_SYSTEM" | "SEARCH_ENGINE" | "OAUTH" | "TRACKER" | "ASSET" | "MARKETPLACE" | "SHIPMENT" | "CONFIRM_ORDER" | "ORDER_STATUS" | "MARKETING" | "DATA" | "UNKNOWN" | "CAPTCHA" | "MAPS" | "TAXES" | "ORDER" | "DOCUMENT_PAYMENT_SYSTEM" | "DOCUMENT_SHIPMENT" | "RMA" | "EXPRESS_CHECKOUT" | "ADDRESS_VALIDATOR" | "PICKUP_POINT_PROVIDER") +} +response: BasicPluginCollectionDTO[] +} +/** + * Change the user's password. Valid only if you are logged in . + */ +"PUT /user/password": { +body: ChangePasswordParam +} +/** + * Change the password of a validated user with a hash code. It is the second part of the password recovery process. Previously, the hash code is obtained through the password recovery resource. + */ +"PUT /user/password/hash": { +body: ChangePasswordHashParam +} +/** + * Check whether the hash code specified is valid. It is recommended to perform this validation between the first and second part of the password recovery process. Previously, the hash code is obtained through the password recovery resource. + */ +"GET /user/password/:hash/validate": { + +} +/** + * Get the set of the shopping list rows of the 'save for later list' of the logged user by applying the specified sort and pagination. Valid only if the user is logged in. + */ +"GET /user/saveForLaterList/rows": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. Comma-sepparated list of these possible values: addedDate.asc,addedDate.desc. + */ +sort?: "^(addedDate).(asc|desc)$" +} +response: SaveForLaterListPaginationDTO +} +/** + * Create shopping list rows to the 'save for later list' from the specified lines of the basket. Valid only if the user is logged in. + */ +"POST /user/saveForLaterList/rows": { +body: SaveForLaterListBody +response: SaveForLaterListRowCollectionDTO +} +/** + * Get the set of the shopping lists of the session's user by applying the specified filters, sort and pagination. Valid only if the user is logged in. + */ +"GET /user/shoppingLists": { +searchParams: { +/** + * Comma separated list of the internal identifiers of the items that you want to obtain. + */ +idList?: string +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. Comma-sepparated list of these possible values: addedDate.asc,addedDate.desc,name.asc,name.desc,priority.asc,priority.desc + */ +sort?: "^(addedDate|name|priority).(asc|desc)((((,addedDate|,name|,priority).(asc|desc)))*)$" +/** + * Parameter to specify if you only want to only obtain the default shoppingList, or the non-default shoppingLists. + */ +defaultOne?: boolean +/** + * Search criteria for the field Name. The search over a field consists on applying a LIKE '%q%'. + */ +q?: string +} +response: ShoppingListCollectionDTO +} +/** + * Create a shoppingList for the user of the session. Valid only if the user is logged in. + */ +"POST /user/shoppingLists": { +body: ShoppingListBody +response: ShoppingListDTO +} +/** + * Get the set of the shopping list rows of the specified shopping list by applying the specified sort and pagination. The shopping list must be one of the logged user ones. + */ +"GET /user/shoppingLists/:id/rows": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +/** + * Sort variable. Comma-sepparated list of these possible values: priority.asc,priority.desc,importance.asc,importance.desc,addedDate.asc,addedDate.desc. + */ +sort?: "^(addedDate|importance|priority).(asc|desc)((((,addedDate|,importance|,priority).(asc|desc)))*)$" +/** + * Search criteria for the fields Name, Keywords, SKU, Brand and Description of the product or bundle's products, as well as in the Comment field of the shopping list row. The search over a field consists on applying a LIKE '%q%'. + */ +q?: string +} +response: ShoppingListRowFrontPaginationDTO +} +/** + * Create the specified shopping list rows to the specified shoppingList of the user of the session. Valid only if the user is logged in. + */ +"POST /user/shoppingLists/:id/rows": { +body: ShoppingListRowBody +response: ShoppingListRowCollectionDTO +} +/** + * Delete the specified list row from the 'saver for later' list. Valid only if the user is logged in. + */ +"DELETE /user/saveForLaterList/rows/:id": { + +} +/** + * Delete the rows of the specified shopping list, that meet the provided criteria. Valid only if the user is logged in. + */ +"POST /user/shoppingLists/:id/rows/delete": { +body: ShoppingListRowDeleteBody +response: IncidencesCollectionDTO +} +/** + * Update the specified shoppingList of the user of the session. Valid only if the user is logged in. + */ +"PUT /user/shoppingLists/:id": { +body: ShoppingListBody +} +/** + * Delete the specified shopping list from the user of the session. Valid only if the user is logged in. + */ +"DELETE /user/shoppingLists/:id": { + +} +/** + * Delete the user from the session. + */ +"DELETE /user/:password": { +response: BasketDTO +} +/** + * Get all user-related items. Only available for plugins . + */ +"GET /user/related": { +searchParams: { +/** + * Position of the item to be obtained. + */ +position?: number +/** + * List of positions of the items to be obtained. + */ +positionList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Maximum number of items to return. + */ +limit?: number +offset?: number +/** + * Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource. + */ +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +} +response: RelatedDTO[] +} +/** + * Get only items of the requested type related to the user. Only available for plugins . + */ +"GET /user/related/:type": { +searchParams: { +/** + * Position of the item to be obtained. + */ +position?: number +/** + * List of positions of the items to be obtained. + */ +positionList?: string +/** + * Public identifier of the item to be obtained. + */ +pId?: string +/** + * Maximum number of items to return. + */ +limit?: number +offset?: number +/** + * Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource. + */ +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +} +response: RelatedDTO[] +} +/** + * Query a user's points balance + */ +"GET /user/rewardPoints": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +} +response: RewardPointsBalanceCollectionDTO[] +} +/** + * Get the list of the stock alerts that the user is subscribed to. Valid only if you are logged in . + */ +"GET /user/stockAlerts": { +response: StockAlertCollectionDTO +} +/** + * Get the data of the user linked to the session. Valid only if you are logged in . + */ +"GET /user": { +response: BasketUserDTO +} +/** + * Log a user into the session by entering their information. If the createAccount parameter is true the user will be registered. Otherwise, this information will be used for a possible purchase without user registration. + */ +"POST /user": { +body: SetUserParam +response: BasketDTO +} +/** + * Check whether the user specified is registered. + */ +"GET /user/exists/:value": { +response: UserExistsDTO[] +} +/** + * The user session is started by adding their information to the session. + */ +"POST /user/login": { +body: LoginParam +response: BasketDTO +} +/** + * Disconnect the identified user. + */ +"POST /user/logout": { +response: BasketDTO +} +/** + * Make a password recovery request. This is the first part of the password recovery process. Depending on the configuration, password recovery is done with the user's email address or public identifier (pId). It is necessary to send a transactional password recovery email that includes the % lostPasswordLink% wildcard. The wildcard contains the user validation hash code used in the change password resource. + */ +"POST /user/password/recover": { + +} +/** + * This action forces the resend of the transactional email to verify the email address. This provides a way to request verification when the user, for whatever reason, does not receive the first verification which, if the double opt-in user verification process is enabled, is automatically sent upon registration. + */ +"POST /user/verify/resend": { +body: ResendVerifyUserParam +} +/** + * @deprecated + * Change session currency. + */ +"PUT /user/currency": { +body: CurrencyParam +response: BasketDTO +} +/** + * @deprecated + * Change session language. + */ +"PUT /user/language": { +body: LanguageParam +response: BasketDTO +} +/** + * Transfers the specified row of the 'save for later list' to the basket. If it already existed, increase the units. + */ +"POST /user/saveForLaterList/rows/:id/transferToBasket": { + +} +/** + * Removes the user's subscription to the stock alert specified. Valid only if you are logged in . + */ +"DELETE /user/stockAlerts/:id": { + +} +/** + * Modify the specified shopping list row of the user of the session. Valid only if the user is logged in. + */ +"PUT /user/shoppingLists/rows/:id": { +body: ListRowUpdateBody +} +/** + * Second part of the double opt-in user verification process. The first part requires sending a transactional email address verification email that includes the % verifyLink% wildcard as a link. The wildcard contains the unique user identifier (uniqueId). + */ +"POST /user/verify/:uniqueId": { + +} +/** + * Get the user's current gift vouchers. Valid only if you are logged in . + */ +"GET /user/vouchers": { +searchParams: { +/** + * Number of items to be obtained per page. + */ +perPage?: number +/** + * Page number. + */ +page?: number +} +response: VoucherCollectionDTO +} +/** + * @deprecated + * user/wishlist/send + */ +"POST /user/wishlist/send": { + +} +/** + * Get the token that authorizes access. + */ +"GET /auth": { +response: AuthDTO +} +/** + * Get a new token through an expired token. + */ +"GET /auth/refreshToken": { +response: AuthDTO +} +/** + * Get the compiled version of the API. + */ +"GET /version": { +response: VersionDTO +} +} +export interface BatchRequestParam { +/** + * Parameter block of resource calls. + */ +requests?: BatchRequest[] +} +/** + * Parameter block of resource calls. + */ +export interface BatchRequest { +/** + * Resource URI (e.g. / oms / basket). + */ +path?: string +/** + * Identifier of the call to the resource. This parameter is optional and will be returned in the response in order to identify the call that originated it. + */ +requestId?: string +/** + * Headers for the call to the resource (only if needed). + */ +headers?: { +empty?: boolean +/** + * Headers for the call to the resource (only if needed). + */ +[k: string]: string[] +} +} +export interface DataTextDTO { +/** + * Content in text. + */ +text?: string +} +export interface AssetCollectionDTO { +pagination?: PaginationDTOAssetDTO +/** + * Items returned by the resource. + */ +items?: AssetDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOAssetDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface AssetDTO { +/** + * Specifies the type of device where the asset should appear. + */ +ambience?: ("ALL" | "DESKTOP" | "MOBILE") +/** + * Specifies the position within the HTML structure of the page where the asset is placed. + */ +position?: ("HEAD_TOP" | "HEAD_BOTTOM" | "BODY_TOP" | "BODY_BOTTOM" | "ALL") +/** + * Relative path where the asset file will be available. + */ +path?: string +/** + * Asset inclusion format. + */ +type?: ("CSS" | "JS") +} +export interface PluginPropertiesDTO { +/** + * Plugin identifier. + */ +pluginId?: number +/** + * Unique name of the plugin module. This is the name that appears in the plugin module-info.java file, which must follow the Java convention for naming modules and packages (for example, com.logicommerce.pluginname). + */ +pluginModule?: string +/** + * Map of values of properties. Each property has a name attribute and a corresponding value attribute. + */ +properties?: NameValueDTOObject[] +/** + * Information about the plugin connectors. + */ +connectors?: PluginConnectorDTO[] +required?: [] +additionalProperties?: never +} +/** + * Map of values of properties. Each property has a name attribute and a corresponding value attribute. + */ +export interface NameValueDTOObject { +/** + * Property name. + */ +name?: string +/** + * Property value. + */ +value?: { + +} +} +/** + * Information about the plugin connectors. + */ +export interface PluginConnectorDTO { +/** + * Plugin connector type. + */ +type?: ("NONE" | "SHIPPER" | "SHIPPING_TYPE" | "PAYMENT_SYSTEM" | "CUSTOM_TAG" | "RELATED_DEFINITION" | "BASKET" | "MAILING_SYSTEM" | "SEARCH_ENGINE" | "OAUTH" | "TRACKER" | "ASSET" | "MARKETPLACE" | "SHIPMENT" | "CONFIRM_ORDER" | "ORDER_STATUS" | "MARKETING" | "DATA" | "UNKNOWN" | "CAPTCHA" | "MAPS" | "TAXES" | "ORDER" | "DOCUMENT_PAYMENT_SYSTEM" | "DOCUMENT_SHIPMENT" | "RMA" | "EXPRESS_CHECKOUT" | "ADDRESS_VALIDATOR" | "PICKUP_POINT_PROVIDER") +/** + * Information about the connector elements. + */ +items?: PluginConnectorItemDTO[] +minItems?: 0 +} +/** + * Information about the connector elements. + */ +export interface PluginConnectorItemDTO { +/** + * Connector identifier. + */ +itemId?: number +/** + * Map of values of properties. Each property has a name attribute and a corresponding value attribute. + */ +properties?: NameValueDTOObject[] +required?: [] +additionalProperties?: never +} +export interface PluginCollectionDTO { +pagination?: PaginationDTOPluginAccountDTO +/** + * Items returned by the resource. + */ +items?: PluginAccountDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOPluginAccountDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface PluginAccountDTO { +id?: number +name?: string +description?: string +module?: string +author?: string +version?: string +date?: string +debugEnabled?: string +active?: boolean +multipleAccount?: boolean +connectors?: ("NONE" | "SHIPPER" | "SHIPPING_TYPE" | "PAYMENT_SYSTEM" | "CUSTOM_TAG" | "RELATED_DEFINITION" | "BASKET" | "MAILING_SYSTEM" | "SEARCH_ENGINE" | "OAUTH" | "TRACKER" | "ASSET" | "MARKETPLACE" | "SHIPMENT" | "CONFIRM_ORDER" | "ORDER_STATUS" | "MARKETING" | "DATA" | "UNKNOWN" | "CAPTCHA" | "MAPS" | "TAXES" | "ORDER" | "DOCUMENT_PAYMENT_SYSTEM" | "DOCUMENT_SHIPMENT" | "RMA" | "EXPRESS_CHECKOUT" | "ADDRESS_VALIDATOR" | "PICKUP_POINT_PROVIDER")[] +pId?: string +} +/** + * Information about the Basket Stock Locking settings. A null value is displayed if there is no active license for the 'STCBL'(Basket Stock Locking) module. + */ +export interface BasketStockLockingSettingsDTO { +/** + * Specifies whether basket stock locking is enabled. + */ +active?: boolean +/** + * Specifies the considered type for the LockedStockTimers. + */ +lockedStockTimerType?: ("GLOBAL" | "PRODUCT") +/** + * Specifies the number of minutes taken into account to stablish the initial expiresAt for a LockingStockTimer. + */ +lockedStockTimerIniLockingMinutes?: number +/** + * Specifies the maximum number of minutes taken into account to stablish the expiresAt for a LockingStockTimer. The expiresAt can never exceed this number of minutes from the current moment. + */ +lockedStockTimerMaxLockingMinutes?: number +/** + * Specifies whether the LockedStockTimers can be extended by the user. + */ +lockedStockTimerExtendibleByUser?: boolean +/** + * Specifies the default number of minutes for an extension request of a LockingStockTimer. + */ +lockedStockTimerDefaultExtensionMinutes?: number +} +export interface BlogDTO { +language?: BlogLanguageDTO +/** + * Specifies the user profile that can leave comments. + */ +commentsMode?: ("NO_COMMENTS" | "ANONYMOUS_AND_REGISTERED_USERS" | "ONLY_REGISTERED_USERS") +/** + * Specifies whether the double opt-in user verification process is enabled for performing actions on the blog. + */ +userVerificationRequired?: boolean +/** + * Specifies whether the item is enabled. + */ +active?: boolean +/** + * Specifies whether users can subscribe to the blog. + */ +allowSubscriptions?: boolean +/** + * Specifies whether users can subscribe to blog categories. + */ +allowCategorySubscriptions?: boolean +/** + * Specifies whether users can subscribe to blog posts. + */ +allowPostSubscriptions?: boolean +/** + * Specifies whether the maximum number of comments per IP is limited. The value 0 means that it is not limited. + */ +maxIpComments?: number +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface BlogLanguageDTO { +/** + * URL of the item. + */ +urlSeo?: string +/** + * Additional attributes. Only available for plugins . + */ +linkAttributes?: { +/** + * Additional attributes. Only available for plugins . + */ +[k: string]: string +} +/** + * Internal name of the item. + */ +name?: string +/** + * Internal item description. + */ +description?: string +/** + * Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow. + */ +linkFollowing?: boolean +/** + * Specifies whether it is the default language of the blog. + */ +defaultLanguage?: boolean +} +/** + * Catalog configuration information. + */ +export interface CatalogSettingsDTO { +/** + * Specifies whether to show stock of product. + */ +showStock?: boolean +/** + * Specifies whether the product price should be displayed. + */ +showPrice?: boolean +/** + * Specifies whether the product's offer price should be displayed. + */ +showOfferPrice?: boolean +/** + * Specifies whether prices are to be displayed with taxes included. + */ +showTaxesIncluded?: boolean +/** + * Internal identifier of the default availability definition. + */ +availabilityId?: number +/** + * Specifies whether the images of the options should be shown in the cart instead of the main one. + */ +showOptionImages?: boolean +/** + * Specifies whether ProductComparison is enabled. + */ +productComparisonActive?: boolean +/** + * Specifies the configured maximum quantity of products that can be added to productComparison. + */ +productComparisonMax?: number +} +export interface CommerceCountryColectionDTO { +/** + * Items returned by the resource. + */ +items?: CommerceCountryDTO[] +minItems?: 0 +} +/** + * Items returned by the resource. + */ +export interface CommerceCountryDTO { +/** + * Country code in ISO 3166-2 format. + */ +code?: string +/** + * Country numeric code in ISO 3166-1 format. + */ +numeric?: number +/** + * Country name. + */ +name?: string +/** + * Specifies whether the country has zip codes and, if it does, whether they are obligatory. + */ +postalCodeType?: ("STATE_CITY_POSTAL_CODE" | "STATE_CITY_WITHOUT_POSTAL_CODE" | "POSTAL_CODE_MANDATORY" | "POSTAL_CODE_OPTIONAL") +id?: number +defaultLanguage?: number +/** + * Information on the currencies available for the country. + */ +currencies?: CurrencyDTO[] +/** + * Information on the languages ​​available for the country. + */ +languages?: LanguageDTO[] +} +export interface CurrencyDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Currency code in ISO 4217 format. + */ +code?: string +/** + * Name of the currency. + */ +name?: string +/** + * Symbol configured for the currency. + */ +symbol?: string +/** + * International standard ISO 4217 currency code. + */ +codeNumber?: string +/** + * Currency exchange value in USD. Currency exchange values ​​are updated every hour. + */ +USDValue?: number +} +export interface LanguageDTO { +id?: number +/** + * International standard alphabetic code ISO 639-1 of the language. + */ +code?: string +/** + * Language name. + */ +name?: string +} +export interface CountryLinkCollectionDTO { +items?: CountryLinkDTO[] +minItems?: 0 +} +export interface CountryLinkDTO { +/** + * Information block with languages for a specific country. + */ +languages?: CountryLanguageLinkDTO[] +/** + * Numeric identifier of the country. + */ +numeric?: number +/** + * Country code in ISO 3166-2 format. + */ +code?: string +/** + * Country name. + */ +name?: string +} +/** + * Information block with languages for a specific country. + */ +export interface CountryLanguageLinkDTO { +/** + * Link containing the URL of the corresponding store version for the respective country-language. + */ +url?: string +/** + * Informs whether calling setCountry is necessary for country change. + */ +needCallSetCountry?: boolean +/** + * International standard alphabetic code ISO 639-1 of the language. + */ +code?: string +/** + * Language name. + */ +name?: string +} +export interface CurrencyCollectionDTO { +items?: CurrencyDTO[] +minItems?: 0 +} +/** + * Ecommerce settings. + */ +export interface EcommerceSettingsDTO { +mode?: string +generalSettings?: GeneralSettingsDTO +catalogSettings?: CatalogSettingsDTO +geoIPSettings?: GeoIPSettingsDTO +legalSettings?: LegalSettingsDTO +ordersSettings?: OrdersSettingsDTO +seoSettings?: SeoSettingsDTO +sitemapSettings?: SitemapSettingsDTO +stockSettings?: StockSettingsDTO +userAccountsSettings?: UserAccountsSettingsDTO +taxSettings?: TaxSettingsDTO +basketStockLockingSettings?: BasketStockLockingSettingsDTO +frontOfficeSessionSettings?: FrontOfficeSessionSettingsDTO +} +/** + * Information about the main configuration. + */ +export interface GeneralSettingsDTO { +/** + * Specifies the name of the Commerce. + */ +name?: string +/** + * Specifies the domain of Commerce. + */ +storeURL?: string +/** + * Specifies the Commerce logo. + */ +logo?: string +languages?: GeneralSettingsLanguageDTO[] +/** + * Text for the description of the Commerce. + */ +description?: string +/** + * Specifies the contact number of the Commerce. + */ +phone?: string +/** + * Specifies whether the Commerce is open. + */ +active?: boolean +/** + * Specifies the weight units of the Commerce. + */ +weightUnits?: string +/** + * Specifies the world time zone. + */ +timeZone?: string +/** + * Text with commercial details of the Commerce. + */ +merchantInformation?: string +/** + * Commerce contact email address. + */ +merchantEmail?: string +/** + * Specifies the Redirection by country domain operating mode. + */ +domainByCountryMode?: ("REDIRECT" | "INFORMATIVE" | "DISABLED") +/** + * Specifies the path of the external server where the general static content of the Commerce is stored. + */ +cdnAssets?: string +/** + * Specifies the path of the external server where the Commerce images are stored. + */ +cdnImages?: string +/** + * Default currency code in ISO 4217 format. + */ +defaultCurrency?: string +/** + * Default language code in ISO 639-1 format. + */ +defaultLanguage?: string +/** + * Default country code in ISO 3166-2 format. + */ +defaultCountry?: string +} +export interface GeneralSettingsLanguageDTO { +languageCode?: string +storeURL?: string +logo?: string +} +/** + * Information about the GeoIp configuration. + */ +export interface GeoIPSettingsDTO { +/** + * Specifies the geoIP operating mode. + */ +mode?: ("DISABLED" | "STRICT" | "INFORMATIVE" | "STRICT_INFORMATIVE") +/** + * Specifies the behavior of the redirect. This parameter will be taken into account only if the redirectionUrl has content. If it does not, the redirect action will not be executed.
true : Activate a redirect to another URL the first time the web presentation layer is visited from a country outside the sales areas. The next and subsequent times it will not be redirected.
false : Whenever the web presentation layer is visited from a country outside the sales areas, it will be redirected to another URL. + */ +redirectOnlyFirstTime?: boolean +/** + * GeoIP general notice text to display in STRICT_INFORMATIVE and INFORMATIVE modes. + */ +warningMessage?: string +/** + * Specifies the URL to go to in the case of a visit from a country outside the sales areas. + */ +redirectionUrl?: string +} +/** + * Information on the configuration of legal data. + */ +export interface LegalSettingsDTO { +/** + * Specifies whether the notice to accept cookies is enabled. + */ +cookieActive?: boolean +/** + * Specifies whether the newsletter subscription check in the registration form is active by default. + */ +checkSubscription?: boolean +/** + * Specifies what to do about accepting cookies.
true : Cookies are automatically accepted when you continue browsing, so the warning will no longer be displayed. This implies that the warning is displayed only once at login
false : The warning will be displayed to the user during navigation until the box is closed, an action that implies their agreement + */ +autoAcceptCookies?: boolean +/** + * Specifies whether the GDPR (General Data Protection Regulation) is enabled. + */ +activeGDPR?: boolean +/** + * Specifies how the web presentation layer must behave while the user does not accept or reject the use of cookies.
true : Use third-party cookies by default. + */ +useCookiesByDefault?: boolean +/** + * Specifies whether to block browsing the web presentation layer until cookies are accepted or rejected + */ +allowCookiesBlock?: boolean +/** + * Specifies the number of months that the user data will be stored for. After that time they will be automatically deleted. + */ +recordsMaintainedMonths?: number +/** + * Text of the terms and conditions of use. + */ +legalText?: string +/** + * Text of the privacy policy. + */ +privacyPolicy?: string +} +/** + * Order configuration information. + */ +export interface OrdersSettingsDTO { +/** + * Invoice logo. + */ +invoiceLogo?: string +recoverOrderDays?: number +/** + * Specifies whether price lists are applied based on the shipping address rather than on the billing address. + */ +faresByShippingAddress?: boolean +/** + * Specifies whether generating a return will restore the stock of the products. + */ +addStockOnReturns?: boolean +/** + * Specifies whether to force the country in the shipping address to always be the same as the country in the billing address, instead of the usual behavior. + */ +forceBillingAddressCountry?: boolean +/** + * Specifies the range of days within which an order is considered to be a repeat order. + */ +recurrentOrdersPeriodDays?: number +/** + * Specifies the number of orders in the range defined in recurrentOrdersPeriodDays to consider an order to be a repeat order. + */ +recurrentMinOrdersInPeriod?: number +/** + * Numerical value specifying the maximum number of days allowed for a user to claim the right of withdrawal on an order or part of it. + */ +desistanceDays?: number +/** + * Specifies the statuses allowed for return requests. + */ +returnStates?: ("DENIED" | "INCIDENTS" | "INCOMING" | "IN_PROCESS" | "COMPLETED" | "DELETED" | "CONFIRM_DELETED")[] +} +/** + * Information about SEO settings. + */ +export interface SeoSettingsDTO { +/** + * Specifies whether to add the language in the URL as a subdirectory. + */ +languageInSubdirectory?: boolean +/** + * Specifies whether to force to add the language in the URL as a subdirectory. + */ +forceLanguageInSubDirectory?: boolean +products?: ProductSettings +areas?: ProductSettings +categories?: ProductSettings +brands?: ProductSettings +pages?: ProductSettings +news?: ProductSettings +generic?: ProductSettings +blogs?: ProductSettings +blogTags?: ProductSettings +blogBloggers?: ProductSettings +blogCategories?: ProductSettings +blogPosts?: ProductSettings +discounts?: ProductSettings +forceLanguageInSubdirectory?: boolean +xdefaultCriteria?: ("NONE" | "HOME" | "ALL") +} +/** + * Information about SEO settings of the described item. + */ +export interface ProductSettings { +/** + * Generic title of the item window for the returned language. + */ +title?: string +/** + * Generic content of the description metatag for the returned language. + */ +metaDescription?: string +/** + * Generic keywords of the item for the returned language. + */ +keywords?: string +} +/** + * Information about sitemap settings. + */ +export interface SitemapSettingsDTO { +/** + * Specifies whether the creation of the sitemap file is enabled. + */ +active?: boolean +/** + * Specifies whether the different items (categories, products, information pages or news) activated must be separated into different site maps.
true : It implies that as many site maps will be generated as there are active items. If splitLanguages is also active, it means that the number of site maps will be multiplied by the number of languages​ visible in the Commerce. + */ +splitTypes?: boolean +/** + * Specifies whether it should be separated into different site maps depending on the language. true : This means that at least as many site maps will be generated as the Commerce has visible languages. + */ +splitLanguages?: boolean +/** + * (TO TRANSLATE) + */ +compression?: boolean +/** + * Specifies how often the sitemap file will regenerate. + */ +updateInterval?: number +/** + * Specifies the range multiplier. + */ +updateIntervalMultiplier?: ("HOURS" | "DAYS" | "WEEKS") +/** + * Specifies whether active category URLs are included. + */ +includeCategories?: boolean +/** + * Specifies whether active product URLs are included. + */ +includeProducts?: boolean +/** + * Specifies whether to include the URLs of active products that have positive stock; stock and with prevision; stock, with prevision and on request or to include all active products. + */ +stockType?: ("NONE" | "AVAILABLE" | "AVAILABLE_AND_PREVISION" | "AVAILABLE_PREVISION_AND_ONREQUEST") +/** + * Specifies whether to include active page URLs. + */ +includePages?: boolean +/** + * Specifies whether active news URLs are included. + */ +includeNews?: boolean +/** + * Specifies whether to include active blog post URLs. + */ +includeBlog?: boolean +/** + * Specifies whether to include active brand URLs. + */ +includeBrand?: boolean +} +/** + * Stock configuration information. + */ +export interface StockSettingsDTO { +/** + * Specifies whether the stock management system (subtraction of units sold) is generally enabled. + */ +stockManagement?: boolean +/** + * Specifies the stock system. + */ +stockSystem?: ("UNITS" | "AVAILABILITY") +/** + * Specifies whether the product stock displayed in the presentation layer is the sum of all warehouses or just that of the assigned warehouse. + */ +catalogStockPolicy?: ("BY_CHANNEL" | "BY_ASSIGNED_WAREHOUSES") +/** + * Specifies whether to show products that are in stock. + */ +onlyInStock?: boolean +/** + * Specifies whether to sell inventory without stock. + */ +allowReservations?: boolean +/** + * Specifies whether multi-shipment is allowed. + */ +allowMultiexpedition?: boolean +/** + * Specifies whether, when stock is replenished, stock provisions may be used for the subtraction of pending units due to reserve provisions. + */ +useStockPrevisionOnReservePrevision?: boolean +shipmentsByDate?: ("NEVER" | "ALWAYS" | "BOTH") +} +/** + * Information about user account settings. + */ +export interface UserAccountsSettingsDTO { +/** + * Specifies that the double opt-in process of user verification is enabled for the creation of user accounts. + */ +verificationRequired?: boolean +/** + * Specifies whether new users are automatically active upon registration, rather than requiring the administrator to activate the user. + */ +activatedByDefault?: boolean +/** + * Specifies whether the Password Policy function is enabled. + */ +passwordPolicyActive?: boolean +/** + * Specifies the type of user identifier for registration or login. + */ +userKeyCriteria?: ("PID" | "EMAIL") +} +/** + * Information about tax settings. + */ +export interface TaxSettingsDTO { +/** + * Specifies whether taxes are applied based on the shipping address rather than on the billing address. + */ +taxesByShippingAddress?: boolean +} +/** + * Information about the session behavior configuration. + */ +export interface FrontOfficeSessionSettingsDTO { +/** + * Specifies the duration a session remains active in minutes when its basket contains items and the user is logged in. After this period, the session's basket will be saved as an abandoned basket. + */ +lifeTime?: number +/** + * Allows users to share and access the same session across multiple devices when logged in with the same account. Ensures that changes made on one device are reflected on the others. + */ +allowSharingAcrossDevices?: boolean +} +export interface LanguageCollectionDTO { +items?: LanguageDTO[] +minItems?: 0 +} +/** + * Items returned by the resource. + */ +export interface AreaDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Internal name of the item. + */ +name?: string +/** + * Specifies whether the area has a category role. + */ +categoryRole?: boolean +/** + * An integer that symbolizes the location of this item. + */ +position?: number +/** + * Specifies whether the item is enabled. + */ +active?: boolean +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +language?: AreaLanguageDTO +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface AreaLanguageDTO { +/** + * URL of the item. + */ +urlSeo?: string +/** + * Additional attributes. Only available for plugins . + */ +linkAttributes?: { +/** + * Additional attributes. Only available for plugins . + */ +[k: string]: string +} +/** + * Element name for the returned language. + */ +name?: string +/** + * Description of the item for the returned language. + */ +description?: string +/** + * Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow. + */ +linkFollowing?: boolean +} +export interface AreaCollectionDTO { +pagination?: PaginationDTOAreaDTO +/** + * Items returned by the resource. + */ +items?: AreaDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOAreaDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface CategoryCollectionDTO { +pagination?: PaginationDTOCategoryDTO +/** + * Items returned by the resource. + */ +items?: CategoryDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOCategoryDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface CategoryDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Internal identifier of the parent item. + */ +parentId?: number +/** + * Specify, for the category, whether you want to display the products first when accessing your page. + */ +prodFirst?: boolean +/** + * Specifies the internal identifier of the area in which this category is located. + */ +areaId?: number +/** + * Specifies whether all products in the subcategories contained in this category should also be displayed. + */ +includeSubcategories?: boolean +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +/** + * Creation date of the item. + */ +dateAdded?: string +language?: CategoryLanguageDTO +/** + * Information about custom tags + */ +customTagValues?: CatalogCustomTagValueDTO[] +/** + * Specifies whether the item is configured as new. + */ +featured?: boolean +/** + * Specifies whether the item is on offer. + */ +offer?: boolean +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface CategoryLanguageDTO { +/** + * URL of the item. + */ +urlSeo?: string +/** + * Additional attributes. Only available for plugins . + */ +linkAttributes?: { +/** + * Additional attributes. Only available for plugins . + */ +[k: string]: string +} +/** + * URL to which this item needs to link. + */ +destinationUrl?: string +/** + * Link mode in the case of using destination URL. + */ +target?: string +/** + * Path to large image of the item for the returned language. + */ +largeImage?: string +/** + * Path to small image of the item for the returned language. + */ +smallImage?: string +/** + * Short description of the item for the returned language. + */ +shortDescription?: string +/** + * Path to the small icon that will represent the item. + */ +smallTitleImage?: string +/** + * Path to the large icon that will represent the item. + */ +largeTitleImage?: string +/** + * Element name for the returned language. + */ +name?: string +/** + * Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow. + */ +linkFollowing?: boolean +/** + * Long description of the item for the returned language. + */ +longDescription?: string +} +/** + * Information on product custom tags. + */ +export interface CatalogCustomTagValueDTO { +/** + * Internal identifier of the custom tag. + */ +customTagId?: number +/** + * Internal identifier of the custom tag. + */ +customTagPId?: string +/** + * Custom tag type. + */ +controlType?: ("BOOLEAN" | "NUMBER" | "SHORT_TEXT" | "DATE" | "SELECTOR" | "IMAGE" | "LONG_TEXT" | "ATTACHMENT") +/** + * An integer that symbolizes the location of this item. + */ +position?: number +/** + * Name of the custom tag for the returned language. + */ +name?: string +/** + * Value of the custom tag for the returned language. + */ +value?: string +/** + * Internal identifier of the custom tag group. + */ +groupId?: number +/** + * An integer that symbolizes the location of the group for this item. + */ +groupPosition?: number +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +/** + * Specifies the order of presentation of the group this item in relation to the rest of groups of items of the same type. + */ +groupPriority?: number +/** + * Internal identifier of the custom tag. Only if it is of type selectable . + */ +selectableValueId?: number +/** + * Name of the custom tag group for the returned language. + */ +groupName?: string +/** + * Public identifier of the selected value. Only if it is of type selectable . + */ +valuePId?: string +/** + * Specifies the minimum range for the value of the custom tag. + */ +minValue?: string +/** + * Specifies the maximum range for the value of the custom tag. + */ +maxValue?: string +pid?: string +} +export interface CategoryTreeCollectionDTO { +pagination?: PaginationDTOCategoryTreeDTO +/** + * Items returned by the resource. + */ +items?: CategoryTreeDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOCategoryTreeDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Information about categories related to this item. + */ +export interface CategoryTreeDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Information on the categories located as daughters of this category. + */ +subcategories?: CategoryTreeDTO[] +language?: CategoryTreeLanguageDTO +/** + * Information about custom tags + */ +customTagValues?: CatalogCustomTagValueDTO[] +/** + * Specifies whether the item is configured as new. + */ +featured?: boolean +/** + * Specifies whether the item is on offer. + */ +offer?: boolean +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface CategoryTreeLanguageDTO { +/** + * URL of the item. + */ +urlSeo?: string +/** + * Additional attributes. Only available for plugins . + */ +linkAttributes?: { +/** + * Additional attributes. Only available for plugins . + */ +[k: string]: string +} +/** + * URL to which this item needs to link. + */ +destinationUrl?: string +/** + * Link mode in the case of using destination URL. + */ +target?: string +/** + * Path to large image of the item for the returned language. + */ +largeImage?: string +/** + * Path to small image of the item for the returned language. + */ +smallImage?: string +/** + * Short description of the item for the returned language. + */ +shortDescription?: string +/** + * Path to the small icon that will represent the item. + */ +smallTitleImage?: string +/** + * Path to the large icon that will represent the item. + */ +largeTitleImage?: string +/** + * Element name for the returned language. + */ +name?: string +/** + * Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow. + */ +linkFollowing?: boolean +} +/** + * Information about banners related to this item. + */ +export interface BannerDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Internal name of the item. + */ +name?: string +/** + * Internal item description. + */ +description?: string +/** + * Creation date of the item. + */ +dateAdded?: string +/** + * Link mode in the case of using destination URL. + */ +target?: string +/** + * An integer that symbolizes the location of this item. + */ +position?: number +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +language?: BannerLanguageDTO +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface BannerLanguageDTO { +/** + * Path to the banner image. + */ +image?: string +/** + * URL to which this item needs to link. + */ +destinationUrl?: string +/** + * Alternative text that describes the banner image. + */ +alt?: string +/** + * Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow. + */ +linkFollowing?: boolean +} +export interface BannerCollectionDTO { +pagination?: PaginationDTOBannerDTO +/** + * Items returned by the resource. + */ +items?: BannerDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOBannerDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Information about blog posts related to this item. + */ +export interface BlogPostDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +blogger?: PostBloggerDTO +/** + * Path to small image of the item. + */ +smallImage?: string +/** + * Path to large image of the item. + */ +largeImage?: string +/** + * Post creation date. + */ +dateAdded?: string +/** + * Post publication date. + */ +publicationDate?: string +/** + * Information about post tags. + */ +tags?: BlogTagDTO[] +language?: BlogPostLanguageDTO +/** + * Number of visits to the post. + */ +hits?: number +/** + * Average value of the ratings the post has received. + */ +rating?: number +/** + * Number of times the post has been rated. + */ +rates?: number +/** + * Number of likes given. + */ +likes?: number +/** + * Number of dislikes given. + */ +dislikes?: number +/** + * Identifier of the main category of the post. + */ +mainCategory?: number +mainCategoryName?: string +} +/** + * Information about the blogger. + */ +export interface PostBloggerDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal name of the item. + */ +name?: string +/** + * URL of the item. + */ +urlSeo?: string +language?: PostBloggerLanguageDTO +} +/** + * Information about language. + */ +export interface PostBloggerLanguageDTO { +/** + * Additional attributes. Only available for plugins . + */ +linkAttributes?: { +/** + * Additional attributes. Only available for plugins . + */ +[k: string]: string +} +/** + * Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow. + */ +linkFollowing?: boolean +} +/** + * Information about post tags. + */ +export interface BlogTagDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Tag value. + */ +value?: string +language?: BlogTagLanguageDTO +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface BlogTagLanguageDTO { +/** + * URL of the item. + */ +urlSeo?: string +/** + * Additional attributes. Only available for plugins . + */ +linkAttributes?: { +/** + * Additional attributes. Only available for plugins . + */ +[k: string]: string +} +/** + * Tag value for the returned language. + */ +value?: string +/** + * Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow. + */ +linkFollowing?: boolean +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface BlogPostLanguageDTO { +/** + * URL of the item. + */ +urlSeo?: string +/** + * Additional attributes. Only available for plugins . + */ +linkAttributes?: { +/** + * Additional attributes. Only available for plugins . + */ +[k: string]: string +} +/** + * Internal name of the item. + */ +name?: string +/** + * Short text as a summary of the post for the returned language. + */ +shortText?: string +/** + * Post content for the returned language. + */ +content?: string +/** + * Path to the small icon that will represent the item. + */ +smallTitleImage?: string +/** + * Path to the large icon that will represent the item. + */ +largeTitleImage?: string +/** + * Keywords of the post images for the returned language. + */ +altImageKeywords?: string +/** + * Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow. + */ +linkFollowing?: boolean +} +export interface BlogPostCommentCollectionDTO { +pagination?: PaginationDTOBlogPostCommentDTO +/** + * Items returned by the resource. + */ +items?: BlogPostCommentDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOBlogPostCommentDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface BlogPostCommentDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Information on the post comment responses. + */ +answers?: BlogPostCommentDTO[] +/** + * Alias ​​of the user who wrote the post comment. + */ +nick?: string +/** + * Comment text. + */ +comment?: string +/** + * Email address of the user making the comment. + */ +email?: string +/** + * Creation date of the item. + */ +dateAdded?: string +} +export interface AddBlogPostCommentParam { +/** + * Post comment text. + */ +comment: string +/** + * Alias of the user writing the comment on the product. + */ +nick: string +/** + * Internal identifier of the comment or response. Only necessary in the case of creating a response that must refer to the comment or response indicated here and thus achieve a nested structure. + */ +commentId?: number +/** + * Email address of the user making the comment. + */ +email?: string +} +export interface BlogPostCollectionDTO { +pagination?: PaginationDTOBlogPostDTO +/** + * Items returned by the resource. + */ +items?: BlogPostDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOBlogPostDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface DataFileDTO { +/** + * File name. + */ +name?: string +/** + * Type of content. + */ +type?: ("XML" | "JSON" | "CSV" | "TEXT" | "JPEG" | "PNG" | "PDF" | "GZIP") +/** + * File content. + */ +data?: string +mimeType?: string +} +export interface RelatedCollectionDTO { +/** + * Items returned by the resource. + */ +items?: RelatedDTO[] +minItems?: 0 +} +export interface RelatedDTO { +/** + * Name of the section of related items. + */ +name?: string +/** + * Image path of the related items section. + */ +image?: string +/** + * Type of relationship system. + */ +type?: ("RELATED" | "EXTERNAL" | "LINKED") +/** + * Plugin module's name. + */ +module?: string +/** + * Position of the related items section. + */ +position?: number +/** + * Information about banners related to this item. + */ +banners?: BannerDTO[] +/** + * Information about categories related to this item. + */ +categories?: CategoryTreeDTO[] +/** + * Information about news related to this item. + */ +news?: NewsDTO[] +/** + * Information about pages related to this item. + */ +pages?: PageDTO[] +/** + * Information about products related to this item. + */ +products?: ProductDTO[] +/** + * Information about blog posts related to this item. + */ +posts?: BlogPostDTO[] +id?: number +} +/** + * Information about news related to this item. + */ +export interface NewsDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Internal name of the item. + */ +name?: string +/** + * Internal comment on the news item. + */ +comments?: string +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +/** + * Specifies whether the item is enabled. + */ +active?: boolean +/** + * Creation date of the item. + */ +dateAdded?: string +/** + * Date of publication of the news item. + */ +publicationDate?: string +/** + * Path to small image of the item for the returned language. + */ +smallImage?: string +/** + * Path to large image of the item for the returned language. + */ +largeImage?: string +language?: NewsLanguageDTO +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface NewsLanguageDTO { +/** + * URL of the item. + */ +urlSeo?: string +/** + * Additional attributes. Only available for plugins . + */ +linkAttributes?: { +/** + * Additional attributes. Only available for plugins . + */ +[k: string]: string +} +/** + * Title of the news item. + */ +title?: string +/** + * Short text as a summary of the news item. + */ +shortText?: string +/** + * Text of the content of the news item. + */ +pageText?: string +} +/** + * Information about pages related to this item. + */ +export interface PageDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +/** + * An integer that symbolizes the location of this item. + */ +position?: number +/** + * Internal identifier of the page group. + */ +pagesGroupId?: number +/** + * Internal identifier of the parent page. + */ +parentPageId?: number +/** + * Specifies the type of content or behavior that the page will have. + */ +pageType?: ("DEFAULT" | "HOME" | "CONTACT" | "SITEMAP" | "SUBPAGES" | "USER" | "SHOPPING_CART" | "SPONSORSHIP_REGISTERED_USER" | "NEWSLETTER" | "SPONSORSHIP_UNREGISTERED_USER" | "CATEGORY" | "NEWS_LIST" | "OFFERS" | "FEATURED_PRODUCTS" | "PRIVACY_POLICY" | "TERMS_OF_USE" | "BLOG_HOME" | "BLOG_CATEGORY" | "DISCOUNTS" | "CUSTOM" | "MODULE") +/** + * Identifier of the item pointed to when pageType is Category or Blog category. Pages of these types serve as links to the item specified here. + */ +itemId?: number +/** + * Alphanumeric value to identify the custom page type (pageType: Custom). + */ +customType?: string +language?: PageLanguageDTO +/** + * Information about custom tag values. + */ +customTagValues?: CatalogCustomTagValueDTO[] +/** + * Specifies whether the item is enabled. + */ +active?: boolean +/** + * Information about pages located as children of this page. + */ +subpages?: PageDTO[] +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface PageLanguageDTO { +/** + * URL of the item. + */ +urlSeo?: string +/** + * Additional attributes. Only available for plugins . + */ +linkAttributes?: { +/** + * Additional attributes. Only available for plugins . + */ +[k: string]: string +} +/** + * Element name for the returned language. + */ +name?: string +/** + * Path to small image of the item for the returned language. + */ +smallImage?: string +/** + * Path to large image of the item for the returned language. + */ +largeImage?: string +/** + * Path to the small icon that will represent the item. + */ +smallTitle?: string +/** + * Path to the large icon that will represent the item. + */ +largeTitle?: string +/** + * Content of the page for the returned language. + */ +pageContent?: string +/** + * URL to which this item needs to link. + */ +destinationUrl?: string +/** + * Link mode in the case of using destination URL. + */ +target?: string +/** + * Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow. + */ +linkFollowing?: boolean +} +/** + * Information for each product referenced from any of the returned rows. + */ +export interface ProductDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +codes?: ProductCodesDTO +mainImages?: MediaDTO +/** + * Total stock of product. + */ +totalStock?: number +/** + * Specifies whether the product should be taken into account in calculating the shipping cost. If this feature is disabled, it means that the product does not need a carrier. + */ +shipping?: boolean +/** + * Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established. + */ +weight?: number +/** + * Specifies the internal identifier of the main category to which the product belongs. There can only be one main category for a product. + */ +mainCategory?: number +brand?: BrandDTO +/** + * Internal identifier of the supplier of the product. + */ +supplierRegisteredUserId?: number +/** + * Information about the taxes associated with the product. + */ +taxes?: LogiCommerceTaxDTO[] +pluginAccountTaxes?: PluginItemTaxDTO[] +/** + * Specifies whether the product is considered an investment by the taxpayer for tax purposes. + */ +reverseChargeVat?: boolean +/** + * Information on product options. Options are variations on the product, such as size or color. + */ +options?: OptionDTO[] +definition?: DefinitionDTO +/** + * Information about the categories to which the product belongs. + */ +categories?: ProductCategoryDTO[] +categoryProperties?: CategoryPropertiesDTO +/** + * Information on product custom tags. + */ +customTagValues?: CatalogCustomTagValueDTO[] +/** + * Information about the combinations of option values that a product can have. + */ +combinations?: CombinationDTO[] +language?: ProductLanguageDTO +prices?: ItemPricesDTO +pricesWithTaxes?: ItemPricesDTO +/** + * Specifies the part of the price of the product without considering options. + */ +productPrice?: number +/** + * Specifies the part of the price due to the options. This value may vary depending on the criterion specified in addOptionsPriceMode. + */ +optionsPrice?: number +defaultOptionsPrices?: DefaultOptionPricesDTO +/** + * Information about additional product images. + */ +additionalImages?: AdditionalImageDTO[] +commentsAggregate?: CommentsAggregateDTO +combinationData?: ProductCombinationDataDTO +/** + * Internal identifier of the supplier of the product. + */ +supplierId?: number +} +export interface ProductCodesDTO { +/** + * Item reference code. + */ +sku?: string +/** + * JAN (Japanese Article Number) code. + */ +jan?: string +/** + * International Standard Book Number (ISBN) code used for global identification of editorial publications. + */ +isbn?: string +/** + * EAN (European Article Number) code, also called GTIN-13. + */ +ean?: string +/** + * UPC (Universal Product Code). + */ +upc?: string +/** + * Item reference code by manufacturer. + */ +manufacturerSku?: string +} +export interface MediaDTO { +/** + * Path to small image of the item. + */ +smallImage?: string +/** + * Path to medium image of the item. + */ +mediumImage?: string +/** + * Path to large image of the item. + */ +largeImage?: string +} +/** + * Item brand information. + */ +export interface BrandDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Specifies whether the item is enabled. + */ +active?: boolean +/** + * Creation date of the item. + */ +dateAdded?: string +/** + * Specifies whether the item is removed. + */ +deleted?: boolean +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +language?: BrandLanguageDTO +/** + * Specifies whether the item is configured as new. + */ +featured?: boolean +/** + * Specifies whether the item is on offer. + */ +offer?: boolean +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface BrandLanguageDTO { +/** + * URL of the item. + */ +urlSeo?: string +/** + * Additional attributes. Only available for plugins . + */ +linkAttributes?: { +/** + * Additional attributes. Only available for plugins . + */ +[k: string]: string +} +/** + * Element name for the returned language. + */ +name?: string +/** + * Short description of the item for the returned language. + */ +shortDescription?: string +/** + * Long description of the item for the returned language. + */ +longDescription?: string +/** + * Path to small image of the item for the returned language. + */ +smallImage?: string +/** + * Path to large image of the item for the returned language. + */ +largeImage?: string +/** + * Path to the small icon that will represent the item. + */ +smallTitleImage?: string +/** + * Path to the large icon that will represent the item. + */ +largeTitleImage?: string +indexable?: boolean +/** + * Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow. + */ +linkFollowing?: boolean +} +/** + * Information about the tax applied. + */ +export interface LogiCommerceTaxDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Tax rate of the tax. + */ +taxRate?: number +/** + * Sales equalization tax. + */ +reRate?: number +/** + * Name of the tax. + */ +name?: string +/** + * Name of the type of tax. + */ +definitionName?: string +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} +export interface PluginItemTaxDTO { +code?: string +pluginAccountId?: number +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} +/** + * Information on product options. Options are variations on the product, such as size or color. + */ +export interface OptionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Specifies whether the product options should be displayed in the presentation layer as a multiple purchase box in the form of a grid. It is only possible if there are two options in the product. + */ +showAsGrid?: boolean +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +/** + * Specifies whether the values ​​of this option are used to generate combinations of options. + */ +combinable?: boolean +/** + * Specifies whether, regardless of the units purchased of the product, the option price will be applied only once. + */ +uniquePrice?: boolean +/** + * Specifies whether the item is filterable. + */ +filterable?: boolean +/** + * Specifies whether the item is required. + */ +required?: boolean +/** + * Specifies the option type. + */ +typology?: ("SIZE" | "COLOR" | "MATERIAL" | "OTHER" | "WITHOUT_TYPOLOGY") +/** + * The image path of the item. + */ +image?: string +language?: OptionLanguageDTO +/** + * Information about the option values. Contains the definition of all values. + */ +values?: OptionValueDTO[] +type?: ("BOOLEAN" | "SHORT_TEXT" | "SINGLE_SELECTION" | "MULTIPLE_SELECTION" | "SINGLE_SELECTION_IMAGE" | "MULTIPLE_SELECTION_IMAGE" | "SELECTOR" | "DATE" | "LONG_TEXT" | "ATTACHMENT") +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface OptionLanguageDTO { +/** + * Element name for the returned language. + */ +name?: string +/** + * Message intended for display in the presentation layer. + */ +prompt?: string +filterName?: string +} +/** + * Information about the option values. Contains the definition of all values. + */ +export interface OptionValueDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +/** + * Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established. + */ +weight?: number +language?: OptionValueLanguageDTO +/** + * Specifies that a product with this option value assigned cannot be returned. + */ +noReturn?: boolean +prices?: ItemPricesDTO +pricesWithTaxes?: ItemPricesDTO +images?: MediaDTO +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface OptionValueLanguageDTO { +/** + * Option value for the returned language. + */ +value?: string +/** + * Short description of the item for the returned language. + */ +shortDescription?: string +/** + * Defines the search value for the option value filters for the returned language. + */ +searchValue?: string +/** + * Long description of the item for the returned language. + */ +longDescription?: string +} +/** + * Price information. + */ +export interface ItemPricesDTO { +prices?: PricesDTO +/** + * Information on prices by quantity of the product. + */ +pricesByQuantity?: PricesByQuantityDTO[] +} +/** + * Price information. + */ +export interface PricesDTO { +/** + * Base price of the item. + */ +basePrice?: number +/** + * Offer price of the item. + */ +retailPrice?: number +} +export interface PricesByQuantityDTO { +prices?: PricesDTO +/** + * Specifies the units of the range from which the new prices are applied up to the units of the following range. + */ +quantity?: number +} +/** + * Information about product customizations. Customizations are a subset of product parameters that can be redefined under one condition. + */ +export interface DefinitionDTO { +/** + * Date from which the product is on offer. + */ +startOfferDate?: string +/** + * Specifies the multiple of units of the product when buying. + */ +multipleOrderQuantity?: number +/** + * Date from which the product will be available for sale. + */ +availableDate?: string +availability?: ProductAvailabilityDTO +/** + * Specifies whether the product purchase form should be displayed in the presentation layer. + */ +showOrderBox?: boolean +/** + * Specifies the minimum quantity of the product that must be purchased in the same order. + */ +minOrderQuantity?: number +/** + * Specifies the maximum quantity of the product that can be purchased in the same order. + */ +maxOrderQuantity?: number +/** + * Public identifier of product customization. + */ +definitionId?: number +/** + * Internal identifier of the item. + */ +id?: number +/** + * Specifies to which price policy the percentage defined in percentPrice should be applied.
true : Policies or price lists are ignored and the percentage will always be applied to the product base rate
false : The percentage will be applied to the price of the corresponding policy or price list. + */ +percentPriceOverrideCustomPrices?: boolean +/** + * Specifies whether any discounts that may affect the product are shown. + */ +showDiscounts?: boolean +/** + * Reserve work mode (sell inventory without stock). + */ +backorder?: ("NONE" | "WITH_AND_WITHOUT_PREVISION" | "WITHOUT_PREVISION" | "WITH_PREVISION") +/** + * Specifies the value of the percentage that will be used to calculate the final price of a product. + */ +percentPrice?: number +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +/** + * Creation date of the item. + */ +dateAdded?: string +/** + * Post publication date. + */ +publicationDate?: string +/** + * Specifies whether the product has stock management enabled. This parameter works as long as general stock management is enabled. + */ +stockManagement?: boolean +/** + * Specifies whether the product groups the options for multiples and purchase quantity. + */ +groupQuantityByOptions?: boolean +/** + * Specifies that the calculation of the percentage due to the percentage defined in percentPrice will be applied to the offer price, if any. + */ +useRetailPrice?: boolean +/** + * Specifies whether the base price should be shown with the existing value before calculating the price due to the percentage defined in percentPrice, as a price previous ('before ...') to the offer (' now...'). + */ +showBasePrice?: boolean +/** + * Date on which the product will no longer be on offer. + */ +endOfferDate?: string +/** + * Specifies the number of units from which the multiple of purchase units will be activated. + */ +multipleActsOver?: number +/** + * Specifies whether the product is of type 'on-request'. This type of product can be purchased even if stock management is actived and the product is out-of-stock. In this case, it is considered that the product is purchased 'on-request' for those units that are out-of-stock.
An additional condition in order to allow an 'on-request' purchase of a product, is that the product has at least one stock line configured.
If this feature is enabled it will automatically disable the 'reserve' feature of the product. + */ +onRequest?: boolean +/** + * Specifies the number of days of preparation that the product needs if it is purchased ‘on-request’. This information is used to display an estimated departure date in this case. + */ +onRequestDays?: number +/** + * Specifies whether the item is enabled. + */ +active?: boolean +/** + * Specifies whether the sale price of the product should be displayed. + */ +showPrice?: boolean +/** + * Indicates if only can obtain the product as linked. + */ +exclusiveLinked?: boolean +/** + * Specifies whether the product is on offer. + */ +offer?: boolean +/** + * Shows whether the product is configured as a novelty. + */ +featured?: boolean +/** + * Date on which the product will no longer be considered a novelty. + */ +endFeaturedDate?: string +/** + * Specifies whether the product can be returned. + */ +returnable?: boolean +} +/** + * Availability definition assigned to the product. + */ +export interface ProductAvailabilityDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +intervals?: ProductAvailabilityIntervalDTO[] +} +export interface ProductAvailabilityIntervalDTO { +/** + * Number of units at the top of the range. + */ +stock?: number +language?: ProductAvailabilityIntervalLanguageDTO +} +export interface ProductAvailabilityIntervalLanguageDTO { +/** + * Range name. + */ +name?: string +/** + * Complementary text for the range. + */ +description?: string +/** + * image path of the icon that will represent this range. + */ +image?: string +} +/** + * Information about the categories to which the product belongs. + */ +export interface ProductCategoryDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +/** + * Internal name of the item. + */ +name?: string +} +/** + * Information on prices by percentage. + */ +export interface CategoryPropertiesDTO { +/** + * Specifies the value of the percentage that will be used to calculate the final price of a product. + */ +percentPrice?: number +/** + * Internal identifier of the price list. + */ +fareId?: number +/** + * Specifies to which price policy the percentage should be applied.
true : Policies or price lists are ignored and the percentage will always be applied to the product's base rate
false : The percentage will be applied to the price of the corresponding policy or price list. + */ +percentPriceOverrideCustomPrices?: boolean +/** + * Specifies that the percentage calculation will be made on the offer price, if any. + */ +useRetailPrice?: boolean +/** + * Internal identifier of the pricing policy. + */ +definitionId?: number +/** + * Specifies whether the base price should be shown with the existing value before calculating the price, as a price previous ('before ...') to the offer ('now ...'). + */ +showBasePrice?: boolean +} +export interface CombinationDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +codes?: CodesDTO +/** + * Information about the option values ​​that make up the combinations. + */ +values?: CombinationValueDTO[] +/** + * Information about the stock of the combination. + */ +stocks?: StockDTO[] +} +/** + * Information about product combination codes. + */ +export interface CodesDTO { +/** + * Item reference code. + */ +sku?: string +/** + * JAN (Japanese Article Number) code. + */ +jan?: string +/** + * International Standard Book Number (ISBN) code used for global identification of editorial publications. + */ +isbn?: string +/** + * EAN (European Article Number) code, also called GTIN-13. + */ +ean?: string +/** + * UPC (Universal Product Code). + */ +upc?: string +} +/** + * Information about the option values ​​that make up the combinations. + */ +export interface CombinationValueDTO { +/** + * Internal identifier of the value of the option involved in the combination. + */ +productOptionValueId?: number +} +/** + * Information about the stock of the combination. + */ +export interface StockDTO { +/** + * Stock units. + */ +units?: number +/** + * Warehouse internal identifier. + */ +warehouseId?: number +/** + * Logistic center internal identifier. + */ +warehouseGroupId?: number +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +/** + * Preparation or compensation days that the warehouse needs before it can supply stock. + */ +offsetDays?: number +/** + * Information on provisions. + */ +previsions?: PrevisionDTO[] +} +/** + * Information on provisions. + */ +export interface PrevisionDTO { +/** + * Stock units available for provision. + */ +units?: number +/** + * Projected date of arrival of the provision. + */ +incomingDate?: string +/** + * Type of provision. + */ +previsionType?: ("RESERVE" | "PREVISION" | "AVAILABLE") +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface ProductLanguageDTO { +/** + * URL of the item. + */ +urlSeo?: string +/** + * Additional attributes. Only available for plugins . + */ +linkAttributes?: { +/** + * Additional attributes. Only available for plugins . + */ +[k: string]: string +} +/** + * Short description of the item for the returned language. + */ +shortDescription?: string +/** + * Element name for the returned language. + */ +name?: string +/** + * Path to the small icon that will represent the item. + */ +smallTitleImage?: string +/** + * Long description of the item for the returned language. + */ +longDescription?: string +/** + * Keywords of additional product images for the returned language. + */ +altImageKeywords?: string +/** + * Path to the large icon that will represent the item. + */ +largeTitleImage?: string +/** + * Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow. + */ +linkFollowing?: boolean +} +/** + * Information on the prices of the option values of the product. This information may vary depending on the criterion specified in addOptionsPriceMode. + */ +export interface DefaultOptionPricesDTO { +prices?: PricesDTO +pricesWithTaxes?: PricesDTO +} +/** + * Information about additional product images. + */ +export interface AdditionalImageDTO { +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +/** + * Path to small image of the item for the returned language. + */ +smallImage?: string +/** + * Path to large image of the item for the returned language. + */ +largeImage?: string +/** + * Alternative text that describes the image. + */ +alt?: string +} +/** + * Total comments and rate average. + */ +export interface CommentsAggregateDTO { +/** + * Total comments. + */ +total?: number +/** + * Rate average. + */ +rating?: number +} +export interface ProductCombinationDataDTO { +productCodes?: CodesDTO +status?: ("AVAILABLE" | "RESERVE" | "UNAVAILABLE" | "SELECT_OPTION") +showStockAlert?: boolean +prices?: ItemPricesDeprecatedDTO +pricesWithTaxes?: ItemPricesDeprecatedDTO +stock?: CombinationDataStockDTO +options?: CombinationDataOptionDTO[] +} +/** + * Price information. + */ +export interface ItemPricesDeprecatedDTO { +prices?: PricesDTO +/** + * @deprecated + * Base price of the item. + */ +basePrice?: number +/** + * @deprecated + * Offer price of the item. + */ +retailPrice?: number +pricesByQuantity?: PricesByQuantityDTO[] +} +export interface CombinationDataStockDTO { +/** + * Internal identifier of the product combination to which the stock belongs. + */ +combinationId?: number +/** + * Stock units. + */ +units?: number +/** + * Internal identifier of the availability definition assigned to the product. + */ +availabilityId?: number +/** + * Projected date of arrival of the provision. + */ +previsionDate?: string +/** + * Internal warehouse identifiers list. + */ +warehouseIds?: number[] +/** + * Preparation or compensation days that the warehouse needs before it can supply stock. + */ +offsetDays?: number +} +export interface CombinationDataOptionDTO { +/** + * Internal identifier of the item. + */ +id?: number +missed?: boolean +values?: CombinationDataOptionValueDTO[] +} +export interface CombinationDataOptionValueDTO { +/** + * Internal identifier of the item. + */ +id?: number +selected?: boolean +available?: boolean +} +export interface BlogCategoryCollectionDTO { +pagination?: PaginationDTOBlogCategoryDTO +/** + * Items returned by the resource. + */ +items?: BlogCategoryDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOBlogCategoryDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface BlogCategoryDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +/** + * Path to small image of the item. + */ +smallImage?: string +/** + * Path to large image of the item. + */ +largeImage?: string +language?: BlogCategoryLanguageDTO +/** + * Specifies whether the item is configured as new. + */ +featured?: boolean +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface BlogCategoryLanguageDTO { +/** + * URL of the item. + */ +urlSeo?: string +/** + * Additional attributes. Only available for plugins . + */ +linkAttributes?: { +/** + * Additional attributes. Only available for plugins . + */ +[k: string]: string +} +/** + * Internal name of the item. + */ +name?: string +/** + * Short description of the item for the returned language. + */ +shortDescription?: string +/** + * Long description of the item for the returned language. + */ +longDescription?: string +/** + * Path to the small icon that will represent the item. + */ +smallTitleImage?: string +/** + * Path to the large icon that will represent the item. + */ +largeTitleImage?: string +/** + * URL to which this item needs to link. + */ +destinationURL?: string +/** + * Link mode in the case of using destination URL. + */ +target?: string +/** + * Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow. + */ +linkFollowing?: boolean +} +/** + * Information about the blogger. + */ +export interface BloggerDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal name of the item. + */ +name?: string +/** + * URL of the item. + */ +urlSeo?: string +language?: BloggerLanguageDTO +/** + * Number of posts made by the blogger. + */ +numberOfPosts?: number +} +/** + * Information about language. + */ +export interface BloggerLanguageDTO { +/** + * Additional attributes. Only available for plugins . + */ +linkAttributes?: { +/** + * Additional attributes. Only available for plugins . + */ +[k: string]: string +} +/** + * Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow. + */ +linkFollowing?: boolean +/** + * Internal item description. + */ +description?: string +} +export interface BloggerCollectionDTO { +pagination?: PaginationDTOBloggerDTO +/** + * Items returned by the resource. + */ +items?: BloggerDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOBloggerDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface BlogTagNumberOfPostsDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Tag value. + */ +value?: string +language?: BlogTagLanguageDTO +/** + * Number of publications in which the tag appears. + */ +numberOfPosts?: number +} +export interface BlogTagCollectionDTO { +pagination?: PaginationDTOBlogTagNumberOfPostsDTO +/** + * Items returned by the resource. + */ +items?: BlogTagNumberOfPostsDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOBlogTagNumberOfPostsDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface AddBlogPostRateParam { +/** + * Numerical rating of the post. + */ +rating: number +} +export interface BrandCollectionDTO { +pagination?: PaginationDTOBrandDTO +/** + * Items returned by the resource. + */ +items?: BrandDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOBrandDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface CategoryRichSnippetDTO { +/** + * Category name for the returned language. + */ +name?: string +/** + * Description of the category for the returned language. + */ +description?: string +/** + * Set of category image routes. + */ +images?: string[] +/** + * URL to the category page. + */ +url?: string +offers?: AggregateOfferDTO +aggregateRating?: AggregateRatingDTO +/** + * Context '@context' of the item (https://schema.org). + */ +context?: string +/** + * Type '@type' of the item. + */ +type?: string +} +/** + * Pricing information. + */ +export interface AggregateOfferDTO { +/** + * Number of products. + */ +offerCount?: number +/** + * The lowest price of the set of products. + */ +lowPrice?: number +/** + * The highest price of the set of products. + */ +highPrice?: number +/** + * Currency code in ISO 4217 format. + */ +priceCurrency?: string +/** + * Context '@context' of the item (https://schema.org). + */ +context?: string +/** + * Type '@type' of the item. + */ +type?: string +} +/** + * Ratings information. + */ +export interface AggregateRatingDTO { +/** + * Number indicating the worst rating. The default value is 0. + */ +worstRating?: number +/** + * Number indicating the best grade. The predetermined value is 5. + */ +bestRating?: number +/** + * Average value of the grades received. + */ +ratingValue?: number +/** + * Number of times it has been rated. + */ +ratingCount?: number +/** + * Total number of comments. + */ +reviewCount?: number +/** + * Context '@context' of the item (https://schema.org). + */ +context?: string +/** + * Type '@type' of the item. + */ +type?: string +} +export interface DataValidationCollectionDTO { +pagination?: PaginationDTODataValidationDTO +/** + * Items returned by the resource. + */ +items?: DataValidationDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTODataValidationDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface DataValidationDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Type of data validation. + */ +dataValidationType?: ("END_ORDER" | "SET_USER" | "UPDATE_USER" | "ADDRESS" | "CONTACT" | "PRODUCT_QUERY") +/** + * Information about the data validation fields. + */ +fields?: DataValidationFieldDTO[] +} +/** + * Information about the data validation fields. + */ +export interface DataValidationFieldDTO { +/** + * Field Name. + */ +name?: string +/** + * Field type. + */ +type?: string +/** + * Specifies whether the field is required. + */ +required?: boolean +/** + * Regular expression that the content of the field must meet. + */ +regularExpression?: string +} +export interface DiscountCollectionDTO { +pagination?: PaginationDTODiscountDTO +/** + * Items returned by the resource. + */ +items?: DiscountDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTODiscountDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface DiscountDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Specifies the item type. + */ +type?: ("AMOUNT" | "GIFT" | "UNIT" | "SELECTABLE_GIFT" | "MXN" | "PERCENT_N_UNIT" | "REWARD_POINTS" | "AMOUNT_COMBINATION") +/** + * Specifies the element type to wich the discount applies. + */ +applyTo?: ("PRODUCT" | "SHIPPING" | "TOTAL") +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +/** + * Specifies the display order of the discount in the presentation layer. + */ +displayPriority?: number +language?: DiscountLanguageDTO +/** + * Information about the set conditions for the applicability of the discount. Only available under license of module 'DISNV'(Discounts Navigation). + */ +conditions?: BaseDiscountConditionDTO[] +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface DiscountLanguageDTO { +/** + * @deprecated + * Image path of the item for the returned language. + */ +image?: string +/** + * @deprecated + * Description of the item for the returned language. + */ +description?: string +/** + * URL of the item. Only available under license of module 'DISNV'(Discounts Navigation), otherwise shows null. + */ +urlSeo?: string +/** + * Short description of the item for the returned language. + */ +shortDescription?: string +/** + * Element name for the returned language. + */ +name?: string +/** + * Path to small image of the item for the returned language. + */ +smallImage?: string +/** + * Long description of the item for the returned language. + */ +longDescription?: string +/** + * Path to large image of the item for the returned language. + */ +largeImage?: string +/** + * Specifies whether it is indexable. Only available under license of module 'DISNV'(Discounts Navigation), otherwise shows null. + */ +indexable?: boolean +/** + * Specifies the behavior of indexing bots in tracking the item link. Possible values: false - nofollow, true - follow. Only available under license of module 'DISNV'(Discounts Navigation), otherwise shows null. + */ +linkFollowing?: boolean +} +export interface DiscountConditionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Specifies the item type. + */ +type?: ("PERIOD" | "ACTIVITY_LIMIT" | "VALUE" | "RESTRICTION" | "SHIPPING_TYPE" | "CATALOG" | "COMBINATION" | "BRAND" | "VOUCHER" | "USER" | "LOCATION" | "USER_AGENT") +} +export interface DiscountConditionRestrictionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Specifies the item type. + */ +type?: ("PERIOD" | "ACTIVITY_LIMIT" | "VALUE" | "RESTRICTION" | "SHIPPING_TYPE" | "CATALOG" | "COMBINATION" | "BRAND" | "VOUCHER" | "USER" | "LOCATION" | "USER_AGENT") +/** + * Specifies the restriction type of the condition. + */ +restrictionType?: ("NO_APPLY_TO_BUNDLES" | "NO_APPLY_TO_SALES" | "NO_APPLY_TO_LINKEDS") +} +export interface DiscountConditionShippingTypeDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Specifies the item type. + */ +type?: ("PERIOD" | "ACTIVITY_LIMIT" | "VALUE" | "RESTRICTION" | "SHIPPING_TYPE" | "CATALOG" | "COMBINATION" | "BRAND" | "VOUCHER" | "USER" | "LOCATION" | "USER_AGENT") +/** + * Information about the shipping types accepted by this condition. + */ +shippingTypes?: ShippingTypeDTO[] +} +/** + * Information about the shipping type. + */ +export interface ShippingTypeDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +/** + * Specifies whether the shipping type applies exceptions to taxes by territory. + */ +applyTaxRedefinitions?: boolean +/** + * Specifies whether the ranges of monetary amounts set in the ranges of your shipping zones have taxes included. + */ +sectionsWithTaxIncluded?: boolean +/** + * Internal name of the item. + */ +name?: string +/** + * Specifies whether the shipping type is restrictive. + */ +restrictive?: boolean +/** + * Specifies the display order of the shipping type in the presentation layer. + */ +displayPriority?: number +shipper?: ShipperDTO +language?: ShippingTypeLanguageDTO +/** + * Additional data required by the shipping type. Only available for plugins . + */ +additionalData?: { +/** + * Additional data required by the shipping type. Only available for plugins . + */ +[k: string]: string +} +} +/** + * Information about the carrier of the shipping type. + */ +export interface ShipperDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Path of the carrier logo image. + */ +logo?: string +language?: ShipperLanguageDTO +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface ShipperLanguageDTO { +/** + * Element name for the returned language. + */ +name?: string +/** + * URL for tracking the order offered by the carrier. + */ +url?: string +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface ShippingTypeLanguageDTO { +/** + * Element name for the returned language. + */ +name?: string +/** + * Description of the item for the returned language. + */ +description?: string +} +export interface DiscountConditionActivityLimitDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Specifies the item type. + */ +type?: ("PERIOD" | "ACTIVITY_LIMIT" | "VALUE" | "RESTRICTION" | "SHIPPING_TYPE" | "CATALOG" | "COMBINATION" | "BRAND" | "VOUCHER" | "USER" | "LOCATION" | "USER_AGENT") +/** + * Specifies if the condition is met. Null means that the condition can not be evaluated. + */ +met?: boolean +/** + * Specifies the activation date of the activity limit condition. Format ISO-8601 ('YYYY-MM-DDThh:mm:ssZ') + */ +activationDate?: string +/** + * Specifies the expiration date of the activity limit condition. Format ISO-8601 ('YYYY-MM-DDThh:mm:ssZ') + */ +expirationDate?: string +} +export interface DiscountConditionValueDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Specifies the item type. + */ +type?: ("PERIOD" | "ACTIVITY_LIMIT" | "VALUE" | "RESTRICTION" | "SHIPPING_TYPE" | "CATALOG" | "COMBINATION" | "BRAND" | "VOUCHER" | "USER" | "LOCATION" | "USER_AGENT") +/** + * Specifies if the condition is met. Null means that the condition can not be evaluated. + */ +met?: boolean +/** + * Specifies the condition value type.
- UNITS: condition based on the units added to the order.
- NUM_ORDERS: condition based on the number of orders the user has made.
- AMOUNT_SPENT: condition based on the total amount of the order. + */ +valueType?: ("UNITS" | "AMOUNT_SPENT" | "NUM_ORDERS") +/** + * 'From' quantity for modes FROM and RANGE, and 'quantity' for mode EACH. + */ +from?: number +/** + * 'To' quantity. Only applies to RANGE mode. + */ +to?: number +/** + * Specifies the condition value mode. + */ +mode?: ("FROM" | "RANGE" | "EACH") +} +export interface DiscountConditionPeriodDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Specifies the item type. + */ +type?: ("PERIOD" | "ACTIVITY_LIMIT" | "VALUE" | "RESTRICTION" | "SHIPPING_TYPE" | "CATALOG" | "COMBINATION" | "BRAND" | "VOUCHER" | "USER" | "LOCATION" | "USER_AGENT") +/** + * Specifies if the condition is met. Null means that the condition can not be evaluated. + */ +met?: boolean +/** + * Period days. + */ +days?: number +/** + * Maximum number of times the discount is applicable between the last specified days. + */ +quantity?: number +} +export interface DiscountSelectableGiftProductCollectionDTO { +pagination?: PaginationDTOProductDTO +/** + * Items returned by the resource. + */ +items?: ProductDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOProductDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface NewsCollectionDTO { +pagination?: PaginationDTONewsDTO +/** + * Items returned by the resource. + */ +items?: NewsDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTONewsDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface PageCollectionDTO { +pagination?: PaginationDTOPageDTO +/** + * Items returned by the resource. + */ +items?: PageDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOPageDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface PhysicalLocationCollectionDTO { +filter?: FilterTextualLocationsDTO +pagination?: PaginationDTOPhysicalLocationDTO +/** + * Items returned by the resource. + */ +items?: PhysicalLocationDTO[] +minItems?: 0 +} +/** + * Information about distinct filterable values over the returned items. + */ +export interface FilterTextualLocationsDTO { +/** + * Information of distinct filterable countries. + */ +countries?: CountryDTO[] +/** + * Information of distinct filterable states. Information only available if country filter has been indicated. + */ +states?: string[] +/** + * Information of distinct filterable cities. Information only available if state filter has been indicated. + */ +cities?: string[] +/** + * Information of distinct filterable zip codes. Information only available if city filter has been indicated. + */ +postalCodes?: string[] +} +/** + * Information of distinct filterable countries. + */ +export interface CountryDTO { +/** + * Country code in ISO 3166-2 format. + */ +code?: string +/** + * Country numeric code in ISO 3166-1 format. + */ +numeric?: number +/** + * Country name. + */ +name?: string +/** + * Specifies whether the country has zip codes and, if it does, whether they are obligatory. + */ +postalCodeType?: ("STATE_CITY_POSTAL_CODE" | "STATE_CITY_WITHOUT_POSTAL_CODE" | "POSTAL_CODE_MANDATORY" | "POSTAL_CODE_OPTIONAL") +id?: number +defaultLanguage?: number +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOPhysicalLocationDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Information about the physical location for picking. + */ +export interface PhysicalLocationDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Internal name of the item. + */ +name?: string +/** + * Specifies whether the item is enabled. + */ +active?: boolean +/** + * Physical location email phone. + */ +phone?: string +/** + * Physical location email address. + */ +email?: string +/** + * Physical location address. + */ +address?: string +/** + * Zip code of the physical location. + */ +postalCode?: string +/** + * City of physical location. + */ +city?: string +/** + * Province or state of physical location. + */ +state?: string +location?: LocationDTO +/** + * Specifies whether the physical location can be displayed on a map. + */ +visibleOnMap?: boolean +/** + * Specifies the radius of distance (in km) of the area of ​​influence of the physical location. + */ +zoneRadius?: number +/** + * Specifies whether the physical location is a delivery point. + */ +deliveryPoint?: boolean +/** + * Specifies whether the physical location is a return point. + */ +returnPoint?: boolean +language?: PhysicalLocationLanguageDTO +} +export interface LocationDTO { +geographicalZone?: GeographicalZoneDTO +coordinate?: CoordinateDTO +} +/** + * Geographic location information. + */ +export interface GeographicalZoneDTO { +/** + * Country code in ISO 3166-2 format. + */ +countryCode?: string +/** + * Internal country subdivision identifier. + */ +locationId?: number +} +/** + * Location information by coordinates. + */ +export interface CoordinateDTO { +/** + * Specifies the latitude value of the coordinate. + */ +latitude?: number +/** + * Specifies the longitude value of the coordinate. + */ +longitude?: number +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface PhysicalLocationLanguageDTO { +/** + * Additional physical location information. + */ +information?: string +} +export interface PickupPointProviderCollectionDTO { +pagination?: PaginationDTOPickupPointProviderDTO +/** + * Items returned by the resource. + */ +items?: PickupPointProviderDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOPickupPointProviderDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface PickupPointProviderDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Internal name of the item. + */ +name?: string +/** + * Path of the pickup point provider logo image. + */ +logo?: string +/** + * Url of the pickup point provider's site. + */ +url?: string +language?: PickupPointProviderLanguageDTO +/** + * Internal identifier of the pickup point provider's plugin. + */ +pluginAccountId?: number +/** + * Module name of the pickup point provider's plugin. + */ +pluginAccountModule?: string +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface PickupPointProviderLanguageDTO { +/** + * Element name for the returned language. + */ +name?: string +/** + * Description of the item for the returned language. + */ +description?: string +} +export interface AddComparisonProductParam { +/** + * Internal identifier of the item. + */ +id: number +} +export interface ProductComparisonDTO { +/** + * Information for each product contained in the product comparison. + */ +items?: ProductDTO[] +/** + * Information for each custom tag group that contains comparable custom tags associated to the product comparison products. In case the custom tag group depends on another, all the parent groups up to the root are recursively included to make up the complete path. + */ +customTagGroups?: ProductComparisonCustomTagGroupDTO[] +/** + * Information for each comparable custom tag without group associated to some product of the product comparison. + */ +customTagsWithoutGroup?: ProductComparisonCustomTagGroupCustomTagDTO[] +minItems?: 0 +} +/** + * Information for each custom tag group that contains comparable custom tags associated to the product comparison products. In case the custom tag group depends on another, all the parent groups up to the root are recursively included to make up the complete path. + */ +export interface ProductComparisonCustomTagGroupDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Symbolizes the location of this custom tag group. + */ +position?: number +/** + * Specifies the order of presentation of this custom tag group in relation to the rest of custom tag groups. + */ +priority?: number +/** + * Name of the custom tag group for the language of the session. + */ +name?: string +/** + * Description of the custom tag group for the language of the session. + */ +description?: string +/** + * Comparable flag. Free interpretation for the FrontOffice. + */ +comparable?: boolean +/** + * Internal identifier of the custom tag group parent. 0 indicates no parent. + */ +parentId?: number +/** + * Information for each comparable custom tag that is associated to some product of the product comparison for this custom tag group. + */ +customTags?: ProductComparisonCustomTagGroupCustomTagDTO[] +} +/** + * Information for each comparable custom tag without group associated to some product of the product comparison. + */ +export interface ProductComparisonCustomTagGroupCustomTagDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Specifies the order of presentation of this custom tag. + */ +priority?: number +/** + * Internal identifiers of the product comparison products that have this custom tag associated for this custom tag group. + */ +productIds?: number[] +} +export interface ProductsDiscountsCollectionDTO { +pagination?: PaginationDTOProductsDiscountsDTO +/** + * Items returned by the resource. + */ +items?: ProductsDiscountsDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOProductsDiscountsDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface ProductsDiscountsDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Specifies the item type. + */ +type?: ("AMOUNT" | "GIFT" | "UNIT" | "SELECTABLE_GIFT" | "MXN" | "PERCENT_N_UNIT" | "REWARD_POINTS" | "AMOUNT_COMBINATION") +/** + * Specifies the element type to wich the discount applies. + */ +applyTo?: ("PRODUCT" | "SHIPPING" | "TOTAL") +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +/** + * Specifies the display order of the discount in the presentation layer. + */ +displayPriority?: number +language?: DiscountLanguageDTO +/** + * Information about the set conditions for the applicability of the discount. Only available under license of module 'DISNV'(Discounts Navigation). + */ +conditions?: BaseDiscountConditionDTO[] +/** + * Internal identifiers of those products established by the specified search criteria, that are referenced by any of the product conditions (brand, combination, catalog) of this discount. + */ +applicableProductIds?: number[] +} +export interface ProductRewardPointsCollectionDTO { +pagination?: PaginationDTOProductRewardPointsDTO +/** + * Items returned by the resource. + */ +items?: ProductRewardPointsDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOProductRewardPointsDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface ProductRewardPointsDTO { +language?: NameDescriptionDTO +rules?: RewardPointsRuleDTO[] +pId?: string +} +export interface NameDescriptionDTO { +/** + * Element name for the returned language. + */ +name?: string +/** + * Description of the item for the returned language. + */ +description?: string +} +export interface RewardPointsRuleDTO { +id?: number +language?: NameDescriptionDTO +from?: number +to?: number +value?: number +type?: ("REGISTER" | "COMMENT" | "BY_UNITS" | "BY_AMOUNT" | "REDEEM" | "ORDER_RELEASE" | "MANUAL") +valueMode?: ("FROM" | "RANGE" | "EACH") +earned?: number +} +export interface ProductCommentCollectionDTO { +/** + * Numerical product rating. + */ +rating?: number +pagination?: PaginationDTOProductCommentDTO +/** + * Items returned by the resource. + */ +items?: ProductCommentDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOProductCommentDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface ProductCommentDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Information on product comment responses. + */ +answers?: ProductCommentDTO[] +/** + * Creation date of the item. + */ +dateAdded?: string +/** + * Alias of the user who wrote the product comment. + */ +nick?: string +/** + * Item comment text. + */ +comment?: string +/** + * Numerical product rating. + */ +rating?: number +} +export interface AddProductCommentParam { +/** + * Item comment. + */ +comment: string +/** + * Item evaluation. + */ +rating?: number +/** + * Alias of the user writing the comment on the product. + */ +nick: string +/** + * Identifier of the first comment. Field used only when replying to a comment. + */ +commentId?: number +} +export interface AddProductRateParam { +/** + * Numerical product rating. + */ +rating: number +} +export interface BundleDefinitionCollectionDTO { +pagination?: PaginationDTOBundleDefinitionDTO +/** + * Items returned by the resource. + */ +items?: BundleDefinitionDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOBundleDefinitionDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface BundleDefinitionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +language?: BundleDefinitionLanguageDTO +sections?: BundleDefinitionSectionDTO[] +} +export interface BundleDefinitionLanguageDTO { +/** + * Element name for the returned language. + */ +name?: string +/** + * Description of the item for the returned language. + */ +description?: string +} +export interface BundleDefinitionSectionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +language?: BundleDefinitionLanguageDTO +} +export interface BundleGroupingCollectionDTO { +products?: ProductDTO[] +pagination?: PaginationDTOBundleGroupingDTO +/** + * Items returned by the resource. + */ +items?: BundleGroupingDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOBundleGroupingDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Information for each bundle referenced from any of the returned rows. + */ +export interface BundleGroupingDTO { +/** + * Internal identifier of the item. + */ +id?: number +items?: BundleGroupingItemDTO[] +language?: BundleDefinitionLanguageDTO +applyDiscounts?: boolean +combinationData?: BundleCombinationDataDTO +minItems?: 0 +} +export interface BundleGroupingItemDTO { +/** + * Internal identifier of the item. + */ +id?: number +productId?: number +quantity?: number +options?: BundleDefinitionSectionItemOptionDTO[] +} +export interface BundleDefinitionSectionItemOptionDTO { +optionValueId?: number +optionId?: number +} +export interface BundleCombinationDataDTO { +status?: ("AVAILABLE" | "RESERVE" | "UNAVAILABLE" | "SELECT_OPTION") +prices?: PricesDTO +pricesWithTaxes?: PricesDTO +items?: BundleCombinationDataItemDTO[] +minItems?: 0 +} +export interface BundleCombinationDataItemDTO { +/** + * Internal identifier of the item. + */ +id?: number +codes?: CodesDTO +productId?: number +prices?: PricesDTO +pricesWithTaxes?: PricesDTO +options?: CombinationDataOptionDTO[] +} +export interface ProductCombinationDataParam { +/** + * Parameter block for product options. The option-value pairs sent for this option must match the options selected for the product purchased. + */ +options?: BasketProductOptionParam[] +} +/** + * Parameter block to set the product options of the bundle's item. The option-value pairs sent for this option must match the options you want to set. + */ +export interface BasketProductOptionParam { +/** + * Internal identifier of the product option to be set. + */ +id: number +/** + * List of values ​​to set for the specified product option. Must contain at least one value. If the product option is not multiple it can only have one value.
Array[...]:
- value
  - Type: String
  - Required: true
  - Description: Value to set for the specified product option.
   - If product option is of type 'selector', then it must be an internal identifier of an enabled value of this product option. In case of setting an option value for a pack item, the indicated value must additionally be one of those allowed for the pack item.
   - Otherwise it must be a value according to the type of the product option.
    - Format for Boolean option: 'true','false'
    - Format for Date option: 'yyyy-mm-dd'
    - Format for Attachment option: 'data:text/plain;base64,base64OfTheFile'
- fileName
  - Type: String
  - Required: false
  - Description: Specifies a name for the attachment. Only applicable for product options of type 'Attachment' if value is provided in Base64. Only admits characters: A-Za-z (supported accents À-ÿ), 0-9, _, -, ., and spaces.
- extension
  - Type: String
  - Required: false
  - Description:Specifies the extension of the attachment. Only applicable for product options of type 'Attachment'.
  - Forbidden extensions: 'ade', 'adp', 'apk', 'appx', 'appxbundle', 'bat', 'cab', 'chm', 'cmd', 'com', 'cpl', 'dll', 'dmg', 'ex', 'ex_', 'exe', 'hta', 'ins', 'isp', 'iso', 'jar', 'js', 'jse', 'lib', 'lnk', 'mde', 'msc', 'msi', 'msix', 'msixbundle', 'msp', 'mst', 'nsh', 'pif', 'ps1', 'scr', 'sct', 'shb', 'sys', 'vb', 'vbe', 'vbs', 'vxd', 'wsc', 'wsf', 'wsh' + */ +values: { + +} +} +export interface LinkedCollectionDTO { +/** + * Items returned by the resource. + */ +items?: LinkedDTO[] +minItems?: 0 +} +/** + * Items returned by the resource. + */ +export interface LinkedDTO { +/** + * Internal identifier of the linked items section. + */ +sectionId?: number +/** + * Name of the linked items section. + */ +name?: string +/** + * Image path of the linked items section. + */ +image?: string +/** + * Type of relationship system. + */ +type?: ("RELATED" | "EXTERNAL" | "LINKED") +/** + * Position of the linked items section. + */ +position?: number +/** + * Price variation of the linked items section. + */ +percentVariation?: number +/** + * Units limitation of the linked items section. + */ +unitsLimitation?: ("GLOBAL" | "BY_PRODUCT") +/** + * Information about products linked to this product. + */ +products?: ProductDTO[] +} +export interface ProductCollectionDTO { +pagination?: PaginationDTOProductDTO +filter?: FilterDTO +/** + * Items returned by the resource. + */ +items?: ProductDTO[] +minItems?: 0 +} +export interface FilterDTO { +options?: FilterOptionDTO[] +customTags?: FilterCustomTagDTO[] +customTagGroups?: FilterCustomTagGroupsDTO[] +prices?: FilterPricesDTO +brands?: FilterBasicDTO[] +categories?: FilterCategoryDTO[] +} +export interface FilterOptionDTO { +name?: string +filterName?: string +values?: FilterOptionValueDTO[] +type?: ("BOOLEAN" | "SHORT_TEXT" | "SINGLE_SELECTION" | "MULTIPLE_SELECTION" | "SINGLE_SELECTION_IMAGE" | "MULTIPLE_SELECTION_IMAGE" | "SELECTOR" | "DATE" | "LONG_TEXT" | "ATTACHMENT") +} +export interface FilterOptionValueDTO { +value?: string +priority?: number +} +export interface FilterCustomTagDTO { +id?: number +name?: string +priority?: number +values?: string[] +controlType?: ("BOOLEAN" | "NUMBER" | "SHORT_TEXT" | "DATE" | "SELECTOR" | "IMAGE" | "LONG_TEXT" | "ATTACHMENT") +position?: number +groupPosition?: number +minValue?: string +maxValue?: string +filterValues?: string[] +} +export interface FilterCustomTagGroupsDTO { +id?: number +name?: string +priority?: number +position?: number +customTags?: number[] +} +export interface FilterPricesDTO { +min?: number +max?: number +} +export interface FilterBasicDTO { +id?: number +name?: string +priority?: number +} +export interface FilterCategoryDTO { +id?: number +name?: string +priority?: number +parentId?: number +} +export interface ProductRichSnippetDTO { +/** + * Item name for the returned language. + */ +name?: string +/** + * Item description for the returned language. + */ +description?: string +/** + * Set of product image paths. + */ +images?: string[] +/** + * Brand of the product. + */ +brand?: string +/** + * Item reference code. + */ +sku?: string +/** + * 8-digit GTIN / EAN (European Article Number) code. + */ +gtin8?: string +/** + * GTIN / EAN (European Article Number) code. + */ +gtin13?: string +/** + * 14-digit GTIN / EAN (European Article Number) code. + */ +gtin14?: string +/** + * Manufacturer part number + */ +mpn?: string +/** + * International Standard Book Number (ISBN) code used for global identification of editorial publications. + */ +isbn?: string +offers?: OfferDTO +aggregateRating?: AggregateRatingDTO +/** + * Information on product reviews. + */ +review?: ReviewDTO[] +/** + * Context '@context' of the item (https://schema.org). + */ +context?: string +/** + * Type '@type' of the item. + */ +type?: string +} +/** + * Pricing information. + */ +export interface OfferDTO { +/** + * URL to the product page. + */ +url?: string +/** + * Price valid until the date specified. + */ +priceValidUntil?: string +/** + * Price of the product. + */ +price?: number +/** + * Currency code in ISO 4217 format. + */ +priceCurrency?: string +/** + * Item availability. Possible values: InStock, PreOrder, OutOfStock. + */ +availability?: string +/** + * Context '@context' of the item (https://schema.org). + */ +context?: string +/** + * Type '@type' of the item. + */ +type?: string +} +/** + * Information on product reviews. + */ +export interface ReviewDTO { +author?: PersonDTO +/** + * Name of the product you commented on for the returned language. + */ +name?: string +/** + * Comment text. + */ +description?: string +/** + * Date of publication of the comment. + */ +datePublished?: string +reviewRating?: RatingDTO +/** + * Context '@context' of the item (https://schema.org). + */ +context?: string +/** + * Type '@type' of the item. + */ +type?: string +} +/** + * Information about the author. + */ +export interface PersonDTO { +/** + * Author's name. + */ +name?: string +/** + * Context '@context' of the item (https://schema.org). + */ +context?: string +/** + * Type '@type' of the item. + */ +type?: string +} +/** + * Ratings information. + */ +export interface RatingDTO { +/** + * Number indicating the worst rating. The default value is 0. + */ +worstRating?: number +/** + * Number indicating the best grade. The predetermined value is 5. + */ +bestRating?: number +/** + * Average value of the grades received. + */ +ratingValue?: number +/** + * Context '@context' of the item (https://schema.org). + */ +context?: string +/** + * Type '@type' of the item. + */ +type?: string +} +export interface ProductQueryParam { +/** + * Name of the user sending the inquiry. + */ +name?: string +/** + * Email address of the user sending the inquiry. + */ +email: string +/** + * Telephone number of the user sending the inquiry. + */ +phone?: string +/** + * Comment to add to the message. + */ +comment?: string +} +export interface StockSubscriptionParam { +email?: string +} +export interface RecommendBodyExtended { +/** + * Name of the user sending the recommendation. + */ +name: string +/** + * Email address of the user sending the recommendation. + */ +email: string +/** + * Name of the recipient of the recommendation. + */ +toName: string +/** + * Email address of the recipient of the recommendation. + */ +toEmail: string +/** + * Comment to add to the communication. + */ +comment: string +/** + * Parameter block with the information about each item to be recommended. + */ +items?: ListRowRecommendReferenceBody[] +/** + * Internal identifier of a purchase list of the logged user. Use this parameter if you want to contextualize the recommendation from a shopping list sending the 'Shopping List Recommend' email template instead of the 'Recommend' email template. + */ +shoppingListId?: number +/** + * Specifies the criteria to be considered for the value of the combinable options of those items with no specified value for all its mandatory options of type selector.
NONE: no option value is considered.

PRIORITY: the considered values are those with highest priority.

CHEAPEST: the considered values are those that implies a cheapest price.
+ */ +optionsPriceMode?: ("NONE" | "PRIORITY" | "CHEAPEST") +minItems?: 0 +} +/** + * Parameter block with the information about each item to be recommended. + */ +export interface ListRowRecommendReferenceBody { +/** + * Specifies the item type. + */ +type: "Enum(PRODUCT,BUNDLE)" +/** + * Specifies the internal identifier of the referenced item. + */ +id: number +/** + * Parameter block to set the required product options. The 'option-value' pairs sent for this parameter must match the options you want to set for the product. If you indicate value for all the options of the product that are mandatory and of type selector, the product will be recommended with all the indicated options of type selector. Only applicable for Products. + */ +productOptions?: BasketProductOptionParam[] +/** + * Parameter block to set the required options of the bundle's items. For each pack's item you want to set options, you need to specify the identifier of the pack's item and as many 'option-value' pairs as options you want to set for that item of the pack. If for each product of the bundle you indicate value for all its options that are mandatory and of type selector, the bundle will be recommended with all the indicated options of type selector. Only applicable for Bundles. + */ +bundleOptions?: BasketBundleOptionParam[] +} +/** + * Parameter block to set the required options of the bundle's items. For each pack's item you want to set options, you need to specify the identifier of the pack's item and as many 'option-value' pairs as options you want to set for that item of the pack. If an empty array is specified then it will be left with no options set. Only applicable for Bundle references. + */ +export interface BasketBundleOptionParam { +/** + * Internal identifier of the bundle's item to be set with options. + */ +id: number +/** + * Parameter block to set the product options of the bundle's item. The option-value pairs sent for this option must match the options you want to set. + */ +options: BasketProductOptionParam[] +} +export interface RouteDTO { +/** + * Presentation layer resource type. + */ +type?: ("PREHOME" | "HOME" | "PRIVACY_POLICY" | "CONTACT" | "TERMS_OF_USE" | "NOT_FOUND" | "FEED" | "SITEMAP" | "SEARCH" | "AREA" | "BRANDS" | "BRAND" | "CATEGORY" | "NEWS_LIST" | "NEWS" | "PAGE" | "POLL" | "DISCOUNT" | "DISCOUNTS" | "PRODUCT_COMPARISON" | "PRODUCT" | "FEATURED_PRODUCTS" | "OFFERS" | "SUBSCRIPTION_VERIFY" | "SUBSCRIPTION_UNSUBSCRIBE" | "BLOG_HOME" | "BLOG_TAG_CLOUD" | "BLOG_TAG" | "BLOG_ARCHIVE" | "BLOG_POST" | "BLOG_BLOGGERS" | "BLOG_BLOGGER" | "BLOG_CATEGORY" | "BLOG_UNSUBSCRIBE" | "BLOG_CATEGORY_UNSUBSCRIBE" | "BLOG_POST_UNSUBSCRIBE" | "BLOG_RSS" | "BASKET" | "BASKET_RECOVERY" | "EXPRESS_CHECKOUT_RETURN" | "EXPRESS_CHECKOUT_CANCEL" | "ORDER" | "CHECKOUT" | "CHECKOUT_ASYNC_ORDER" | "CHECKOUT_BASKET" | "CHECKOUT_CONFIRM_ORDER" | "CHECKOUT_CREATE_ACCOUNT" | "CHECKOUT_CUSTOMER" | "CHECKOUT_CUSTOMER_NEW_REGISTER" | "CHECKOUT_DENIED_ORDER" | "CHECKOUT_END_ORDER" | "CHECKOUT_GUEST" | "CHECKOUT_PAYMENT_AND_SHIPPING" | "PHYSICAL_LOCATION" | "PHYSICAL_LOCATION_CITIES" | "PHYSICAL_LOCATION_COUNTRIES" | "PHYSICAL_LOCATION_MAP" | "PHYSICAL_LOCATION_STATES" | "PHYSICAL_LOCATION_STORES" | "USER" | "USER_ADDRESS_BOOK" | "USER_ADDRESS_BOOK_ADD" | "USER_ADDRESS_BOOK_EDIT" | "USER_CHANGE_PASSWORD" | "CHANGE_PASSWORD_ANONYMOUS" | "USER_COMPLETE_ACCOUNT" | "USER_CREATE_ACCOUNT" | "USER_DELETE_ACCOUNT" | "USER_DELETE_NEWSLETTER" | "USER_VOUCHER_CODES" | "USER_LOST_PASSWORD" | "USER_OAUTH" | "USER_OAUTH_CALLBACK" | "USER_OAUTH_CALLBACK_PATH" | "USER_ORDERS" | "USER_ORDER" | "USER_PAYMENT_CARDS" | "USER_POLICIES" | "USER_RECOMMENDED_BASKETS" | "USER_SPONSORSHIP" | "USER_STOCK_ALERTS" | "USER_SUBSCRIPTIONS" | "USER_USER_WELCOME" | "USER_VERIFY_ACCOUNT" | "USER_WISHLIST" | "USER_SALES_AGENT" | "USER_RMAS" | "USER_SALES_AGENT_SALES" | "USER_SALES_AGENT_CUSTOMERS" | "USER_REWARD_POINTS" | "USER_SHOPPING_LISTS" | "ANY") +/** + * Response code. Possible values:
200: Correct resource.
301: Indicates that a redirect should be carried out.
403: Resource not permitted.
404: Resource not found.
400: Bad request. + */ +status?: number +/** + * Language code of the resource in ISO 639-1 format. + */ +language?: string +/** + * Navigation currency code in ISO 4217 format. + */ +currency?: string +/** + * Country code in ISO 3166-2 format. + */ +country?: string +/** + * Internal identifier of the resource type. It will be 0 if the resource type is not a content item or is not an item recoverable through an API resource. + */ +id?: number +/** + * Path of the presentation layer resource to be redirected to. Only if status has the value 301. + */ +redirectUrl?: string +/** + * Canonical URL, which defines the main version of the presentation layer resource to avoid duplicates. + */ +canonical?: string +/** + * Initial part of the URL ( host / countryCode (if required) / languageCode (if required) ). + */ +urlPrefix?: string +theme?: ThemeDTO +/** + * Information about the languages available to the presentation layer resource. + */ +availableLanguages?: LanguageRouteDTO[] +warning?: RouteWarningDTO +/** + * GeoIP notice text to display in STRICT_INFORMATIVE and INFORMATIVE modes. + */ +warningGeoIp?: string +/** + * Information about the items of the breadcrumb. + */ +breadcrumb?: BreadcrumbDTO[] +breadcrumbRichSnippet?: BreadcrumbRichSnippetDTO +cacheControl?: CacheControl +metadata?: MetadataDTO +/** + * Information about alternate versions of the resource. + */ +alternates?: AlternateDTO[] +} +/** + * Information about the view and layout of the item. + */ +export interface ThemeDTO { +/** + * Topic name. + */ +name?: string +/** + * Channel applied. + */ +channel?: string +/** + * Specifies the structure or layout of the HTML page to be displayed. + */ +layout?: string +/** + * Specifies the template of the HTML page to be displayed. + */ +content?: string +} +/** + * Information about the languages available to the presentation layer resource. + */ +export interface LanguageRouteDTO { +id?: number +/** + * International standard alphabetic code ISO 639-1 of the language. + */ +code?: string +/** + * Language name. + */ +name?: string +/** + * URL of the item. + */ +url?: string +} +/** + * Information about redirect warnings. Only if the domain is linked to a country, the mode of the domain by country is INFORMATIVE and the domain you want to access does not correspond to the country of origin of the request. + */ +export interface RouteWarningDTO { +/** + * The path of the presentation layer resource, according to the country of origin of the request, to which it is suggested to redirect to. + */ +url?: string +/** + * Destination language code of the resource in ISO 639-1 format. + */ +language?: string +/** + * Destination country code in ISO 3166-2 format. + */ +country?: string +} +/** + * Information about the items of the breadcrumb. + */ +export interface BreadcrumbDTO { +/** + * Presentation layer resource type. + */ +itemType?: ("PREHOME" | "HOME" | "PRIVACY_POLICY" | "CONTACT" | "TERMS_OF_USE" | "NOT_FOUND" | "FEED" | "SITEMAP" | "SEARCH" | "AREA" | "BRANDS" | "BRAND" | "CATEGORY" | "NEWS_LIST" | "NEWS" | "PAGE" | "POLL" | "DISCOUNT" | "DISCOUNTS" | "PRODUCT_COMPARISON" | "PRODUCT" | "FEATURED_PRODUCTS" | "OFFERS" | "SUBSCRIPTION_VERIFY" | "SUBSCRIPTION_UNSUBSCRIBE" | "BLOG_HOME" | "BLOG_TAG_CLOUD" | "BLOG_TAG" | "BLOG_ARCHIVE" | "BLOG_POST" | "BLOG_BLOGGERS" | "BLOG_BLOGGER" | "BLOG_CATEGORY" | "BLOG_UNSUBSCRIBE" | "BLOG_CATEGORY_UNSUBSCRIBE" | "BLOG_POST_UNSUBSCRIBE" | "BLOG_RSS" | "BASKET" | "BASKET_RECOVERY" | "EXPRESS_CHECKOUT_RETURN" | "EXPRESS_CHECKOUT_CANCEL" | "ORDER" | "CHECKOUT" | "CHECKOUT_ASYNC_ORDER" | "CHECKOUT_BASKET" | "CHECKOUT_CONFIRM_ORDER" | "CHECKOUT_CREATE_ACCOUNT" | "CHECKOUT_CUSTOMER" | "CHECKOUT_CUSTOMER_NEW_REGISTER" | "CHECKOUT_DENIED_ORDER" | "CHECKOUT_END_ORDER" | "CHECKOUT_GUEST" | "CHECKOUT_PAYMENT_AND_SHIPPING" | "PHYSICAL_LOCATION" | "PHYSICAL_LOCATION_CITIES" | "PHYSICAL_LOCATION_COUNTRIES" | "PHYSICAL_LOCATION_MAP" | "PHYSICAL_LOCATION_STATES" | "PHYSICAL_LOCATION_STORES" | "USER" | "USER_ADDRESS_BOOK" | "USER_ADDRESS_BOOK_ADD" | "USER_ADDRESS_BOOK_EDIT" | "USER_CHANGE_PASSWORD" | "CHANGE_PASSWORD_ANONYMOUS" | "USER_COMPLETE_ACCOUNT" | "USER_CREATE_ACCOUNT" | "USER_DELETE_ACCOUNT" | "USER_DELETE_NEWSLETTER" | "USER_VOUCHER_CODES" | "USER_LOST_PASSWORD" | "USER_OAUTH" | "USER_OAUTH_CALLBACK" | "USER_OAUTH_CALLBACK_PATH" | "USER_ORDERS" | "USER_ORDER" | "USER_PAYMENT_CARDS" | "USER_POLICIES" | "USER_RECOMMENDED_BASKETS" | "USER_SPONSORSHIP" | "USER_STOCK_ALERTS" | "USER_SUBSCRIPTIONS" | "USER_USER_WELCOME" | "USER_VERIFY_ACCOUNT" | "USER_WISHLIST" | "USER_SALES_AGENT" | "USER_RMAS" | "USER_SALES_AGENT_SALES" | "USER_SALES_AGENT_CUSTOMERS" | "USER_REWARD_POINTS" | "USER_SHOPPING_LISTS" | "ANY") +/** + * Internal identifier of the resource type. It will be 0 if the resource type is not a content item or is not a item recoverable through an API resource. + */ +itemId?: number +/** + * URL of the item. + */ +urlSeo?: string +/** + * Name of the item in the returned language. + */ +name?: string +} +/** + * Information about rich snippets. + */ +export interface BreadcrumbRichSnippetDTO { +/** + * Information about the breadcrumb items of rich snippets. + */ +itemListElement?: ListItemDTO[] +/** + * Context '@context' of the item (https://schema.org). + */ +context?: string +/** + * Type '@type' of the item. + */ +type?: string +} +/** + * Information about the breadcrumb items of rich snippets. + */ +export interface ListItemDTO { +/** + * URL representing the path. + */ +item?: string +/** + * Title of the navigation URL displayed for the user. + */ +name?: string +/** + * URL position in breadcrumb. + */ +position?: number +/** + * Context '@context' of the item (https://schema.org). + */ +context?: string +/** + * Type '@type' of the item. + */ +type?: string +} +/** + * Information about the cache system. + */ +export interface CacheControl { +/** + * The time to live of the cached item. + */ +ttl?: number +} +/** + * Metadata information. + */ +export interface MetadataDTO { +/** + * Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow. + */ +linkFollowing?: boolean +/** + * Specifies whether it is indexable. + */ +indexable?: boolean +language?: MetadataLanguageDTO +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface MetadataLanguageDTO { +/** + * Element keywords for the returned language. + */ +keywords?: string +/** + * Element window title for the returned language. + */ +particularTitle?: string +/** + * Content of the description metatag for the returned language. + */ +metaDescription?: string +} +/** + * Information about alternate versions of the resource. + */ +export interface AlternateDTO { +href?: string +hreflang?: string +} +export interface TrackerCollectionDTO { +pagination?: PaginationDTOTrackerDTO +/** + * Items returned by the resource. + */ +items?: TrackerDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOTrackerDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface TrackerDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Tracking type. + */ +type?: ("DEFAULT" | "PLUGIN") +/** + * Information about scripts linked to tracking. + */ +scripts?: TrackerScriptDTO[] +} +/** + * Information about scripts linked to tracking. + */ +export interface TrackerScriptDTO { +/** + * Specifies the type of device where the asset should appear. + */ +ambience?: ("ALL" | "DESKTOP" | "MOBILE") +/** + * Specifies the position within the HTML structure of the page where the asset is placed. + */ +position?: ("HEAD_TOP" | "HEAD_BOTTOM" | "BODY_TOP" | "BODY_BOTTOM" | "ALL") +/** + * Tracking script code. + */ +code?: string +/** + * Script inclusion format. + */ +type?: ("CODE" | "IFRAME") +} +export interface AttachmentDTO { +/** + * Data contained in the attachment formated as : data:text/plain;base64,base64OfTheFile. + */ +value?: string +/** + * Name of the attachment. + */ +fileName?: string +/** + * Extension of the attachment. + */ +extension?: string +} +export interface AddBasketBundleParam { +quantity: number +items?: BasketBundleItemParam[] +/** + * Internal identifier of the product. + */ +id: number +/** + * Internal identifier of the shopping list row that has motivated this action. Useful parameter if you want to offer the 'KeepPurchasedItems' functionality of the shopping lists. + */ +fromShoppingListRow?: number +minItems?: 0 +} +export interface BasketBundleItemParam { +/** + * Parameter block for product options. The option-value pairs sent for this option must match the options selected for the product purchased. + */ +options?: BasketProductOptionParam[] +/** + * BundleGroupingItem identifier. + */ +id: number +fromShoppingListRow?: number +} +export interface BasketDTO { +/** + * Unique cart identifier. + */ +token?: string +/** + * Cart creation date. + */ +createdAt?: string +/** + * Cart last update date. + */ +updatedAt?: string +items?: BasketRowDTO[] +delivery?: BasketDeliveryDTO +paymentSystem?: BasketPaymentSystemDTO +basketUser?: BasketUserDTO +rewardPoints?: BasketRewardPointsDTO[] +/** + * Information about the taxes applied in the cart. + */ +taxes?: BasketTaxDTO[] +totals?: BasketTotalDTO +appliedDiscounts?: AppliedDiscountDTO[] +/** + * Information about cart alerts. + */ +basketWarnings?: BasketWarningDTO[] +/** + * Comment text. + */ +comment?: string +/** + * Information about custom tags of cart + */ +customTagValues?: BasketCustomTagValueDTO[] +/** + * Information about locked stock timers of the cart. + */ +lockedStockTimers?: LockedStockTimerDTO[] +expressCheckout?: BasketExpressCheckoutDTO +vouchers?: VoucherGroupDTO +minItems?: 0 +} +/** + * Price information. + */ +export interface BasketRowPricesDTO { +/** + * Unit price of the item. + */ +unitPrice?: number +/** + * Base price of the product in the event that it has an offer price. The price is per unit, without taxes included and without discounts applied. + */ +unitPreviousPrice?: number +/** + * Total amount, without taxes included and without discounts applied, of the detail line. + */ +price?: number +/** + * Total amount prior to the offer, without taxes included and without discounts applied, from the detail line. If the product is not on offer price and previousPrice will be the same. + */ +previousPrice?: number +/** + * Total amount due to discounts applied to the detail line. + */ +totalDiscounts?: number +} +export interface AppliedDiscountAmountCombinationDTO { +discountId?: number +name?: string +description?: string +valueWithTaxes?: number +value?: number +amountType?: ("ABSOLUTE" | "PERCENTAGE") +discountValue?: number +quantity?: number +type?: ("AMOUNT" | "GIFT" | "UNIT" | "SELECTABLE_GIFT" | "MXN" | "PERCENT_N_UNIT" | "REWARD_POINTS" | "AMOUNT_COMBINATION") +} +export interface AppliedDiscountAmountDTO { +discountId?: number +name?: string +description?: string +valueWithTaxes?: number +value?: number +amountType?: ("ABSOLUTE" | "PERCENTAGE") +discountValue?: number +type?: ("AMOUNT" | "GIFT" | "UNIT" | "SELECTABLE_GIFT" | "MXN" | "PERCENT_N_UNIT" | "REWARD_POINTS" | "AMOUNT_COMBINATION") +} +export interface AppliedDiscountGiftDTO { +discountId?: number +name?: string +description?: string +valueWithTaxes?: number +/** + * @deprecated + */ +items?: BasketRowDTO[] +discountValue?: number +value?: number +type?: ("AMOUNT" | "GIFT" | "UNIT" | "SELECTABLE_GIFT" | "MXN" | "PERCENT_N_UNIT" | "REWARD_POINTS" | "AMOUNT_COMBINATION") +basketGiftIdList?: string[] +minItems?: 0 +} +export interface AppliedDiscountMxNDTO { +discountId?: number +name?: string +description?: string +valueWithTaxes?: number +value?: number +quantity?: number +discountValue?: number +type?: ("AMOUNT" | "GIFT" | "UNIT" | "SELECTABLE_GIFT" | "MXN" | "PERCENT_N_UNIT" | "REWARD_POINTS" | "AMOUNT_COMBINATION") +} +export interface AppliedDiscountSelectableGiftDTO { +discountId?: number +name?: string +description?: string +valueWithTaxes?: number +calculationMode?: ("FIXED_MAX_UNITS" | "PERCENTAGE_PURCHASED_UNITS" | "FIXED_AMOUNT" | "PERCENTAGE_OVER_TOTAL") +maxGiftUnitsRemaining?: number +/** + * @deprecated + */ +items?: BasketRowDTO[] +discountValue?: number +value?: number +type?: ("AMOUNT" | "GIFT" | "UNIT" | "SELECTABLE_GIFT" | "MXN" | "PERCENT_N_UNIT" | "REWARD_POINTS" | "AMOUNT_COMBINATION") +basketGiftIdList?: string[] +minItems?: 0 +} +export interface AppliedDiscountUnitDTO { +discountId?: number +name?: string +description?: string +valueWithTaxes?: number +value?: number +quantity?: number +discountValue?: number +type?: ("AMOUNT" | "GIFT" | "UNIT" | "SELECTABLE_GIFT" | "MXN" | "PERCENT_N_UNIT" | "REWARD_POINTS" | "AMOUNT_COMBINATION") +} +export interface AppliedDiscountPercentNUnitDTO { +discountId?: number +name?: string +description?: string +valueWithTaxes?: number +value?: number +discountValue?: number +type?: ("AMOUNT" | "GIFT" | "UNIT" | "SELECTABLE_GIFT" | "MXN" | "PERCENT_N_UNIT" | "REWARD_POINTS" | "AMOUNT_COMBINATION") +} +export interface AppliedDiscountRewardPointsDTO { +discountId?: number +name?: string +description?: string +valueWithTaxes?: number +value?: number +discountValue?: number +type?: ("AMOUNT" | "GIFT" | "UNIT" | "SELECTABLE_GIFT" | "MXN" | "PERCENT_N_UNIT" | "REWARD_POINTS" | "AMOUNT_COMBINATION") +} +export interface PluginAppliedTaxDTO { +/** + * Base of the tax applied. + */ +base?: number +/** + * Amount derived from applying the tax. + */ +taxValue?: number +/** + * Specifies whether the tax is applied. + */ +applyTax?: boolean +/** + * Specifies whether a sales equalization tax is included in the tax applied. + */ +applyRE?: boolean +tax?: PluginItemTaxDTO +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} +export interface LogiCommerceAppliedTaxDTO { +/** + * Base of the tax applied. + */ +base?: number +/** + * Amount derived from applying the tax. + */ +taxValue?: number +/** + * Specifies whether the tax is applied. + */ +applyTax?: boolean +/** + * Specifies whether a sales equalization tax is included in the tax applied. + */ +applyRE?: boolean +tax?: LogiCommerceTaxDTO +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} +/** + * Information about cart alerts. + */ +export interface BasketWarningDTO { +/** + * Specifies the cart alert code. + */ +code?: ("NOT_AVAILABLE_PRODUCT" | "INVALID_PRICE" | "MIN_ORDER_QUANTITY" | "MAX_ORDER_QUANTITY" | "MULTIPLE_ORDER_OVER_QUANTITY" | "MULTIPLE_ORDER_QUANTITY" | "STOCK_RESTRICTION" | "BACKORDER" | "BACKORDER_PREVISION" | "EMPTY_PRODUCTS" | "STOCK_PREVISION" | "WAREHOUSE_OFFSET" | "ON_REQUEST_PRODUCT" | "INVALID_OPTIONS" | "NEEDS_PAYMENTSYSTEM" | "NEEDS_DELIVERY" | "INVALID_BILLING_ADDRESS" | "INVALID_SHIPPING_ADDRESS" | "USER_NOT_ACTIVED" | "USER_NOT_VERIFIED" | "LOCKED_STOCK_RESTRICTION") +/** + * Specifies the criticality of the cart alert. + */ +severity?: ("WARNING" | "INFO" | "ERROR") +/** + * List of cart detail line hash codes. + */ +hashes?: string[] +/** + * Attributes related to the alert. + */ +attributes?: BasketWarningAttributeDTO[] +} +/** + * Attributes related to the alert. + */ +export interface BasketWarningAttributeDTO { +key?: string +value?: { + +} +type?: ("INTEGER" | "STRING" | "LOCAL_DATE" | "LIST" | "LOCAL_DATE_TIME") +} +export interface BasketProductDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * The hash code of the item. + */ +hash?: string +/** + * Internal name of the item. + */ +name?: string +/** + * Number of units of the item. + */ +quantity?: number +prices?: BasketRowPricesDTO +pricesWithTaxes?: BasketRowPricesDTO +/** + * Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established. + */ +weight?: number +/** + * Total amount, without taxes included and with discounts applied, of the detail line. + */ +subtotal?: number +/** + * Total amount, including taxes and discounts applied, of the detail line. + */ +total?: number +appliedTaxes?: AppliedTaxDTO[] +basketWarnings?: BasketWarningDTO[] +/** + * URL of the item. + */ +urlSeo?: string +images?: MediaDTO +codes?: ProductCodesDTO +combination?: CombinationDTO +options?: BasketProductOptionDTO[] +/** + * Information about custom tags + */ +customTagValues?: BasketCustomTagValueDTO[] +/** + * Brand name. + */ +brandName?: string +/** + * Element type. + */ +type?: ("PRODUCT" | "GIFT" | "BUNDLE" | "BUNDLE_ITEM" | "LINKED" | "SELECTABLE_GIFT") +} +export interface BooleanOptionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +name?: string +required?: boolean +combinable?: boolean +value?: boolean +type?: ("BOOLEAN" | "SHORT_TEXT" | "SINGLE_SELECTION" | "MULTIPLE_SELECTION" | "SINGLE_SELECTION_IMAGE" | "MULTIPLE_SELECTION_IMAGE" | "SELECTOR" | "DATE" | "LONG_TEXT" | "ATTACHMENT") +} +export interface AttachmentOptionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +name?: string +required?: boolean +combinable?: boolean +value?: string +values?: string[] +type?: ("BOOLEAN" | "SHORT_TEXT" | "SINGLE_SELECTION" | "MULTIPLE_SELECTION" | "SINGLE_SELECTION_IMAGE" | "MULTIPLE_SELECTION_IMAGE" | "SELECTOR" | "DATE" | "LONG_TEXT" | "ATTACHMENT") +} +export interface DateOptionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +name?: string +required?: boolean +combinable?: boolean +value?: string +type?: ("BOOLEAN" | "SHORT_TEXT" | "SINGLE_SELECTION" | "MULTIPLE_SELECTION" | "SINGLE_SELECTION_IMAGE" | "MULTIPLE_SELECTION_IMAGE" | "SELECTOR" | "DATE" | "LONG_TEXT" | "ATTACHMENT") +} +export interface LongTextOptionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +name?: string +required?: boolean +combinable?: boolean +value?: string +type?: ("BOOLEAN" | "SHORT_TEXT" | "SINGLE_SELECTION" | "MULTIPLE_SELECTION" | "SINGLE_SELECTION_IMAGE" | "MULTIPLE_SELECTION_IMAGE" | "SELECTOR" | "DATE" | "LONG_TEXT" | "ATTACHMENT") +} +export interface MultipleSelectionImageOptionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +name?: string +required?: boolean +combinable?: boolean +valueList?: ImageOptionValueDTO[] +type?: ("BOOLEAN" | "SHORT_TEXT" | "SINGLE_SELECTION" | "MULTIPLE_SELECTION" | "SINGLE_SELECTION_IMAGE" | "MULTIPLE_SELECTION_IMAGE" | "SELECTOR" | "DATE" | "LONG_TEXT" | "ATTACHMENT") +} +export interface ImageOptionValueDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +priority?: number +basePrice?: number +retailPrice?: number +previousPrice?: number +price?: number +weight?: number +noReturn?: boolean +value?: string +shortDescription?: string +longDescription?: string +images?: MediaDTO +} +export interface MultipleSelectionOptionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +name?: string +required?: boolean +combinable?: boolean +valueList?: BasketProductOptionValueDTO[] +type?: ("BOOLEAN" | "SHORT_TEXT" | "SINGLE_SELECTION" | "MULTIPLE_SELECTION" | "SINGLE_SELECTION_IMAGE" | "MULTIPLE_SELECTION_IMAGE" | "SELECTOR" | "DATE" | "LONG_TEXT" | "ATTACHMENT") +} +export interface BasketProductOptionValueDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +priority?: number +basePrice?: number +retailPrice?: number +previousPrice?: number +price?: number +weight?: number +noReturn?: boolean +value?: string +shortDescription?: string +longDescription?: string +} +export interface SelectorOptionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +name?: string +required?: boolean +combinable?: boolean +value?: BasketProductOptionValueDTO +type?: ("BOOLEAN" | "SHORT_TEXT" | "SINGLE_SELECTION" | "MULTIPLE_SELECTION" | "SINGLE_SELECTION_IMAGE" | "MULTIPLE_SELECTION_IMAGE" | "SELECTOR" | "DATE" | "LONG_TEXT" | "ATTACHMENT") +} +export interface ShortTextOptionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +name?: string +required?: boolean +combinable?: boolean +value?: string +type?: ("BOOLEAN" | "SHORT_TEXT" | "SINGLE_SELECTION" | "MULTIPLE_SELECTION" | "SINGLE_SELECTION_IMAGE" | "MULTIPLE_SELECTION_IMAGE" | "SELECTOR" | "DATE" | "LONG_TEXT" | "ATTACHMENT") +} +export interface SingleSelectionImageOptionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +name?: string +required?: boolean +combinable?: boolean +value?: ImageOptionValueDTO +type?: ("BOOLEAN" | "SHORT_TEXT" | "SINGLE_SELECTION" | "MULTIPLE_SELECTION" | "SINGLE_SELECTION_IMAGE" | "MULTIPLE_SELECTION_IMAGE" | "SELECTOR" | "DATE" | "LONG_TEXT" | "ATTACHMENT") +} +export interface SingleSelectionOptionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +name?: string +required?: boolean +combinable?: boolean +value?: BasketProductOptionValueDTO +type?: ("BOOLEAN" | "SHORT_TEXT" | "SINGLE_SELECTION" | "MULTIPLE_SELECTION" | "SINGLE_SELECTION_IMAGE" | "MULTIPLE_SELECTION_IMAGE" | "SELECTOR" | "DATE" | "LONG_TEXT" | "ATTACHMENT") +} +/** + * Information about custom tags of cart + */ +export interface BasketCustomTagValueDTO { +/** + * Internal identifier of the custom tag. + */ +customTagId?: number +/** + * Public identifier of the custom tag. + */ +customTagPId?: string +/** + * Custom tag type. + */ +controlType?: ("BOOLEAN" | "NUMBER" | "SHORT_TEXT" | "DATE" | "SELECTOR" | "IMAGE" | "LONG_TEXT" | "ATTACHMENT") +/** + * An integer that symbolizes the location of this item. + */ +position?: number +/** + * Specifies whether the custom tag is included in the documents export to an external system (ERP). + */ +inOrders?: boolean +/** + * Public identifier of the selected value. Only if it is of type selectable . + */ +valuePId?: string +/** + * Name of the custom tag for the returned language. + */ +name?: string +/** + * Value of the custom tag for the returned language. + */ +value?: string +} +export interface BasketGiftDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * The hash code of the item. + */ +hash?: string +/** + * Internal name of the item. + */ +name?: string +/** + * Number of units of the item. + */ +quantity?: number +prices?: BasketRowPricesDTO +pricesWithTaxes?: BasketRowPricesDTO +/** + * Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established. + */ +weight?: number +/** + * Total amount, without taxes included and with discounts applied, of the detail line. + */ +subtotal?: number +/** + * Total amount, including taxes and discounts applied, of the detail line. + */ +total?: number +appliedTaxes?: AppliedTaxDTO[] +basketWarnings?: BasketWarningDTO[] +/** + * URL of the item. + */ +urlSeo?: string +images?: MediaDTO +codes?: ProductCodesDTO +combination?: CombinationDTO +options?: BasketProductOptionDTO[] +/** + * Information about custom tags + */ +customTagValues?: BasketCustomTagValueDTO[] +/** + * Element type. + */ +type?: ("PRODUCT" | "GIFT" | "BUNDLE" | "BUNDLE_ITEM" | "LINKED" | "SELECTABLE_GIFT") +/** + * Brand name. + */ +brandName?: string +} +export interface BasketBundleDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * The hash code of the item. + */ +hash?: string +/** + * Internal name of the item. + */ +name?: string +/** + * Number of units of the item. + */ +quantity?: number +prices?: BasketRowPricesDTO +pricesWithTaxes?: BasketRowPricesDTO +/** + * Total amount, without taxes included and with discounts applied, of the detail line. + */ +subtotal?: number +/** + * Total amount, including taxes and discounts applied, of the detail line. + */ +total?: number +items?: BasketBundleItemDTO[] +/** + * Element type. + */ +type?: ("PRODUCT" | "GIFT" | "BUNDLE" | "BUNDLE_ITEM" | "LINKED" | "SELECTABLE_GIFT") +minItems?: 0 +} +export interface BasketBundleItemDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * The hash code of the item. + */ +hash?: string +/** + * Internal name of the item. + */ +name?: string +/** + * Number of units of the item. + */ +quantity?: number +prices?: BasketRowPricesDTO +pricesWithTaxes?: BasketRowPricesDTO +/** + * Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established. + */ +weight?: number +/** + * Total amount, without taxes included and with discounts applied, of the detail line. + */ +subtotal?: number +/** + * Total amount, including taxes and discounts applied, of the detail line. + */ +total?: number +appliedTaxes?: AppliedTaxDTO[] +basketWarnings?: BasketWarningDTO[] +/** + * URL of the item. + */ +urlSeo?: string +images?: MediaDTO +codes?: ProductCodesDTO +combination?: CombinationDTO +options?: BasketProductOptionDTO[] +/** + * Information about custom tags + */ +customTagValues?: BasketCustomTagValueDTO[] +bundleItemId?: number +/** + * Element type. + */ +type?: ("PRODUCT" | "GIFT" | "BUNDLE" | "BUNDLE_ITEM" | "LINKED" | "SELECTABLE_GIFT") +/** + * Brand name. + */ +brandName?: string +} +export interface BackBasketBundleDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * The hash code of the item. + */ +hash?: string +/** + * Internal name of the item. + */ +name?: string +/** + * Number of units of the item. + */ +quantity?: number +prices?: BasketRowPricesDTO +pricesWithTaxes?: BasketRowPricesDTO +/** + * Total amount, without taxes included and with discounts applied, of the detail line. + */ +subtotal?: number +/** + * Total amount, including taxes and discounts applied, of the detail line. + */ +total?: number +items?: BasketBundleItemDTO[] +pinned?: boolean +pinnedPrice?: number +documentRowId?: number +/** + * Element type. + */ +type?: ("PRODUCT" | "GIFT" | "BUNDLE" | "BUNDLE_ITEM" | "LINKED" | "SELECTABLE_GIFT") +minItems?: 0 +} +export interface BasketLinkedDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * The hash code of the item. + */ +hash?: string +/** + * Internal name of the item. + */ +name?: string +/** + * Number of units of the item. + */ +quantity?: number +prices?: BasketRowPricesDTO +pricesWithTaxes?: BasketRowPricesDTO +/** + * Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established. + */ +weight?: number +/** + * Total amount, without taxes included and with discounts applied, of the detail line. + */ +subtotal?: number +/** + * Total amount, including taxes and discounts applied, of the detail line. + */ +total?: number +appliedTaxes?: AppliedTaxDTO[] +basketWarnings?: BasketWarningDTO[] +/** + * URL of the item. + */ +urlSeo?: string +images?: MediaDTO +codes?: ProductCodesDTO +combination?: CombinationDTO +options?: BasketProductOptionDTO[] +/** + * Information about custom tags + */ +customTagValues?: BasketCustomTagValueDTO[] +/** + * Internal identifier of the linked items section. + */ +sectionId?: number +/** + * Internal identifier of the parent item. + */ +parentId?: number +/** + * Element type. + */ +type?: ("PRODUCT" | "GIFT" | "BUNDLE" | "BUNDLE_ITEM" | "LINKED" | "SELECTABLE_GIFT") +/** + * Brand name. + */ +brandName?: string +} +export interface BackBasketLinkedDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * The hash code of the item. + */ +hash?: string +/** + * Internal name of the item. + */ +name?: string +/** + * Number of units of the item. + */ +quantity?: number +prices?: BasketRowPricesDTO +pricesWithTaxes?: BasketRowPricesDTO +/** + * Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established. + */ +weight?: number +/** + * Total amount, without taxes included and with discounts applied, of the detail line. + */ +subtotal?: number +/** + * Total amount, including taxes and discounts applied, of the detail line. + */ +total?: number +appliedTaxes?: AppliedTaxDTO[] +basketWarnings?: BasketWarningDTO[] +/** + * URL of the item. + */ +urlSeo?: string +images?: MediaDTO +codes?: ProductCodesDTO +combination?: CombinationDTO +options?: BasketProductOptionDTO[] +/** + * Information about custom tags + */ +customTagValues?: BasketCustomTagValueDTO[] +/** + * Internal identifier of the linked items section. + */ +sectionId?: number +/** + * Internal identifier of the parent item. + */ +parentId?: number +pinned?: boolean +pinnedPrice?: number +documentRowId?: number +/** + * Element type. + */ +type?: ("PRODUCT" | "GIFT" | "BUNDLE" | "BUNDLE_ITEM" | "LINKED" | "SELECTABLE_GIFT") +/** + * Brand name. + */ +brandName?: string +} +/** + * Information about the cart detail lines that are part of the shipment. + */ +export interface BasketRowDataDTO { +/** + * Internal product identifier. + */ +productId?: number +/** + * Hash code of the detail line. + */ +hash?: string +/** + * Number of units of the item. + */ +quantity?: number +/** + * Specifies the total weight of the detail line. Default in kilograms, but it depends on the general configuration established. + */ +totalWeight?: number +/** + * Specifies the total price of the detail line. + */ +totalPrice?: number +/** + * Specifies whether the product included in the detail line has stock management enabled. This parameter works as long as general stock management is enabled. + */ +stockManagement?: boolean +/** + * Specifies whether the product included in the detail line needs to be manufactured on demand. This configuration allows orders that contain the product to be considered valid even if it is not in stock. + */ +onRequest?: boolean +/** + * Specifies whether the product included in the detail line has to be taken into account in the shipping cost calculations. If this feature is disabled, it means that the product does not need a carrier. + */ +shipping?: boolean +/** + * Specifies, for the product included in the detail line, whether the calculation of shipping costs is determined by weight or by units sold. + */ +shippingCalculation?: ("BY_WEIGHT" | "BY_UNITS") +/** + * Reserve work method (sell inventory without stock) for the product included in the detail line. + */ +backorder?: ("NONE" | "WITH_AND_WITHOUT_PREVISION" | "WITHOUT_PREVISION" | "WITH_PREVISION") +/** + * Specifies the number of days of preparation that the product needs if it is of type onRequest. This information is used to display an expected delivery date for these products. + */ +onRequestDays?: number +/** + * Specifies the internal identifier of the main category to which the product inicluded in the detail line belongs. + */ +mainCategory?: number +} +/** + * Information about shipping methods. + */ +export interface ShippingDTO { +type?: ShippingTypeDTO +prices?: ShippingPricesDTO +pricesWithTaxes?: ShippingPricesDTO +/** + * Information about taxes applied to the shipping method. + */ +appliedTaxes?: AppliedTaxDTO[] +appliedDiscounts?: AppliedDiscountDTO[] +hash?: string +} +/** + * Information about the price of the shipping method. + */ +export interface ShippingPricesDTO { +/** + * Unit price of the item. + */ +price?: number +} +/** + * Information about products included in the shipment. + */ +export interface ShipmentRowDTO { +basketRowData?: BasketRowDataDTO +/** + * Number of units of the item. + */ +quantity?: number +} +export interface BasketShippingDeliveryDTO { +/** + * Specifies the type of delivery. + */ +type?: ("SHIPPING" | "PICKING") +/** + * Information about products included in the delivery. + */ +deliveryRows?: { +basketRowData?: BasketRowDataDTO +/** + * Information about the alerts of the cart detail lines that are part of the delivery. + */ +basketWarnings?: { +/** + * Specifies the cart alert code. + */ +code?: ("NOT_AVAILABLE_PRODUCT" | "INVALID_PRICE" | "MIN_ORDER_QUANTITY" | "MAX_ORDER_QUANTITY" | "MULTIPLE_ORDER_OVER_QUANTITY" | "MULTIPLE_ORDER_QUANTITY" | "STOCK_RESTRICTION" | "BACKORDER" | "BACKORDER_PREVISION" | "EMPTY_PRODUCTS" | "STOCK_PREVISION" | "WAREHOUSE_OFFSET" | "ON_REQUEST_PRODUCT" | "INVALID_OPTIONS" | "NEEDS_PAYMENTSYSTEM" | "NEEDS_DELIVERY" | "INVALID_BILLING_ADDRESS" | "INVALID_SHIPPING_ADDRESS" | "USER_NOT_ACTIVED" | "USER_NOT_VERIFIED" | "LOCKED_STOCK_RESTRICTION") +/** + * Specifies the criticality of the cart alert. + */ +severity?: ("WARNING" | "INFO" | "ERROR") +/** + * List of cart detail line hash codes. + */ +hashes?: string[] +/** + * Attributes related to the alert. + */ +attributes?: BasketWarningAttributeDTO[] +} +} +/** + * Information about shipments. + */ +shipments?: { +/** + * Internal identifier of the logistic center originating the shipment. + */ +originWarehouseGroupId?: number +/** + * Specifies for the shipment whether the calculation of shipping costs is determined by weight or by units sold. + */ +shippingCalculation?: ("BY_WEIGHT" | "BY_UNITS") +destinationZone?: GeographicalZoneDTO +shipping?: ShippingDTO +/** + * Information about products included in the shipment. + */ +rows?: ShipmentRowDTO[] +hash?: string +} +multiShipment?: boolean +hash?: string +canBeShipped?: boolean +zone?: GeographicalZoneDTO +} +export interface BasketPickingDeliveryDTO { +/** + * Specifies the type of delivery. + */ +type?: ("SHIPPING" | "PICKING") +/** + * Information about products included in the delivery. + */ +deliveryRows?: { +basketRowData?: BasketRowDataDTO +/** + * Information about the alerts of the cart detail lines that are part of the delivery. + */ +basketWarnings?: { +/** + * Specifies the cart alert code. + */ +code?: ("NOT_AVAILABLE_PRODUCT" | "INVALID_PRICE" | "MIN_ORDER_QUANTITY" | "MAX_ORDER_QUANTITY" | "MULTIPLE_ORDER_OVER_QUANTITY" | "MULTIPLE_ORDER_QUANTITY" | "STOCK_RESTRICTION" | "BACKORDER" | "BACKORDER_PREVISION" | "EMPTY_PRODUCTS" | "STOCK_PREVISION" | "WAREHOUSE_OFFSET" | "ON_REQUEST_PRODUCT" | "INVALID_OPTIONS" | "NEEDS_PAYMENTSYSTEM" | "NEEDS_DELIVERY" | "INVALID_BILLING_ADDRESS" | "INVALID_SHIPPING_ADDRESS" | "USER_NOT_ACTIVED" | "USER_NOT_VERIFIED" | "LOCKED_STOCK_RESTRICTION") +/** + * Specifies the criticality of the cart alert. + */ +severity?: ("WARNING" | "INFO" | "ERROR") +/** + * List of cart detail line hash codes. + */ +hashes?: string[] +/** + * Attributes related to the alert. + */ +attributes?: BasketWarningAttributeDTO[] +} +} +/** + * Information about shipments. + */ +shipments?: { +/** + * Internal identifier of the logistic center originating the shipment. + */ +originWarehouseGroupId?: number +/** + * Specifies for the shipment whether the calculation of shipping costs is determined by weight or by units sold. + */ +shippingCalculation?: ("BY_WEIGHT" | "BY_UNITS") +destinationZone?: GeographicalZoneDTO +shipping?: ShippingDTO +/** + * Information about products included in the shipment. + */ +rows?: ShipmentRowDTO[] +hash?: string +} +multiShipment?: boolean +hash?: string +canBeShipped?: boolean +/** + * Information about the picking price. Tax not included. + */ +price?: number +/** + * Information about the picking price. Tax included. + */ +priceWithTaxes?: number +mode?: PickingDeliveryModeDTO +/** + * @deprecated + */ +physicalLocationId?: number +zone?: GeographicalZoneDTO +/** + * Information about taxes applied to the picking price. + */ +appliedTaxes?: AppliedTaxDTO[] +} +export interface PhysicalLocationPickingDeliveryDTO { +physicalLocation?: PhysicalLocationDTO +type?: ("PROVIDER_PICKUP_POINT" | "PICKUP_POINT_PHYSICAL_LOCATION") +} +export interface ProviderPickupPointPickingDeliveryDTO { +providerPickupPoint?: ProviderPickupPointDTO +/** + * Internal identifier of the pickup point provider. + */ +pickupPointProviderId?: number +type?: ("PROVIDER_PICKUP_POINT" | "PICKUP_POINT_PHYSICAL_LOCATION") +} +/** + * Information about the provider pickup point. + */ +export interface ProviderPickupPointDTO { +/** + * Identifier of the pickup point for the provider. + */ +key?: string +/** + * Name of the pickup point. + */ +name?: string +/** + * Email of the pickup point. + */ +email?: string +/** + * City of pickup point + */ +city?: string +state?: string +/** + * Zip code of the pickup point. + */ +postalCode?: string +/** + * Address of the pickup point. + */ +address?: string +/** + * Additional address information of the pickup point. + */ +addressAdditionalInformation?: string +/** + * House or building number of the pickup point. + */ +number?: string +/** + * Phone of the pickup point. + */ +phone?: string +/** + * Mobile of the pickup point. + */ +mobile?: string +location?: LocationDTO +openingTimes?: OpeningTimesDTO +/** + * Additional information on the opening hours of the pickup point. + */ +openingTimesAdditionalInformation?: string +/** + * Upcoming holiday closure periods. + */ +upcomingHolidayClosurePeriods?: ClosurePeriodDTO[] +/** + * Additional information on upcoming holiday closure periods. + */ +upcomingHolidayClosurePeriodsAdditionalInformation?: string +/** + * Distance (km) between the reference point and the pickup point, determined by the provider. + */ +distance?: number +/** + * Url of the pickup point website. + */ +url?: string +/** + * Other additional properties that the provider plugin may need. + */ +additionalData?: { +/** + * Other additional properties that the provider plugin may need. + */ +[k: string]: string +} +/** + * Hash of the pickup point. Useful for setting the selected provider pickup point. + */ +hash?: string +} +/** + * Opening hours of the pickup point. + */ +export interface OpeningTimesDTO { +/** + * Opening times on Mondays. + */ +monday?: OpeningTimeDTO[] +/** + * Opening times on Tuesdays. + */ +tuesday?: OpeningTimeDTO[] +/** + * Opening times on Wednesdays. + */ +wednesday?: OpeningTimeDTO[] +/** + * Opening times on Thursdays. + */ +thursday?: OpeningTimeDTO[] +/** + * Opening times on Fridays. + */ +friday?: OpeningTimeDTO[] +/** + * Opening times on Saturdays. + */ +saturday?: OpeningTimeDTO[] +/** + * Opening times on Sundays. + */ +sunday?: OpeningTimeDTO[] +} +/** + * Opening times on Sundays. + */ +export interface OpeningTimeDTO { +/** + * Specifies the start time. Format ISO-8601 ('hh:mm') + */ +startTime?: string +/** + * Specifies the end time. Format ISO-8601 ('hh:mm') + */ +endTime?: string +} +/** + * Upcoming holiday closure periods. + */ +export interface ClosurePeriodDTO { +/** + * Specifies the period start date. Format ISO-8601 ('YYYY-MM-DD') + */ +startDate?: string +/** + * Specifies the period end date. Format ISO-8601 ('YYYY-MM-DD') + */ +endDate?: string +} +/** + * Information about the payment system. + */ +export interface BasketPaymentSystemDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Payment system priority. + */ +priority?: number +/** + * Path of the payment system logo image. + */ +logo?: string +/** + * Specifies the type of increase to apply. + */ +increaseType?: ("ABSOLUTE" | "PERCENTAGE") +language?: PaymentSystemLanguageDTO +/** + * Information about the taxes associated with the payment system. + */ +taxes?: ItemTaxDTO[] +/** + * Specifies the type of payment. + */ +cashOnDelivery?: boolean +/** + * Internal properties that the payment system may need. Only available for plugins . + */ +properties?: PaymentSystemPropertyDTO[] +/** + * Plugin module's name. + */ +module?: string +pluginId?: number +price?: number +appliedTaxes?: AppliedTaxDTO[] +/** + * Fixed amount or percentage to be added to the total order. + */ +increaseValue?: number +/** + * Minimum value to be added to the order total in the event that the calculation using increaseValue is less than this value. + */ +increaseMin?: number +/** + * Minimum value that the order must have for the payment system to be displayed. + */ +minOrder?: number +/** + * Maximum value that the order must have for the payment system to be displayed. + */ +maxOrder?: number +/** + * Amount that the order must reach for the increments to be applied to the payment system. + */ +increaseFrom?: number +/** + * Amount that the order must reach for the increases on the payment system to stop being applied. + */ +increaseTo?: number +required?: [] +additionalProperties?: never +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface PaymentSystemLanguageDTO { +/** + * Element name for the returned language. + */ +name?: string +/** + * Description of the item for the returned language. + */ +description?: string +/** + * Additional message from the payment system. It is usually used to print additional information that the payment system needs to show, such as an account number where to make the transfer in case of using that payment system. + */ +message?: string +} +export interface LogiCommerceItemTaxDTO { +taxId?: number +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} +/** + * Internal properties that the payment system may need. Only available for plugins . + */ +export interface PaymentSystemPropertyDTO { +name?: string +values?: { +[k: string]: string +} +selected?: boolean +} +/** + * Information about the user. + */ +export interface BasketUserDTO { +user?: UserDTO +/** + * Specifies the date and time of the last visit. + */ +lastVisit?: string +/** + * User URL of origin. + */ +referer?: string +/** + * Specifies the user's User-Agent. + */ +userAgent?: string +channel?: ChannelDTO +salesAgent?: boolean +salesAgentRegisteredUserId?: number +simulatedUser?: boolean +/** + * Specifies the hash of the user's navigation. + */ +navigationHash?: string +/** + * Specifies the type of session. It can be ANONYMOUS or REGISTERED. + */ +sessionType?: ("REGISTERED" | "ANONYMOUS") +channelId?: number +salesAgentId?: number +} +/** + * Information about the user. + */ +export interface UserDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * User email address. + */ +email?: string +/** + * Gender of the user. + */ +gender?: ("UNDEFINED" | "MALE" | "FEMALE") +/** + * Information about the user group. + */ +userGroups?: UserGroupDTO[] +/** + * Information about the user's billing address. + */ +billingAddresses?: BillingUserAddressDTO[] +/** + * Identifier of the selected billing address. + */ +selectedBillingAddressId?: number +/** + * Information about the user's shipping address. + */ +shippingAddresses?: ShippingUserAddressDTO[] +/** + * Identifier of the selected shipping address. + */ +selectedShippingAddressId?: number +/** + * Date of birth. + */ +birthday?: string +/** + * Last access of the user. + */ +lastUsed?: string +/** + * Creation date of the item. + */ +dateAdded?: string +/** + * Currency code in ISO 4217 format. + */ +currencyCode?: string +/** + * Specifies that a shipping address is used to receive an order. + */ +useShippingAddress?: boolean +/** + * Specifies that the user has been verified. + */ +verified?: boolean +/** + * Specifies that the user has been verified for commenting on the blog. + */ +blogVerified?: boolean +/** + * Specifies whether the user is enabled. + */ +active?: boolean +/** + * Specifies that the user is subscribed to a newsletter. + */ +subscribed?: boolean +/** + * User profile image path. + */ +image?: string +/** + * Specifies that the user has a provider role. + */ +supplier?: boolean +/** + * Specifies that the user has a blogger role. + */ +blogger?: boolean +/** + * Internal identifier of the parent item. + */ +parentId?: number +/** + * Information about custom user tags. + */ +customTagValues?: CustomTagValueDTO[] +salesAgent?: boolean +salesAgentId?: number +/** + * International standard alphabetic code ISO 639-1 of the language. + */ +languageCode?: string +/** + * Unique user identifier. + */ +uniqueId?: string +/** + * User aliases. + */ +nick?: string +} +/** + * Information about the user group. + */ +export interface UserGroupDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Name of the user group. + */ +name?: string +/** + * Description of the user group. + */ +description?: string +/** + * Specifies whether it is a default group. + */ +defaultGroup?: boolean +/** + * Specifies whether it is the system group. + */ +systemGroup?: boolean +} +/** + * Information about the user's billing address. + */ +export interface BillingUserAddressDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Username. + */ +firstName?: string +/** + * User last names. + */ +lastName?: string +/** + * Company name. + */ +company?: string +/** + * User address. + */ +address?: string +/** + * Additional address field. + */ +addressAdditionalInformation?: string +/** + * House or building number. + */ +number?: string +/** + * Name of the city. + */ +city?: string +/** + * Province or state. + */ +state?: string +/** + * Zip Code. + */ +postalCode?: string +/** + * Company tax identification code. + */ +vat?: string +/** + * User identity number or code. + */ +nif?: string +location?: LocationDTO +/** + * Phone. + */ +phone?: string +/** + * Mobile phone. + */ +mobile?: string +/** + * Fax. + */ +fax?: string +/** + * Type of address. + */ +type?: ("BILLING" | "SHIPPING") +/** + * Specifies that this is the default address. It is the one that is used automatically if not stated otherwise in the purchase processes. + */ +defaultAddress?: boolean +/** + * Specifies the alias of the address. + */ +alias?: string +/** + * Specifies whether taxes are applied to the user. + */ +tax?: boolean +/** + * Specifies whether the user is liable to sales equalization tax. + */ +re?: boolean +/** + * Specifies whether the user is considered a taxpayer making an investment for tax purposes. + */ +reverseChargeVat?: boolean +/** + * Specifies the type of user. + */ +userType?: ("EMPTY" | "PARTICULAR" | "BUSINESS" | "FREELANCE") +} +/** + * Information about the user's shipping address. + */ +export interface ShippingUserAddressDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Username. + */ +firstName?: string +/** + * User last names. + */ +lastName?: string +/** + * Company name. + */ +company?: string +/** + * User address. + */ +address?: string +/** + * Additional address field. + */ +addressAdditionalInformation?: string +/** + * House or building number. + */ +number?: string +/** + * Name of the city. + */ +city?: string +/** + * Province or state. + */ +state?: string +/** + * Zip Code. + */ +postalCode?: string +/** + * Company tax identification code. + */ +vat?: string +/** + * User identity number or code. + */ +nif?: string +location?: LocationDTO +/** + * Phone. + */ +phone?: string +/** + * Mobile phone. + */ +mobile?: string +/** + * Fax. + */ +fax?: string +/** + * Type of address. + */ +type?: ("BILLING" | "SHIPPING") +/** + * Specifies that this is the default address. It is the one that is used automatically if not stated otherwise in the purchase processes. + */ +defaultAddress?: boolean +/** + * Specifies the alias of the address. + */ +alias?: string +/** + * Specifies whether taxes are applied to the user. + */ +tax?: boolean +/** + * Specifies whether the user is liable to sales equalization tax. + */ +re?: boolean +/** + * Specifies whether the user is considered a taxpayer making an investment for tax purposes. + */ +reverseChargeVat?: boolean +} +/** + * Information about custom user tags. + */ +export interface CustomTagValueDTO { +/** + * Internal identifier of the custom tag. + */ +customTagId?: number +/** + * Public identifier of the custom tag. + */ +customTagPId?: string +/** + * Custom tag type. + */ +controlType?: ("BOOLEAN" | "NUMBER" | "SHORT_TEXT" | "DATE" | "SELECTOR" | "IMAGE" | "LONG_TEXT" | "ATTACHMENT") +/** + * An integer that symbolizes the location of this item. + */ +position?: number +/** + * Name of the custom tag for the returned language. + */ +name?: string +/** + * Value of the custom tag for the returned language. + */ +value?: string +} +/** + * Information about the assigned sales channel. + */ +export interface ChannelDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal name of the item. + */ +name?: string +} +export interface BasketRewardPointsDTO { +language?: NameDescriptionDTO +expirationType?: ("BY_DATE" | "BY_DAYS" | "BY_UPDATED_DAYS") +expirationDate?: string +expirationDays?: number +earned?: EarnedDTO +redeemed?: RedeemedDTO +summary?: RewardPointsSummaryDTO +type?: ("BY_DATE" | "BY_DAYS" | "BY_UPDATED_DAYS") +pId?: string +} +export interface EarnedDTO { +rules?: RewardPointsRuleDTO[] +} +export interface RedeemedDTO { +toRedeem?: number +rules?: RewardPointsRedeemedRuleDTO[] +} +export interface RewardPointsRedeemedRuleDTO { +id?: number +language?: NameDescriptionDTO +from?: number +to?: number +value?: number +redeemed?: number +} +export interface RewardPointsSummaryDTO { +totalByUnits?: number +totalByAmount?: number +totalRedeemed?: number +totalEarned?: number +} +export interface LogiCommerceBasketTaxDTO { +/** + * Tax key. + */ +key?: string +/** + * Taxable base. + */ +base?: number +/** + * Amount due to discount. + */ +discount?: number +/** + * Tax rate. + */ +taxRate?: number +/** + * Amount derived from applying the tax. + */ +taxValue?: number +/** + * Sales equalization tax. + */ +reRate?: number +/** + * Tax type. + */ +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} +export interface PluginBasketTaxDTO { +/** + * Tax key. + */ +key?: string +/** + * Taxable base. + */ +base?: number +/** + * Amount due to discount. + */ +discount?: number +/** + * Tax rate. + */ +taxRate?: number +/** + * Amount derived from applying the tax. + */ +taxValue?: number +/** + * Tax type. + */ +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} +/** + * Information on cart totals. + */ +export interface BasketTotalDTO { +/** + * Total units in cart. + */ +totalQuantity?: number +/** + * Amount due to cart detail lines before tax. + */ +subtotalRows?: number +/** + * Amount due to the detail lines of the cart with taxes applied. + */ +totalRows?: number +/** + * Full amount without tax included due to shipping methods. + */ +subtotalShippings?: number +/** + * Full amount with taxes included due to shipping methods. + */ +totalShippings?: number +/** + * Full amount without tax included due to picking prices. + */ +subtotalPicking?: number +/** + * Full amount with taxes included due to picking prices. + */ +totalPicking?: number +/** + * Total amount without taxes included due to the payment system. + */ +subtotalPaymentSystem?: number +/** + * Total amount with taxes included due to the payment system. + */ +totalPaymentSystem?: number +/** + * Sum of the previous subtotals. + */ +subtotal?: number +/** + * Total amount with tax applied. + */ +totalTaxes?: number +/** + * Total amount due to discounts applied to the total cart. + */ +totalDiscounts?: number +/** + * Total amount due to gift coupons added in cart. + */ +totalVouchers?: number +/** + * Total amount of the cart. + */ +total?: number +} +/** + * Information about locked stock timers of the cart. + */ +export interface LockedStockTimerDTO { +/** + * Internal identifier of the item. + */ +uid?: string +/** + * Specifies the LockedStockTimer type. All LockedStockTimers of a basket are always of the same type. The considered type will be the one according to the stablished setting 'BASKET_STOCK_LOCKING.lockedStockTimerType'. The two possible types are:
  • GLOBAL: Exists only one LockedStockTimer for all basket's LockedStocks.
  • PRODUCT: Exists one LockedStockTimer for each distinct product with some LockedStock in the basket.
+ */ +type?: ("GLOBAL" | "PRODUCT") +/** + * Specifies when the LockedStockTimer will expire. Format ISO-8601 ('YYYY-MM-DDThh:mm:ssZ'). + */ +expiresAt?: string +/** + * Specifies all distinct hashes of the basket product rows that have locked stock related to this locked stock timer. + */ +basketProductHashes?: string[] +} +export interface BasketExpressCheckoutDTO { +pluginAccountId?: number +customer?: BasketExpressCheckoutCustomerDTO +} +export interface BasketExpressCheckoutCustomerDTO { +email?: string +firstName?: string +lastName?: string +invoicingAddress?: SimpleAddressDTO +shippingAddress?: SimpleAddressDTO +} +export interface SimpleAddressDTO { +name?: string +address?: string +addressAdditionalInformation?: string +number?: string +city?: string +state?: string +postalCode?: string +location?: LocationDTO +phone?: string +mobile?: string +} +export interface VoucherGroupDTO { +/** + * List of promotional codes. + */ +discountCodes?: DiscountCodeDTO[] +/** + * Information about gift coupons that are applied by code. + */ +vouchers?: VoucherDTO[] +/** + * Information about gift coupons that apply directly to a user. + */ +directVouchers?: VoucherDTO[] +} +/** + * List of promotional codes. + */ +export interface DiscountCodeDTO { +/** + * Promotional discount Id. + */ +discountId?: number +/** + * Promotional discount code. + */ +code?: string +} +/** + * Items returned by the resource. + */ +export interface VoucherDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Total amount available for the gift coupon. + */ +availableBalance?: number +/** + * Promotional code. + */ +code?: string +/** + * Expiration date. + */ +expirationDate?: string +} +export interface UpdateBasketBundleParam { +quantity: number +items?: BasketBundleItemParam[] +fromShoppingListRow?: number +id?: number +minItems?: 0 +} +export interface ExpressCheckoutUrlDTO { +url?: string +} +export interface ValidateParam { +/** + * Variables necessary for verification that the payment gateway has passed via URL parameters. + */ +params?: { +/** + * Variables necessary for verification that the payment gateway has passed via URL parameters. + */ +[k: string]: string +} +/** + * Variables necessary to verify that the payment gateway has passed via the form. + */ +body?: string +} +export interface AddBasketFillProductsParam { +mode: ("ADD" | "UPDATE") +products: AddBasketProductParam[] +} +export interface AddBasketProductParam { +/** + * Parameter block for product options. The option-value pairs sent for this option must match the options selected for the product purchased. + */ +options?: BasketProductOptionParam[] +mode?: ("ADD" | "UPDATE") +/** + * Internal identifier of the product. + */ +id: number +/** + * Number of units purchased. + */ +quantity: number +/** + * Internal identifier of the shopping list row that has motivated this action. Useful parameter if you want to offer the 'KeepPurchasedItems' functionality of the shopping lists. + */ +fromShoppingListRow?: number +} +export interface ResponseAddFillProductCollectionDTO { +/** + * Information of the products that could not be added correctly. + */ +warnings?: WarningAddProductDTO[] +basket?: BasketDTO +} +/** + * Incidences of the rows added. + */ +export interface WarningAddProductDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Number of units of the item. + */ +quantity?: number +/** + * Information about the options entered. + */ +options?: WarningAddProductOptionDTO[] +} +/** + * Information about the options entered. + */ +export interface WarningAddProductOptionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Information about the option values entered. + */ +values?: { +/** + * Information about the option values entered. + */ +[k: string]: string +}[] +} +export interface ProductRowPinnedRequestBody { +price?: ProductRowPinnedPriceRequestBody +image?: ImageFileParamsWithoutFileName +} +/** + * If you want to pin the price of the indicated product row, provide this parameter with the price to be pinned. + */ +export interface ProductRowPinnedPriceRequestBody { +/** + * Price amount for the indicated currency. If the currency is not indicated, the session's navigation currency will be considered. + */ +amount: number +/** + * Currency code in which the price amount is provided, in ISO 4217 format. If not provided, the session's navigation currency will be considered. + */ +currencyCode?: string +} +/** + * If you want to pin the image of the indicated product row, provide this parameter with the image data to be pinned. + */ +export interface ImageFileParamsWithoutFileName { +/** + * Base64 representation of the file. Format example: 'data:image/png;base64,YWRmYXNmYXNkZnNh' + */ +base64Content: string +/** + * Specifies the extension of the image file.
  - Only these extensions are accepted: 'bmp', 'gif', 'heic', 'heif', 'ico', 'jpeg', 'jpg', 'png', 'svg', 'webp' + */ +extension: string +} +export interface UpdateBasketProductParam { +/** + * Parameter block for product options. The option-value pairs sent for this option must match the options selected for the product purchased. + */ +options?: BasketProductOptionParam[] +/** + * Number of units purchased. + */ +quantity?: number +fromShoppingListRow?: number +} +export interface AddCommentParam { +comment: string +} +export interface CustomTagCollectionDTO { +pagination?: PaginationDTOCustomTagDTO +/** + * Items returned by the resource. + */ +items?: CustomTagDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOCustomTagDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface CustomTagDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Custom tag type. + */ +controlType?: ("BOOLEAN" | "NUMBER" | "SHORT_TEXT" | "DATE" | "SELECTOR" | "IMAGE" | "LONG_TEXT" | "ATTACHMENT") +/** + * An integer that symbolizes the location of this item. + */ +position?: number +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +language?: CustomTagLanguageDTO +/** + * Specifies whether the item is filterable. + */ +filterable?: boolean +/** + * Specifies whether the item is included in the search criteria. + */ +searchable?: boolean +/** + * Specifies whether the item is comparable to other items of the same type. + */ +comparable?: boolean +/** + * Name of the tag to adopt in a data feed. + */ +required?: boolean +/** + * Specifies the minimum range for the value of the custom tag. + */ +minValue?: string +/** + * Specifies the maximum range for the value of the custom tag. + */ +maxValue?: string +/** + * Name of the tag to adopt in a data feed. + */ +nameOnFeed?: string +/** + * Information about the values ​​of custom tags of type selectable. + */ +selectableValues?: CustomTagSelectableValueDTO[] +defaultValue?: string +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface CustomTagLanguageDTO { +/** + * Name of the custom tag for the returned language. + */ +name?: string +} +/** + * Information about the values ​​of custom tags of type selectable. + */ +export interface CustomTagSelectableValueDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Value of the custom tag for the returned language. + */ +value?: string +} +export interface SetCustomTagParam { +/** + * Parameter block for custom tags. The tag - value pairs for that tag must match the required tags. + */ +customTags?: CustomTagParam[] +} +/** + * Parameter block for custom tags. The tag - value pairs for that tag must match the required tags. + */ +export interface CustomTagParam { +/** + * Internal identifier of the customized tag. + */ +customTagId?: number +/** + * Value for the custom tag. This field is deprecated. Use data instead. + */ +value?: string +/** + * Value for the custom tag. At least the value field must be provided.
- value
  - Type: String
  - Required: true
  - Description: Value to set for the custom tag.
  - If it is of type selector, it must be an internal identifier of an active value of this.
  - Otherwise it must be a value according to the type of option.
    - Format if it is Number type: Numeric
    - Format if it is Boolean type: 'true','false'
    - Format if it is Date type: 'yyyy-mm-dd'
    - Format if it is Attachment type: 'data:text/plain;base64,base64OfTheFile'
- fileName
  - Type: String
  - Required: false
  - Description: Specifies a name for the attachment. Must be provided in Base64. Only applicable for custom tags of type attachment.
- extension
  - Type: String
  - Required: false
  - Description: Specifies the extension of the attachment. Only applicable for custom tags of type attachment.
  - Forbidden extensions: 'ade', 'adp', 'apk', 'appx', 'appxbundle', 'bat', 'cab', 'chm', 'cmd', 'com', 'cpl', 'dll', 'dmg', 'ex', 'ex_', 'exe', 'hta', 'ins', 'isp', 'iso', 'jar', 'js', 'jse', 'lib', 'lnk', 'mde', 'msc', 'msi', 'msix', 'msixbundle', 'msp', 'mst', 'nsh', 'pif', 'ps1', 'scr', 'sct', 'shb', 'sys', 'vb', 'vbe', 'vbs', 'vxd', 'wsc', 'wsf', 'wsh'. + */ +data?: { +/** + * Value for the custom tag. At least the value field must be provided.
- value
  - Type: String
  - Required: true
  - Description: Value to set for the custom tag.
  - If it is of type selector, it must be an internal identifier of an active value of this.
  - Otherwise it must be a value according to the type of option.
    - Format if it is Number type: Numeric
    - Format if it is Boolean type: 'true','false'
    - Format if it is Date type: 'yyyy-mm-dd'
    - Format if it is Attachment type: 'data:text/plain;base64,base64OfTheFile'
- fileName
  - Type: String
  - Required: false
  - Description: Specifies a name for the attachment. Must be provided in Base64. Only applicable for custom tags of type attachment.
- extension
  - Type: String
  - Required: false
  - Description: Specifies the extension of the attachment. Only applicable for custom tags of type attachment.
  - Forbidden extensions: 'ade', 'adp', 'apk', 'appx', 'appxbundle', 'bat', 'cab', 'chm', 'cmd', 'com', 'cpl', 'dll', 'dmg', 'ex', 'ex_', 'exe', 'hta', 'ins', 'isp', 'iso', 'jar', 'js', 'jse', 'lib', 'lnk', 'mde', 'msc', 'msi', 'msix', 'msixbundle', 'msp', 'mst', 'nsh', 'pif', 'ps1', 'scr', 'sct', 'shb', 'sys', 'vb', 'vbe', 'vbs', 'vxd', 'wsc', 'wsf', 'wsh'. + */ +[k: string]: string +} +} +export interface PaymentSystemCollectionDTO { +pagination?: PaginationDTOBasketPaymentSystemDTO +/** + * Items returned by the resource. + */ +items?: BasketPaymentSystemDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOBasketPaymentSystemDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface PaymentSystemParam { +/** + * Identifier of the selected payment system. + */ +id: number +/** + * Selected property of the payment system for internal use via plugin. Required only if the payment system plugin includes defined properties. + */ +property?: string +/** + * Additional data required for the payment system plugin according to your specification. + */ +additionalData?: { +/** + * Additional data required for the payment system plugin according to your specification. + */ +[k: string]: string +} +} +export interface BasketAddressesParam { +/** + * Billing address id. + */ +billingAddressId?: number +/** + * Shipping address id. + */ +shippingAddressId?: number +/** + * Set or unset use shipping address. + */ +useShippingAddress?: boolean +} +export interface UpdateLockedStockTimer { +/** + * Quantity of minutes you want to extend the expiration time of the indicated locked stock timer.
The minimum admited value is 0.
If not provided, the value of 'lockedStockTimerDefaultExtensionMinutes' setting is taken as the default value.
The expiration time of the locked stock timer will be increased according to the inticated quantity of minutes and the 'lockedStockTimerMaxLockingMinutes' and 'lockedStockTimerStrictMaxLockingMinutes' settings:
- If 'lockedStockTimerStrictMaxLockingMinutes' is enabled then the expiration time of a locked stock timer is not extendible beyond the minutes set in 'lockedStockTimerMaxLockingMinutes' from timer initialization.
- Otherwise it is allowed to indefinitely extend the expiration time but always without accumulate more than 'lockedStockTimerMaxLockingMinutes' left to expiration. + */ +expiresAtExtendMinutes?: number +/** + * Specifies whether the update to extend the expiration time has been requested upon a user request. It is necessary to specify it in order to be able to control the 'lockedStockTimerExtendibleByUser' basketStockLocking setting. + */ +expiresAtExtendMinutesUponUserRequest?: boolean +} +export interface HashRequestBody { +hash: string +} +export interface SetRowsResponseDTO { +/** + * Incidences of the rows added. + */ +incidences?: WarningAddProductDTO[] +bundleIncidences?: WarningAddBundleDTO[] +basket?: BasketDTO +} +export interface WarningAddBundleDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Number of units of the item. + */ +quantity?: number +} +export interface ContactParam { +/** + * Name. + */ +firstName?: string +/** + * Surnames. + */ +lastName?: string +/** + * Company. + */ +company?: string +/** + * Address. + */ +address?: string +/** + * Additional address field. + */ +addressAdditionalInformation?: string +/** + * House or building number. + */ +number?: string +/** + * City. + */ +city?: string +/** + * Province or state. + */ +state?: string +/** + * Zip code. + */ +postalCode?: string +/** + * Company tax identification code. + */ +vat?: string +/** + * User identity number or code. + */ +nif?: string +location?: LocationParam +/** + * Phone. + */ +phone?: string +/** + * Mobile phone. + */ +mobile?: string +/** + * Fax. + */ +fax?: string +/** + * Email address. + */ +email?: string +/** + * Contact reason identifier. This parameter is returned through the get contact form reason resource. + */ +motiveId?: number +/** + * Comment text. + */ +comment?: string +} +/** + * Parameter block for the location. + */ +export interface LocationParam { +/** + * Country code in ISO 3166-2 format. + */ +countryCode?: string +/** + * Internal identifier of a subdivision of a country. + */ +locationId?: number +coordinate?: CoordinateParam +} +export interface CoordinateParam { +latitude?: number +longitude?: number +} +export interface MotiveDTO { +id?: number +name?: string +description?: string +} +export interface CustomFormSendDataRequestBody { +/** + * Url to send data. + */ +url: string +/** + * List of fields. + */ +fields?: FieldRequestBody[] +} +/** + * List of fields. + */ +export interface FieldRequestBody { +name?: string +value?: string +} +export interface CustomFormSendMailRequestBody { +/** + * Internal identifier of mail account. + */ +mailAccountPId: string +/** + * Mail main recipient. + */ +to: string +/** + * Mail carbon copy recipients. + */ +cc?: string[] +/** + * Mail blind carbon copy recipients. + */ +bcc?: string[] +/** + * Mail subject. + */ +subject: string +/** + * Mail body. + */ +body: string +/** + * List of attached files. + */ +attachments?: AttachmentRequestBody[] +} +/** + * List of attached files. + */ +export interface AttachmentRequestBody { +/** + * File name. + */ +fileName?: string +/** + * File data in base64. + */ +data?: string +} +/** + * Items returned by the resource. + */ +export interface DeliveryNoteDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Internal identifier of the assigned channel. + */ +channelId?: number +/** + * Document number with prefix and suffix (if any). + */ +documentNumber?: string +/** + * Date the document was created. + */ +date?: string +headquarter?: DocumentHeadquarterDTO +user?: DocumentUserDTO +rewardPoints?: DocumentRewardPointsDTO[] +/** + * @deprecated + * Specifies whether the product is considered an investment by the taxpayer for tax purposes. DEPRECATED, always false. + */ +reverseChargeVat?: boolean +information?: DocumentInformationDTO +/** + * International standard alphabetic code ISO 639-1 of the language. + */ +languageCode?: string +/** + * Information about the document detail lines. + */ +items?: DeliveryNoteDocumentRowDTO[] +minItems?: 0 +} +/** + * Information about the invoicing company. + */ +export interface DocumentHeadquarterDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal identifier of the invoicing company. + */ +headquarterId?: number +/** + * Name of the invoicing company. + */ +name?: string +/** + * Invoicing company address. + */ +address?: string +/** + * Invoicing company city. + */ +city?: string +/** + * Invoicing company province or state. + */ +state?: string +/** + * Tax number of the invoicing company. + */ +vat?: string +/** + * Invoicing company zip code. + */ +postalCode?: string +/** + * Invoicing company phone. + */ +phone?: string +/** + * Invoicing company email. + */ +email?: string +/** + * Invoicing company logo. + */ +logo?: string +/** + * Country code in ISO 3166-2 format. + */ +countryCode?: string +} +/** + * Information about user records. + */ +export interface DocumentUserDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal user identifier. + */ +userId?: number +/** + * User email address. + */ +email?: string +/** + * Last login by user. + */ +lastUsed?: string +/** + * Gender of the user. + */ +gender?: ("UNDEFINED" | "MALE" | "FEMALE") +billingAddress?: DocumentUserBillingAddressDTO +shippingAddress?: DocumentUserShippingAddressDTO +/** + * Information about custom user tags. + */ +customTags?: DocumentCustomTagDTO[] +} +/** + * Information about the user's invoicing address. + */ +export interface DocumentUserBillingAddressDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * User aliases. + */ +alias?: string +/** + * Username. + */ +firstName?: string +/** + * User last names. + */ +lastName?: string +/** + * Company name. + */ +company?: string +/** + * User address. + */ +address?: string +/** + * House or building number. + */ +addressAdditionalInformation?: string +/** + * Additional address field. + */ +number?: string +/** + * Name of the city. + */ +city?: string +/** + * Province or state. + */ +state?: string +/** + * Zip Code. + */ +postalCode?: string +/** + * Company tax number. + */ +vat?: string +/** + * User identity number or code. + */ +nif?: string +location?: LocationDTO +/** + * Phone. + */ +phone?: string +/** + * Mobile phone. + */ +mobile?: string +/** + * Fax. + */ +fax?: string +/** + * @deprecated + * Specifies whether the user is considered a taxpayer making an investment for tax purposes. DEPRECATED, always false. + */ +reverseChargeVat?: boolean +/** + * Specifies the type of user. + */ +userType?: ("EMPTY" | "PARTICULAR" | "BUSINESS" | "FREELANCE") +/** + * Specifies whether sales equalization tax applies to the user. + */ +re?: boolean +/** + * Specifies whether taxes are applied to the user. + */ +tax?: boolean +/** + * Country name. + */ +country?: string +} +/** + * Information about the user's shipping address. + */ +export interface DocumentUserShippingAddressDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * User aliases. + */ +alias?: string +/** + * Username. + */ +firstName?: string +/** + * User last names. + */ +lastName?: string +/** + * Company name. + */ +company?: string +/** + * User address. + */ +address?: string +/** + * House or building number. + */ +addressAdditionalInformation?: string +/** + * Additional address field. + */ +number?: string +/** + * Name of the city. + */ +city?: string +/** + * Province or state. + */ +state?: string +/** + * Zip Code. + */ +postalCode?: string +/** + * Company tax number. + */ +vat?: string +/** + * User identity number or code. + */ +nif?: string +location?: LocationDTO +/** + * Phone. + */ +phone?: string +/** + * Mobile phone. + */ +mobile?: string +/** + * Fax. + */ +fax?: string +/** + * @deprecated + * Specifies whether the user is considered a taxpayer making an investment for tax purposes. DEPRECATED, always false. + */ +reverseChargeVat?: boolean +/** + * @deprecated + * Specifies the type of user. + */ +userType?: ("EMPTY" | "PARTICULAR" | "BUSINESS" | "FREELANCE") +/** + * Country name. + */ +country?: string +} +/** + * Information about custom tags. + */ +export interface DocumentCustomTagDTO { +/** + * Internal identifier of the custom tag. + */ +customTagId?: number +/** + * An integer that symbolizes the location of this item. + */ +position?: number +/** + * Internal name of the item. + */ +name?: string +/** + * Value for the custom tag. + */ +value?: string +/** + * Custom tag type. + */ +controlType?: ("BOOLEAN" | "NUMBER" | "SHORT_TEXT" | "DATE" | "SELECTOR" | "IMAGE" | "LONG_TEXT" | "ATTACHMENT") +} +export interface DocumentRewardPointsDTO { +language?: NameDescriptionDTO +expirationType?: ("BY_DATE" | "BY_DAYS" | "BY_UPDATED_DAYS") +expirationDate?: string +expirationDays?: number +earned?: EarnedDTO +redeemed?: RedeemedDTO +summary?: RewardPointsSummaryDTO +rewardPointsId?: number +type?: ("BY_DATE" | "BY_DAYS" | "BY_UPDATED_DAYS") +pId?: string +} +/** + * Document information. + */ +export interface DocumentInformationDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal identifier of the assigned channel. + */ +channelId?: number +/** + * Order transaction identifier. Only available for documents of type Order or Invoice, otherwise NULL. + */ +transactionId?: string +/** + * Order authorization code. + */ +authNumber?: string +/** + * Internal identifier of the marketplace. + */ +marketplaceId?: number +/** + * Internal identifier of the invoicing company. + */ +headquarterId?: number +} +/** + * Information about the document detail lines. + */ +export interface DeliveryNoteDocumentRowDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal name of the item. + */ +name?: string +/** + * Number of units of the item. + */ +quantity?: number +/** + * Hash code of the detail line. + */ +hash?: string +/** + * Path to the image of the product included in the detail line. + */ +image?: string +codes?: ProductCodesDTO +/** + * Information about the product options included in the document detail line. + */ +options?: DeliveryNoteDocumentRowOptionDTO[] +/** + * Specifies the type of document detail line. + */ +type?: ("PRODUCT" | "GIFT" | "LINKED" | "BUNDLE") +/** + * Internal identifier of the product included in the document detail line. + */ +itemId?: number +} +/** + * Information about the product options included in the document detail line. + */ +export interface DeliveryNoteDocumentRowOptionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal name of the item. + */ +name?: string +/** + * @deprecated + * Product reference code. + */ +sku?: string +/** + * Message intended to display in the presentation layer. + */ +prompt?: string +/** + * Internal identifier of the option. + */ +optionId?: number +/** + * Public identifier of the option. + */ +optionPId?: string +/** + * Option value for the returned language. + */ +value?: string +/** + * Information about the option values. + */ +values?: DocumentRowOptionValueDTO[] +} +/** + * Information about the option values. + */ +export interface DocumentRowOptionValueDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Option value for the returned language. + */ +value?: string +/** + * Public identifier of the option value. + */ +optionValuePId?: string +/** + * Internal identifier of the option value. + */ +optionValueId?: number +} +export interface CreateDocumentDTO { +/** + * Base64 encoded content. + */ +content?: string +} +export interface RichDocumentDTO { +/** + * Document number with prefix and suffix (if any). + */ +documentNumber?: string +date?: RichDateTime +deliveryDate?: RichDateTime +/** + * Specifies whether the order is paid for. Only for documents of type Order, otherwise NULL. + */ +paid?: boolean +paymentDate?: RichDateTime +comment?: string +/** + * @deprecated + * Specifies whether the product is considered an investment by the taxpayer for tax purposes. DEPRECATED, always false. + */ +reverseChargeVat?: boolean +/** + * Specify current status of the document. Only for documents of type Order or RMA, otherwise NULL. + */ +status?: string +/** + * Specify current status of the document. Only for documents of type Order or RMA, otherwise NULL. + */ +substatus?: string +/** + * Specifies that is Order with products in reserve. + */ +reserve?: boolean +/** + * Specifies that is an order with some product unit served on-request. + */ +onRequestAffected?: boolean +/** + * International standard alphabetic code ISO 639-1 of the language. + */ +languageCode?: string +/** + * Information about records of custom tags. Only for documents of type Order or Invoice, otherwise NULL. + */ +customTags?: RichDocumentCustomTagDTO[] +/** + * Information about the document detail lines. + */ +items?: RichDocumentItemDTO[] +delivery?: RichDocumentDeliveryDTO +/** + * Additional document information. Only for documents of type Order, otherwise NULL. + */ +additionalInformation?: RichDocumentAdditionalInformationDTO[] +/** + * Information on currency records. + */ +currencies?: RichDocumentCurrencyDTO[] +headquarter?: RichDocumentHeadquarterDTO +information?: RichDocumentInformationDTO +paymentSystem?: RichDocumentPaymentSystemDTO +/** + * Information about the records of taxes applied. + */ +taxes?: RichDocumentTaxDTO[] +totals?: RichDocumentTotalDTO +user?: RichDocumentUserDTO +rewardPoints?: RichDocumentRewardPointsDTO[] +/** + * Information about gift coupon records that are applied using a code. Only for documents of type Order or Invoice, otherwise NULL. + */ +vouchers?: RichDocumentVoucherDTO[] +/** + * Information about records of discounts applied. Only for documents of type Order or Invoice, otherwise NULL. + */ +discounts?: RichDocumentDiscountDTO[] +/** + * Additional concepts that affect the price of the document. Only for documents of type RMA, Return or CreditNote, otherwise NULL. + */ +additionalItems?: RichDocumentAdditionalItemDTO[] +/** + * Origin of the selected document. + */ +documentParents?: RichDocumentParentDTO[] +/** + * Public identifier of the item. + */ +pId?: string +minItems?: 0 +} +/** + * Last login by user. + */ +export interface RichDateTime { +date?: string +time?: string +} +/** + * Information about custom user tags. + */ +export interface RichDocumentCustomTagDTO { +/** + * Custom tag type. + */ +controlType?: ("BOOLEAN" | "NUMBER" | "SHORT_TEXT" | "DATE" | "SELECTOR" | "IMAGE" | "LONG_TEXT" | "ATTACHMENT") +/** + * An integer that symbolizes the location of this item. + */ +position?: number +/** + * Internal name of the item. + */ +name?: string +/** + * Value for the custom tag. + */ +value?: string +} +/** + * Price information. + */ +export interface RichDocumentItemPricesDTO { +/** + * Price of the product without adding increases due to option values. + */ +productPrice?: string +/** + * Price with taxes of the product without adding increases due to option values. + */ +productPriceWithTaxes?: string +/** + * Total increase in the price due to the different option values. + */ +optionsPrice?: string +/** + * Total increase with taxes in the price due to the different option values. + */ +optionsPriceWithTaxes?: string +/** + * Increase in the base price of the product due to the option value in the event it has an offer price. + */ +previousPrice?: string +/** + * Increase with taxes in the base price of the product due to the option value in the event it has an offer price. + */ +previousPriceWithTaxes?: string +/** + * Total amount resulting from adding the price of the product and the price of the options. + */ +price?: string +/** + * Total amount with taxes resulting from adding the price of the product and the price of the options. + */ +priceWithTaxes?: string +/** + * Amount due to applying tax. + */ +totalTaxesValue?: string +/** + * Total discounts value. + */ +totalDiscountsValue?: string +/** + * Total amount. + */ +total?: string +/** + * Total amount with discounts applied. + */ +totalWithDiscounts?: string +/** + * Total amount with discounts applied and taxes included. + */ +totalWithDiscountsWithTaxes?: string +} +/** + * Information about records of discounts applied. Only for documents of type Order or Invoice, otherwise NULL. + */ +export interface RichDocumentDiscountDTO { +/** + * Internal name of the item. + */ +name?: string +/** + * Internal item description. + */ +description?: string +/** + * Discount value. + */ +value?: string +/** + * Discount value with taxes (null for total discounts). + */ +valueWithTaxes?: string +} +export interface LogiCommerceRichDocumentElementTaxDTO { +/** + * Taxable base. + */ +base?: string +/** + * Amount derived from applying the tax. + */ +taxValue?: string +/** + * Specifies whether the tax is applied. + */ +applyTax?: boolean +/** + * Specifies whether a sales equalization tax is included in the tax applied. + */ +applyRE?: boolean +tax?: DocumentItemTaxDTO +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} +/** + * Information about the applied tax. + */ +export interface DocumentItemTaxDTO { +/** + * Internal identifier of the tax. + */ +taxId?: number +/** + * Name of the tax rate definition. + */ +name?: string +/** + * Name of the tax definition. + */ +definitionName?: string +/** + * Tax rate. + */ +taxRate?: number +/** + * Sales equalization tax. + */ +reRate?: number +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +} +export interface PluginAccountRichDocumentElementTaxDTO { +/** + * Taxable base. + */ +base?: string +/** + * Amount derived from applying the tax. + */ +taxValue?: string +/** + * Specifies whether the tax is applied. + */ +applyTax?: boolean +code?: string +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} +/** + * Information about the product options included in the document detail line. + */ +export interface RichDocumentItemOptionDTO { +/** + * Information about the option values. + */ +values?: RichDocumentItemOptionValueDTO[] +/** + * Product reference code. + */ +sku?: string +/** + * Internal name of the item. + */ +name?: string +/** + * Message intended to display in the presentation layer. + */ +prompt?: string +/** + * Option value for the returned language. + */ +value?: string +/** + * Total increase in the price due to the different option values. + */ +price?: string +/** + * Total increase in the price with taxes due to the different option values. + */ +priceWithTaxes?: string +/** + * Total increase in weight due to the different option values. + */ +weight?: number +/** + * Specifies whether, regardless of the units purchased of the product, the option price will be applied only once. + */ +uniquePrice?: boolean +/** + * Specifies the type of option. + */ +valueType?: ("BOOLEAN" | "SHORT_TEXT" | "SINGLE_SELECTION" | "MULTIPLE_SELECTION" | "SINGLE_SELECTION_IMAGE" | "MULTIPLE_SELECTION_IMAGE" | "SELECTOR" | "DATE" | "LONG_TEXT" | "ATTACHMENT") +/** + * Total increase in the base price of the product due to the different option values in the event it has an offer price. + */ +previousPrice?: string +/** + * Total increase in the base price with taxes of the product due to the different option values in the event it has an offer price. + */ +previousPriceWithTaxes?: string +/** + * Public identifier of the option. + */ +optionPId?: string +/** + * Specifies whether the values ​​of this option are used to generate combinations of options. + */ +combinable?: boolean +} +/** + * Information about the option values. + */ +export interface RichDocumentItemOptionValueDTO { +/** + * Weight increase due to option value. + */ +weight?: number +/** + * Increase in the price of the product due to the option value. + */ +price?: string +/** + * Increase in the price with taxes of the product due to the option value. + */ +priceWithTaxes?: string +/** + * Increase in the base price of the product due to the option value in the event it has an offer price. + */ +previousPrice?: string +/** + * Increase in the base price with taxes of the product due to the option value in the event it has an offer price. + */ +previousPriceWithTaxes?: string +/** + * Option value for the returned language. + */ +value?: string +/** + * Public identifier of the option value. + */ +optionValuePId?: string +/** + * Specifies that products with this option value assigned cannot be returned. + */ +noReturn?: boolean +} +/** + * Information about the stock of the document detail line. + */ +export interface RichDocumentItemStockDTO { +/** + * Warehouse internal identifier. + */ +warehouseName?: string +/** + * Logistic center internal identifier. + */ +warehouseGroupName?: string +/** + * Number of units of the item. + */ +quantity?: number +/** + * Stock provision date, if any. + */ +incomingDate?: string +/** + * Specifies the number of product units for which there is not enough stock. + */ +missingStockQuantity?: number +/** + * Preparation or compensation days that the warehouse needs before it can supply stock. + */ +offsetDays?: number +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +/** + * The hash of the item. + */ +hash?: string +/** + * Type of provision, if any. + */ +previsionType?: ("RESERVE" | "PREVISION" | "AVAILABLE") +} +export interface RichReturnProcessDocumentRowDTO { +/** + * Hash code of the detail line. + */ +hash?: string +/** + * Internal name of the item. + */ +name?: string +/** + * Link. + */ +link?: string +/** + * Number of units of the item. + */ +quantity?: number +prices?: RichDocumentItemPricesDTO +/** + * Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established. + */ +weight?: number +/** + * Information about discounts in the detail line. + */ +discounts?: RichDocumentDiscountDTO[] +/** + * Information about the taxes associated with the document detail line. + */ +taxes?: RichDocumentElementTaxDTO[] +/** + * Information about the product options included in the document detail line. + */ +options?: RichDocumentItemOptionDTO[] +/** + * Information about the stock of the document detail line. + */ +stocks?: RichDocumentItemStockDTO[] +/** + * Information about custom tags. + */ +customTags?: RichDocumentCustomTagDTO[] +/** + * Internal identifier of the product included in the document detail line. + */ +itemId?: number +/** + * Internal identifier of the parent product when the product that is part of the detail line is linked. + */ +linkedParentId?: number +/** + * Path to the image of the product included in the detail line. + */ +image?: string +/** + * Specifies whether the product included in the detail line is on offer. + */ +offer?: boolean +/** + * Specifies whether the product included in the detail line has stock management enabled. This parameter works as long as stock management is enabled in general. + */ +stockManagement?: boolean +/** + * @deprecated + * Specifies whether the product included in the detail line is under the tax consideration of the taxable person's investment. DEPRECATED, always false. + */ +reverseChargeVat?: boolean +codes?: ProductCodesDTO +/** + * Specifies whether the product included in the detail line can be returned. + */ +noReturn?: boolean +/** + * Reserve work method (sell inventory without stock) for the product included in the detail line. + */ +backOrder?: ("NONE" | "WITH_AND_WITHOUT_PREVISION" | "WITHOUT_PREVISION" | "WITH_PREVISION") +/** + * Specifies the 'onRequest' setting that the product had when the order was created.
This setting specifies whether the product can be served on-request in case of being out of stock.
The product units that are out of stock will be served on-request in case the product has this setting activated, and also the store and the product have the 'stock management' setting activated, and also the product has its stock lines defined. + */ +onRequest?: boolean +/** + * Specifies the 'onRequestDays' setting that the product had when the order was created.
This setting specifies the number of days of preparation that the product needs if it is served on-request. This information is used to display an estimated departure date in this case. + */ +onRequestDays?: number +/** + * Specifies the type of document detail line. + */ +type?: ("PRODUCT" | "GIFT" | "LINKED" | "BUNDLE") +/** + * Specifies that the product is In reserve. + */ +reserve?: boolean +/** + * Specifies that some unit of the detail line’s product is served on-request. + */ +onRequestAffected?: boolean +/** + * Brand name. + */ +brandName?: string +rmaReason?: RichReturnProcessDocumentRowRMAReasonDTO +} +/** + * Information about the RMA reason for this row. + */ +export interface RichReturnProcessDocumentRowRMAReasonDTO { +/** + * Description of the RMA reason for the language of the document. + */ +description?: string +/** + * Additional comment for this RMA reason. + */ +comment?: string +/** + * Public identifier of the RMA reason. + */ +rmaReasonPId?: string +} +/** + * Information about shipment records. + */ +export interface RichDocumentShipmentDTO { +/** + * Internal identifier of the item. + */ +id?: number +getpId?: string +/** + * Specifies the status of the shipment. + */ +status?: ("NONE" | "PENDING" | "PROCESSING" | "SHIPPED" | "DELIVERED" | "INCIDENTS") +/** + * Name of the current substatus of the shhipment. + */ +substatus?: string +/** + * Name of the logistic center originating the shipment. + */ +originWarehouseGroupName?: string +/** + * Internal pickup point name. + */ +physicalLocationName?: string +/** + * Delivery date of the shipment. + */ +incomingDate?: string +/** + * Information about products included in the shipment. + */ +items?: RichDocumentShipmentItemDTO[] +shipping?: RichDocumentShippingDTO +trackingNumber?: string +trackingUrl?: string +minItems?: 0 +} +/** + * Information about products included in the shipment. + */ +export interface RichDocumentShipmentItemDTO { +/** + * Number of units of the item. + */ +quantity?: number +/** + * The hash of the item. + */ +hash?: string +} +/** + * Information on shipping methods. + */ +export interface RichDocumentShippingDTO { +/** + * Shipper name for the returned language. + */ +name?: string +/** + * Shipping method price. + */ +price?: string +/** + * Shipping method price with taxes. + */ +priceWithTaxes?: string +/** + * Shipping method price with applied discounts. + */ +priceWithDiscounts?: string +/** + * Shipping method price with applied discounts and taxes. + */ +priceWithDiscountsWithTaxes?: string +/** + * Shipping type name for the returned language. + */ +shippingTypeName?: string +/** + * Internal identifier of the range assigned to the shipping type. + */ +shippingSectionId?: number +/** + * Specifies for the shipment whether the calculation of shipping costs is determined by weight or by units sold. + */ +shippingCalculation?: ("BY_WEIGHT" | "BY_UNITS") +/** + * Carrier's public identifier. + */ +shipperPId?: string +/** + * Public identifier of the shipping type. + */ +shippingTypePId?: string +/** + * Information about taxes applied to the shipping method. + */ +taxes?: RichDocumentElementTaxDTO[] +/** + * Information about discounts applied to shipping. + */ +discounts?: RichDocumentDiscountDTO[] +} +export interface RichShippingDocumentDeliveryDTO { +/** + * Information about shipment records. + */ +shipments?: RichDocumentShipmentDTO[] +/** + * Specifies the type of delivery. + */ +type?: ("SHIPPING" | "PICKING") +} +export interface RichPickingDocumentDeliveryDTO { +/** + * Information about shipment records. + */ +shipments?: RichDocumentShipmentDTO[] +/** + * Shipping method price. + */ +price?: string +/** + * Shipping method price with taxes. + */ +priceWithTaxes?: string +/** + * Information about taxes applied to the shipping method. + */ +taxes?: RichDocumentElementTaxDTO[] +mode?: RichPickingDocumentDeliveryModeDTO +/** + * Specifies the type of delivery. + */ +type?: ("SHIPPING" | "PICKING") +} +/** + * Information about the picking mode. + */ +export interface RichPickingDocumentDeliveryModeDTO { +physicalLocation?: RichDocumentDeliveryPhysicalLocationDTO +/** + * Specifies the picking mode. + */ +type?: ("PROVIDER_PICKUP_POINT" | "PICKUP_POINT_PHYSICAL_LOCATION") +} +export interface RichDocumentDeliveryPhysicalLocationDTO { +/** + * Public pickup point identifier. + */ +physicalLocationPId?: string +/** + * Pickup point name. + */ +name?: string +email?: string +phone?: string +/** + * Pickup point address. + */ +address?: string +/** + * Pickup point city. + */ +city?: string +/** + * Pickup point province or state. + */ +state?: string +/** + * Pickup point zip code. + */ +postalCode?: string +location?: RichLocationDTO +} +/** + * Location information. + */ +export interface RichLocationDTO { +coordinate?: CoordinateDTO +/** + * Country name. + */ +countryName?: string +} +/** + * Additional document information. Only for documents of type Order, otherwise NULL. + */ +export interface RichDocumentAdditionalInformationDTO { +/** + * Internal name of the item. + */ +name?: string +/** + * Value of the additional information field. + */ +value?: string +} +/** + * Information on currency records. + */ +export interface RichDocumentCurrencyDTO { +/** + * Currency mode indicator: INVOICING indicates that the amounts are expressed in the invoicing currency, PURCHASE indicates that the amounts are expressed in the currency in which the order was placed . + */ +mode?: ("INVOICING" | "PURCHASE") +/** + * Currency name. + */ +name?: string +/** + * Currency code in ISO 4217 format. + */ +code?: string +/** + * International standard ISO 4217 currency code. + */ +codeNumber?: string +/** + * Symbol configured for the currency. + */ +symbol?: string +/** + * Value of the currency exchange to USD at the time of placing the order. + */ +usdValue?: number +} +/** + * Information about the invoicing company. + */ +export interface RichDocumentHeadquarterDTO { +/** + * Name of the invoicing company. + */ +name?: string +/** + * Invoicing company address. + */ +address?: string +/** + * Invoicing company city. + */ +city?: string +/** + * Invoicing company province or state. + */ +state?: string +/** + * Tax number of the invoicing company. + */ +vat?: string +/** + * Invoicing company zip code. + */ +postalCode?: string +/** + * Invoicing company phone. + */ +phone?: string +/** + * Invoicing company email. + */ +email?: string +/** + * Country code in ISO 3166-2 format. + */ +countryCode?: string +/** + * Country name. + */ +countryName?: string +/** + * Invoicing company logo. + */ +logo?: string +timeZone?: string +} +/** + * Document information. + */ +export interface RichDocumentInformationDTO { +/** + * Name of the assigned channel. + */ +channelName?: string +/** + * Order transaction identifier. Only available for documents of type Order or Invoice, otherwise NULL. + */ +transactionId?: string +/** + * Order authorization code. + */ +authNumber?: string +/** + * Internal identifier of the marketplace. + */ +marketplaceId?: number +/** + * Name of the invoicing company. + */ +headquarterName?: string +} +/** + * Information about the payment system records. Only for documents of type Order or Invoice, otherwise NULL. + */ +export interface RichDocumentPaymentSystemDTO { +/** + * Information about the taxes associated with the payment system. + */ +taxes?: RichDocumentElementTaxDTO[] +/** + * Public identifier of the payment system. + */ +paymentSystemPId?: string +/** + * Name of the payment system for the returned language. + */ +name?: string +/** + * Message of the payment system for the returned language. + */ +message?: string +/** + * Specifies the type of increase to apply. + */ +increaseType?: ("ABSOLUTE" | "PERCENTAGE") +/** + * Fixed amount or percentage to be added to the total order. + */ +increaseValue?: number +/** + * Indicates the price increase on the order due to the payment system. + */ +price?: string +/** + * Indicates the price increase on the order due to the payment system. + */ +priceWithTaxes?: string +/** + * Minimum value to be added to the order total in the event that the calculation using increaseValue is less than this value. + */ +increaseMin?: number +paymentType?: ("FORM" | "OFFLINE" | "NO_PAY" | "CASH_ON_DELIVERY" | "WIDGET" | "REDIRECT") +} +export interface LogiCommerceRichDocumentTaxDTO { +/** + * Name of the tax for the returned language. + */ +name?: string +/** + * Method of application of the tax. + */ +modality?: string +/** + * Tax rate. + */ +taxRate?: number +/** + * Taxable base. + */ +base?: string +/** + * Base amount without taking discounts into account. + */ +baseWithDiscounts?: string +/** + * Amount due to the application of the tax rate of the tax. + */ +taxPrice?: string +/** + * Total amount due due to taxes. + */ +totalPrice?: string +/** + * Amount due to discount. + */ +discount?: string +/** + * Sales equalization tax. + */ +reRate?: number +/** + * Amount due to the application of the sales equalization tax. + */ +rePrice?: string +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} +export interface PluginRichDocumentTaxDTO { +/** + * Name of the tax for the returned language. + */ +name?: string +/** + * Method of application of the tax. + */ +modality?: string +/** + * Tax rate. + */ +taxRate?: number +/** + * Taxable base. + */ +base?: string +/** + * Base amount without taking discounts into account. + */ +baseWithDiscounts?: string +/** + * Amount due to the application of the tax rate of the tax. + */ +taxPrice?: string +/** + * Total amount due due to taxes. + */ +totalPrice?: string +/** + * Amount due to discount. + */ +discount?: string +code?: string +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} +/** + * Information on the records of the totals. + */ +export interface RichDocumentTotalDTO { +/** + * Amount due to detail lines before applying taxes. + */ +totalRows?: string +/** + * Amount due to the detail lines with taxes applied. + */ +totalRowsWithTaxes?: string +/** + * Full amount without tax included due to shipping methods. + */ +totalShippingsWithDiscounts?: string +/** + * Full amount with taxes included due to shipping methods. + */ +totalShippingsWithDiscountsWithTaxes?: string +/** + * Total amount without taxes included due to the payment system. + */ +totalPaymentSystem?: string +/** + * Total amount with taxes included due to the payment system. + */ +totalPaymentSystemWithTaxes?: string +/** + * Sum of the previous subtotals. + */ +total?: string +/** + * Total amount of the document. + */ +totalWithDiscounts?: string +/** + * Total amount due to tax application. + */ +totalTaxesValue?: string +/** + * Total amount of the document. + */ +totalWithDiscountsWithTaxes?: string +/** + * Total amount due to discounts applied to detail lines. + */ +totalRowsDiscountsValue?: string +/** + * Total amount due to discounts applied to the total. + */ +totalBasketDiscountsValue?: string +/** + * Total amount due to discounts applied to shipping methods. + */ +totalShippingDiscountsValue?: string +/** + * Total amount due to added gift coupons. + */ +totalVouchers?: string +/** + * Full amount with taxes included due to picking prices. + */ +totalPicking?: string +totalPickingWithTaxes?: string +} +/** + * Information about user records. + */ +export interface RichDocumentUserDTO { +/** + * User email address. + */ +email?: string +lastUsed?: RichDateTime +/** + * Gender of the user. + */ +gender?: ("UNDEFINED" | "MALE" | "FEMALE") +billingAddress?: RichDocumentUserBillingAddressDTO +shippingAddress?: RichDocumentUserShippingAddressDTO +/** + * Information about custom user tags. + */ +customTags?: RichDocumentCustomTagDTO[] +additionalInfo?: RichDocumentUserAdditionalDTO +} +/** + * Information about the user's invoicing address. + */ +export interface RichDocumentUserBillingAddressDTO { +/** + * User aliases. + */ +alias?: string +/** + * Username. + */ +firstName?: string +/** + * User last names. + */ +lastName?: string +/** + * Company name. + */ +company?: string +/** + * User address. + */ +address?: string +/** + * House or building number. + */ +addressAdditionalInformation?: string +/** + * Additional address field. + */ +number?: string +/** + * Name of the city. + */ +city?: string +/** + * Province or state. + */ +state?: string +/** + * Zip Code. + */ +postalCode?: string +/** + * Company tax number. + */ +vat?: string +/** + * User identity number or code. + */ +nif?: string +location?: RichLocationDTO +/** + * Phone. + */ +phone?: string +/** + * Mobile phone. + */ +mobile?: string +/** + * Fax. + */ +fax?: string +/** + * Specifies whether taxes are applied to the user. + */ +tax?: boolean +/** + * Specifies whether sales equalization tax applies to the user. + */ +re?: boolean +/** + * @deprecated + * Specifies whether the user is considered a taxpayer making an investment for tax purposes. DEPRECATED, always false. + */ +reverseChargeVat?: boolean +/** + * Country name. + */ +country?: string +/** + * Specifies the type of user. + */ +userType?: ("EMPTY" | "PARTICULAR" | "BUSINESS" | "FREELANCE") +} +/** + * Information about the user's shipping address. + */ +export interface RichDocumentUserShippingAddressDTO { +/** + * User aliases. + */ +alias?: string +/** + * Username. + */ +firstName?: string +/** + * User last names. + */ +lastName?: string +/** + * Company name. + */ +company?: string +/** + * User address. + */ +address?: string +/** + * House or building number. + */ +addressAdditionalInformation?: string +/** + * Additional address field. + */ +number?: string +/** + * Name of the city. + */ +city?: string +/** + * Province or state. + */ +state?: string +/** + * Zip Code. + */ +postalCode?: string +/** + * Company tax number. + */ +vat?: string +/** + * User identity number or code. + */ +nif?: string +location?: RichLocationDTO +/** + * Phone. + */ +phone?: string +/** + * Mobile phone. + */ +mobile?: string +/** + * Fax. + */ +fax?: string +/** + * Specifies whether taxes are applied to the user. + */ +tax?: boolean +/** + * Specifies whether sales equalization tax applies to the user. + */ +re?: boolean +/** + * @deprecated + * Specifies whether the user is considered a taxpayer making an investment for tax purposes. DEPRECATED, always false. + */ +reverseChargeVat?: boolean +/** + * Country name. + */ +country?: string +} +/** + * Additional user information. + */ +export interface RichDocumentUserAdditionalDTO { +/** + * If user is sales agent. + */ +salesAgent?: boolean +/** + * Sales agent name, if user has sales agent assigned. + */ +salesAgentName?: string +/** + * If user is blogger. + */ +blogger?: boolean +/** + * Blogger name. + */ +bloggerName?: string +} +export interface RichDocumentRewardPointsDTO { +/** + * Public identifier of the item. + */ +id?: number +expirationDate?: string +expirationDays?: number +earned?: RichDocumentRewardPointsEarnedDTO +redeemed?: RichDocumentRewardPointsRedeemedDTO +summary?: RichDocumentRewardPointsSummaryDTO +language?: RichDocumentNameDescriptionDTO +pid?: string +type?: string +} +export interface RichDocumentRewardPointsEarnedDTO { +rules?: RichDocumentRewardPointsEarnedRuleDTO[] +} +export interface RichDocumentRewardPointsEarnedRuleDTO { +id?: number +language?: RichDocumentNameDescriptionDTO +from?: string +to?: string +value?: number +type?: string +valueMode?: string +earned?: number +} +export interface RichDocumentNameDescriptionDTO { +/** + * Element name for the returned language. + */ +name?: string +/** + * Description of the item for the returned language. + */ +description?: string +} +export interface RichDocumentRewardPointsRedeemedDTO { +toRedeem?: number +rules?: RichDocumentRewardPointsRedeemedRuleDTO[] +} +export interface RichDocumentRewardPointsRedeemedRuleDTO { +id?: number +language?: RichDocumentNameDescriptionDTO +from?: string +to?: string +value?: number +redeemed?: number +} +export interface RichDocumentRewardPointsSummaryDTO { +totalByUnits?: number +totalByAmount?: number +totalRedeemed?: number +totalEarned?: number +} +/** + * Information about gift coupon records that are applied using a code. Only for documents of type Order or Invoice, otherwise NULL. + */ +export interface RichDocumentVoucherDTO { +/** + * Total amount applied for the gift coupon. + */ +availableBalance?: string +/** + * Promotional code. + */ +code?: string +} +/** + * Additional concepts that affect the price of the document. Only for documents of type RMA, Return or CreditNote, otherwise NULL. + */ +export interface RichDocumentAdditionalItemDTO { +name?: string +type?: ("SHIPPING" | "PAYMENT" | "VOUCHER") +amount?: string +taxes?: RichDocumentElementTaxDTO[] +} +/** + * Origin of the selected document. + */ +export interface RichDocumentParentDTO { +/** + * Document number with prefix and suffix (if any). + */ +documentNumber?: string +date?: RichDateTime +/** + * Document type. + */ +documentType?: ("ORDER" | "DELIVERY_NOTE" | "INVOICE" | "RMA" | "RETURN" | "CORRECTIVE_INVOICE") +} +export interface DeliveryCollectionDTO { +filter?: PhysicalLocationFilterDTO +pagination?: PaginationDTODeliveryDTO +/** + * Items returned by the resource. + */ +items?: DeliveryDTO[] +minItems?: 0 +} +/** + * Information about distinct filterable values over the returned items. + */ +export interface PhysicalLocationFilterDTO { +physicalLocations?: FilterTextualLocationsDTO +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTODeliveryDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Information about products included in the delivery. + */ +export interface DeliveryRowDTO { +basketRowData?: BasketRowDataDTO +/** + * Information about the alerts of the cart detail lines that are part of the delivery. + */ +basketWarnings?: { +/** + * Specifies the cart alert code. + */ +code?: ("NOT_AVAILABLE_PRODUCT" | "INVALID_PRICE" | "MIN_ORDER_QUANTITY" | "MAX_ORDER_QUANTITY" | "MULTIPLE_ORDER_OVER_QUANTITY" | "MULTIPLE_ORDER_QUANTITY" | "STOCK_RESTRICTION" | "BACKORDER" | "BACKORDER_PREVISION" | "EMPTY_PRODUCTS" | "STOCK_PREVISION" | "WAREHOUSE_OFFSET" | "ON_REQUEST_PRODUCT" | "INVALID_OPTIONS" | "NEEDS_PAYMENTSYSTEM" | "NEEDS_DELIVERY" | "INVALID_BILLING_ADDRESS" | "INVALID_SHIPPING_ADDRESS" | "USER_NOT_ACTIVED" | "USER_NOT_VERIFIED" | "LOCKED_STOCK_RESTRICTION") +/** + * Specifies the criticality of the cart alert. + */ +severity?: ("WARNING" | "INFO" | "ERROR") +/** + * List of cart detail line hash codes. + */ +hashes?: string[] +/** + * Attributes related to the alert. + */ +attributes?: BasketWarningAttributeDTO[] +} +} +/** + * Information about shipments. + */ +export interface ShipmentDTO { +offsetDays?: number +/** + * Internal identifier of the logistic center originating the shipment. + */ +originWarehouseGroupId?: number +/** + * Specifies for the shipment whether the calculation of shipping costs is determined by weight or by units sold. + */ +shippingCalculation?: ("BY_WEIGHT" | "BY_UNITS") +destinationZone?: GeographicalZoneDTO +/** + * Information about shipping methods. + */ +shippings?: ShippingDTO[] +/** + * Information about products included in the shipment. + */ +rows?: ShipmentRowDTO[] +hash?: string +/** + * Discount applied to shipping for each shipment. + */ +appliedDiscounts?: AppliedDiscountDTO[] +} +export interface ShippingDeliveryDTO { +/** + * Specifies the type of delivery. + */ +type?: ("SHIPPING" | "PICKING") +/** + * Information about products included in the delivery. + */ +deliveryRows?: DeliveryRowDTO[] +/** + * Information about shipments. + */ +shipments?: ShipmentDTO[] +/** + * Specifies whether it is the selected delivery in cart. + */ +selected?: boolean +multiShipment?: boolean +hash?: string +canBeShipped?: boolean +zone?: GeographicalZoneDTO +} +export interface PickingDeliveryDTO { +/** + * Specifies the type of delivery. + */ +type?: ("SHIPPING" | "PICKING") +/** + * Information about products included in the delivery. + */ +deliveryRows?: DeliveryRowDTO[] +/** + * Information about shipments. + */ +shipments?: ShipmentDTO[] +/** + * Specifies whether it is the selected delivery in cart. + */ +selected?: boolean +multiShipment?: boolean +hash?: string +canBeShipped?: boolean +/** + * Information about the picking price. Tax not included. + */ +price?: number +/** + * Information about the picking price. Tax included. + */ +priceWithTaxes?: number +/** + * Information about taxes applied to the picking price. + */ +appliedTaxes?: AppliedTaxDTO[] +mode?: PickingDeliveryModeDTO +physicalLocation?: DeprecatedPhysicalLocationDTO +zone?: GeographicalZoneDTO +} +/** + * @deprecated + * Information about the physical location for picking. + */ +export interface DeprecatedPhysicalLocationDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Internal name of the item. + */ +name?: string +/** + * Specifies whether the item is enabled. + */ +active?: boolean +/** + * Physical location email phone. + */ +phone?: string +/** + * Physical location email address. + */ +email?: string +/** + * Physical location address. + */ +address?: string +/** + * Zip code of the physical location. + */ +postalCode?: string +/** + * City of physical location. + */ +city?: string +/** + * Province or state of physical location. + */ +state?: string +location?: LocationDTO +/** + * Specifies whether the physical location can be displayed on a map. + */ +visibleOnMap?: boolean +/** + * Specifies the radius of distance (in km) of the area of ​​influence of the physical location. + */ +zoneRadius?: number +/** + * Specifies whether the physical location is a delivery point. + */ +deliveryPoint?: boolean +/** + * Specifies whether the physical location is a return point. + */ +returnPoint?: boolean +language?: PhysicalLocationLanguageDTO +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface ProviderPickupPointPickingDeliveryCollectionDTO { +/** + * Items returned by the resource. + */ +items?: DeliveryDTO[] +minItems?: 0 +} +export interface DeliveryShippingCollectionDTO { +pagination?: PaginationDTODeliveryDTO +/** + * Items returned by the resource. + */ +items?: DeliveryDTO[] +minItems?: 0 +} +/** + * Items returned by the resource. + */ +export interface InvoiceDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Internal identifier of the assigned channel. + */ +channelId?: number +/** + * Document number with prefix and suffix (if any). + */ +documentNumber?: string +/** + * Date the document was created. + */ +date?: string +headquarter?: DocumentHeadquarterDTO +user?: DocumentUserDTO +rewardPoints?: DocumentRewardPointsDTO[] +/** + * @deprecated + * Specifies whether the product is considered an investment by the taxpayer for tax purposes. DEPRECATED, always false. + */ +reverseChargeVat?: boolean +/** + * Information on currency records. + */ +currencies?: DocumentCurrencyDTO[] +/** + * Information about the records of taxes applied. + */ +taxes?: DocumentTaxDefinitionDTO[] +delivery?: DocumentDeliveryDTO +comment?: string +totals?: DocumentTotalDTO +/** + * Information about records of custom tags. Only for documents of type Order or Invoice, otherwise NULL. + */ +customTags?: DocumentCustomTagDTO[] +paymentSystem?: DocumentPaymentSystemDTO +/** + * Information about gift coupon records that are applied using a code. Only for documents of type Order or Invoice, otherwise NULL. + */ +vouchers?: DocumentVoucherDTO[] +/** + * Information about records of discounts applied. Only for documents of type Order or Invoice, otherwise NULL. + */ +discounts?: DocumentDiscountDTO[] +/** + * Internal identifier of the marketplace. + */ +marketplaceId?: number +/** + * Order transaction identifier. Only available for documents of type Order or Invoice, otherwise NULL. + */ +transactionId?: string +/** + * Order authorization code. + */ +authNumber?: string +information?: DocumentInformationDTO +/** + * Specifies that is an order with some product unit served on-request. + */ +onRequestAffected?: boolean +/** + * Specifies that is Order with products in reserve. + */ +reserve?: boolean +/** + * Specify current substatus of the document. Only for documents of type Order or RMA, otherwise NULL. + */ +substatus?: string +/** + * Total. + */ +total?: number +/** + * International standard alphabetic code ISO 639-1 of the language. + */ +languageCode?: string +/** + * Information about the document detail lines. + */ +items?: TransactionDocumentRowDTO[] +minItems?: 0 +} +/** + * Information on currency records. + */ +export interface DocumentCurrencyDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Currency mode indicator: INVOICING indicates that the amounts are expressed in the invoicing currency, PURCHASE indicates that the amounts are expressed in the currency in which the order was placed . + */ +mode?: ("INVOICING" | "PURCHASE") +/** + * Currency name. + */ +name?: string +/** + * Currency code in ISO 4217 format. + */ +code?: string +/** + * International standard ISO 4217 currency code. + */ +codeNumber?: string +/** + * Symbol configured for the currency. + */ +symbol?: string +/** + * Value of the currency exchange to USD at the time of placing the order. + */ +usdValue?: number +} +export interface LogiCommerceDocumentTaxDefinitionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Name of the tax for the returned language. + */ +name?: string +/** + * Method of application of the tax. + */ +modality?: string +/** + * Tax rate. + */ +taxRate?: number +/** + * Taxable base. + */ +base?: number +/** + * Amount due to the application of the tax rate of the tax. + */ +taxPrice?: number +/** + * Total amount due due to taxes. + */ +totalPrice?: number +/** + * Base amount without taking discounts into account. + */ +baseWithoutDiscounts?: number +/** + * Amount due to discount. + */ +discount?: number +/** + * Internal identifier of the tax. + */ +taxId?: number +/** + * Sales equalization tax. + */ +reRate?: number +/** + * Amount due to the application of the sales equalization tax. + */ +rePrice?: number +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} +export interface PluginDocumentTaxDefinitionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Name of the tax for the returned language. + */ +name?: string +/** + * Method of application of the tax. + */ +modality?: string +/** + * Tax rate. + */ +taxRate?: number +/** + * Taxable base. + */ +base?: number +/** + * Amount due to the application of the tax rate of the tax. + */ +taxPrice?: number +/** + * Total amount due due to taxes. + */ +totalPrice?: number +/** + * Base amount without taking discounts into account. + */ +baseWithoutDiscounts?: number +/** + * Amount due to discount. + */ +discount?: number +code?: string +pluginAccountId?: number +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} +/** + * Information on shipping methods. + */ +export interface DocumentShippingDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal identifier of the shipping type. + */ +shippingTypeId?: number +/** + * Shipper name for the returned language. + */ +name?: string +/** + * Shipping method price. + */ +price?: number +/** + * Shipping method price with taxes. + */ +priceWithTaxes?: number +/** + * Shipping type name for the returned language. + */ +shippingTypeName?: string +/** + * Internal identifier of the range assigned to the shipping type. + */ +shippingSectionId?: number +/** + * Specifies for the shipment whether the calculation of shipping costs is determined by weight or by units sold. + */ +shippingCalculation?: ("BY_WEIGHT" | "BY_UNITS") +/** + * Carrier's public identifier. + */ +shipperPId?: string +/** + * Public identifier of the shipping type. + */ +shippingTypePId?: string +/** + * Information about taxes applied to the shipping method. + */ +taxes?: DocumentAppliedTaxDTO[] +/** + * Information about discounts applied to shipping. + */ +discounts?: DocumentDiscountDTO[] +} +export interface LogiCommerceDocumentAppliedTaxDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Taxable base. + */ +base?: number +/** + * Tax rate. + */ +taxRate?: number +/** + * Amount derived from applying the tax. + */ +taxValue?: number +/** + * Specifies whether the tax is applied. + */ +applyTax?: boolean +/** + * Specifies whether a sales equalization tax is included in the tax applied. + */ +applyRE?: boolean +tax?: DocumentItemTaxDTO +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} +export interface PluginDocumentAppliedTaxDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Taxable base. + */ +base?: number +/** + * Tax rate. + */ +taxRate?: number +/** + * Amount derived from applying the tax. + */ +taxValue?: number +/** + * Specifies whether the tax is applied. + */ +applyTax?: boolean +code?: string +pluginAccountId?: number +type?: ("LOGICOMMERCE" | "PLUGIN_ACCOUNT") +} +/** + * Information about discounts in the detail line. + */ +export interface DocumentDiscountDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Discount value with taxes. + */ +valueWithTaxes?: number +/** + * Internal item description. + */ +description?: string +/** + * Internal name of the item. + */ +name?: string +/** + * Discount value. + */ +value?: number +} +export interface PickingDocumentDeliveryDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Information about shipment records. + */ +shipments?: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Specifies the status of the shipment. + */ +status?: ("NONE" | "PENDING" | "PROCESSING" | "SHIPPED" | "DELIVERED" | "INCIDENTS") +/** + * Internal identifier of the current substatus of the shhipment. + */ +substatusId?: number +/** + * Identifier of the logistic center originating the shipment. + */ +originWarehouseGroupId?: number +/** + * @deprecated + * Internal pickup point identifier. + */ +physicalLocationId?: number +/** + * Delivery date of the shipment. + */ +incomingDate?: string +shipping?: DocumentShippingDTO +/** + * Shipment tracking code. + */ +trackingNumber?: string +/** + * URL for tracking the order offered by the carrier. + */ +trackingUrl?: string +/** + * Information about products included in the shipment. + */ +items?: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Number of units of the item. + */ +quantity?: number +/** + * Internal identifier of the document detail line. + */ +orderDetailId?: number +} +minItems?: 0 +} +geographicalZone?: GeographicalZoneDTO +/** + * Information about the picking price. Tax not included. + */ +price?: number +/** + * Information about the records of taxes applied. + */ +taxes?: DocumentAppliedTaxDTO[] +mode?: PickingDocumentDeliveryModeDTO +physicalLocation?: DeprecatedDocumentDeliveryPhysicalLocationDTO +type?: ("SHIPPING" | "PICKING") +} +export interface PhysicalLocationPickingDocumentDeliveryDTO { +physicalLocation?: DocumentDeliveryPhysicalLocationDTO +type?: ("PROVIDER_PICKUP_POINT" | "PICKUP_POINT_PHYSICAL_LOCATION") +} +export interface DocumentDeliveryPhysicalLocationDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal pickup point identifier. + */ +physicalLocationId?: number +/** + * Public pickup point identifier. + */ +physicalLocationPId?: string +/** + * Pickup point name. + */ +name?: string +email?: string +phone?: string +/** + * Pickup point address. + */ +address?: string +/** + * Pickup point city. + */ +city?: string +/** + * Pickup point province or state. + */ +state?: string +/** + * Pickup point zip code. + */ +postalCode?: string +location?: LocationDTO +/** + * Country name. + */ +country?: string +} +export interface ProviderPickupPointPickingDocumentDeliveryDTO { +pickupPointProvider?: DocumentPickupPointProviderDTO +providerPickupPoint?: DocumentProviderPickupPointDTO +type?: ("PROVIDER_PICKUP_POINT" | "PICKUP_POINT_PHYSICAL_LOCATION") +} +/** + * Information about the pickup point provider. + */ +export interface DocumentPickupPointProviderDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Pickup point provider name for the language of the document. + */ +name?: string +/** + * Internal identifier of the pickup point provider. + */ +pickupPointProviderId?: number +/** + * Public identifier of the pickup point provider. + */ +pickupPointProviderPId?: string +/** + * Internal identifier of the associated plugin module name. + */ +pluginAccountId?: number +/** + * Associated plugin module name. + */ +pluginAccountModule?: string +} +/** + * Information about the provider pickup point. + */ +export interface DocumentProviderPickupPointDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Identifier of the pickup point for the provider. + */ +key?: string +/** + * Name of the pickup point. + */ +name?: string +/** + * Email of the pickup point. + */ +email?: string +/** + * City of pickup point + */ +city?: string +/** + * Zip code of the pickup point. + */ +postalCode?: string +/** + * Address of the pickup point. + */ +address?: string +/** + * Additional address information of the pickup point. + */ +addressAdditionalInformation?: string +/** + * House or building number of the pickup point. + */ +number?: string +/** + * Phone of the pickup point. + */ +phone?: string +/** + * Mobile of the pickup point. + */ +mobile?: string +location?: LocationDTO +} +/** + * @deprecated + * + */ +export interface DeprecatedDocumentDeliveryPhysicalLocationDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal pickup point identifier. + */ +physicalLocationId?: number +/** + * Public pickup point identifier. + */ +physicalLocationPId?: string +/** + * Pickup point name. + */ +name?: string +email?: string +phone?: string +/** + * Pickup point address. + */ +address?: string +/** + * Pickup point city. + */ +city?: string +/** + * Pickup point province or state. + */ +state?: string +/** + * Pickup point zip code. + */ +postalCode?: string +location?: LocationDTO +/** + * Country name. + */ +country?: string +} +export interface ShippingDocumentDeliveryDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Information about shipment records. + */ +shipments?: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Specifies the status of the shipment. + */ +status?: ("NONE" | "PENDING" | "PROCESSING" | "SHIPPED" | "DELIVERED" | "INCIDENTS") +/** + * Internal identifier of the current substatus of the shhipment. + */ +substatusId?: number +/** + * Identifier of the logistic center originating the shipment. + */ +originWarehouseGroupId?: number +/** + * @deprecated + * Internal pickup point identifier. + */ +physicalLocationId?: number +/** + * Delivery date of the shipment. + */ +incomingDate?: string +shipping?: DocumentShippingDTO +/** + * Shipment tracking code. + */ +trackingNumber?: string +/** + * URL for tracking the order offered by the carrier. + */ +trackingUrl?: string +/** + * Information about products included in the shipment. + */ +items?: { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Number of units of the item. + */ +quantity?: number +/** + * Internal identifier of the document detail line. + */ +orderDetailId?: number +} +minItems?: 0 +} +geographicalZone?: GeographicalZoneDTO +type?: ("SHIPPING" | "PICKING") +} +/** + * Information on the records of the totals. + */ +export interface DocumentTotalDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Amount due to detail lines before applying taxes. + */ +subtotalRows?: number +/** + * Amount due to the detail lines with taxes applied. + */ +totalRows?: number +/** + * Full amount without tax included due to shipping methods. + */ +subtotalShippings?: number +/** + * Full amount with taxes included due to shipping methods. + */ +totalShippings?: number +/** + * Total amount without taxes included due to the payment system. + */ +subtotalPaymentSystem?: number +/** + * Total amount with taxes included due to the payment system. + */ +totalPaymentSystem?: number +/** + * Sum of the previous subtotals. + */ +subtotal?: number +/** + * Total amount due to tax application. + */ +totalTaxes?: number +/** + * Total amount due to discounts applied to detail lines. + */ +totalRowsDiscounts?: number +/** + * Total amount due to discounts applied to the total. + */ +totalBasketDiscounts?: number +/** + * Total amount due to discounts applied to shipping methods. + */ +totalShippingDiscounts?: number +/** + * Sum of the totals due to discounts applied to detail lines and applied to the total. + */ +totalDiscounts?: number +/** + * Total amount due to added gift coupons. + */ +totalVouchers?: number +/** + * Total amount of the document. + */ +total?: number +/** + * Full amount without tax included due to picking prices. + */ +subtotalPicking?: number +/** + * Full amount with taxes included due to picking prices. + */ +totalPicking?: number +} +/** + * Information about the payment system records. Only for documents of type Order or Invoice, otherwise NULL. + */ +export interface DocumentPaymentSystemDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal identifier of the payment system. + */ +paymentSystemId?: number +/** + * Public identifier of the payment system. + */ +paymentSystemPId?: string +/** + * Information about the taxes associated with the payment system. + */ +taxes?: DocumentAppliedTaxDTO[] +/** + * Name of the payment system for the returned language. + */ +name?: string +/** + * Message of the payment system for the returned language. + */ +message?: string +/** + * Specifies the type of increase to apply. + */ +increaseType?: ("ABSOLUTE" | "PERCENTAGE") +/** + * Fixed amount or percentage to be added to the total order. + */ +increaseValue?: number +/** + * Indicates the price increase on the order due to the payment system. + */ +price?: number +/** + * Minimum value to be added to the order total in the event that the calculation using increaseValue is less than this value. + */ +increaseMin?: number +paymentType?: ("FORM" | "OFFLINE" | "NO_PAY" | "CASH_ON_DELIVERY" | "WIDGET" | "REDIRECT") +/** + * Associated plugin module name. + */ +module?: string +} +/** + * Information about gift coupon records that are applied using a code. Only for documents of type Order or Invoice, otherwise NULL. + */ +export interface DocumentVoucherDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Coupon identifier. + */ +voucherId?: number +/** + * Total amount applied for the gift coupon. + */ +availableBalance?: number +/** + * Promotional code. + */ +code?: string +} +/** + * Price information. + */ +export interface DocumentRowPricesDTO { +/** + * Price of the product without adding increases due to option values. + */ +productPrice?: number +/** + * Total increase in the price due to the different option values. + */ +optionsPrice?: number +/** + * Increase in the base price of the product due to the option value in the event it has an offer price. + */ +previousPrice?: number +/** + * Total amount resulting from adding the price of the product and the price of the options. + */ +price?: number +/** + * Amount due to applying tax. + */ +totalTaxes?: number +/** + * Total amount with taxes included. + */ +total?: number +} +export interface TransactionDocumentSingleRowDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal name of the item. + */ +name?: string +/** + * Number of units of the item. + */ +quantity?: number +/** + * Hash code of the detail line. + */ +hash?: string +/** + * Path to the image of the product included in the detail line. + */ +image?: string +codes?: ProductCodesDTO +fromShoppingListRow?: number +/** + * Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established. + */ +weight?: number +/** + * Specifies the 'onRequest' setting that the product had when the order was created.
This setting specifies whether the product can be served on-request in case of being out of stock.
The product units that are out of stock will be served on-request in case the product has this setting activated, and also the store and the product have the 'stock management' setting activated, and also the product has its stock lines defined. + */ +onRequest?: boolean +/** + * Specifies the 'onRequestDays' setting that the product had when the order was created.
This setting specifies the number of days of preparation that the product needs if it is served on-request. This information is used to display an estimated departure date in this case. + */ +onRequestDays?: number +prices?: DocumentRowPricesDTO +/** + * @deprecated + * Specifies whether the product included in the detail line is under the tax consideration of the taxable person's investment. DEPRECATED, always false. + */ +reverseChargeVat?: boolean +/** + * Link. + */ +link?: string +/** + * Specifies whether the product included in the detail line has stock management enabled. This parameter works as long as stock management is enabled in general. + */ +stockManagement?: boolean +/** + * Specifies whether the product included in the detail line can be returned. + */ +noReturn?: boolean +/** + * Reserve work method (sell inventory without stock) for the product included in the detail line. + */ +backOrder?: ("NONE" | "WITH_AND_WITHOUT_PREVISION" | "WITHOUT_PREVISION" | "WITH_PREVISION") +/** + * Brand name. + */ +brandName?: string +/** + * Internal identifier of the parent product when the product that is part of the detail line is linked. + */ +linkedParentId?: number +/** + * Information about the stock of the document detail line. + */ +stocks?: DocumentRowStockDTO[] +/** + * Information about discounts in the detail line. + */ +discounts?: DocumentDiscountDTO[] +/** + * Information about custom tags. + */ +customTags?: DocumentCustomTagDTO[] +/** + * Information about the taxes associated with the document detail line. + */ +taxes?: DocumentAppliedTaxDTO[] +/** + * Information about the product options included in the document detail line. + */ +options?: TransactionDocumentRowOptionDTO[] +/** + * Specifies that the product is In reserve. + */ +reserve?: boolean +/** + * Specifies that some unit of the detail line’s product is served on-request. + */ +onRequestAffected?: boolean +/** + * Specifies the type of document detail line. + */ +type?: ("PRODUCT" | "GIFT" | "LINKED" | "BUNDLE") +/** + * Internal identifier of the product included in the document detail line. + */ +itemId?: number +/** + * Specifies whether the product included in the detail line is on offer. + */ +offer?: boolean +} +/** + * Information about the stock of the document detail line. + */ +export interface DocumentRowStockDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Warehouse internal identifier. + */ +warehouseId?: number +/** + * Logistic center internal identifier. + */ +warehouseGroupId?: number +/** + * Number of units of the item. + */ +quantity?: number +/** + * Specifies the number of product units for which there is not enough stock. + */ +missingStockQuantity?: number +/** + * Stock provision date, if any. + */ +incomingDate?: string +/** + * Preparation or compensation days that the warehouse needs before it can supply stock. + */ +offsetDays?: number +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +/** + * The hash of the item. + */ +hash?: string +/** + * Type of provision, if any. + */ +previsionType?: ("RESERVE" | "PREVISION" | "AVAILABLE") +} +/** + * Information about the product options included in the document detail line. + */ +export interface TransactionDocumentRowOptionDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal name of the item. + */ +name?: string +/** + * @deprecated + * Product reference code. + */ +sku?: string +/** + * Message intended to display in the presentation layer. + */ +prompt?: string +/** + * Internal identifier of the option. + */ +optionId?: number +/** + * Public identifier of the option. + */ +optionPId?: string +/** + * Option value for the returned language. + */ +value?: string +/** + * Specifies whether, regardless of the units purchased of the product, the option price will be applied only once. + */ +uniquePrice?: boolean +/** + * Specifies whether the values ​​of this option are used to generate combinations of options. + */ +combinable?: boolean +/** + * Specifies the type of option. + */ +valueType?: ("BOOLEAN" | "SHORT_TEXT" | "SINGLE_SELECTION" | "MULTIPLE_SELECTION" | "SINGLE_SELECTION_IMAGE" | "MULTIPLE_SELECTION_IMAGE" | "SELECTOR" | "DATE" | "LONG_TEXT" | "ATTACHMENT") +/** + * Information about the option values. + */ +values?: TransactionDocumentRowOptionValueDTO[] +/** + * Total increase in the price due to the different option values. + */ +price?: number +/** + * Total increase in weight due to the different option values. + */ +weight?: number +/** + * Total increase in the base price of the product due to the different option values in the event it has an offer price. + */ +previousPrice?: number +} +/** + * Information about the option values. + */ +export interface TransactionDocumentRowOptionValueDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Option value for the returned language. + */ +value?: string +/** + * Public identifier of the option value. + */ +optionValuePId?: string +/** + * Weight increase due to option value. + */ +weight?: number +/** + * Increase in the price of the product due to the option value. + */ +price?: number +/** + * Increase in the base price of the product due to the option value in the event it has an offer price. + */ +previousPrice?: number +/** + * Specifies that products with this option value assigned cannot be returned. + */ +noReturn?: boolean +/** + * Internal identifier of the option value. + */ +optionValueId?: number +} +export interface TransactionDocumentRowBundleDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal name of the item. + */ +name?: string +/** + * Number of units of the item. + */ +quantity?: number +/** + * Hash code of the detail line. + */ +hash?: string +/** + * Path to the image of the product included in the detail line. + */ +image?: string +codes?: ProductCodesDTO +fromShoppingListRow?: number +/** + * Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established. + */ +weight?: number +/** + * Specifies the 'onRequest' setting that the product had when the order was created.
This setting specifies whether the product can be served on-request in case of being out of stock.
The product units that are out of stock will be served on-request in case the product has this setting activated, and also the store and the product have the 'stock management' setting activated, and also the product has its stock lines defined. + */ +onRequest?: boolean +/** + * Specifies the 'onRequestDays' setting that the product had when the order was created.
This setting specifies the number of days of preparation that the product needs if it is served on-request. This information is used to display an estimated departure date in this case. + */ +onRequestDays?: number +prices?: DocumentRowPricesDTO +/** + * @deprecated + * Specifies whether the product included in the detail line is under the tax consideration of the taxable person's investment. DEPRECATED, always false. + */ +reverseChargeVat?: boolean +items?: TransactionDocumentSingleRowDTO[] +bundleGroupingId?: number +/** + * Specifies that the product is In reserve. + */ +reserve?: boolean +/** + * Specifies the type of document detail line. + */ +type?: ("PRODUCT" | "GIFT" | "LINKED" | "BUNDLE") +/** + * Internal identifier of the product included in the document detail line. + */ +itemId?: number +/** + * Specifies whether the product included in the detail line is on offer. + */ +offer?: boolean +minItems?: 0 +} +export interface ReturnProcessDocumentRowDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal name of the item. + */ +name?: string +/** + * Number of units of the item. + */ +quantity?: number +/** + * Hash code of the detail line. + */ +hash?: string +/** + * Path to the image of the product included in the detail line. + */ +image?: string +codes?: ProductCodesDTO +fromShoppingListRow?: number +/** + * Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established. + */ +weight?: number +/** + * Specifies the 'onRequest' setting that the product had when the order was created.
This setting specifies whether the product can be served on-request in case of being out of stock.
The product units that are out of stock will be served on-request in case the product has this setting activated, and also the store and the product have the 'stock management' setting activated, and also the product has its stock lines defined. + */ +onRequest?: boolean +/** + * Specifies the 'onRequestDays' setting that the product had when the order was created.
This setting specifies the number of days of preparation that the product needs if it is served on-request. This information is used to display an estimated departure date in this case. + */ +onRequestDays?: number +prices?: DocumentRowPricesDTO +/** + * @deprecated + * Specifies whether the product included in the detail line is under the tax consideration of the taxable person's investment. DEPRECATED, always false. + */ +reverseChargeVat?: boolean +/** + * Link. + */ +link?: string +/** + * Specifies whether the product included in the detail line has stock management enabled. This parameter works as long as stock management is enabled in general. + */ +stockManagement?: boolean +/** + * Specifies whether the product included in the detail line can be returned. + */ +noReturn?: boolean +/** + * Reserve work method (sell inventory without stock) for the product included in the detail line. + */ +backOrder?: ("NONE" | "WITH_AND_WITHOUT_PREVISION" | "WITHOUT_PREVISION" | "WITH_PREVISION") +/** + * Brand name. + */ +brandName?: string +/** + * Internal identifier of the parent product when the product that is part of the detail line is linked. + */ +linkedParentId?: number +/** + * Information about the stock of the document detail line. + */ +stocks?: DocumentRowStockDTO[] +/** + * Information about discounts in the detail line. + */ +discounts?: DocumentDiscountDTO[] +/** + * Information about custom tags. + */ +customTags?: DocumentCustomTagDTO[] +/** + * Information about the taxes associated with the document detail line. + */ +taxes?: DocumentAppliedTaxDTO[] +/** + * Information about the product options included in the document detail line. + */ +options?: TransactionDocumentRowOptionDTO[] +rmaReason?: ReturnProcessDocumentRowRMAReasonDTO +/** + * Specifies that the product is In reserve. + */ +reserve?: boolean +/** + * Specifies that some unit of the detail line’s product is served on-request. + */ +onRequestAffected?: boolean +/** + * Specifies the type of document detail line. + */ +type?: ("PRODUCT" | "GIFT" | "LINKED" | "BUNDLE") +/** + * Internal identifier of the product included in the document detail line. + */ +itemId?: number +/** + * Specifies whether the product included in the detail line is on offer. + */ +offer?: boolean +} +/** + * Information about the RMA reason for this row. + */ +export interface ReturnProcessDocumentRowRMAReasonDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal identifier of the RMA reason. + */ +rmaReasonId?: number +/** + * Public identifier of the RMA reason. + */ +rmaReasonPId?: string +/** + * Description of the RMA reason for the language of the document. + */ +description?: string +/** + * Additional comment for this RMA reason. + */ +comment?: string +} +export interface LockedStocksAggregateDataCollectionDTO { +pagination?: PaginationDTOLockedStocksAggregateDataDTO +/** + * Items returned by the resource. + */ +items?: LockedStocksAggregateDataDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOLockedStocksAggregateDataDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface LockedStocksAggregateDataDTO { +/** + * Internal identifier of the product to wich the product combination belongs. + */ +productId?: number +/** + * Specifies the total LockedStock units for this product combination in the session's basket. + */ +myLockedStockUnits?: number +/** + * Specifies the total locked stock units by other sessions, for this product combination and belonging to the warehouses that are accessible by the current session. + */ +othersLockedStockUnits?: number +/** + * Specifies the quantity of the nearest to expire locked stock between the ones of the other sessions, for this product combination and belonging to the warehouses that are accessible by the current session. + */ +othersNearestLockedStockToExpireUnits?: number +/** + * Specifies when expires the nearest to expire locked stock between the ones of the other sessions, for this product combination and belonging to the warehouses that are accessible by the current session. + */ +othersNearestLockedStockToExpireTime?: string +/** + * Internal identifier of the product combination. + */ +productCombinationId?: number +} +export interface OrderDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Internal identifier of the assigned channel. + */ +channelId?: number +/** + * Document number with prefix and suffix (if any). + */ +documentNumber?: string +/** + * Date the document was created. + */ +date?: string +headquarter?: DocumentHeadquarterDTO +user?: DocumentUserDTO +rewardPoints?: DocumentRewardPointsDTO[] +/** + * @deprecated + * Specifies whether the product is considered an investment by the taxpayer for tax purposes. DEPRECATED, always false. + */ +reverseChargeVat?: boolean +/** + * Information on currency records. + */ +currencies?: DocumentCurrencyDTO[] +/** + * Information about the records of taxes applied. + */ +taxes?: DocumentTaxDefinitionDTO[] +delivery?: DocumentDeliveryDTO +comment?: string +totals?: DocumentTotalDTO +/** + * Information about records of custom tags. Only for documents of type Order or Invoice, otherwise NULL. + */ +customTags?: DocumentCustomTagDTO[] +paymentSystem?: DocumentPaymentSystemDTO +/** + * Information about gift coupon records that are applied using a code. Only for documents of type Order or Invoice, otherwise NULL. + */ +vouchers?: DocumentVoucherDTO[] +/** + * Information about records of discounts applied. Only for documents of type Order or Invoice, otherwise NULL. + */ +discounts?: DocumentDiscountDTO[] +/** + * Internal identifier of the marketplace. + */ +marketplaceId?: number +/** + * Order transaction identifier. Only available for documents of type Order or Invoice, otherwise NULL. + */ +transactionId?: string +/** + * Order authorization code. + */ +authNumber?: string +/** + * Specify current status of the document. Only for documents of type Order or RMA, otherwise NULL. + */ +status?: ("DENIED" | "INCIDENTS" | "INCOMING" | "IN_PROCESS" | "COMPLETED" | "DELETED" | "CONFIRM_DELETED") +/** + * Internal identifier of the substatus of the document. Only for documents of type Order or RMA, otherwise NULL. + */ +substatusId?: number +/** + * Additional document information. Only for documents of type Order, otherwise NULL. + */ +additionalInformation?: DocumentAdditionalInformationDTO[] +/** + * Specifies the delivery date. Only for documents of type Order, otherwise NULL. + */ +deliveryDate?: string +/** + * Specifies whether the order is paid for. Only for documents of type Order, otherwise NULL. + */ +paid?: boolean +/** + * Date the order was paid. Only for documents of type Order, otherwise NULL. + */ +paymentDate?: string +information?: DocumentInformationDTO +/** + * Specifies that is an order with some product unit served on-request. + */ +onRequestAffected?: boolean +/** + * Specifies that is Order with products in reserve. + */ +reserve?: boolean +/** + * Specify current substatus of the document. Only for documents of type Order or RMA, otherwise NULL. + */ +substatus?: string +/** + * Total. + */ +total?: number +/** + * International standard alphabetic code ISO 639-1 of the language. + */ +languageCode?: string +/** + * Information about the document detail lines. + */ +items?: TransactionDocumentRowDTO[] +minItems?: 0 +} +/** + * Additional document information. Only for documents of type Order, otherwise NULL. + */ +export interface DocumentAdditionalInformationDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Internal name of the item. + */ +name?: string +/** + * Value of the additional information field. + */ +value?: string +} +export interface CreateRMAParam { +items: CreateRMAItemParam[] +delivery?: CreateRMADeliveryParam +comment?: string +minItems?: 0 +} +export interface CreateRMAItemParam { +/** + * Hash code of the cart detail line to return. + */ +hash: string +/** + * Amount to return. + */ +quantity: number +rmaReason?: RmaReasonParam +} +/** + * Parameter block to set the RMA reason for this item. + */ +export interface RmaReasonParam { +/** + * Internal identifier of the RMA reason. Must be an active RMA reason. + */ +id: number +/** + * Comment describing the indicated RMA reason. It is required if the indicated RMA reason requires a comment. + */ +comment?: string +} +export interface CreateRMADeliveryParam { +itemId: number +type: ("SHIPPING" | "PICKING") +} +export interface RMADTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Internal identifier of the assigned channel. + */ +channelId?: number +/** + * Document number with prefix and suffix (if any). + */ +documentNumber?: string +/** + * Date the document was created. + */ +date?: string +headquarter?: DocumentHeadquarterDTO +user?: DocumentUserDTO +rewardPoints?: DocumentRewardPointsDTO[] +/** + * @deprecated + * Specifies whether the product is considered an investment by the taxpayer for tax purposes. DEPRECATED, always false. + */ +reverseChargeVat?: boolean +/** + * Information on currency records. + */ +currencies?: DocumentCurrencyDTO[] +/** + * Information about the records of taxes applied. + */ +taxes?: DocumentTaxDefinitionDTO[] +delivery?: DocumentDeliveryDTO +comment?: string +totals?: DocumentTotalDTO +/** + * Additional concepts that affect the price of the document. Only for documents of type RMA, Return or CreditNote, otherwise NULL. + */ +additionalItems?: DocumentAdditionalItemDTO[] +/** + * Specify current status of the document. Only for documents of type Order or RMA, otherwise NULL. + */ +status?: ("INCIDENTS" | "PENDING" | "AUTHORIZED" | "NO_AUTHORIZED" | "IN_PROCESS" | "ACCEPTED" | "DENIED" | "COMPLETED" | "DELETED") +/** + * Internal identifier of the substatus of the document. Only for documents of type Order or RMA, otherwise NULL. + */ +substatusId?: number +/** + * Specify current substatus of the document. Only for documents of type Order or RMA, otherwise NULL. + */ +substatus?: string +/** + * Total. + */ +total?: number +information?: DocumentInformationDTO +/** + * International standard alphabetic code ISO 639-1 of the language. + */ +languageCode?: string +/** + * Information about the document detail lines. + */ +items?: TransactionDocumentRowDTO[] +minItems?: 0 +} +/** + * Additional concepts that affect the price of the document. Only for documents of type RMA, Return or CreditNote, otherwise NULL. + */ +export interface DocumentAdditionalItemDTO { +name?: string +type?: ("SHIPPING" | "PAYMENT" | "VOUCHER") +amount?: number +taxes?: DocumentAppliedTaxDTO[] +} +export interface DeliveryNoteCollectionDTO { +pagination?: PaginationDTODeliveryNoteDTO +/** + * Items returned by the resource. + */ +items?: DeliveryNoteDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTODeliveryNoteDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface InvoiceCollectionDTO { +pagination?: PaginationDTOInvoiceDTO +/** + * Items returned by the resource. + */ +items?: InvoiceDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOInvoiceDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface RMACollectionDTO { +pagination?: PaginationDTORMADTO +/** + * Items returned by the resource. + */ +items?: RMADTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTORMADTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface PayResponseDTO { +/** + * Message indicating the reason for the payment error. It only exists when success is false. + */ +message?: string +/** + * Indicates the type of information returned to be able to redirect the user appropriately. + */ +type?: ("FORM" | "OFFLINE" | "NO_PAY" | "CASH_ON_DELIVERY" | "WIDGET" | "REDIRECT") +data?: PaymentData +/** + * Identifier of the transaction. + */ +transactionId?: string +/** + * Path of the presentation layer resource to be redirected to. This parameter is optional, which contains a value will depend on the payment gateway. In case of returning value, the presentation layer must redirect to the returned path. + */ +redirectUri?: string +/** + * Plugin identifier. + */ +pluginId?: number +/** + * Unique name of the plugin module. This is the name that appears in the plugin module-info.java file, which must follow the Java convention for naming modules and packages (for example, com.logicommerce.pluginname). + */ +pluginModule?: string +status?: ("OK" | "KO") +} +/** + * Information needed to connect to the payment gateway. + */ +export interface PaymentData { + +} +export interface PaymentValidationResponseDTO { +/** + * Message indicating the reason for the error. It only exists when success is false. + */ +message?: string +messageLog?: string +id?: number +token?: string +type?: ("NO_DATA" | "FORM" | "XML" | "REDIRECT" | "WEBHOOK_MESSAGE") +status?: ("SKIP" | "VALIDATED" | "OK" | "KO" | "ACCEPTED") +} +export interface CreditNoteDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Internal identifier of the assigned channel. + */ +channelId?: number +/** + * Document number with prefix and suffix (if any). + */ +documentNumber?: string +/** + * Date the document was created. + */ +date?: string +headquarter?: DocumentHeadquarterDTO +user?: DocumentUserDTO +rewardPoints?: DocumentRewardPointsDTO[] +/** + * @deprecated + * Specifies whether the product is considered an investment by the taxpayer for tax purposes. DEPRECATED, always false. + */ +reverseChargeVat?: boolean +/** + * Information on currency records. + */ +currencies?: DocumentCurrencyDTO[] +/** + * Information about the records of taxes applied. + */ +taxes?: DocumentTaxDefinitionDTO[] +delivery?: DocumentDeliveryDTO +comment?: string +totals?: DocumentTotalDTO +/** + * Additional concepts that affect the price of the document. Only for documents of type RMA, Return or CreditNote, otherwise NULL. + */ +additionalItems?: DocumentAdditionalItemDTO[] +/** + * Specify current substatus of the document. Only for documents of type Order or RMA, otherwise NULL. + */ +substatus?: string +/** + * Total. + */ +total?: number +information?: DocumentInformationDTO +/** + * International standard alphabetic code ISO 639-1 of the language. + */ +languageCode?: string +/** + * Information about the document detail lines. + */ +items?: TransactionDocumentRowDTO[] +minItems?: 0 +} +export interface RMAReasonCollectionDTO { +pagination?: PaginationDTORMAReasonDTO +/** + * Items returned by the resource. + */ +items?: RMAReasonDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTORMAReasonDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface RMAReasonDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Specifies if the RMA reason requires a comment. + */ +requiresComment?: boolean +language?: RMAReasonLanguageDTO +} +/** + * Information about language. The values ​​in this block may be different depending on the language that is returned. + */ +export interface RMAReasonLanguageDTO { +/** + * Description of the item for the returned language. + */ +description?: string +} +export interface ReturnDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Internal identifier of the assigned channel. + */ +channelId?: number +/** + * Document number with prefix and suffix (if any). + */ +documentNumber?: string +/** + * Date the document was created. + */ +date?: string +headquarter?: DocumentHeadquarterDTO +user?: DocumentUserDTO +rewardPoints?: DocumentRewardPointsDTO[] +/** + * @deprecated + * Specifies whether the product is considered an investment by the taxpayer for tax purposes. DEPRECATED, always false. + */ +reverseChargeVat?: boolean +/** + * Information on currency records. + */ +currencies?: DocumentCurrencyDTO[] +/** + * Information about the records of taxes applied. + */ +taxes?: DocumentTaxDefinitionDTO[] +delivery?: DocumentDeliveryDTO +comment?: string +totals?: DocumentTotalDTO +/** + * Additional concepts that affect the price of the document. Only for documents of type RMA, Return or CreditNote, otherwise NULL. + */ +additionalItems?: DocumentAdditionalItemDTO[] +/** + * Specify current substatus of the document. Only for documents of type Order or RMA, otherwise NULL. + */ +substatus?: string +/** + * Total. + */ +total?: number +information?: DocumentInformationDTO +/** + * International standard alphabetic code ISO 639-1 of the language. + */ +languageCode?: string +/** + * Information about the document detail lines. + */ +items?: TransactionDocumentRowDTO[] +minItems?: 0 +} +export interface SessionAggregateDataDTO { +basket?: SessionAggregateBasketDTO +wishlist?: SessionAggregateWishlistDTO +productComparison?: SessionAggregateProductComparisonDTO +shoppingLists?: SessionAggregateShoppingListsDTO +} +/** + * Information on calculated cart values. + */ +export interface SessionAggregateBasketDTO { +/** + * Number of products in the cart. + */ +products?: number +/** + * Number of gifts in the cart. + */ +gifts?: number +/** + * Total amount of the cart. + */ +total?: number +totalProducts?: number +bundles?: number +} +/** + * @deprecated + * Information about calculated values ​​from the wish list. + */ +export interface SessionAggregateWishlistDTO { +/** + * Number of products on the wish list. + */ +items?: number +/** + * Internal product identifiers from the wish list. + */ +itemIdList?: number[] +minItems?: 0 +} +/** + * Information about calculated values from the product comparison. + */ +export interface SessionAggregateProductComparisonDTO { +/** + * Number of products in the product comparison. + */ +items?: number +/** + * Internal product identifiers of the product comparison. + */ +itemIdList?: number[] +minItems?: 0 +} +/** + * Information about calculated values from shopping lists. + */ +export interface SessionAggregateShoppingListsDTO { +defaultOne?: SessionAggregateShoppingListDTO +} +/** + * Information about calculated values from default shopping list. + */ +export interface SessionAggregateShoppingListDTO { +/** + * Number of distinct products. + */ +products?: number +/** + * Internal distinct product identifiers. + */ +productIdList?: number[] +/** + * Number of distinct bundles. + */ +bundles?: number +/** + * Internal distinct bundle identifiers. + */ +bundleIdList?: number[] +} +export interface AddressParam { +/** + * Name. + */ +firstName?: string +/** + * Surnames. + */ +lastName?: string +/** + * Company. + */ +company?: string +/** + * Address. + */ +address?: string +/** + * Additional address field. + */ +addressAdditionalInformation?: string +/** + * House or building number. + */ +number?: string +/** + * City. + */ +city?: string +/** + * Province or state. + */ +state?: string +/** + * Zip code. + */ +postalCode?: string +/** + * Company tax identification code. + */ +vat?: string +/** + * User identity number or code. + */ +nif?: string +location?: LocationParam +/** + * Phone. + */ +phone?: string +/** + * Mobile phone. + */ +mobile?: string +/** + * Fax. + */ +fax?: string +} +export interface AddressValidatedDTO { +/** + * Indicates whether the address is valid or not. + */ +valid?: boolean +address?: AddressDTO +/** + * List of valid addresses. + */ +validAddresses?: AddressDTO[] +/** + * List of messages generated by the address validator plugin. + */ +messages?: AddressValidatedMessageDTO[] +} +/** + * List of valid addresses. + */ +export interface AddressDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Username. + */ +firstName?: string +/** + * User last names. + */ +lastName?: string +/** + * Company name. + */ +company?: string +/** + * User address. + */ +address?: string +/** + * Additional address field. + */ +addressAdditionalInformation?: string +/** + * House or building number. + */ +number?: string +/** + * Name of the city. + */ +city?: string +/** + * Province or state. + */ +state?: string +/** + * Zip Code. + */ +postalCode?: string +/** + * Company tax identification code. + */ +vat?: string +/** + * User identity number or code. + */ +nif?: string +location?: LocationDTO +/** + * Phone. + */ +phone?: string +/** + * Mobile phone. + */ +mobile?: string +/** + * Fax. + */ +fax?: string +} +/** + * List of messages generated by the address validator plugin. + */ +export interface AddressValidatedMessageDTO { +/** + * Message generated by the address validator plugin. + */ +message?: string +/** + * Detail of the message generated by the address validator plugin. + */ +detail?: string +} +export interface BlogSubscribeParam { +email?: string +} +export interface NewsletterSubscriptionRequestBody { +/** + * Email address. + */ +email: string +/** + * Open data key->value for subscription. + */ +subscriptionData?: { +/** + * Open data key->value for subscription. + */ +[k: string]: string +} +} +export interface NewsletterSubscriptionDTO { +/** + * Newsletter subscription status. + */ +status?: ("SUBSCRIBED" | "UNSUBSCRIBED" | "ERROR") +/** + * Response message type. + */ +messageType?: ("INFO" | "SCRIPT") +/** + * Response message from newsletter subscription provider. + */ +message?: string +} +export interface SalesAgentCustomerCollectionDTO { +pagination?: PaginationDTOSalesAgentCustomerDTO +/** + * Items returned by the resource. + */ +items?: SalesAgentCustomerDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOSalesAgentCustomerDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface SalesAgentCustomerDTO { +id?: number +user?: UserDTO +salesAgentTotals?: SalesAgentTotalsDTO +} +export interface SalesAgentTotalsDTO { +totalAmount?: number +commissionAmount?: number +pendingAmount?: number +totalOrders?: number +} +export interface UserOrderCollectionDTO { +pagination?: PaginationDTOUserOrderDTO +/** + * Items returned by the resource. + */ +items?: UserOrderDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOUserOrderDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface UserOrderDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Order number. + */ +documentNumber?: string +/** + * Order date. + */ +date?: string +/** + * Information about shipment records. + */ +shipments?: UserDocumentShipmentDTO[] +/** + * Order status. + */ +status?: ("DENIED" | "INCIDENTS" | "INCOMING" | "IN_PROCESS" | "COMPLETED" | "DELETED" | "CONFIRM_DELETED") +/** + * Specify current substatus of the document. Only for documents of type Order or RMA, otherwise NULL. + */ +substatus?: string +allowReturn?: boolean +/** + * Invoice information. + */ +invoices?: UserInvoiceDTO[] +/** + * Information about rmas. + */ +rmas?: UserRMADTO[] +} +/** + * Information about shipment records. + */ +export interface UserDocumentShipmentDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * URL for tracking the order offered by the carrier. + */ +trackingURL?: string +/** + * Date the shipment pickup request was made to the carrier. + */ +pickupDate?: string +/** + * Shipment tracking code. + */ +trackingNumber?: string +/** + * Information about the packages that compose the shipment. + */ +packages?: UserDocumentShippingTrackingPackageDTO[] +} +/** + * Information about the packages that compose the shipment. + */ +export interface UserDocumentShippingTrackingPackageDTO { +/** + * Specifies the weight of the package. + */ +weight?: number +/** + * Specifies the weight units. + */ +weightUnits?: string +} +/** + * Invoice information. + */ +export interface UserInvoiceDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Order number. + */ +documentNumber?: string +/** + * Order date. + */ +date?: string +documentType?: ("ORDER" | "DELIVERY_NOTE" | "INVOICE" | "RMA" | "RETURN" | "CORRECTIVE_INVOICE") +} +/** + * Items returned by the resource. + */ +export interface UserRMADTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Order number. + */ +documentNumber?: string +/** + * Order date. + */ +date?: string +/** + * Information about shipment records. + */ +shipments?: UserDocumentShipmentDTO[] +/** + * Order status. + */ +status?: ("INCIDENTS" | "PENDING" | "AUTHORIZED" | "NO_AUTHORIZED" | "IN_PROCESS" | "ACCEPTED" | "DENIED" | "COMPLETED" | "DELETED") +/** + * Specify current substatus of the document. Only for documents of type Order or RMA, otherwise NULL. + */ +substatus?: string +documentType?: ("ORDER" | "DELIVERY_NOTE" | "INVOICE" | "RMA" | "RETURN" | "CORRECTIVE_INVOICE") +/** + * Returns information. + */ +returns?: UserReturnDTO[] +} +/** + * Returns information. + */ +export interface UserReturnDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Order number. + */ +documentNumber?: string +/** + * Order date. + */ +date?: string +documentType?: ("ORDER" | "DELIVERY_NOTE" | "INVOICE" | "RMA" | "RETURN" | "CORRECTIVE_INVOICE") +/** + * Information on corrective invoices. + */ +creditNotes?: UserCreditNoteDTO[] +correctiveInvoices?: UserCreditNoteDTO[] +} +export interface UserCreditNoteDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Order number. + */ +documentNumber?: string +/** + * Order date. + */ +date?: string +documentType?: ("ORDER" | "DELIVERY_NOTE" | "INVOICE" | "RMA" | "RETURN" | "CORRECTIVE_INVOICE") +} +export interface SalesAgentSaleCollectionDTO { +salesAgentTotals?: SalesAgentTotalsDTO +pagination?: PaginationDTOSalesAgentSaleDTO +/** + * Items returned by the resource. + */ +items?: SalesAgentSaleDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOSalesAgentSaleDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface SalesAgentSaleDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * Order number. + */ +documentNumber?: string +/** + * Order date. + */ +date?: string +/** + * Information about shipment records. + */ +shipments?: UserDocumentShipmentDTO[] +/** + * Order status. + */ +status?: ("DENIED" | "INCIDENTS" | "INCOMING" | "IN_PROCESS" | "COMPLETED" | "DELETED" | "CONFIRM_DELETED") +/** + * Specify current substatus of the document. Only for documents of type Order or RMA, otherwise NULL. + */ +substatus?: string +allowReturn?: boolean +salesAgentDetails?: SalesAgentDetailsDTO +customer?: SalesAgentSaleCustomerDTO +/** + * Invoice information. + */ +invoices?: UserInvoiceDTO[] +/** + * Information about rmas. + */ +rmas?: UserRMADTO[] +} +export interface SalesAgentDetailsDTO { +totalAmount?: number +commissionAmount?: number +commissionPaid?: boolean +} +export interface SalesAgentSaleCustomerDTO { +email?: string +firstName?: string +lastName?: string +company?: string +userId?: number +} +export interface SalesAgentSimulateUserParam { +customerId: number +} +export interface CountryParam { +/** + * Country code in ISO 3166-2 format. + */ +country: string +} +export interface CurrencyParam { +/** + * Currency code in ISO 4217 format. + */ +currency: string +} +export interface LanguageParam { +/** + * Language code in ISO 639-1 format. + */ +language: string +} +export interface SubscriptionCollectionDTO { +pagination?: PaginationDTOSubscriptionDTO +/** + * Items returned by the resource. + */ +items?: SubscriptionDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOSubscriptionDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface SubscriptionDTO { +email?: string +subscriptionType?: ("BLOG" | "STOCK_ALERT") +verified?: boolean +active?: boolean +subscribedAt?: string +unsubscribedAt?: string +} +/** + * Parameter block for the billing address. + */ +export interface BillingUserAddressParam { +/** + * Name. + */ +firstName?: string +/** + * Surnames. + */ +lastName?: string +/** + * Company. + */ +company?: string +/** + * Address. + */ +address?: string +/** + * Additional address field. + */ +addressAdditionalInformation?: string +/** + * House or building number. + */ +number?: string +/** + * City. + */ +city?: string +/** + * Province or state. + */ +state?: string +/** + * Zip code. + */ +postalCode?: string +/** + * Company tax identification code. + */ +vat?: string +/** + * User identity number or code. + */ +nif?: string +location?: LocationParam +/** + * Phone. + */ +phone?: string +/** + * Mobile phone. + */ +mobile?: string +/** + * Fax. + */ +fax?: string +/** + * Alias ​​for the address. + */ +alias?: string +/** + * Set the address as default. + */ +defaultAddress?: boolean +createMode?: boolean +/** + * Type of user. + */ +userType: ("EMPTY" | "PARTICULAR" | "BUSINESS" | "FREELANCE") +/** + * Specifies whether the user is liable to sales equalization tax. + */ +re?: boolean +/** + * Specifies whether the user is liable to tax. + */ +tax?: boolean +} +/** + * Parameter block for shipping address. + */ +export interface ShippingUserAddressParam { +/** + * Name. + */ +firstName?: string +/** + * Surnames. + */ +lastName?: string +/** + * Company. + */ +company?: string +/** + * Address. + */ +address?: string +/** + * Additional address field. + */ +addressAdditionalInformation?: string +/** + * House or building number. + */ +number?: string +/** + * City. + */ +city?: string +/** + * Province or state. + */ +state?: string +/** + * Zip code. + */ +postalCode?: string +/** + * Company tax identification code. + */ +vat?: string +/** + * User identity number or code. + */ +nif?: string +location?: LocationParam +/** + * Phone. + */ +phone?: string +/** + * Mobile phone. + */ +mobile?: string +/** + * Fax. + */ +fax?: string +/** + * Alias ​​for the address. + */ +alias?: string +/** + * Set the address as default. + */ +defaultAddress?: boolean +createMode?: boolean +} +export interface BillingUserAddressUpdateParam { +/** + * Name. + */ +firstName?: string +/** + * Surnames. + */ +lastName?: string +/** + * Company. + */ +company?: string +/** + * Address. + */ +address?: string +/** + * Additional address field. + */ +addressAdditionalInformation?: string +/** + * House or building number. + */ +number?: string +/** + * City. + */ +city?: string +/** + * Province or state. + */ +state?: string +/** + * Zip code. + */ +postalCode?: string +/** + * Company tax identification code. + */ +vat?: string +/** + * User identity number or code. + */ +nif?: string +location?: LocationParam +/** + * Phone. + */ +phone?: string +/** + * Mobile phone. + */ +mobile?: string +/** + * Fax. + */ +fax?: string +/** + * Alias ​​for the address. + */ +alias?: string +/** + * Set the address as default. + */ +defaultAddress?: boolean +createMode?: boolean +/** + * Type of user. + */ +userType?: ("EMPTY" | "PARTICULAR" | "BUSINESS" | "FREELANCE") +/** + * Specifies whether the user is liable to sales equalization tax. + */ +re?: boolean +/** + * Specifies whether the user is liable to tax. + */ +tax?: boolean +} +export interface UserOauthUrlDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * External connection access URL. + */ +url?: string +} +export interface UserOauthDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +/** + * User's email address. + */ +email?: string +/** + * Username. + */ +firstName?: string +/** + * User last names. + */ +lastName?: string +} +export interface UserRMACollectionDTO { +pagination?: PaginationDTOUserRMADTO +/** + * Items returned by the resource. + */ +items?: UserRMADTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOUserRMADTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface PluginPaymentTokenCollectionDTO { +module?: string +pagination?: PaginationDTOPluginPaymentTokenDTO +/** + * Items returned by the resource. + */ +items?: PluginPaymentTokenDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOPluginPaymentTokenDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface PluginPaymentTokenDTO { +token?: string +data?: { +[k: string]: string +} +} +export interface BasicPluginCollectionDTO { +pagination?: PaginationDTOBasicPluginDTO +/** + * Items returned by the resource. + */ +items?: BasicPluginDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOBasicPluginDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface BasicPluginDTO { +/** + * Unique name of the plugin module. This is the name that appears in the plugin module-info.java file, which must follow the Java convention for naming modules and packages (for example, com.logicommerce.pluginname). + */ +module?: string +/** + * Information about plugin properties. + */ +properties?: PluginPropertyDTO[] +required?: [] +additionalProperties?: never +} +/** + * Information about plugin properties. + */ +export interface PluginPropertyDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Plugin connector type. + */ +connectorType?: ("NONE" | "SHIPPER" | "SHIPPING_TYPE" | "PAYMENT_SYSTEM" | "CUSTOM_TAG" | "RELATED_DEFINITION" | "BASKET" | "MAILING_SYSTEM" | "SEARCH_ENGINE" | "OAUTH" | "TRACKER" | "ASSET" | "MARKETPLACE" | "SHIPMENT" | "CONFIRM_ORDER" | "ORDER_STATUS" | "MARKETING" | "DATA" | "UNKNOWN" | "CAPTCHA" | "MAPS" | "TAXES" | "ORDER" | "DOCUMENT_PAYMENT_SYSTEM" | "DOCUMENT_SHIPMENT" | "RMA" | "EXPRESS_CHECKOUT" | "ADDRESS_VALIDATOR" | "PICKUP_POINT_PROVIDER") +/** + * Connector identifier. + */ +itemId?: number +/** + * Property name. + */ +name?: string +hint?: string +/** + * Property value. + */ +value?: string +} +export interface ChangePasswordParam { +/** + * Current password. + */ +password: string +/** + * New Password. + */ +newPassword: string +} +export interface ChangePasswordHashParam { +/** + * New Password. + */ +password: string +/** + * Hash code to validate the user who changes the password. + */ +hash: string +} +export interface SaveForLaterListPaginationDTO { +/** + * Information for each product referenced from any of the returned rows. + */ +products?: ProductDTO[] +/** + * Information for each bundle referenced from any of the returned rows. + */ +bundles?: BundleGroupingDTO[] +pagination?: PaginationDTOSaveForLaterListRowDTO +/** + * Items returned by the resource. + */ +items?: SaveForLaterListRowDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOSaveForLaterListRowDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface SaveForLaterListRowDTO { +/** + * Internal identifier of the item. + */ +id?: number +reference?: ListRowReferenceDTO +/** + * Specifies the date time the row was added. Format ISO-8601 ('YYYY-MM-DDThh:mm:ssZ'). + */ +addedDate?: string +/** + * Required quantity. + */ +quantity?: number +/** + * Public identifier of the item. + */ +pId?: string +} +export interface ListRowReferenceProductDTO { +/** + * Specifies the internal identifier of the referenced item. + */ +id?: number +/** + * Information about the set product options. + */ +options?: OptionReferenceDTO[] +combinationData?: ProductCombinationDataDTO +/** + * Specifies the reference type. + */ +type?: string +} +/** + * Information about the set product options. + */ +export interface OptionReferenceDTO { +/** + * Internal identifier of the product option. + */ +id?: number +/** + * List of the set values of the product option. It can contain more than one value if the option is multiple, otherwise it will contain only one. + */ +values?: OptionReferenceValueDTO[] +} +/** + * List of the set values of the product option. It can contain more than one value if the option is multiple, otherwise it will contain only one. + */ +export interface OptionReferenceValueDTO { +/** + * Set value for the product option. - If option is of type selector, it contains a internal identifier of its option values. - If option is of type Yes/No, it contains 'true' or 'false'. - If option is of type Date, it contains a date with format 'yyyy-mm-dd'. - If option is of type Attachment, contains the url of the attachment. - If option is of type text, contains the text. + */ +value?: string +} +export interface ListRowReferenceBundleDTO { +/** + * Specifies the internal identifier of the referenced item. + */ +id?: number +/** + * Information about the set bundle's options. + */ +options?: ListRowReferenceBundleItemDTO[] +combinationData?: BundleCombinationDataDTO +/** + * Specifies the reference type. + */ +type?: string +} +/** + * Information about the set bundle's options. + */ +export interface ListRowReferenceBundleItemDTO { +/** + * Specifies the internal identifier of the bundle's item. + */ +itemId?: number +/** + * Information about the set product options. + */ +options?: OptionReferenceDTO[] +} +export interface ListRowReferenceBundleNoCombinationDataDTO { +/** + * Specifies the internal identifier of the referenced item. + */ +id?: number +/** + * Information about the set bundle's options. + */ +options?: ListRowReferenceBundleItemDTO[] +/** + * Specifies the reference type. + */ +type?: string +} +export interface ListRowReferenceProductNoCombinationDataDTO { +/** + * Specifies the internal identifier of the referenced item. + */ +id?: number +/** + * Information about the set product options. + */ +options?: OptionReferenceDTO[] +/** + * Specifies the reference type. + */ +type?: string +} +export interface ListRowReferenceBundleBackNoCombinationDataDTO { +/** + * Specifies the internal identifier of the referenced item. + */ +id?: number +/** + * Information about the set bundle's options. + */ +options?: ListRowReferenceBundleBackItemDTO[] +/** + * Specifies the reference type. + */ +type?: string +} +/** + * Information about the set bundle's options. + */ +export interface ListRowReferenceBundleBackItemDTO { +itemId?: number +options?: OptionBackReferenceDTO[] +} +/** + * Information about the set product options. + */ +export interface OptionBackReferenceDTO { +/** + * Public identifier of the item. + */ +getpId?: string +/** + * Internal identifier of the product option. + */ +id?: number +/** + * List of the set values of the product option. It can contain more than one value if the option is multiple, otherwise it will contain only one. + */ +values?: OptionBackReferenceValueDTO[] +} +/** + * List of the set values of the product option. It can contain more than one value if the option is multiple, otherwise it will contain only one. + */ +export interface OptionBackReferenceValueDTO { +/** + * Set value for the product option. - If option is of type selector, it contains a internal identifier of its option values. - If option is of type Yes/No, it contains 'true' or 'false'. - If option is of type Date, it contains a date with format 'yyyy-mm-dd'. - If option is of type Attachment, contains the url of the attachment. - If option is of type text, contains the text. + */ +value?: string +/** + * Public identifier of the item. + */ +valuePId?: string +} +export interface ListRowReferenceProductBackNoCombinationDataDTO { +/** + * Specifies the internal identifier of the referenced item. + */ +id?: number +/** + * Public identifier of the item. + */ +getpId?: string +/** + * Information about the set product options. + */ +options?: OptionBackReferenceDTO[] +/** + * Specifies the reference type. + */ +type?: string +} +export interface SaveForLaterListBody { +/** + * Parameter block with the information about each shopping list row to be added to the 'save for later list'. + */ +items: SaveForLaterListRowBody[] +minItems?: 0 +} +/** + * Parameter block with the information about each shopping list row to be added to the 'save for later list'. + */ +export interface SaveForLaterListRowBody { +/** + * Hash identifier of the shopping cart row from which to create a row in the 'saver for later list'. + */ +basketRowHash: string +} +export interface SaveForLaterListRowCollectionDTO { +incidences?: IncidenceDTO[] +/** + * Items returned by the resource. + */ +items?: SaveForLaterListRowDTO[] +minItems?: 0 +} +export interface IncidenceDTO { +detail?: DetailDTO +item?: { + +} +} +/** + * Incidence cause information. + */ +export interface DetailDTO { +reference?: string +status?: string +code?: string +stackTrace?: string +message?: string +} +export interface ShoppingListCollectionDTO { +pagination?: PaginationDTOShoppingListDTO +/** + * Items returned by the resource. + */ +items?: ShoppingListDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOShoppingListDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface ShoppingListDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Name of the item. + */ +name?: string +/** + * Description of the item. + */ +description?: string +/** + * Specifies whether the rows of the shopping list are automatically deleted from the shopping list when their items are purchased though them. + */ +keepPurchasedItems?: boolean +/** + * Specifies whether this shopping list is the default one. + */ +defaultOne?: boolean +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +/** + * Public identifier of the item. + */ +pId?: string +} +export interface ShoppingListBody { +/** + * Name of the shopping list. Must be different to empty string or only spaces. + */ +name?: string +/** + * Description of the shopping list. + */ +description?: string +/** + * Specifies whether the rows of the shopping list are automatically deleted from the shopping list when their items are purchased though them. + */ +keepPurchasedItems?: boolean +/** + * Sets this shopping list as the default one. There should always be a default list. + */ +defaultOne?: boolean +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +} +export interface ShoppingListRowFrontPaginationDTO { +/** + * Information for each product referenced from any of the returned rows. + */ +products?: ProductDTO[] +/** + * Information for each bundle referenced from any of the returned rows. + */ +bundles?: BundleGroupingDTO[] +pagination?: PaginationDTOShoppingListRowDTO +/** + * Items returned by the resource. + */ +items?: ShoppingListRowDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOShoppingListRowDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface ShoppingListRowDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Comment of the shopping list row. + */ +comment?: string +/** + * Specifies the importance of this shopping list row over the rest. + */ +importance?: ("LOWEST" | "LOW" | "MEDIUM" | "HIGH" | "HIGHEST") +/** + * Specifies the order of presentation of this item in relation to the rest of items of the same type. + */ +priority?: number +reference?: ListRowReferenceDTO +/** + * Specifies the date time the shopping list row was added. Format ISO-8601 ('YYYY-MM-DDThh:mm:ssZ'). + */ +addedDate?: string +/** + * Required quantity of the shopping list row. + */ +quantity?: number +/** + * Specifies the internal identifier of the shopping list this row belongs to. + */ +shoppingListId?: number +/** + * Public identifier of the item. + */ +pId?: string +} +export interface ShoppingListRowBody { +/** + * Parameter block with the information about each shopping list row to be added to the specified shopping list. + */ +items?: ListRowBody[] +minItems?: 0 +} +/** + * Parameter block with the information about each shopping list row to be added to the specified shopping list. + */ +export interface ListRowBody { +reference?: ListRowReferenceBody +/** + * Hash identifier of the basket row from which the referenced item information should be taken. This parameter takes precedence over the 'reference' parameter. Only admits hash identifiers of basket rows of type product or bundle (gift, linked and bundle item rows are excluded) + */ +referenceOfBasketRow?: string +/** + * Comment of the shopping list row. + */ +comment?: string +/** + * Specifies the order of presentation of this shopping list row in relation to the rest of shopping list rows of the shopping list. It must be a value between 1 and the total quantity of shopping list rows of the shopping list. + */ +priority?: number +/** + * Required quantity of the shopping list row. It must be greater or equal to 1. + */ +quantity?: number +/** + * Specifies the importance of this shopping list row over the rest. + */ +importance?: ("LOWEST" | "LOW" | "MEDIUM" | "HIGH" | "HIGHEST") +} +/** + * Information about the referenced item. + */ +export interface ListRowReferenceBody { +/** + * Specifies the reference type. + */ +type: "Enum(PRODUCT,BUNDLE)" +/** + * Specifies the internal identifier of the referenced item. + */ +id: number +/** + * Parameter block to set the required product options. The 'option-value' pairs sent for this parameter must match the options you want to set for the product. If an empty array is specified then it will be left with no options set. Only applicable for Product references. + */ +productOptions?: BasketProductOptionParam[] +/** + * Parameter block to set the required options of the bundle's items. For each pack's item you want to set options, you need to specify the identifier of the pack's item and as many 'option-value' pairs as options you want to set for that item of the pack. If an empty array is specified then it will be left with no options set. Only applicable for Bundle references. + */ +bundleOptions?: BasketBundleOptionParam[] +} +export interface ShoppingListRowCollectionDTO { +incidences?: IncidenceDTO[] +/** + * Information of the created items. + */ +items?: ShoppingListRowDTO[] +minItems?: 0 +} +export interface ShoppingListRowDeleteBody { +/** + * Internal product identifiers. The shopping list rows that references any of these products will be deleted. + */ +productIdList?: number[] +/** + * Internal bundle identifiers. The shopping list rows that references any of these bundles will be deleted. + */ +bundleIdList?: number[] +/** + * Internal shopping list rows identifiers. These rows will be deleted from the shopping list. + */ +rowIdList?: number[] +} +export interface IncidencesCollectionDTO { +/** + * Information about detected incidences. + */ +incidences?: IncidenceDeleteItemDTO[] +} +/** + * Information about detected incidences. + */ +export interface IncidenceDeleteItemDTO { +item?: ShoppingListRowDeleteItemDTO +detail?: DetailDTO +} +/** + * Information about the provided identifier that causes the incidence. + */ +export interface ShoppingListRowDeleteItemDTO { +/** + * Internal identifier. + */ +id?: number +/** + * Type of the element identified by this identifier. + */ +type?: "Enum('PRODUCT','BUNDLE','SHOPPING_LIST_ROW')" +} +export interface RewardPointsBalanceCollectionDTO { +pagination?: PaginationDTORewardPointsBalanceDTO +/** + * Items returned by the resource. + */ +items?: RewardPointsBalanceDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTORewardPointsBalanceDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface RewardPointsBalanceDTO { +/** + * Internal identifier of the item. + */ +id?: number +/** + * Public identifier of the item. + */ +pId?: string +language?: NameDescriptionDTO +availables?: RewardPointsBalanceAvailableDTO[] +earned?: number +redeemed?: number +pending?: number +} +export interface RewardPointsBalanceAvailableDTO { +value?: number +expirationDate?: string +} +export interface StockAlertCollectionDTO { +pagination?: PaginationDTOStockAlertDTO +/** + * Items returned by the resource. + */ +items?: StockAlertDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOStockAlertDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +/** + * Items returned by the resource. + */ +export interface StockAlertDTO { +/** + * Internal identifier of the product combination to which you have subscribed. + */ +id?: number +/** + * Email linked to the stock alert subscription. + */ +email?: string +/** + * Subscription date for the stock alert. + */ +subscriptionDate?: string +product?: ProductStockAlertDTO +} +/** + * Information about the subscribed product. + */ +export interface ProductStockAlertDTO { +/** + * Item name. + */ +name?: string +images?: MediaDTO +/** + * URL of the item. + */ +url?: string +productCombination?: ProductCombinationDTO +} +/** + * Information about the combinations of option values that a product can have. + */ +export interface ProductCombinationDTO { +/** + * Internal identifier of the item. + */ +id?: number +codes?: ProductCodesDTO +/** + * Information about the option values ​​that make up the combinations. + */ +combinationValues?: ProductCombinationValueDTO[] +} +/** + * Information about the option values ​​that make up the combinations. + */ +export interface ProductCombinationValueDTO { +/** + * Internal identifier of the item. + */ +optionId?: number +/** + * Name of the product option for the returned language. + */ +optionName?: string +/** + * Internal identifier of the item. + */ +valueId?: number +/** + * Option value for the returned language. + */ +valueName?: string +} +export interface SetUserParam { +pId?: string +/** + * Nickname of the user. + */ +nick?: string +/** + * User gender + */ +gender?: ("UNDEFINED" | "MALE" | "FEMALE") +/** + * Date of birth. + */ +birthday?: string +/** + * Specifies that a shipping address is used to receive an order. + */ +useShippingAddress?: boolean +/** + * Specifies that the user is subscribed to a newsletter. + */ +subscribed?: boolean +/** + * Path of the user image file. + */ +image?: string +/** + * Email address. + */ +email?: string +/** + * Password. + */ +password?: string +/** + * Specifies that the user must register. + */ +createAccount?: boolean +/** + * Parameter block for custom tags. The tag - value pairs for that tag must match the required tags. + */ +customTags?: CustomTagParam[] +/** + * Public identifier of user group. + */ +groupPId?: string +pid?: string +billingAddress?: BillingUserAddressParam +shippingAddress?: ShippingUserAddressParam +} +export interface UserExistsDTO { +exists?: boolean +} +export interface LoginParam { +/** + * User identifier. Depending on the configuration, this can be the user's email address or public identifier (pId). + */ +username: string +/** + * Password. + */ +password: string +} +export interface ResendVerifyUserParam { +/** + * @deprecated + * Email address. + */ +email?: string +/** + * User identifier. + */ +userIdentifier?: string +} +export interface ListRowUpdateBody { +reference?: ListRowReferenceUpdateBody +/** + * Comment of the shopping list row. + */ +comment?: string +/** + * Specifies the order of presentation of this shopping list row in relation to the rest of shopping list rows of the shopping list. It must be a value between 1 and the total quantity of shopping list rows of the shopping list. + */ +priority?: number +/** + * Required quantity of the shopping list row. It must be greater or equal to 1. + */ +quantity?: number +/** + * Specifies the importance of this shopping list row over the rest. + */ +importance?: ("LOWEST" | "LOW" | "MEDIUM" | "HIGH" | "HIGHEST") +/** + * Specifies the internal identifier of the shopping list this row belongs to. It must be one of the registered user. + */ +shoppingListId?: number +} +/** + * Information about the referenced item. + */ +export interface ListRowReferenceUpdateBody { +/** + * Parameter block to set the required product options. The 'option-value' pairs sent for this parameter must match the options you want to set for the product. If an empty array is specified then it will be left with no options set. Only applicable for Product references. + */ +productOptions?: BasketProductOptionParam[] +/** + * Parameter block to set the required options of the bundle's items. For each pack's item you want to set options, you need to specify the identifier of the pack's item and as many 'option-value' pairs as options you want to set for that item of the pack. If an empty array is specified then it will be left with no options set. Only applicable for Bundle references. + */ +bundleOptions?: BasketBundleOptionParam[] +typeEnum?: ("PRODUCT" | "GIFT" | "BUNDLE" | "BUNDLE_ITEM" | "LINKED" | "SELECTABLE_GIFT") +id?: number +type?: string +} +export interface VoucherCollectionDTO { +pagination?: PaginationDTOVoucherDTO +/** + * Items returned by the resource. + */ +items?: VoucherDTO[] +minItems?: 0 +} +/** + * Information about the pagination of the items. + */ +export interface PaginationDTOVoucherDTO { +/** + * Return page number. + */ +page?: number +/** + * Number of items per page. + */ +perPage?: number +/** + * Total number of items. + */ +totalItems?: number +/** + * Total number of pages. + */ +totalPages?: number +} +export interface AuthDTO { +/** + * Unique access identifier. + */ +token?: string +} +export interface VersionDTO { +version?: string +} diff --git a/logicommerce/utils/openapi/api.openapi.json b/logicommerce/utils/openapi/api.openapi.json new file mode 100644 index 000000000..698a7623d --- /dev/null +++ b/logicommerce/utils/openapi/api.openapi.json @@ -0,0 +1,40020 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "LogiCommerce™ API", + "contact": { + "name": "LogiCommerce™ API Support", + "url": "https://www.logicommerce.com", + "email": "support@logicommerce.com" + }, + "version": "latest", + "x-logo": { + "altText": "LogiCommerce™ API", + "url": "http://lc-cloud-assets.s3.amazonaws.com/api/logicommerce-logo-api-doc.png" + } + }, + "servers": [ + { + "url": "http://localhost:8083/" + } + ], + "tags": [ + { + "name": "", + "description": "" + }, + { + "name": "Authorization", + "description": "This block contains resources to obtain and refresh the access token. To obtain this token it is necessary to have the API identifier and secret key.
The access token is essential to be able to use any API resource . Once obtained (using the get access token resource), you must always pass on any request to an API resource such as Authorization header of type Bearer token. If the access token is invalid or has expired, the system returns an 401 Unauthorized error." + }, + { + "name": "Catalog and content", + "description": "In this block are the resources that obtain information about catalog items and those that serve to host content, i.e. areas, categories, products, information pages, banners and news. It is complemented with other resources necessary for managing content in general, such as obtaining site maps or tracker scripts.
Particularly important in this block is the resource to obtain the route, which is necessary for the presentation layer to be aware of the type of information and content to be displayed." + }, + { + "name": "Blog", + "description": "The resources in this block are focused on obtaining information about blog contents. It also allows the management of comments and any subscriptions to and unsubscriptions to the different blog items." + }, + { + "name": "Cart", + "description": "The cart block resources center on controlling and managing the actions taken during the purchase process. It includes the resources that retrieve information about the possible forms of delivery, their shipment and the associated shipping types that are enabled in order to send these shipments.
It should be stressed that the price system works in a transparent, synchronized way to provide prices in accordance with the features of the cart, so there is no need to invoke or request prices explicitly. The price system also adapts automatically to currency changes, so the cart will always show (without the need for additional actions) the appropriate prices in the selected currency, either via prices by currency or by a change of currency." + }, + { + "name": "OMS", + "description": "The order management system ( OMS ) is in charge of controlling and managing the actions carried out when the purchase process is completed. This includes orders, related documents such as invoices, delivery notes, requests to return all or part of an order, returns of all or part of an order, credit notes or documentation in PDF format.
In this block are the resources that manage all this, always bearing in mind that they are resources oriented to the presentation layer (for advanced management it is necessary to use API Sync).
There are also the resources necessary to carry out a connection to the payment gateway and its subsequent validation." + }, + { + "name": "User", + "description": "This block contains resources focused on user actions and information. It includes login, logout, user information, registration and deletion of addresses linked to the user, password recovery, email address validation, subscriptions to stock alerts and newsletter or resources to change the currency or language of the user session (changes that are also reflected in the cart)." + }, + { + "name": "Settings", + "description": "The resources in this block retrieve information about Commerce's settings and configurations. These settings are organized by areas, so each of these areas contains only the settings that affect it. It is possible to access one of these areas individually or to retrieve all the settings and configurations in a single request (except blog, which is only possible to obtain individually)." + }, + { + "name": "Bulk API", + "description": "The resources in this block are intended to improve the performance of the presentation layer. For example, displaying a page may require information to be retreived from different resources. To avoid calling all of them one after the other, with the latencies inevitably associated with each of them, the resource can be used to send batch requests. It is highly advisable to use this resource, as it improves performance considerably." + }, + { + "name": "Cache system", + "description": "This resource block manages the item cache. This cache works as a web application accelerator in a way that increases performance by a very high percentage.
This cache system, midway between the API core and the web presentation layer, stores a copy of the items that the API returns upon request to a resource and is responsible for deciding whether to return the copy or request data from the API. When the cache system returns a copy, the API does not intervene because the request is handled and returned directly by the cache system. Therefore the more items are stored, the faster the presentation layer gets the necessary data and the faster it can display it. If the requested items are not in a stored copy or that copy has expired, the cache system directs the request to the API so that it can process it. The response is then stored to make it available for the next request." + }, + { + "name": "Plugin system", + "description": "The resources in this block serve as support for various plugins. They provide information about data contained in the plugin definitions; information that may have a particular structure and content. This information may be required or necessary for the plugin to perform its functions. For example, a plugin might need data to connect to an external system. This data would be contained in the plugin definition and through the plugin data retrieval resource, it is retrieved so that the plugin can connect." + }, + { + "name": "Legal texts", + "description": "This resource block provides information on the legal texts that Commerce may need to display on certain occasions, especially in user data collection processes.
In data collection processes, the user may need to agree to a series of conditions in the form of legal texts. These texts can be displayed in the way required by the presentation layer and, depending on the context, the way they are displayed may be different in each case. The purpose of the resources in this block is to provide legal information regardless of context." + } + ], + "paths": { + "/batch": { + "post": { + "tags": [ + "Bulk API" + ], + "summary": "batch", + "description": "Sends a single request that includes calls to a resource group. Returns a structure that contains as many items as there are resources in the request. Each of these items includes 4 blocks:
body : this is the body of the response returned by the call to the resource. It has the same structure as when it is called alone.
status : response code of the call to the resource
headers : headers of the response of the call to the resource
requestId : Identifier of the call to the resource.
The batch request only supports resources of type GET .", + "operationId": "doBatchRequest", + "requestBody": { + "description": "Parameter block for batch request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BatchRequestParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/legalTexts/privacyPolicy": { + "get": { + "tags": [ + "Legal texts" + ], + "summary": "legalTexts/privacyPolicy", + "description": "Get the text of the privacy policy configured in the Commerce.", + "operationId": "getPrivacyPolicy", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DataTextDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/legalTexts/termsOfUse": { + "get": { + "tags": [ + "Legal texts" + ], + "summary": "legalTexts/termsOfUse", + "description": "Get the text of the terms and conditions of use configured in the Commerce.", + "operationId": "getTermsOfUse", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DataTextDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/assets/ender": { + "get": { + "tags": [ + "Plugin system" + ], + "operationId": "ennder", + "responses": { + "default": { + "description": "default response", + "content": { + "application/json": {} + } + } + } + } + }, + "/assets": { + "get": { + "tags": [ + "Plugin system" + ], + "summary": "assets", + "description": "Get a set of assets by applying the available filters and parameters.", + "operationId": "getAssets", + "parameters": [ + { + "name": "routeType", + "in": "query", + "description": "", + "schema": { + "type": "string", + "enum": [ + "PREHOME", + "HOME", + "PRIVACY_POLICY", + "CONTACT", + "TERMS_OF_USE", + "NOT_FOUND", + "FEED", + "SITEMAP", + "SEARCH", + "AREA", + "BRANDS", + "BRAND", + "CATEGORY", + "NEWS_LIST", + "NEWS", + "PAGE", + "POLL", + "DISCOUNT", + "DISCOUNTS", + "PRODUCT_COMPARISON", + "PRODUCT", + "FEATURED_PRODUCTS", + "OFFERS", + "SUBSCRIPTION_VERIFY", + "SUBSCRIPTION_UNSUBSCRIBE", + "BLOG_HOME", + "BLOG_TAG_CLOUD", + "BLOG_TAG", + "BLOG_ARCHIVE", + "BLOG_POST", + "BLOG_BLOGGERS", + "BLOG_BLOGGER", + "BLOG_CATEGORY", + "BLOG_UNSUBSCRIBE", + "BLOG_CATEGORY_UNSUBSCRIBE", + "BLOG_POST_UNSUBSCRIBE", + "BLOG_RSS", + "BASKET", + "BASKET_RECOVERY", + "EXPRESS_CHECKOUT_RETURN", + "EXPRESS_CHECKOUT_CANCEL", + "ORDER", + "CHECKOUT", + "CHECKOUT_ASYNC_ORDER", + "CHECKOUT_BASKET", + "CHECKOUT_CONFIRM_ORDER", + "CHECKOUT_CREATE_ACCOUNT", + "CHECKOUT_CUSTOMER", + "CHECKOUT_CUSTOMER_NEW_REGISTER", + "CHECKOUT_DENIED_ORDER", + "CHECKOUT_END_ORDER", + "CHECKOUT_GUEST", + "CHECKOUT_PAYMENT_AND_SHIPPING", + "PHYSICAL_LOCATION", + "PHYSICAL_LOCATION_CITIES", + "PHYSICAL_LOCATION_COUNTRIES", + "PHYSICAL_LOCATION_MAP", + "PHYSICAL_LOCATION_STATES", + "PHYSICAL_LOCATION_STORES", + "USER", + "USER_ADDRESS_BOOK", + "USER_ADDRESS_BOOK_ADD", + "USER_ADDRESS_BOOK_EDIT", + "USER_CHANGE_PASSWORD", + "CHANGE_PASSWORD_ANONYMOUS", + "USER_COMPLETE_ACCOUNT", + "USER_CREATE_ACCOUNT", + "USER_DELETE_ACCOUNT", + "USER_DELETE_NEWSLETTER", + "USER_VOUCHER_CODES", + "USER_LOST_PASSWORD", + "USER_OAUTH", + "USER_OAUTH_CALLBACK", + "USER_OAUTH_CALLBACK_PATH", + "USER_ORDERS", + "USER_ORDER", + "USER_PAYMENT_CARDS", + "USER_POLICIES", + "USER_RECOMMENDED_BASKETS", + "USER_SPONSORSHIP", + "USER_STOCK_ALERTS", + "USER_SUBSCRIPTIONS", + "USER_USER_WELCOME", + "USER_VERIFY_ACCOUNT", + "USER_WISHLIST", + "USER_SALES_AGENT", + "USER_RMAS", + "USER_SALES_AGENT_SALES", + "USER_SALES_AGENT_CUSTOMERS", + "USER_REWARD_POINTS", + "USER_SHOPPING_LISTS", + "ANY" + ] + } + }, + { + "name": "pageType", + "in": "query", + "description": "Specifies the type of page where the asset is embedded. ", + "schema": { + "type": "string", + "enum": [ + "ALL", + "HOME", + "AREA", + "CATEGORY", + "PRODUCT", + "CHECKOUT", + "CHECKOUT_USER", + "PAYMENT_SHIPPING", + "CONFIRM_ORDER", + "DENIED_ORDER", + "PAGE_CONTENT", + "NEWS", + "NEW_USER", + "BLOG", + "BLOG_HOME", + "BLOG_TAGS", + "BLOG_CATEGORY", + "BLOG_POST", + "BLOG_AUTHOR", + "SEARCH" + ] + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AssetCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/assets/marketplace/orders": { + "get": { + "tags": [ + "Plugin system" + ], + "operationId": "importOrdersMarketplace", + "responses": { + "default": { + "description": "default response", + "content": { + "application/json": {} + } + } + } + } + }, + "/assets/marketplace/returns": { + "get": { + "tags": [ + "Plugin system" + ], + "operationId": "importReturnsMarketplace", + "responses": { + "default": { + "description": "default response", + "content": { + "application/json": {} + } + } + } + } + }, + "/plugins/{id}/execute": { + "post": { + "tags": [ + "Plugin system" + ], + "summary": "pluginData", + "description": "Executes an action defined in the specified plugin. The information required to execute this action must be declared in the body of the request. Actually, this resource launches requests to the plugin to execute the necessary action. This is necessary when the plugin can perform specific actions of its own that must be activated on demand. Valid only if you are logged in .", + "operationId": "executePluginAction", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Request body for plugin action.", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/PluginDataParams" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": {} + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/plugins/{id}/properties": { + "get": { + "tags": [ + "Plugin system" + ], + "summary": "plugins/id/properties", + "description": "Gets information about the plugin configuration through the specified internal identifier. A plugin can have more than one connector and each connector can have more than one element defined (for example, if there is a plugin with a payment system type connector, there can be more than one payment method (elements) created under that plugin).", + "operationId": "getPluginProperties", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PluginPropertiesDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/plugins/properties": { + "get": { + "tags": [ + "Plugin system" + ], + "summary": "plugins/properties", + "description": "Gets information about the plugin configuration through the specified module name. A plugin can have more than one connector and each connector can have more than one element defined (for example, if there is a plugin with a payment system type connector, there can be more than one payment method (elements) created under that plugin).", + "operationId": "getPluginProperties_1", + "parameters": [ + { + "name": "module", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PluginPropertiesDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/plugins": { + "get": { + "tags": [ + "Plugin system" + ], + "summary": "plugins", + "description": "Gets the collection of Commerce plugins of the specified type.", + "operationId": "getPlugins", + "parameters": [ + { + "name": "type", + "in": "query", + "schema": { + "type": "string", + "enum": [ + "NONE", + "SHIPPER", + "SHIPPING_TYPE", + "PAYMENT_SYSTEM", + "CUSTOM_TAG", + "RELATED_DEFINITION", + "BASKET", + "MAILING_SYSTEM", + "SEARCH_ENGINE", + "OAUTH", + "TRACKER", + "ASSET", + "MARKETPLACE", + "SHIPMENT", + "CONFIRM_ORDER", + "ORDER_STATUS", + "MARKETING", + "DATA", + "UNKNOWN", + "CAPTCHA", + "MAPS", + "TAXES", + "ORDER", + "DOCUMENT_PAYMENT_SYSTEM", + "DOCUMENT_SHIPMENT", + "RMA", + "EXPRESS_CHECKOUT", + "ADDRESS_VALIDATOR", + "PICKUP_POINT_PROVIDER" + ] + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PluginCollectionDTO" + } + } + } + } + } + } + }, + "/purge/internal": { + "delete": { + "tags": [ + "Cache system" + ], + "summary": "Purge internal cache", + "description": "Purges internal caches like sql or MongoDB results.", + "operationId": "internalPurge", + "parameters": [ + { + "name": "cacheType", + "in": "query", + "description": "Type of cache to purge.", + "schema": { + "type": "string", + "enum": [ + "ADMINISTRATION", + "PLUGIN_ACCOUNT", + "PLUGIN", + "COMMERCE", + "CATALOG", + "LMS", + "LOCATIONS" + ] + } + }, + { + "name": "cachePurgePattern", + "in": "query", + "description": "Pattern cache key.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/settings/basketStockLocking": { + "get": { + "tags": [ + "Settings" + ], + "summary": "settings/basketStockLocking", + "description": "Get the settings related to Basket Stock Locking configuration. Only available under license of module 'STCBL'(Basket Stock Locking).", + "operationId": "getBasketStockLocking", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketStockLockingSettingsDTO" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "AUTH_LICENSE_REQUIRED": { + "description": "AUTH_LICENSE_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "AUTH_LICENSE_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. The eCommerce requires a license for module: '{x}'" + } + } + } + } + } + } + } + } + }, + "/settings/blog": { + "get": { + "tags": [ + "Settings" + ], + "summary": "settings/blog", + "description": "Get the settings related to blog settings.", + "operationId": "getBlog", + "parameters": [ + { + "name": "languageCode", + "in": "query", + "description": "Language code in ISO 639-1 format.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlogDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/settings/catalog": { + "get": { + "tags": [ + "Settings" + ], + "summary": "settings/catalog", + "description": "Get the settings related to the catalog of products.", + "operationId": "getCatalog", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CatalogSettingsDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/settings/countries": { + "get": { + "tags": [ + "Settings" + ], + "summary": "settings/countries", + "description": "Gets the list of countries enabled for sale. The output includes the country code in ISO 3166-2 format, required to specify the country in many of the API resources.
If languageCode is provided, the output shows the name of each country in the specified language.
If countryCode is provided, the output only shows deliverable countries for the specified country.", + "operationId": "getCommerceCountries", + "parameters": [ + { + "name": "languageCode", + "in": "query", + "description": "Language code in ISO 639-1 format.", + "schema": { + "type": "string" + } + }, + { + "name": "countryCode", + "in": "query", + "description": "Country code in ISO 3166-2 format.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CommerceCountryColectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/settings/countries/links": { + "get": { + "tags": [ + "Settings" + ], + "summary": "settings/countries/links", + "description": "Gets the list of countries enabled for sale along with the presentation layer paths of the versions of each of the active languages in them. The output includes the country code in ISO 3166-2 format, required to specify the country in many of the API resources. If languageCode is provided, the output shows the name of each country in the specified language.", + "operationId": "getCountryLinks", + "parameters": [ + { + "name": "languageCode", + "in": "query", + "description": "Language code in ISO 639-1 format.", + "schema": { + "type": "string" + } + }, + { + "name": "host", + "in": "query", + "description": "Host", + "schema": { + "type": "string" + } + }, + { + "name": "allCountries", + "in": "query", + "description": "A boolean that allows displaying all countries without grouping. Useful when there is only a level 1 domain that shares URLs across countries. ", + "schema": { + "type": "string" + } + }, + { + "name": "onlyMyLevel", + "in": "query", + "description": "A boolean that defines whether the link to all store versions should be displayed, or only for specific versions of the introduced host. This only applies when the introduced host belongs to a specific version per country or group of countries.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CountryLinkCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/settings/currencies": { + "get": { + "tags": [ + "Settings" + ], + "summary": "settings/currencies", + "description": "Get the list of available browsing currencies taking into account the currency restrictions (if any) due to the country.", + "operationId": "getCurrencies", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CurrencyCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/settings": { + "get": { + "tags": [ + "Settings" + ], + "summary": "settings", + "description": "Get all Commerce settings.", + "operationId": "getEcommerceSettings", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EcommerceSettingsDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/settings/frontOfficeSession": { + "get": { + "tags": [ + "Settings" + ], + "summary": "settings/frontOfficeSession", + "description": "Get the settings related to the front office session configuration.", + "operationId": "getFrontOfficeSession", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FrontOfficeSessionSettingsDTO" + } + } + } + } + } + } + }, + "/settings/general": { + "get": { + "tags": [ + "Settings" + ], + "summary": "settings/general", + "description": "Get the settings related to the main configuration.", + "operationId": "getGeneral", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GeneralSettingsDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/settings/geoIp": { + "get": { + "tags": [ + "Settings" + ], + "summary": "settings/geoIp", + "description": "Get the settings related to the GeoIp configuration.", + "operationId": "getGeoIp", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GeoIPSettingsDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/settings/languages": { + "get": { + "tags": [ + "Settings" + ], + "summary": "settings/languages", + "description": "Get the list of available languages ​​visible taking into account the language restrictions (if any) due to the country.", + "operationId": "getLanguages", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LanguageCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/settings/legal": { + "get": { + "tags": [ + "Settings" + ], + "summary": "settings/legal", + "description": "Get the settings related to the configuration of the legal data.", + "operationId": "getLegal", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LegalSettingsDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/settings/orders": { + "get": { + "tags": [ + "Settings" + ], + "summary": "settings/orders", + "description": "Get the settings related to order setup.", + "operationId": "getOrders", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrdersSettingsDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/settings/seo": { + "get": { + "tags": [ + "Settings" + ], + "summary": "settings/seo", + "description": "Get the settings related to SEO settings.", + "operationId": "getSeo", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SeoSettingsDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/settings/sitemap": { + "get": { + "tags": [ + "Settings" + ], + "summary": "settings/sitemap", + "description": "Get the settings related to the sitemap configuration.", + "operationId": "getSitemap", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SitemapSettingsDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/settings/stock": { + "get": { + "tags": [ + "Settings" + ], + "summary": "settings/stock", + "description": "Get the settings related to the stock configuration.", + "operationId": "getStock", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StockSettingsDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/settings/tax": { + "get": { + "tags": [ + "Settings" + ], + "summary": "settings/tax", + "description": "Get the settings related to tax configuration.", + "operationId": "getTax", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaxSettingsDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/settings/userAccounts": { + "get": { + "tags": [ + "Settings" + ], + "summary": "settings/userAccounts", + "description": "Get the settings related to configuring user accounts.", + "operationId": "getUserAccounts", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserAccountsSettingsDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/areas/{id}": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "areas/{id}", + "description": "Get an area through the internal identifier specified.", + "operationId": "getArea", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AreaDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/areas/categoryRole": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "areas/categoryRole", + "description": "Get the area that has been configured with the category role.", + "operationId": "getAreaCategoryRole", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AreaDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/areas": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "areas", + "description": "Get a set of areas by applying the available filters and parameters.", + "operationId": "getAreas", + "parameters": [ + { + "name": "id", + "in": "query", + "description": "Internal identifier of the item.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "idList", + "in": "query", + "description": "List the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "position", + "in": "query", + "description": "Position of the item to be obtained.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "positionList", + "in": "query", + "description": "List of positions of the items to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "onlyActive", + "in": "query", + "description": "Parameter to indicate that you only want to obtain the items that are activated.", + "schema": { + "type": "boolean" + } + }, + { + "name": "filterIndexable", + "in": "query", + "description": "Filter according to the indexable feature, which specifies whether search engine robots should index the item.", + "schema": { + "type": "string", + "enum": [ + "ALL", + "INDEXABLE", + "NO_INDEXABLE" + ], + "default": "ALL" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "id.asc,id.desc,pId.asc,pId.desc,priority.asc, priority.desc" + ], + "default": "priority.asc" + } + }, + { + "name": "sortByIdList", + "in": "query", + "description": "Ordered list of the internal identifiers of the items to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "randomItems", + "in": "query", + "description": "Number of random items.", + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AreaCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/areas/categoryRole/categories": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "areas/categoryRole/categories", + "description": "Get a set of the categories contained in the area with the category role.", + "operationId": "getCategoryRoleCategories", + "parameters": [ + { + "name": "onlyActive", + "in": "query", + "description": "Parameter to indicate that you only want to obtain the items that are activated.", + "schema": { + "type": "boolean" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "id.asc,id.desc,pId.asc,pId.desc,name.asc,name.desc,priority.asc,priority.desc,dateadded.asc,dateadded.desc" + ], + "default": "priority.asc" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CategoryCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/areas/categoryRole/categories/tree": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "areas/categoryRole/categories/tree", + "description": "Get all the categories contained in the area with the category role including all its subcategories (up to the requested level). This resource is recommended to obtain the category and subcategory structure of, for example, a menu with a single request.", + "operationId": "getCategoryRoleCategoriesTree", + "parameters": [ + { + "name": "onlyActive", + "in": "query", + "description": "Parameter to indicate that you only want to obtain the items that are activated.", + "schema": { + "type": "boolean" + } + }, + { + "name": "levels", + "in": "query", + "description": "Depth level of the category tree to be obtained.", + "schema": { + "maximum": 3, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "id.asc,id.desc,pId.asc,pId.desc,name.asc,name.desc,priority.asc,priority.desc,dateadded.asc,dateadded.desc" + ], + "default": "priority.asc" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CategoryTreeCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/banners/{id}/doneClick": { + "post": { + "tags": [ + "Catalog and content" + ], + "summary": "banners/{id}/doneClick", + "description": "Increase the banner click count by one unit.", + "operationId": "doneClick", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/banners/{id}": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "banners/{id}", + "description": "Get a banner through the internal identifier specified.", + "operationId": "getBanner", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BannerDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/banners": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "banners", + "description": "Get a set of banners by applying the available filters and parameters.", + "operationId": "getBanners", + "parameters": [ + { + "name": "id", + "in": "query", + "description": "Internal identifier of the item.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "idList", + "in": "query", + "description": "List the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "position", + "in": "query", + "description": "Position of the item to be obtained.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "positionList", + "in": "query", + "description": "List of positions of the items to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "limited", + "in": "query", + "description": "Parameter to indicate if you only want to obtain those banners for which the number of clicks recorded does not exceed the limit configured.", + "schema": { + "type": "boolean" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "id.asc,id.desc,pId.asc,pId.desc,priority.asc, priority.desc" + ], + "default": "priority.asc" + } + }, + { + "name": "sortByIdList", + "in": "query", + "description": "Ordered list of the internal identifiers of the items to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "randomItems", + "in": "query", + "description": "Number of random items.", + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BannerCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/blog/posts/{id}": { + "get": { + "tags": [ + "Blog" + ], + "summary": "blog/posts/{id}", + "description": "Get the blog post through the internal identifier specified.", + "operationId": "getBlogPost", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlogPostDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/blog/posts/{id}/comments": { + "get": { + "tags": [ + "Blog" + ], + "summary": "blog/posts/{id}/comments", + "description": "Get the comments of the post specified.", + "operationId": "getBlogPostComments", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "dateAdded.asc,dateAdded.desc" + ], + "default": "dateAdded.asc" + } + }, + { + "name": "showAllLanguages", + "in": "query", + "description": "Specifies whether you want comments in all the visible languages ​​of the blog (true) or only in the session language (false).", + "schema": { + "type": "boolean" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlogPostCommentCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + }, + "post": { + "tags": [ + "Blog" + ], + "summary": "blog/posts/{id}/comments", + "description": "Add a comment to the post specified. These comments can also be responses to comments, so you can build a nested structure of comments and responses.", + "operationId": "createBlogPostComment", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "ip", + "in": "header", + "description": "IP of the user making the request.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddBlogPostCommentParam" + }, + "examples": { + "aa": { + "description": "aa", + "value": "{ 'comment':'Comment', 'email':'example@example.com', 'nick':'Nick' }", + "externalValue": "aaa" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlogPostCommentDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/blog/posts": { + "get": { + "tags": [ + "Blog" + ], + "summary": "blog/posts", + "description": "Get a set of blog posts by applying the available filters and parameters.", + "operationId": "getBlogPosts", + "parameters": [ + { + "name": "id", + "in": "query", + "description": "Internal identifier of the item.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "idList", + "in": "query", + "description": "List the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "categoryId", + "in": "query", + "description": "Internal blog category identifier.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "tagId", + "in": "query", + "description": "Internal blog tag identifier.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "bloggerId", + "in": "query", + "description": "Internal blogger identifier.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "fromDate", + "in": "query", + "description": "Lower date of the post search by date filter. Those with a publication date equal to or greater than that specified are returned.", + "schema": { + "type": "string" + } + }, + { + "name": "toDate", + "in": "query", + "description": "Top date of the post search by date filter. Those with a publication date equal to or less than that specified are returned.", + "schema": { + "type": "string" + } + }, + { + "name": "q", + "in": "query", + "description": "Search criteria for the fields Name, Short description and Content.", + "schema": { + "type": "string" + } + }, + { + "name": "qDeep", + "in": "query", + "description": "", + "schema": { + "type": "string", + "enum": [ + "NONE", + "SHORT", + "LARGE" + ] + } + }, + { + "name": "qType", + "in": "query", + "description": "", + "schema": { + "type": "string", + "enum": [ + "PARTIAL", + "COMPLETE", + "COMPLETE_WITH_SPACES", + "SHOULD_APPEAR_PARTIAL" + ] + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "id.asc,id.desc,publicationDate.asc, publicationDate.desc,hits.asc,hits.desc,likes.asc,likes.desc,dislikes.asc,dislikes.desc,votes.asc,votes.desc,rate.asc,rate.desc" + ], + "default": "publicationDate.asc" + } + }, + { + "name": "randomItems", + "in": "query", + "description": "Number of random items.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "onlyActive", + "in": "query", + "description": "Parameter to indicate that you only want to obtain the items that are activated.", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlogPostCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/blog/rss": { + "get": { + "tags": [ + "Blog" + ], + "summary": "blog/posts/rss", + "description": "Get the content of a file in RSS format that includes a set of blog posts obtained by applying the available filters and parameters.", + "operationId": "getBlogPostsRss", + "parameters": [ + { + "name": "id", + "in": "query", + "description": "Internal identifier of the item.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "idList", + "in": "query", + "description": "List the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "categoryId", + "in": "query", + "description": "Internal blog category identifier.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "tagId", + "in": "query", + "description": "Internal blog tag identifier.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "bloggerId", + "in": "query", + "description": "Internal blogger identifier.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "fromDate", + "in": "query", + "description": "Lower date of the post search by date filter. Those with a publication date equal to or greater than that specified are returned.", + "schema": { + "type": "string" + } + }, + { + "name": "toDate", + "in": "query", + "description": "Top date of the post search by date filter. Those with a publication date equal to or less than that specified are returned.", + "schema": { + "type": "string" + } + }, + { + "name": "q", + "in": "query", + "description": "Search criteria for the fields Name, Short description and Content.", + "schema": { + "type": "string" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "id.asc,id.desc,publicationDate.asc, publicationDate.desc,hits.asc,hits.desc,likes.asc,likes.desc,dislikes.asc,dislikes.desc,votes.asc,votes.desc,rate.asc,rate.desc" + ], + "default": "publicationDate.asc" + } + }, + { + "name": "randomItems", + "in": "query", + "description": "Number of random items.", + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DataFileDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/blog/posts/{id}/related": { + "get": { + "tags": [ + "Blog" + ], + "summary": "blog/posts/{id}/related", + "description": "Get all the items related to the post specified.", + "operationId": "getRelated", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "position", + "in": "query", + "description": "Position of the item to be obtained.", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "positionList", + "in": "query", + "description": "List of positions of the items to be obtained.", + "schema": { + "pattern": "^((([0-9]+),)*([0-9]+))*$", + "type": "string", + "default": "" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to return.", + "schema": { + "maximum": 50, + "minimum": 1, + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "offset", + "in": "query", + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "description": "Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ], + "default": "PRIORITY" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RelatedCollectionDTO" + } + } + } + } + } + } + }, + "/blog/posts/{id}/related/{type}": { + "get": { + "tags": [ + "Blog" + ], + "summary": "blog/posts/{id}/related/{type}", + "description": "Get only the items of the requested type related to the indicated post.", + "operationId": "getRelatedItemType", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "type", + "in": "path", + "description": "Type of related item by which you want to filter.", + "required": true, + "schema": { + "pattern": "(banners|categories|news|pages|products|posts)", + "type": "string", + "enum": [ + "banners, categories, news, pages, items, posts" + ] + } + }, + { + "name": "position", + "in": "query", + "description": "Position of the item to be obtained.", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "positionList", + "in": "query", + "description": "List of positions of the items to be obtained.", + "schema": { + "pattern": "^((([0-9]+),)*([0-9]+))*$", + "type": "string", + "default": "" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to return.", + "schema": { + "maximum": 50, + "minimum": 1, + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "offset", + "in": "query", + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "description": "Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ], + "default": "PRIORITY" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RelatedCollectionDTO" + } + } + } + } + } + } + }, + "/blog/categories": { + "get": { + "tags": [ + "Blog" + ], + "summary": "blog/categories", + "description": "Get a set of blog categories by applying the available filters and parameters.", + "operationId": "getBlogCategories", + "parameters": [ + { + "name": "id", + "in": "query", + "description": "Internal identifier of the item.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "idList", + "in": "query", + "description": "List the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "parentId", + "in": "query", + "description": "Internal identifier of the parent item whose children are to be obtained.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "q", + "in": "query", + "description": "Search criteria in the Name field.", + "schema": { + "type": "string" + } + }, + { + "name": "qDeep", + "in": "query", + "description": "", + "schema": { + "type": "string", + "enum": [ + "NONE", + "SHORT", + "LARGE" + ] + } + }, + { + "name": "qType", + "in": "query", + "description": "", + "schema": { + "type": "string", + "enum": [ + "PARTIAL", + "COMPLETE", + "COMPLETE_WITH_SPACES", + "SHOULD_APPEAR_PARTIAL" + ] + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "id.asc,id.desc,priority.asc, priority.desc, name.asc, name.desc" + ], + "default": "priority.asc" + } + }, + { + "name": "randomItems", + "in": "query", + "description": "Number of random items.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "onlyActive", + "in": "query", + "description": "Parameter to indicate that you only want to obtain the items that are activated.", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlogCategoryCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/blog/categories/{id}": { + "get": { + "tags": [ + "Blog" + ], + "summary": "blog/categories/{id}", + "description": "Get the blog category through the internal identifier specified.", + "operationId": "getBlogCategory", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlogCategoryDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/blog/bloggers/{id}": { + "get": { + "tags": [ + "Blog" + ], + "summary": "blog/bloggers/{id}", + "description": "Get a blogger user through the internal identifier specified.", + "operationId": "getBlogger", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BloggerDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/blog/bloggers": { + "get": { + "tags": [ + "Blog" + ], + "summary": "blog/bloggers", + "description": "Get a set of blogger users by applying the available filters and parameters. Blogger users are the authors who create blog posts.", + "operationId": "getBloggers", + "parameters": [ + { + "name": "id", + "in": "query", + "description": "Internal identifier of the item.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "idList", + "in": "query", + "description": "List the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "id.asc,id.desc,numberOfPosts.asc, numberOfPosts.desc, name.asc, name.desc" + ], + "default": "numberOfPosts.asc" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BloggerCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/blog/tags/{id}": { + "get": { + "tags": [ + "Blog" + ], + "summary": "blog/tags/{id}", + "description": "Get the post tag through the internal identifier specified.", + "operationId": "getTag", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlogTagNumberOfPostsDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/blog/tags": { + "get": { + "tags": [ + "Blog" + ], + "summary": "blog/tags", + "description": "Get a set of post tags by applying available filters and parameters.", + "operationId": "getTags", + "parameters": [ + { + "name": "id", + "in": "query", + "description": "Internal identifier of the item.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "idList", + "in": "query", + "description": "List the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "id.asc,id.desc,numberOfPosts.asc,numberOfPosts.desc,value.asc,value.desc" + ], + "default": "value.asc" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlogTagCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/blog/posts/{id}/rate": { + "post": { + "tags": [ + "Blog" + ], + "summary": "blog/posts/{id}/vote", + "description": "Add a numerical value between 0 and 5 to rate the post specified.", + "operationId": "createBlogPostVote", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "ip", + "in": "header", + "description": "IP of the user making the request.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddBlogPostRateParam" + } + } + } + }, + "responses": { + "201": { + "description": "Created" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/blog/posts/{id}/dislike": { + "post": { + "tags": [ + "Blog" + ], + "summary": "blog/posts/{id}/dislike", + "description": "Increase the number of dislikes of the post specified by one unit. Valid only if you are logged in .", + "operationId": "dislike", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "ip", + "in": "header", + "description": "IP of the user making the request.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "Created" + }, + "404": { + "description": "Not Found" + } + } + }, + "delete": { + "tags": [ + "Blog" + ], + "summary": "blog/posts/{id}/dislike", + "description": "Remove the dislike by the user of the post specified. Valid only if you are logged in .", + "operationId": "deleteDislike", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "ip", + "in": "header", + "description": "IP of the user making the request.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "Ok" + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/blog/posts/{id}/like": { + "post": { + "tags": [ + "Blog" + ], + "summary": "blog/posts/{id}/like", + "description": "Increase the number of likes of the post specified by one unit. Valid only if you are logged in .", + "operationId": "like", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "ip", + "in": "header", + "description": "IP of the user making the request.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "201": { + "description": "Created" + }, + "404": { + "description": "Not Found" + } + } + }, + "delete": { + "tags": [ + "Blog" + ], + "summary": "blog/posts/{id}/like", + "description": "Delete the like by the user of the post specified. Valid only if you are logged in .", + "operationId": "deletelike", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "ip", + "in": "header", + "description": "IP of the user making the request.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok" + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/blog/posts/{id}/doneHit": { + "post": { + "tags": [ + "Blog" + ], + "summary": "blog/posts/{id}/doneHit", + "description": "Increase the number of visits to the post by one through the identifier specified.", + "operationId": "doneHit", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "201": { + "description": "Created" + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/brands/{id}": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "brands/{id}", + "description": "Get a brand through the internal identifier specified.", + "operationId": "getBrand", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BrandDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/brands": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "brands", + "description": "Get a set of brands by applying the available filters and parameters.", + "operationId": "getBrands", + "parameters": [ + { + "name": "id", + "in": "query", + "description": "Internal identifier of the item.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "idList", + "in": "query", + "description": "List the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "q", + "in": "query", + "description": "Search criterion.", + "schema": { + "type": "string" + } + }, + { + "name": "onlyActive", + "in": "query", + "description": "Parameter to indicate that you only want to obtain the items that are activated.", + "schema": { + "type": "boolean" + } + }, + { + "name": "filterIndexable", + "in": "query", + "description": "Filter according to the indexable feature, which specifies whether search engine robots should index the item.", + "schema": { + "type": "string", + "enum": [ + "ALL", + "INDEXABLE", + "NO_INDEXABLE" + ], + "default": "ALL" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "id.asc,id.desc,pId.asc,pId.desc,priority.asc,priority.desc,name.asc,name.desc" + ], + "default": "name.asc" + } + }, + { + "name": "sortByIdList", + "in": "query", + "description": "Ordered list of the internal identifiers of the items to be obtained.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BrandCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/categories": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "categories", + "description": "Get a set of categories by applying the available filters and parameters.", + "operationId": "getCategories", + "parameters": [ + { + "name": "id", + "in": "query", + "description": "Internal identifier of the item.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "idList", + "in": "query", + "description": "List the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "parentId", + "in": "query", + "description": "Internal identifier of the parent item whose children are to be obtained.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "parentIdList", + "in": "query", + "description": "List of internal identifiers of the parent items whose child items are to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "parentPId", + "in": "query", + "description": "Public identifier of the parent item whose child items are to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "areaId", + "in": "query", + "description": "Internal identifier of the area that contains the categories to be obtained.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "areaIdList", + "in": "query", + "description": "List of internal identifiers of the areas that contain the categories to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "areaPId", + "in": "query", + "description": "Public identifier of the area containing the categories to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "areaPosition", + "in": "query", + "description": "Position of the area containing the categories to be obtained.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "q", + "in": "query", + "description": "Search criteria in the Name field.", + "schema": { + "type": "string" + } + }, + { + "name": "qDeep", + "in": "query", + "description": "", + "schema": { + "type": "string", + "enum": [ + "NONE", + "SHORT", + "LARGE" + ] + } + }, + { + "name": "qType", + "in": "query", + "description": "", + "schema": { + "type": "string", + "enum": [ + "PARTIAL", + "COMPLETE", + "COMPLETE_WITH_SPACES", + "SHOULD_APPEAR_PARTIAL" + ] + } + }, + { + "name": "onlyActive", + "in": "query", + "description": "Parameter to indicate that you only want to obtain the items that are activated.", + "schema": { + "type": "boolean" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "id.asc,id.desc,pId.asc,pId.desc,name.asc,name.desc,priority.asc,priority.desc,dateadded.asc,dateadded.desc" + ], + "default": "priority.asc" + } + }, + { + "name": "sortByIdList", + "in": "query", + "description": "Ordered list of the internal identifiers of the items to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "filterIndexable", + "in": "query", + "description": "Filter according to the indexable feature, which specifies whether search engine robots should index the item.", + "schema": { + "type": "string", + "enum": [ + "ALL", + "INDEXABLE", + "NO_INDEXABLE" + ], + "default": "ALL" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CategoryCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/categories/{id}": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "categories/{id}", + "description": "Get a category through the internal identifier specified.", + "operationId": "getCategory", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CategoryDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/categories/tree": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "categories/tree", + "description": "Get a set of categories including its subcategories.", + "operationId": "getCategoryTree", + "parameters": [ + { + "name": "id", + "in": "query", + "description": "Internal identifier of the item.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "idList", + "in": "query", + "description": "List the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "q", + "in": "query", + "description": "Search criteria in the Name field.", + "schema": { + "type": "string" + } + }, + { + "name": "onlyActive", + "in": "query", + "description": "Parameter to indicate that you only want to obtain the items that are activated.", + "schema": { + "type": "boolean" + } + }, + { + "name": "levels", + "in": "query", + "description": "Depth level of the category tree to be obtained.", + "schema": { + "maximum": 3, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "id.asc,id.desc,pId.asc,pId.desc,name.asc,name.desc,priority.asc,priority.desc,dateadded.asc,dateadded.desc" + ], + "default": "priority.asc" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CategoryTreeCollectionDTO" + } + } + } + } + } + } + }, + "/categories/{id}/related": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "categories/{id}/related", + "description": "Get all the items related to the category specified.", + "operationId": "getRelated_1", + "parameters": [ + { + "name": "categoryProducts", + "in": "query", + "description": "Get the products included in related categories. Valid only if the category specified has items of type categories related .", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "position", + "in": "query", + "description": "Position of the item to be obtained.", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "positionList", + "in": "query", + "description": "List of positions of the items to be obtained.", + "schema": { + "pattern": "^((([0-9]+),)*([0-9]+))*$", + "type": "string", + "default": "" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to return.", + "schema": { + "maximum": 50, + "minimum": 1, + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "offset", + "in": "query", + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "description": "Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ], + "default": "PRIORITY" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RelatedCollectionDTO" + } + } + } + } + } + } + }, + "/categories/{id}/related/{type}": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "categories/{id}/related/{type}", + "description": "Get only the items of the requested type related to the category specified.", + "operationId": "getRelatedItemType_1", + "parameters": [ + { + "name": "categoryProducts", + "in": "query", + "description": "Get the products included in related categories. Valid only if the category specified has items of type categories related .", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "type", + "in": "path", + "description": "Type of related item by which you want to filter.", + "required": true, + "schema": { + "pattern": "(banners|categories|news|pages|products|posts)", + "type": "string", + "enum": [ + "banners, categories, news, pages, items, posts" + ] + } + }, + { + "name": "position", + "in": "query", + "description": "Position of the item to be obtained.", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "positionList", + "in": "query", + "description": "List of positions of the items to be obtained.", + "schema": { + "pattern": "^((([0-9]+),)*([0-9]+))*$", + "type": "string", + "default": "" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to return.", + "schema": { + "maximum": 50, + "minimum": 1, + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "offset", + "in": "query", + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "description": "Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ], + "default": "PRIORITY" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RelatedCollectionDTO" + } + } + } + } + } + } + }, + "/categories/{id}/richSnippets": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "categories/{id}/richSnippets", + "description": "Get the rich snippets of the category specified.", + "operationId": "getRichSnippets", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CategoryRichSnippetDTO" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/dataFeed/{languageCode}/{hash}": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "dataFeed/{languageInitials}/{id}", + "description": "Get the content for the requested language from a data feed file consisting of a list of products that use attribute groups, which define each of the products uniquely. The number and syntax of those attributes depends on the data feed indicated through the internal identifier. This identifier is inserted as a parameter in the URL generated by the system for each data feed created in the Commerce (so that it can be called by third-party systems).", + "operationId": "getSecuredDataFeed", + "parameters": [ + { + "name": "languageCode", + "in": "path", + "description": "Language code in ISO 639-1 format.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "hash", + "in": "path", + "description": "", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DataFileDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/dataValidation": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "dataValidation", + "description": "Gets all available validation data sets. The validation data is used to define the valid values of the fields of the forms used in the presentation layer.", + "operationId": "getDataValidation", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DataValidationCollectionDTO" + } + } + } + } + } + } + }, + "/dataValidation/{id}": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "dataValidation/{id}", + "description": "Gets a set of validation data through the internal identifier specified. The validation data is used to define the valid values of the fields of a certain form used in the presentation layer.", + "operationId": "getDataValidation_1", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DataValidationDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/discounts": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "discounts", + "description": "Get a list of active discounts applicable to the user and their location, and that meet the optional indicated filters, sort, and pagination. Only available under license of module 'DISNV'(Discounts Navigation).", + "operationId": "getDiscounts", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "schema": { + "pattern": "^(priority|displayPriority|name).(asc|desc)((((,priority|,displayPriority|,name).(asc|desc)))*)$", + "type": "string", + "description": "Sort variable. Comma separated list of these possible values: priority.asc,priority.desc,displayPriority.asc,displayPriority.desc,name.asc,name.desc", + "default": "priority.desc,name.asc" + } + }, + { + "name": "conditionsToBeMet", + "in": "query", + "schema": { + "pattern": "^(ACTIVITY_LIMIT|PERIOD|VALUE_NUM_ORDERS)(,ACTIVITY_LIMIT|,PERIOD|,VALUE_NUM_ORDERS)*$", + "type": "string", + "description": "Comma separated list of the conditional types that the returned discounts must meet in case they are set. Admited values for the list: ACTIVITY_LIMIT, PERIOD, VALUE_NUM_ORDERS." + } + }, + { + "name": "discardConditionedBy", + "in": "query", + "schema": { + "pattern": "^(PERIOD|ACTIVITY_LIMIT|VALUE|RESTRICTION|SHIPPING_TYPE|CATALOG|COMBINATION|BRAND|VOUCHER|USER|LOCATION)(,PERIOD|,ACTIVITY_LIMIT|,VALUE|,RESTRICTION|,SHIPPING_TYPE|,CATALOG|,COMBINATION|,BRAND|,VOUCHER|,USER|,LOCATION)*$", + "type": "string", + "description": "Comma separated list of the conditional types you want to discard Discounts conditioned by them. ", + "default": "" + } + }, + { + "name": "id", + "in": "query", + "schema": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + } + }, + { + "name": "pId", + "in": "query", + "schema": { + "type": "string", + "description": "Public identifier of the item to be obtained." + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DiscountCollectionDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "INVALID_PARAM": { + "description": "INVALID_PARAM", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "INVALID_PARAM", + "stackTrace": null, + "message": "The '{x}' parameter is wrong!" + } + }, + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "Query parameter '{parameter}' is required" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "AUTH_LICENSE_REQUIRED": { + "description": "AUTH_LICENSE_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "AUTH_LICENSE_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. The eCommerce requires a license for module: '{x}'" + } + } + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/discountSelectableGifts/{id}/products": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "/discountSelectableGifts/{id}/products", + "description": "Get the list of products that are selectable as a Gift for the specified discount, by applying the specified filters, sort and pagination.", + "operationId": "getSelectableGifts", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "stockType", + "in": "query", + "description": "Specifies whether you want to get those products that are in stock; stock and with prevision; stock and with prevision and on request or withot filter.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "AVAILABLE", + "AVAILABLE_AND_PREVISION", + "AVAILABLE_PREVISION_AND_ONREQUEST" + ], + "default": "NONE" + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "id.asc,id.desc,pId.asc,pId.desc,sku.asc,sku.desc,name.asc,name.desc,priority.asc,priority.desc,price.asc,price.desc,offer.asc,offer.desc,featured.asc,featured.desc,publicationDate.asc,publicationDate.desc" + ], + "default": "priority.asc,name.asc" + } + }, + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "description": "Specifies the internal identifier of the referenced item.", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DiscountSelectableGiftProductCollectionDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "INVALID_PARAM": { + "description": "INVALID_PARAM", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "INVALID_PARAM", + "stackTrace": null, + "message": "The '{x}' parameter is wrong!" + } + }, + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "Query parameter '{parameter}' is required" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "": { + "description": "", + "value": { + "reference": "{UUID}", + "status": 404, + "code": "RESOURCE_NOT_FOUND", + "stackTrace": null, + "message": null + } + } + } + } + } + } + } + } + }, + "/news/{id}": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "news/{id}", + "description": "Get a news item through the internal identifier specified.", + "operationId": "getNew", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewsDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/news": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "news", + "description": "Get a news set by applying the available filters and parameters.", + "operationId": "getNews", + "parameters": [ + { + "name": "id", + "in": "query", + "description": "Internal identifier of the item.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "idList", + "in": "query", + "description": "List the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "onlyActive", + "in": "query", + "description": "Parameter to indicate that you only want to obtain the items that are activated.", + "schema": { + "type": "boolean" + } + }, + { + "name": "q", + "in": "query", + "description": "Search criteria for the fields Title, Short description and Content.", + "schema": { + "type": "string" + } + }, + { + "name": "qDeep", + "in": "query", + "description": "", + "schema": { + "type": "string", + "enum": [ + "NONE", + "SHORT", + "LARGE" + ] + } + }, + { + "name": "qType", + "in": "query", + "description": "", + "schema": { + "type": "string", + "enum": [ + "PARTIAL", + "COMPLETE", + "COMPLETE_WITH_SPACES", + "SHOULD_APPEAR_PARTIAL" + ] + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "priority.asc,priority.desc,publicationdate.asc,publicationdate.desc" + ], + "default": "priority.asc,publicationdate.asc" + } + }, + { + "name": "sortByIdList", + "in": "query", + "description": "Ordered list of the internal identifiers of the items to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "randomItems", + "in": "query", + "description": "Number of random items.", + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewsCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/pages/{id}": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "pages/{id}", + "description": "Get a page through the internal identifier specified.", + "operationId": "getPage", + "parameters": [ + { + "name": "levels", + "in": "query", + "description": "Level of depth of the tree of pages that you want to obtain.", + "schema": { + "maximum": 3, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/pages": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "pages", + "description": "Get a set of pages by applying the available filters and parameters.", + "operationId": "getPages", + "parameters": [ + { + "name": "id", + "in": "query", + "description": "Internal identifier of the item.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "idList", + "in": "query", + "description": "List the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "parentId", + "in": "query", + "description": "Internal identifier of the parent page whose pages you want to get.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "position", + "in": "query", + "description": "Position of the item to be obtained.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "parentIdList", + "in": "query", + "description": "List of internal identifiers of the parent pages whose pages you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "parentPId", + "in": "query", + "description": "Public identifier of the parent page whose pages you want to get.", + "schema": { + "type": "string" + } + }, + { + "name": "pagesGroupId", + "in": "query", + "description": "Internal identifier of the page group to be obtained.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "pagesGroupIdList", + "in": "query", + "description": "List of internal identifiers of the page group to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "pagesGroupPId", + "in": "query", + "description": "Public identifier of the page group to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "positionList", + "in": "query", + "description": "List of positions of the items to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "q", + "in": "query", + "description": "Search criteria for the fields Name, and Short title or Long title or Individual title.", + "schema": { + "type": "string" + } + }, + { + "name": "qDeep", + "in": "query", + "description": "", + "schema": { + "type": "string", + "enum": [ + "NONE", + "SHORT", + "LARGE" + ] + } + }, + { + "name": "qType", + "in": "query", + "description": "", + "schema": { + "type": "string", + "enum": [ + "PARTIAL", + "COMPLETE", + "COMPLETE_WITH_SPACES", + "SHOULD_APPEAR_PARTIAL" + ] + } + }, + { + "name": "pageType", + "in": "query", + "description": "Indicate the type of content or behavior that the pages you want to obtain have.", + "schema": { + "type": "string", + "enum": [ + "DEFAULT", + "HOME", + "CONTACT", + "SITEMAP", + "SUBPAGES", + "USER", + "SHOPPING_CART", + "SPONSORSHIP_REGISTERED_USER", + "NEWSLETTER", + "SPONSORSHIP_UNREGISTERED_USER", + "CATEGORY", + "NEWS_LIST", + "OFFERS", + "FEATURED_PRODUCTS", + "PRIVACY_POLICY", + "TERMS_OF_USE", + "BLOG_HOME", + "BLOG_CATEGORY", + "DISCOUNTS", + "CUSTOM", + "MODULE" + ] + } + }, + { + "name": "onlyActive", + "in": "query", + "description": "Parameter to indicate that you only want to obtain the items that are activated.", + "schema": { + "type": "boolean", + "default": true + } + }, + { + "name": "filterIndexable", + "in": "query", + "description": "Filter according to the indexable feature, which specifies whether search engine robots should index the item.", + "schema": { + "type": "string", + "enum": [ + "ALL", + "INDEXABLE", + "NO_INDEXABLE" + ], + "default": "ALL" + } + }, + { + "name": "levels", + "in": "query", + "description": "Level of depth of the tree of pages that you want to obtain.", + "schema": { + "maximum": 3, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "randomItems", + "in": "query", + "description": "Number of random items.", + "schema": { + "type": "integer", + "format": "int64", + "default": 0 + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "id.asc,id.desc,pId.asc,pId.desc,name.asc,name.desc,priority.asc,priority.desc" + ], + "default": "priority.asc,name.asc" + } + }, + { + "name": "sortByIdList", + "in": "query", + "description": "Ordered list of the internal identifiers of the items to be obtained.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PageCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/pages/{id}/related": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "pages/{id}/related", + "description": "Get all the items related to the page specified.", + "operationId": "getRelated_2", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "position", + "in": "query", + "description": "Position of the item to be obtained.", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "positionList", + "in": "query", + "description": "List of positions of the items to be obtained.", + "schema": { + "pattern": "^((([0-9]+),)*([0-9]+))*$", + "type": "string", + "default": "" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to return.", + "schema": { + "maximum": 50, + "minimum": 1, + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "offset", + "in": "query", + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "description": "Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ], + "default": "PRIORITY" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RelatedCollectionDTO" + } + } + } + } + } + } + }, + "/pages/{id}/related/{type}": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "pages/{id}/related/{type}", + "description": "Get only the items of the requested type related to the page specified.", + "operationId": "getRelatedItemType_2", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "type", + "in": "path", + "description": "Type of related item by which you want to filter.", + "required": true, + "schema": { + "pattern": "(banners|categories|news|pages|products|posts)", + "type": "string", + "enum": [ + "banners, categories, news, pages, items, posts" + ] + } + }, + { + "name": "position", + "in": "query", + "description": "Position of the item to be obtained.", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "positionList", + "in": "query", + "description": "List of positions of the items to be obtained.", + "schema": { + "pattern": "^((([0-9]+),)*([0-9]+))*$", + "type": "string", + "default": "" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to return.", + "schema": { + "maximum": 50, + "minimum": 1, + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "offset", + "in": "query", + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "description": "Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ], + "default": "PRIORITY" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RelatedCollectionDTO" + } + } + } + } + } + } + }, + "/physicalLocations": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "physicalLocation", + "description": "Get the physical locations supported by the cart.", + "operationId": "getPhysicalLocations", + "parameters": [ + { + "name": "countryCode", + "in": "query", + "description": "Country code in ISO 3166-2 format.", + "schema": { + "type": "string" + } + }, + { + "name": "state", + "in": "query", + "description": "Filter to obtain the PhysicalLocations whose state is the same as the indicated one.", + "schema": { + "type": "string" + } + }, + { + "name": "city", + "in": "query", + "description": "Filter to obtain those PhysicalLocations whose city is the same as the indicated one.", + "schema": { + "type": "string" + } + }, + { + "name": "postalCode", + "in": "query", + "description": "Filter to obtain those PhysicalLocations whose zip code is the same as the indicated one.", + "schema": { + "type": "string" + } + }, + { + "name": "locationId", + "in": "query", + "description": "Internal identifier of a subdivision of a country.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "latitude", + "in": "query", + "description": "Latitude value of the geographic coordinate of the location for which physical locations are requested.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "longitude", + "in": "query", + "description": "Longitude value of the geographic coordinate of the location for which physical locations are requested.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "radius", + "in": "query", + "description": "Specifies the distance radius in kilometers centering on the location described by the latitude and longitude values. Physical locations within this radius are obtained.", + "schema": { + "type": "number", + "format": "double" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "idList", + "in": "query", + "description": "List the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "visibleOnMap", + "in": "query", + "description": "Specifies that physical locations are visible on a map.", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "deliveryPoint", + "in": "query", + "description": "Specifies that the physical locations are configured as pickup points.", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "returnPoint", + "in": "query", + "description": "Specifies that the physical locations are configured as return points.", + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PhysicalLocationCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/oms/pickupPointProviders": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/pickupPointProviders", + "description": "Get the available pickup point providers that are applicable to the user, by applying the specified filters and pagination.", + "operationId": "getPickupPointProviders", + "parameters": [ + { + "name": "countryCode", + "in": "query", + "description": "ISO 3166-1 alpha-2 code of the country for which you wish to obtain pickup point providers that can offer pickup points for that. It must be one of those supported by the sales area.", + "schema": { + "type": "string" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "idList", + "in": "query", + "description": "List the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PickupPointProviderCollectionDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "{Resource requires a body}" + } + }, + "INVALID_PARAM": { + "description": "INVALID_PARAM", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "INVALID_PARAM", + "stackTrace": null, + "message": "The '{x}' parameter is wrong!" + } + } + } + } + } + } + } + } + }, + "/productComparison/products": { + "post": { + "tags": [ + "Catalog and content" + ], + "summary": "productComparison/products", + "description": "Adds the specified product to the product comparison.", + "operationId": "addProduct", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddComparisonProductParam" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/productComparison/products/{id}": { + "delete": { + "tags": [ + "Catalog and content" + ], + "summary": "productComparison/products/{id}", + "description": "Delete the specified product from the product comparison.", + "operationId": "deleteProduct", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request" + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/productComparison": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "productComparison", + "description": "Get all the necessary data to be able to compare the products of the product comparison.", + "operationId": "getProductComparison", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductComparisonDTO" + } + } + } + }, + "403": { + "description": "Forbidden" + } + } + } + }, + "/products/{id}/discounts": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "products/{id}/discounts", + "description": "Get a list of active discounts applicable to the user and their location, which also have set some product condition (brand, combination, or catalog) that references the indicated product, and that meet the optional indicated filters, sort, and pagination.", + "operationId": "getProductDiscounts", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "sort", + "in": "query", + "schema": { + "pattern": "^(priority|displayPriority|name).(asc|desc)((((,priority|,displayPriority|,name).(asc|desc)))*)$", + "type": "string", + "description": "Sort variable. Comma separated list of these possible values: priority.asc,priority.desc,displayPriority.asc,displayPriority.desc,name.asc,name.desc", + "default": "priority.desc,name.asc" + } + }, + { + "name": "conditionsToBeMet", + "in": "query", + "schema": { + "pattern": "^(ACTIVITY_LIMIT|PERIOD|VALUE_NUM_ORDERS)(,ACTIVITY_LIMIT|,PERIOD|,VALUE_NUM_ORDERS)*$", + "type": "string", + "description": "Comma separated list of the conditional types that the returned discounts must meet in case they are set. Admited values for the list: ACTIVITY_LIMIT, PERIOD, VALUE_NUM_ORDERS." + } + }, + { + "name": "discardConditionedBy", + "in": "query", + "schema": { + "pattern": "^(PERIOD|ACTIVITY_LIMIT|VALUE|RESTRICTION|SHIPPING_TYPE|CATALOG|COMBINATION|BRAND|VOUCHER|USER|LOCATION)(,PERIOD|,ACTIVITY_LIMIT|,VALUE|,RESTRICTION|,SHIPPING_TYPE|,CATALOG|,COMBINATION|,BRAND|,VOUCHER|,USER|,LOCATION)*$", + "type": "string", + "description": "Comma separated list of the conditional types you want to discard Discounts conditioned by them. ", + "default": "" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DiscountCollectionDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "INVALID_PARAM": { + "description": "INVALID_PARAM", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "INVALID_PARAM", + "stackTrace": null, + "message": "The '{x}' parameter is wrong!" + } + }, + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "Query parameter '{parameter}' is required" + } + } + } + } + } + }, + "404": { + "description": "Forbidden" + } + } + } + }, + "/products/discounts": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "products/discounts", + "description": "Get a list of active discounts applicable to the user and their location, which also have set some product condition (brand, combination, or catalog) that references any of the specified products, and that meet the optional indicated filters, sort, and pagination.", + "operationId": "getProductsDiscounts", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "schema": { + "pattern": "^(priority|displayPriority|name).(asc|desc)((((,priority|,displayPriority|,name).(asc|desc)))*)$", + "type": "string", + "description": "Sort variable. Comma separated list of these possible values: priority.asc,priority.desc,displayPriority.asc,displayPriority.desc,name.asc,name.desc", + "default": "priority.desc,name.asc" + } + }, + { + "name": "conditionsToBeMet", + "in": "query", + "schema": { + "pattern": "^(ACTIVITY_LIMIT|PERIOD|VALUE_NUM_ORDERS)(,ACTIVITY_LIMIT|,PERIOD|,VALUE_NUM_ORDERS)*$", + "type": "string", + "description": "Comma separated list of the conditional types that the returned discounts must meet in case they are set. Admited values for the list: ACTIVITY_LIMIT, PERIOD, VALUE_NUM_ORDERS." + } + }, + { + "name": "discardConditionedBy", + "in": "query", + "schema": { + "pattern": "^(PERIOD|ACTIVITY_LIMIT|VALUE|RESTRICTION|SHIPPING_TYPE|CATALOG|COMBINATION|BRAND|VOUCHER|USER|LOCATION)(,PERIOD|,ACTIVITY_LIMIT|,VALUE|,RESTRICTION|,SHIPPING_TYPE|,CATALOG|,COMBINATION|,BRAND|,VOUCHER|,USER|,LOCATION)*$", + "type": "string", + "description": "Comma separated list of the conditional types you want to discard Discounts conditioned by them. ", + "default": "" + } + }, + { + "name": "productIdList", + "in": "query", + "required": true, + "schema": { + "pattern": "^((([0-9]+),)*([0-9]+))*$", + "type": "string", + "description": "Comma separated list of the internal identifiers of the products to be considered" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductsDiscountsCollectionDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "INVALID_PARAM": { + "description": "INVALID_PARAM", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "INVALID_PARAM", + "stackTrace": null, + "message": "The '{x}' parameter is wrong!" + } + }, + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "Query parameter '{parameter}' is required" + } + } + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/products/{id}/rewardPoints": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "products/{id}/rewardPoints", + "description": "Returns the earned points in a product purchase for each active points policy.", + "operationId": "getRewardPoints", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductRewardPointsCollectionDTO" + } + } + } + }, + "404": { + "description": "Forbidden" + } + } + } + }, + "/products/{id}/comments": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "products/{id}/comments", + "description": "Get the comments for the product specified.", + "operationId": "getProductComments", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "rating.asc,rating.desc,dateAdded.asc,dateAdded.desc" + ], + "default": "dateAdded.asc" + } + }, + { + "name": "showAllLanguages", + "in": "query", + "description": "Specifies whether you want to get comments in all languages ​​or only the language active in the session.", + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductCommentCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + }, + "post": { + "tags": [ + "Catalog and content" + ], + "summary": "products/{id}/comments", + "description": "Add a comment to the product specified.", + "operationId": "createProductComment", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "ip", + "in": "header", + "description": "IP of the user making the request.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddProductCommentParam" + }, + "examples": { + "aa": { + "description": "aa", + "value": "{ 'id':1, 'comment':'Comment', 'rating:8, 'nick':'Nick' }", + "externalValue": "aaa" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductCommentDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/products/{id}/rate": { + "post": { + "tags": [ + "Catalog and content" + ], + "summary": "products/{id}/rate", + "description": "Add a numerical value between 0 and 5 to rate the product specified.", + "operationId": "createRate", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "ip", + "in": "header", + "description": "IP of the user making the request.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddProductRateParam" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/products/{id}/bundleDefinitions": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "products/{id}/bundleDefinitions", + "description": "", + "operationId": "getBundleDefinitions", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "priority.asc, priority.desc,name.asc,name.desc" + ], + "default": "priority.asc" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleDefinitionCollectionDTO" + } + } + } + } + } + } + }, + "/products/{id}/bundleDefinitions/{bundleDefinitionId}/groupings": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "products/{id}/bundleDefinitions/{bundleDefinitionId}/groupings", + "description": "", + "operationId": "getBundleGroupings", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "priority.asc, priority.desc" + ], + "default": "priority.asc" + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "description": "Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ], + "default": "PRIORITY" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "bundleDefinitionId", + "in": "path", + "description": "", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ] + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleGroupingCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/products/{id}/combinationData": { + "post": { + "tags": [ + "Catalog and content" + ], + "summary": "products/{id}/combinationData", + "description": "", + "operationId": "getCombinationData", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductCombinationDataParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductCombinationDataDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/products/{id}/linked": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "products/{id}/linked", + "description": "Gets all items linked to the product specified", + "operationId": "getLinked", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "position", + "in": "query", + "description": "Position of the item to be obtained.", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "positionList", + "in": "query", + "description": "List of positions of the items to be obtained.", + "schema": { + "pattern": "^((([0-9]+),)*([0-9]+))*$", + "type": "string", + "default": "" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to return.", + "schema": { + "maximum": 50, + "minimum": 1, + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "offset", + "in": "query", + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "description": "Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ], + "default": "PRIORITY" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LinkedCollectionDTO" + } + } + } + } + } + } + }, + "/products/{id}": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "products/{id}", + "description": "Obtain a product through the internal identifier specified.", + "operationId": "getProduct", + "parameters": [ + { + "name": "optionsPriceMode", + "in": "query", + "description": "Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ], + "default": "PRIORITY" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ] + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/products/topSellers": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "products/topSellers", + "description": "Get the best-selling products by applying the available filters and parameters.", + "operationId": "getProductTopSellers", + "parameters": [ + { + "name": "categoryIdList", + "in": "query", + "description": "List of the internal identifiers of the categories that contain the products to be obtained.", + "schema": { + "type": "string", + "default": "123" + } + }, + { + "name": "brandId", + "in": "query", + "description": "Internal brand identifier of the products to be obtained.", + "schema": { + "type": "integer", + "format": "int64", + "default": 0 + } + }, + { + "name": "date", + "in": "query", + "description": "Date that defines the bottom end of the range for the calculation of bestsellers. The top end of the range is always the current date. The calculation only applies to orders whose creation date is within this range and have not been eliminated.", + "schema": { + "type": "string", + "format": "date", + "default": "Last 6 months." + } + }, + { + "name": "productsNumber", + "in": "query", + "description": "Specifies the number of products that you want to obtain.", + "schema": { + "type": "integer", + "format": "int64", + "default": 10 + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "description": "Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ], + "default": "PRIORITY" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/products": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "products", + "description": "Get a collection of products by applying the available filters and parameters.", + "operationId": "getProducts", + "parameters": [ + { + "name": "id", + "in": "query", + "description": "Internal identifier of the item.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "idList", + "in": "query", + "description": "List the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "categoryId", + "in": "query", + "description": "Internal identifier of the category that contains the products to be obtained. The value 0 refers to products that are not linked to any category.", + "schema": { + "type": "integer", + "format": "int64", + "default": 0 + } + }, + { + "name": "categoryIdList", + "in": "query", + "description": "List of the internal identifiers of the categories that contain the products to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "includeSubcategories", + "in": "query", + "description": "Specifies whether all products found in the subcategories contained in the main product category should also be displayed. Valid only when any of these parameters are also passed: categoryId, categoryIdList or categoryPId.", + "schema": { + "type": "boolean" + } + }, + { + "name": "brandId", + "in": "query", + "description": "Internal brand identifier of the products to be obtained.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "brandsList", + "in": "query", + "description": "List of internal brand identifiers of the products to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "q", + "in": "query", + "description": "Search criteria for the fields Name, Keywords, EAN, SKU, ProductCombination SKU, Brand and Description.", + "schema": { + "type": "string" + } + }, + { + "name": "qDeep", + "in": "query", + "description": "Specifies the depth level in the search:
SHORT: Using the short product description.
LARGE: Using the long product description.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "SHORT", + "LARGE" + ] + } + }, + { + "name": "qType", + "in": "query", + "description": "Specifies the behavior of the search to be performed:
PARTIAL: Partial search for any different parts that might be in the search criteria string.
COMPLETE: Full search using search criteria string.
COMPLETE_WITH_SPACES: Full search including blank spaces using search criteria string.
SHOULD_APPEAR_PARTIAL: Partial search where all parts of the search criteria string must appear.", + "schema": { + "type": "string", + "enum": [ + "PARTIAL", + "COMPLETE", + "COMPLETE_WITH_SPACES", + "SHOULD_APPEAR_PARTIAL" + ] + } + }, + { + "name": "customTagsSearchType", + "in": "query", + "description": "Specifies the behavior of the search to be performed:
PARTIAL: Partial search for any different parts that might be in the search criteria string.
COMPLETE: Full search using search criteria string.
COMPLETE_WITH_SPACES: Full search including blank spaces using search criteria string.
SHOULD_APPEAR_PARTIAL: Partial search where all parts of the search criteria string must appear.", + "schema": { + "type": "string", + "enum": [ + "PARTIAL", + "COMPLETE", + "COMPLETE_WITH_SPACES", + "SHOULD_APPEAR_PARTIAL" + ] + } + }, + { + "name": "stockType", + "in": "query", + "description": "Specifies whether you want to get those products that are in stock; stock and with prevision; stock and with prevision and on request or withot filter.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "AVAILABLE", + "AVAILABLE_AND_PREVISION", + "AVAILABLE_PREVISION_AND_ONREQUEST" + ] + } + }, + { + "name": "onlyFeatured", + "in": "query", + "description": "Indicate if you only want to get those products that are configured as featured.", + "schema": { + "type": "boolean" + } + }, + { + "name": "onlyOffers", + "in": "query", + "description": "Indicate if you only want to get those products configured with an offer activated.", + "schema": { + "type": "boolean" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "customTagsSearchList", + "in": "query", + "description": "List of internal identifiers for custom product tags.", + "schema": { + "type": "string" + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "id.asc", + "id.desc", + "pId.asc", + "pId.desc", + "sku.asc", + "sku.desc", + "name.asc", + "name.desc", + "priority.asc", + "priority.desc", + "price.asc", + "price.desc", + "offer.asc", + "offer.desc", + "featured.asc", + "featured.desc", + "dateAdded.asc(deprecated)", + "dateAdded.desc(deprecated)", + "publicationDate.asc", + "publicationDate.desc" + ], + "default": "priority.asc,name.asc" + } + }, + { + "name": "sortByIdList", + "in": "query", + "description": "Ordered list of the internal identifiers of the items to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "thirdPartySort", + "in": "query", + "description": "Indicates that you want to preserve the ordering received by thirdparty.", + "schema": { + "type": "boolean" + } + }, + { + "name": "fromPrice", + "in": "query", + "description": "Bottom of price range of tax-free product to search for products using a price filter. Those with a price equal or higher than the one specified are returned.", + "schema": { + "type": "number", + "format": "number" + } + }, + { + "name": "toPrice", + "in": "query", + "description": "Top of price range of tax-free product to search for products using a price filter. Those with a price equal to or less than the one specified are returned.", + "schema": { + "type": "number", + "format": "number" + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "description": "Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ] + } + }, + { + "name": "taxIncluded", + "in": "query", + "description": "Indicates if the initial and final value of the price filter include taxes. This criterion will also be used to select the price value in the products (with or without taxes) that should be used to evaluate the filter. By default, it uses the Commerce's configuration.", + "schema": { + "type": "boolean" + } + }, + { + "name": "randomItems", + "in": "query", + "description": "Number of random items.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "filterIndexable", + "in": "query", + "description": "Filter according to the indexable feature, which specifies whether search engine robots should index the item.", + "schema": { + "type": "string", + "enum": [ + "ALL", + "INDEXABLE", + "NO_INDEXABLE" + ], + "default": "ALL" + } + }, + { + "name": "filterOption[name]", + "in": "query", + "description": "Parameter to filter according to a specific option with a specific option value. Several can be used at once.
Usage: filterOption [option name in language returned]? option value in the language returned.", + "schema": { + "type": "string" + } + }, + { + "name": "filterCustomTag[id]", + "in": "query", + "description": "Parameter to filter based on a specific custom tag with a specific value. Several can be used at once.
Usage: filterCustomTag [tag identifier]? tag value.", + "schema": { + "type": "string" + } + }, + { + "name": "filterCustomTagInterval[id]", + "in": "query", + "description": "Parameter for filtering ranges of numeric values ​​for custom tags. Several can be used at once.
Usage: filterCustomTagInterval [tag identifier]? start value of the range & filterCustomTagInterval [tag identifier]? end value of the range.", + "schema": { + "type": "string" + } + }, + { + "name": "showFilters", + "in": "query", + "description": "Indicates if you want to get the filterable values of the returned items (default is true)", + "schema": { + "type": "string" + } + }, + { + "name": "showFilters", + "in": "query", + "schema": { + "type": "boolean", + "default": true + } + }, + { + "name": "discountId", + "in": "query", + "schema": { + "type": "integer", + "description": "Internal identifier of the discount whose conditioning Products are the ones to be obtained.
  • These Products are those referenced by any of the following types of discount conditions:
    • Brand: Products whose brand is among the brands established by this condition.
    • Catalog: Products that are directly defined by this condition, or whose main category is among the categories included by this condition; as long as the product has not been excluded, and its parent category has not been excluded either in this condition.
    • Combination: Products that are among those referenced by any of the groups defined by this condition.
    • *Always excluding those products that are marked as on offer if the provided discount has the condition of restricting products on offer.
  • Filter only available under license of module DISNV (Discounts Navigation), otherwise it will be ignored.
", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductCollectionDTO" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "AUTH_LICENSE_REQUIRED": { + "description": "AUTH_LICENSE_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "AUTH_LICENSE_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. The eCommerce requires a license for module: '{x}'" + } + } + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/products/{id}/related": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "products/{id}/related", + "description": "Get all items related to the product specified.", + "operationId": "getRelated_3", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "position", + "in": "query", + "description": "Position of the item to be obtained.", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "positionList", + "in": "query", + "description": "List of positions of the items to be obtained.", + "schema": { + "pattern": "^((([0-9]+),)*([0-9]+))*$", + "type": "string", + "default": "" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to return.", + "schema": { + "maximum": 50, + "minimum": 1, + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "offset", + "in": "query", + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "description": "Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ], + "default": "PRIORITY" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RelatedCollectionDTO" + } + } + } + } + } + } + }, + "/products/{id}/related/{type}": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "products/{id}/related/{type}", + "description": "Get only items of the requested type related to the product specified.", + "operationId": "getRelatedItemType_3", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "type", + "in": "path", + "description": "Type of related item by which you want to filter.", + "required": true, + "schema": { + "pattern": "(banners|categories|news|pages|products|posts)", + "type": "string", + "enum": [ + "banners, categories, news, pages, items, posts" + ] + } + }, + { + "name": "position", + "in": "query", + "description": "Position of the item to be obtained.", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "positionList", + "in": "query", + "description": "List of positions of the items to be obtained.", + "schema": { + "pattern": "^((([0-9]+),)*([0-9]+))*$", + "type": "string", + "default": "" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to return.", + "schema": { + "maximum": 50, + "minimum": 1, + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "offset", + "in": "query", + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "description": "Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ], + "default": "PRIORITY" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RelatedCollectionDTO" + } + } + } + } + } + } + }, + "/products/{id}/richSnippets": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "products/{id}/richSnippets", + "description": "Get the rich snippets of the product specified.", + "operationId": "getRichSnippets_1", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProductRichSnippetDTO" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/products/bundleDefinitions/groupings/combinationData": { + "post": { + "tags": [ + "Catalog and content" + ], + "summary": "products/bundleDefinitions/groupings/combinationData", + "description": "", + "operationId": "getSelectedBundleGroupingCombinationData", + "requestBody": { + "description": "", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/BundleCombinationDataParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BundleCombinationDataDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/products/{id}/productQuery": { + "post": { + "tags": [ + "Catalog and content" + ], + "summary": "products/{id}/productQuery", + "description": "Submit an inquiry about a product to the Commerce administrator.", + "operationId": "productQuery", + "parameters": [ + { + "name": "dataValidator", + "in": "header", + "description": "Non-mandatory header for field data validation. Its value is the internal identifier defined in the Data Validations configuration.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductQueryParam" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DataValidationError" + } + } + } + } + } + } + }, + "/products/combinations/{id}/stockAlert": { + "post": { + "tags": [ + "Catalog and content" + ], + "summary": "products/combinations/{id}/stockAlert", + "description": "Subscribe a user or email address to the stock alerts system for the product combination specified.", + "operationId": "subscribeStock", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the product combination.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StockSubscriptionParam" + }, + "examples": { + "subscribeStock": { + "description": "subscribeStock", + "value": "{ 'email':'test@test.com' }", + "externalValue": "subscribeStock" + } + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/recommend": { + "post": { + "tags": [ + "Catalog and content" + ], + "summary": "/recommend", + "description": "Send a recommendation of the specified items to the email address supplied. A transactional email recommending products is sent.
For products, if you indicate value for all the options of the product that are mandatory and of type selector, the product will be recommended with all the indicated options of type selector.

For bundles, if for each product of the bundle you indicate value for all its options that are mandatory and of type selector, the bundle will be recommended with all the indicated options of type selector.
", + "operationId": "recommend", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RecommendBodyExtended" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "RESOURCE_INVALID_ENTRY_JSON": { + "description": "RESOURCE_INVALID_ENTRY_JSON", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "RESOURCE_INVALID_ENTRY_JSON", + "stackTrace": null, + "message": "{Detail}" + } + }, + "RESOURCE_INVALID_JSON_MAPPING": { + "description": "RESOURCE_INVALID_JSON_MAPPING", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "RESOURCE_INVALID_JSON_MAPPING", + "stackTrace": null, + "message": "{Detail}" + } + }, + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "Query parameter '{parameter}' is required" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "LOGIN_REQUIRED": { + "description": "LOGIN_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "LOGIN_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. Login is required." + } + } + } + } + } + }, + "404": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "RESOURCE_NOT_FOUND": { + "description": "RESOURCE_NOT_FOUND", + "value": { + "reference": "{UUID}", + "status": 404, + "code": "RESOURCE_NOT_FOUND", + "stackTrace": null, + "message": null + } + } + } + } + } + } + } + } + }, + "/route": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "route", + "description": "Get information about the presentation layer resource path specified. It details the type of presentation layer resource that the path points to and supplies the information that the presentation layer view needs in order to build the content associated with that resource.", + "operationId": "getRoutes", + "parameters": [ + { + "name": "protocol", + "in": "query", + "required": true, + "schema": { + "type": "string", + "description": "Http or https protocol." + } + }, + { + "name": "host", + "in": "query", + "required": true, + "schema": { + "type": "string", + "description": "Domain to be used by the presentation layer resource." + } + }, + { + "name": "path", + "in": "query", + "required": true, + "schema": { + "type": "string", + "description": "Presentation layer resource path." + } + }, + { + "name": "basketToken", + "in": "query", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RouteDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/sitemap": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "sitemap", + "description": "Gets the content of a sitemap index file that includes the collection of the different sitemaps that the Commerce generates, the number of which will vary depending on the configuration that has been set.", + "operationId": "getSitemap_1", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DataFileDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/trackers": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "trackers", + "description": "Get a set of trace scripts by applying the available filters and parameters.", + "operationId": "getTrackers", + "parameters": [ + { + "name": "routeType", + "in": "query", + "description": "", + "schema": { + "type": "string", + "enum": [ + "PREHOME", + "HOME", + "PRIVACY_POLICY", + "CONTACT", + "TERMS_OF_USE", + "NOT_FOUND", + "FEED", + "SITEMAP", + "SEARCH", + "AREA", + "BRANDS", + "BRAND", + "CATEGORY", + "NEWS_LIST", + "NEWS", + "PAGE", + "POLL", + "DISCOUNT", + "DISCOUNTS", + "PRODUCT_COMPARISON", + "PRODUCT", + "FEATURED_PRODUCTS", + "OFFERS", + "SUBSCRIPTION_VERIFY", + "SUBSCRIPTION_UNSUBSCRIBE", + "BLOG_HOME", + "BLOG_TAG_CLOUD", + "BLOG_TAG", + "BLOG_ARCHIVE", + "BLOG_POST", + "BLOG_BLOGGERS", + "BLOG_BLOGGER", + "BLOG_CATEGORY", + "BLOG_UNSUBSCRIBE", + "BLOG_CATEGORY_UNSUBSCRIBE", + "BLOG_POST_UNSUBSCRIBE", + "BLOG_RSS", + "BASKET", + "BASKET_RECOVERY", + "EXPRESS_CHECKOUT_RETURN", + "EXPRESS_CHECKOUT_CANCEL", + "ORDER", + "CHECKOUT", + "CHECKOUT_ASYNC_ORDER", + "CHECKOUT_BASKET", + "CHECKOUT_CONFIRM_ORDER", + "CHECKOUT_CREATE_ACCOUNT", + "CHECKOUT_CUSTOMER", + "CHECKOUT_CUSTOMER_NEW_REGISTER", + "CHECKOUT_DENIED_ORDER", + "CHECKOUT_END_ORDER", + "CHECKOUT_GUEST", + "CHECKOUT_PAYMENT_AND_SHIPPING", + "PHYSICAL_LOCATION", + "PHYSICAL_LOCATION_CITIES", + "PHYSICAL_LOCATION_COUNTRIES", + "PHYSICAL_LOCATION_MAP", + "PHYSICAL_LOCATION_STATES", + "PHYSICAL_LOCATION_STORES", + "USER", + "USER_ADDRESS_BOOK", + "USER_ADDRESS_BOOK_ADD", + "USER_ADDRESS_BOOK_EDIT", + "USER_CHANGE_PASSWORD", + "CHANGE_PASSWORD_ANONYMOUS", + "USER_COMPLETE_ACCOUNT", + "USER_CREATE_ACCOUNT", + "USER_DELETE_ACCOUNT", + "USER_DELETE_NEWSLETTER", + "USER_VOUCHER_CODES", + "USER_LOST_PASSWORD", + "USER_OAUTH", + "USER_OAUTH_CALLBACK", + "USER_OAUTH_CALLBACK_PATH", + "USER_ORDERS", + "USER_ORDER", + "USER_PAYMENT_CARDS", + "USER_POLICIES", + "USER_RECOMMENDED_BASKETS", + "USER_SPONSORSHIP", + "USER_STOCK_ALERTS", + "USER_SUBSCRIPTIONS", + "USER_USER_WELCOME", + "USER_VERIFY_ACCOUNT", + "USER_WISHLIST", + "USER_SALES_AGENT", + "USER_RMAS", + "USER_SALES_AGENT_SALES", + "USER_SALES_AGENT_CUSTOMERS", + "USER_REWARD_POINTS", + "USER_SHOPPING_LISTS", + "ANY" + ] + } + }, + { + "name": "pageType", + "in": "query", + "description": "Specifies the type of page where the tracking script is embedded.", + "schema": { + "type": "string", + "enum": [ + "ALL", + "HOME", + "AREA", + "CATEGORY", + "PRODUCT", + "CHECKOUT", + "CHECKOUT_USER", + "PAYMENT_SHIPPING", + "CONFIRM_ORDER", + "DENIED_ORDER", + "PAGE_CONTENT", + "NEWS", + "NEW_USER", + "BLOG", + "BLOG_HOME", + "BLOG_TAGS", + "BLOG_CATEGORY", + "BLOG_POST", + "BLOG_AUTHOR", + "SEARCH" + ] + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TrackerCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/oms/attachment": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/attachment", + "description": "Endpoint to retrieve an existing attachment in the commerce.", + "operationId": "oms/attachment", + "parameters": [ + { + "name": "path", + "in": "query", + "schema": { + "type": "string", + "description": "Path of the existing attachment in the commerce to be retrieved." + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttachmentDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/oms/basket/bundle": { + "post": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/bundle", + "description": "Add a bundle to the cart in the required quantity.", + "operationId": "addBundle", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Parameters to add bundle.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddBasketBundleParam" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/basket/bundle/{hash}": { + "put": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/bundle/{hash}", + "description": "Modify the quantity or the products of the bundle with the hash code specified.", + "operationId": "updateBundle", + "parameters": [ + { + "name": "hash", + "in": "path", + "description": "Hash code of a bundle row of the cart.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Parameters to update bundle.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateBasketBundleParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiException" + } + } + } + } + } + } + }, + "/oms/basket/expressCheckout": { + "get": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/expressCheckout", + "description": "Get the express checkout url.", + "operationId": "getExpressCheckoutUrl", + "parameters": [ + { + "name": "pluginAccountId", + "in": "query", + "description": "", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExpressCheckoutUrlDTO" + } + } + } + }, + "400": { + "description": "Incorrect Cart Token." + }, + "500": { + "description": "" + } + } + } + }, + "/oms/basket/expressCheckout/logout": { + "post": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/expressCheckout/logout", + "description": "Logout the express checkout session.", + "operationId": "logout", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Incorrect Cart Token." + }, + "500": { + "description": "" + } + } + } + }, + "/oms/basket/expressCheckout/validate": { + "post": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/expressCheckout/validate", + "description": "Validate the express checkout parameters.", + "operationId": "validate", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidateParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Incorrect Cart Token." + }, + "404": { + "description": "Not Found" + }, + "500": { + "description": "" + } + } + } + }, + "/oms/basket/products": { + "post": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/products", + "description": "Bulk add or update quantities of products to cart.", + "operationId": "addFillProducts", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddBasketFillProductsParam" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResponseAddFillProductCollectionDTO" + } + } + } + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/basket/product": { + "post": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/product", + "description": "Add a product to the cart in the required quantity.", + "operationId": "addProduct_1", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Parameters to add product.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddBasketProductParam" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/basket/product/{hash}/pin": { + "put": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/product/{hash}/pin", + "description": "Pin the indicated attributes of the product row with the specified value.", + "operationId": "setPinned", + "parameters": [ + { + "name": "hash", + "in": "path", + "description": "Hash code of a product row of the cart.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductRowPinnedRequestBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "Query parameter '{parameter}' is required" + } + }, + "RESOURCE_INVALID_ENTRY_JSON": { + "description": "RESOURCE_INVALID_ENTRY_JSON", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "RESOURCE_INVALID_ENTRY_JSON", + "stackTrace": null, + "message": "{Detail}" + } + }, + "RESOURCE_INVALID_JSON_MAPPING": { + "description": "RESOURCE_INVALID_JSON_MAPPING", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "RESOURCE_INVALID_JSON_MAPPING", + "stackTrace": null, + "message": "{Detail}" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "RESOURCE_NOT_FOUND": { + "description": "RESOURCE_NOT_FOUND", + "value": { + "reference": "{UUID}", + "status": 404, + "code": "RESOURCE_NOT_FOUND", + "stackTrace": null, + "message": null + } + } + } + } + } + } + } + } + }, + "/oms/basket/product/{hash}": { + "put": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/product/{hash}", + "description": "Modify the quantity or the options of the product with the hash code specified.", + "operationId": "updateProduct", + "parameters": [ + { + "name": "hash", + "in": "path", + "description": "Hash code of a product row of the cart.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Item parameters.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateBasketProductParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiException" + } + } + } + } + } + } + }, + "/oms/basket/comment": { + "post": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/comment", + "description": "Add a comment to the cart. Overwrite the comment if it was submitted previously.", + "operationId": "addComment", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Comment parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddCommentParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/basket/linked": { + "get": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/linked", + "description": "Get all items linked to products in the cart.", + "operationId": "getLinked_1", + "parameters": [ + { + "name": "position", + "in": "query", + "description": "Position of the item to be obtained.", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "positionList", + "in": "query", + "description": "List of positions of the items to be obtained.", + "schema": { + "pattern": "^((([0-9]+),)*([0-9]+))*$", + "type": "string", + "default": "" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to return.", + "schema": { + "maximum": 50, + "minimum": 1, + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "offset", + "in": "query", + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "description": "Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ], + "default": "PRIORITY" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LinkedCollectionDTO" + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/linked", + "description": "Add linked product to the cart.", + "operationId": "addLinked", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/AddBasketLinkedParam" + } + } + } + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/basket/gift": { + "post": { + "tags": [ + "Cart" + ], + "summary": "/oms/basket/gift", + "description": "Add to the basket the specified gift of a discount selectable gift that is applicable to the basket.", + "operationId": "addSelectableGift", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/AddBasketSelectableGiftBody" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "BASKET_ADD_PRODUCT_ERROR": { + "description": "BASKET_ADD_PRODUCT_ERROR", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "A01000-BASKET_ADD_PRODUCT_ERROR", + "stackTrace": null, + "message": "Product can't be added." + } + }, + "BASKET_PRODUCT_OPTION_INVALID": { + "description": "BASKET_PRODUCT_OPTION_INVALID", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "A01000-BASKET_PRODUCT_OPTION_INVALID", + "stackTrace": null, + "message": "option id not found or not active!" + } + }, + "BASKET_DISCOUNT_SELECTABLE_GIFT_NOT_APPLICABLE": { + "description": "BASKET_DISCOUNT_SELECTABLE_GIFT_NOT_APPLICABLE", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "BASKET_DISCOUNT_SELECTABLE_GIFT_NOT_APPLICABLE", + "stackTrace": null, + "message": "The indicated discount selectable gift is not applicable to the basket." + } + }, + "BASKET_DISCOUNT_SELECTABLE_GIFT_PRODUCT_NOT_ALLOWED": { + "description": "BASKET_DISCOUNT_SELECTABLE_GIFT_PRODUCT_NOT_ALLOWED", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "BASKET_DISCOUNT_SELECTABLE_GIFT_PRODUCT_NOT_ALLOWED", + "stackTrace": null, + "message": "The specified product is not allowed as gift for the specified discountSelectableGift." + } + }, + "BASKET_DISCOUNT_SELECTABLE_GIFT_MAX_UNITS_REACHED": { + "description": "BASKET_DISCOUNT_SELECTABLE_GIFT_MAX_UNITS_REACHED", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "BASKET_DISCOUNT_SELECTABLE_GIFT_MAX_UNITS_REACHED", + "stackTrace": null, + "message": "The 'OptionValue' with internal identifier '%s' (specified in Request Body json property 'options.values.value') is not allowed." + } + }, + "BASKET_DISCOUNT_SELECTABLE_GIFT_ITEM_MAX_QUANTITY_REACHED": { + "description": "BASKET_DISCOUNT_SELECTABLE_GIFT_ITEM_MAX_QUANTITY_REACHED", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "BASKET_DISCOUNT_SELECTABLE_GIFT_ITEM_MAX_QUANTITY_REACHED", + "stackTrace": null, + "message": "Maximum quantity of gifts reached for the indicated discountSelectableGift." + } + }, + "BASKET_DISCOUNT_SELECTABLE_GIFT_PRODUCT_OPTION_VALUE_NOT_ALLOWED": { + "description": "BASKET_DISCOUNT_SELECTABLE_GIFT_PRODUCT_OPTION_VALUE_NOT_ALLOWED", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "BASKET_DISCOUNT_SELECTABLE_GIFT_PRODUCT_OPTION_VALUE_NOT_ALLOWED", + "stackTrace": null, + "message": "Maximum quantity of gifts reached for this particular indicated product." + } + } + } + } + } + } + } + } + }, + "/oms/basket/voucher/{code}": { + "post": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/voucher/{code}", + "description": "Add a discount code to the cart if it is valid and has not been previously added.", + "operationId": "addVoucher", + "parameters": [ + { + "name": "code", + "in": "path", + "description": "Promotional code. This can be a discount voucher or a gift coupon.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "INVALID_PARAM": { + "description": "INVALID_PARAM", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "INVALID_PARAM", + "stackTrace": null, + "message": "The '{x}' parameter is wrong!" + } + }, + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "Query parameter '{parameter}' is required" + } + }, + "DISCOUNT_CODE_EXISTS": { + "description": "DISCOUNT_CODE_EXISTS", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "DISCOUNT_CODE_EXISTS", + "stackTrace": null, + "message": "Code in use!" + } + }, + "VOUCHER_CODE_EXISTS": { + "description": "VOUCHER_CODE_EXISTS", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "VOUCHER_CODE_EXISTS", + "stackTrace": null, + "message": "Code in use!" + } + }, + "VOUCHER_CODE_NOT_FOUND": { + "description": "VOUCHER_CODE_NOT_FOUND", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "VOUCHER_CODE_NOT_FOUND", + "stackTrace": null, + "message": "Code not found!" + } + }, + "VOUCHER_CODE_EXPIRED": { + "description": "VOUCHER_CODE_EXPIRED", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "VOUCHER_CODE_EXPIRED", + "stackTrace": null, + "message": "Voucher expiration date has been reached!" + } + }, + "VOUCHER_CODE_EXHAUSTED": { + "description": "VOUCHER_CODE_EXHAUSTED", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "VOUCHER_CODE_EXHAUSTED", + "stackTrace": null, + "message": "Voucher available balance is exhausted!" + } + }, + "": { + "description": "", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "VOUCHER_CAN_NOT_BE_APPLIED", + "stackTrace": null, + "message": "Voucher code can not be applied" + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/voucher/{code}", + "description": "Delete a discount code from the cart through your code. It must have been previously added.", + "operationId": "deleteVoucher", + "parameters": [ + { + "name": "code", + "in": "path", + "description": "Promotional code. This can be a discount voucher or a gift coupon.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/basket/clear": { + "post": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/clear", + "description": "Delete all the products in the cart leaving it empty.", + "operationId": "clearBasket", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/basket": { + "get": { + "tags": [ + "Cart" + ], + "summary": "oms/basket", + "description": "Get the detail of the cart that is in session.", + "operationId": "getBasket", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/basket/recovery": { + "get": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/recovery", + "description": "Retrieves the content of the abandoned cart identified with the provided token and dumps it into a new cart. This resource is deprecated, use the recover resource instead.", + "operationId": "getBasketRecovery", + "parameters": [ + { + "name": "hash", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + }, + "deprecated": true + } + }, + "/oms/basket/customTags": { + "get": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/customTags", + "description": "Get the custom cart tags.", + "operationId": "getCustomTags", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomTagCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + }, + "post": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/customTags", + "description": "Add custom tags to the cart.", + "operationId": "setCustomTags", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Parameter block for custom tags. The tag - value pairs for that tag must match the required tags.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SetCustomTagParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/basket/paymentSystems": { + "get": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/paymentSystems", + "description": "Get all the payment systems compatible with the cart.", + "operationId": "getPaymentSystems", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentSystemCollectionDTO" + } + } + } + } + } + }, + "post": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/paymentSystems", + "description": "Assign a payment system to the cart.", + "operationId": "setPaymentSystem", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Parameter block for the selection of the payment system.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentSystemParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/basket/related": { + "get": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/related", + "description": "Get all items related to products in the cart. Only available for plugins .", + "operationId": "getRelated_4", + "parameters": [ + { + "name": "position", + "in": "query", + "description": "Position of the item to be obtained.", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "positionList", + "in": "query", + "description": "List of positions of the items to be obtained.", + "schema": { + "pattern": "^((([0-9]+),)*([0-9]+))*$", + "type": "string", + "default": "" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to return.", + "schema": { + "maximum": 50, + "minimum": 1, + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "offset", + "in": "query", + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "description": "Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ], + "default": "PRIORITY" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RelatedCollectionDTO" + } + } + } + } + } + } + } + }, + "/oms/basket/related/{type}": { + "get": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/related/{type}", + "description": "Get only the items of the requested type related to the cart. Only available for plugins .", + "operationId": "getRelatedItemType_4", + "parameters": [ + { + "name": "type", + "in": "path", + "description": "Type of related item by which you want to filter.", + "required": true, + "schema": { + "pattern": "(banners|categories|news|pages|products)", + "type": "string", + "enum": [ + "banners, categories, news, pages, items, posts" + ] + } + }, + { + "name": "position", + "in": "query", + "description": "Position of the item to be obtained.", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "positionList", + "in": "query", + "description": "List of positions of the items to be obtained.", + "schema": { + "pattern": "^((([0-9]+),)*([0-9]+))*$", + "type": "string", + "default": "" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to return.", + "schema": { + "maximum": 50, + "minimum": 1, + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "offset", + "in": "query", + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "description": "Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ], + "default": "PRIORITY" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RelatedCollectionDTO" + } + } + } + } + } + } + } + }, + "/oms/basket/recalculate": { + "post": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/recalculate", + "description": "Process to validate and calculate all the items of the cart: products, discount codes, payment systems and shipping methods.", + "operationId": "recalculate", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/basket/rewardPoints/redeem": { + "post": { + "tags": [ + "Cart" + ], + "summary": "", + "description": "", + "operationId": "rewardPointsRedeem", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/RewardPointsRedeemRequestBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/basket/addresses": { + "post": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/addresses", + "description": "Select billing and shipping addresses for cart", + "operationId": "setAddresses", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Parameter block for addresses selection.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketAddressesParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Bad Request" + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/oms/basket/shippings": { + "post": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/shippings", + "description": "Assign the shipments and shipping methods specified to the delivery identified with the hash code provided. Each expedition must have a shipping method, so shipment-shipping method pairs must be sent to cover all the shipments included in the delivery.", + "operationId": "setShippings", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Parameter block to assign delivery. The selected delivery and shipping methods selected for each shipment of the delivery must be reported.", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/DeliveryParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/basket/linked/{hash}": { + "put": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/linked", + "description": "Update linked product to the cart.", + "operationId": "updateLinked", + "parameters": [ + { + "name": "hash", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/UpdateBasketLinkedParam" + } + } + } + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/basket/lockedStockTimers/{uid}": { + "put": { + "tags": [ + "Cart" + ], + "summary": "/oms/basket/lockedStockTimers/{uId}", + "description": "Modifies the specified locked stock timer of the basket's session. Only available under license 'STCBL'(Basket Stock Locking).", + "operationId": "updateLockedStockTimer", + "parameters": [ + { + "name": "uid", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateLockedStockTimer" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LockedStockTimerDTO" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "AUTH_LICENSE_REQUIRED": { + "description": "AUTH_LICENSE_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "AUTH_LICENSE_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. The eCommerce requires a license for module: '{x}'" + } + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "RESOURCE_NOT_FOUND": { + "description": "RESOURCE_NOT_FOUND", + "value": { + "reference": "{UUID}", + "status": 404, + "code": "RESOURCE_NOT_FOUND", + "stackTrace": null, + "message": "ExpiresAt update is not allowed upon a User request according to 'lockedStockTimerExtendibleByUser' basketStockLocking setting." + } + }, + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "{Resource requires a body}" + } + }, + "RESOURCE_INVALID_ENTRY_JSON": { + "description": "RESOURCE_INVALID_ENTRY_JSON", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "RESOURCE_INVALID_ENTRY_JSON", + "stackTrace": null, + "message": "{Detail}" + } + }, + "RESOURCE_INVALID_JSON_MAPPING": { + "description": "RESOURCE_INVALID_JSON_MAPPING", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "RESOURCE_INVALID_JSON_MAPPING", + "stackTrace": null, + "message": "{Detail}" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "RESOURCE_NOT_FOUND": { + "description": "RESOURCE_NOT_FOUND", + "value": "{\"reference\": \"{UUID}\",\"status\": 404,\"code\":{RESOURCE_TYPE}_NOT_FOUND\"stackTrace\": null,\"message\": \"Not valid '{resource}' resource found with the specified identifier '{identifier}' in {ParameterType} '{path}'.\"}" + } + } + } + } + } + } + } + }, + "/oms/basket/row/{hash}": { + "delete": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/row/{hash}", + "description": "Delete the row from the cart with the hash code specified.", + "operationId": "deleteRow", + "parameters": [ + { + "name": "hash", + "in": "path", + "description": "Hash code of a row of the cart.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + } + } + } + }, + "/oms/basket/rows/delete": { + "post": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/rows/delete", + "description": "Delete the rows from the cart with the hash codes specified.", + "operationId": "deleteRows", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Row hash product to delete.", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/BasketRowHashesRequestBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + } + } + } + }, + "/oms/basket/rows": { + "post": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/rows", + "description": "Fill the cart with the rows identifieds with the provided hash.", + "operationId": "setRows", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Hash of the cart detail lines to add.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HashRequestBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SetRowsResponseDTO" + } + } + } + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/contact": { + "post": { + "tags": [ + "OMS" + ], + "summary": "oms/contact", + "description": "Verify the contact form for subsequent submission.", + "operationId": "contact", + "parameters": [ + { + "name": "dataValidator", + "in": "header", + "description": "Non-mandatory header for field data validation. Its value is the internal identifier defined in the Data Validations configuration.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Contact form data.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContactParam" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DataValidationError" + } + } + } + } + } + } + }, + "/contact/motives": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/contact/motives", + "description": "Get the contact reasons established in the email template specified.", + "operationId": "getMotives", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MotiveDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/customForm/sendData": { + "post": { + "tags": [ + "OMS" + ], + "summary": "customForm/sendData", + "description": "Submit a form with information and custom fields.", + "operationId": "customFormSendMail", + "requestBody": { + "description": "Data params.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormSendDataRequestBody" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/customForm/sendMail": { + "post": { + "tags": [ + "OMS" + ], + "summary": "customForm/sendMail", + "description": "Submit an email with information and attachments.", + "operationId": "customFormSendMail_1", + "requestBody": { + "description": "Mail params.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomFormSendMailRequestBody" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/deliveryNotes/{id}": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/deliveryNotes/{id}", + "description": "Obtain a delivery note through the internal identifier specified.", + "operationId": "getDeliveryNote", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeliveryNoteDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "403": { + "description": "Forbidden" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/deliveryNotes/{id}/pdf": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/deliveryNotes/{id}/pdf", + "description": "Get a delivery note in PDF format encoded in BASE64 through the internal identifier specified.", + "operationId": "getDeliveryNotePDF", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateDocumentDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "403": { + "description": "Forbidden" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/deliveryNotes/{id}/rich": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/deliveryNotes/{id}/rich", + "description": "Get a delivery note with the rich currency, number and date formats. Valid only if you are logged in .", + "operationId": "getRichDeliveryNote", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RichDocumentDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "403": { + "description": "Forbidden" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/basket/deliveries": { + "get": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/deliveries", + "description": "Get all possible deliveries of the order compatible with the cart, including home deliveries and store pickups. By default, the user's shipping address is used to find the pickup points.", + "operationId": "deliveries", + "parameters": [ + { + "name": "countryCode", + "in": "query", + "description": "Country code in ISO 3166-2 format.", + "schema": { + "type": "string" + } + }, + { + "name": "state", + "in": "query", + "description": "Filter to obtain the order deliveries of store pickup of the physical locations whose state is the same as the indicated one.", + "schema": { + "type": "string" + } + }, + { + "name": "city", + "in": "query", + "description": "Filter to obtain the order deliveries of store pickup of the physical locations whose city is the same as the indicated one.", + "schema": { + "type": "string" + } + }, + { + "name": "postalCode", + "in": "query", + "description": "Filter to obtain the order deliveries of store pickup of the physical locations whose postalCode is the same as the indicated one.", + "schema": { + "type": "string" + } + }, + { + "name": "locationId", + "in": "query", + "description": "Internal identifier of a subdivision of a country.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "latitude", + "in": "query", + "description": "Latitude value of the geographic coordinate of the location for which physical locations are requested.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "longitude", + "in": "query", + "description": "Longitude value of the geographic coordinate of the location for which physical locations are requested.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "radius", + "in": "query", + "description": "Specifies the distance radius in kilometers centering on the location described by the latitude and longitude values. Physical locations within this radius are obtained.", + "schema": { + "type": "number", + "format": "double" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "idList", + "in": "query", + "description": "List the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "visibleOnMap", + "in": "query", + "description": "Specifies that physical locations are visible on a map.", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "deliveryPoint", + "in": "query", + "description": "Specifies that the physical locations are configured as pickup points.", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "returnPoint", + "in": "query", + "description": "Specifies that the physical locations are configured as return points.", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeliveryCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + }, + "deprecated": true + } + }, + "/oms/basket/physicalLocationPickingDeliveries": { + "get": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/physicalLocationPickingDeliveries", + "description": "Obtains the possible picking deliveries compatible with the basket at the physical locations that can act as a pickup points. By default, the user's shipping address is used to find them. ", + "operationId": "physicalLocationPickingDeliveries", + "parameters": [ + { + "name": "countryCode", + "in": "query", + "description": "Country code in ISO 3166-2 format.", + "schema": { + "type": "string" + } + }, + { + "name": "state", + "in": "query", + "description": "Filter to obtain the order deliveries of store pickup of the physical locations whose state is the same as the indicated one.", + "schema": { + "type": "string" + } + }, + { + "name": "city", + "in": "query", + "description": "Filter to obtain the order deliveries of store pickup of the physical locations whose city is the same as the indicated one.", + "schema": { + "type": "string" + } + }, + { + "name": "postalCode", + "in": "query", + "description": "Filter to obtain the order deliveries of store pickup of the physical locations whose postalCode is the same as the indicated one.", + "schema": { + "type": "string" + } + }, + { + "name": "locationId", + "in": "query", + "description": "Internal identifier of a subdivision of a country.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "latitude", + "in": "query", + "description": "Latitude value of the geographic coordinate of the location for which physical locations are requested.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "longitude", + "in": "query", + "description": "Longitude value of the geographic coordinate of the location for which physical locations are requested.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "radius", + "in": "query", + "description": "Specifies the distance radius in kilometers centering on the location described by the latitude and longitude values. Physical locations within this radius are obtained.", + "schema": { + "type": "number", + "format": "double" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "idList", + "in": "query", + "description": "List the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "visibleOnMap", + "in": "query", + "description": "Specifies that physical locations are visible on a map.", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "deliveryPoint", + "in": "query", + "description": "Specifies that the physical locations are configured as pickup points.", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "returnPoint", + "in": "query", + "description": "Specifies that the physical locations are configured as return points.", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "filter": { + "description": "Information about distinct filterable values over the returned items.", + "allOf": [ + { + "$ref": "#/components/schemas/PhysicalLocationFilterDTO" + } + ] + }, + "pagination": { + "description": "Information about the pagination of the items.", + "allOf": [ + { + "$ref": "#/components/schemas/PaginationDTO" + } + ] + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/PickingDeliveryDTO" + } + } + }, + "description": "" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "{Resource requires a body}" + } + }, + "INVALID_PARAM": { + "description": "INVALID_PARAM", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "INVALID_PARAM", + "stackTrace": null, + "message": "The '{x}' parameter is wrong!" + } + } + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/oms/basket/deliveries/picking": { + "get": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/deliveries/picking", + "description": "Get the possible in-store pickups compatible with the cart. By default, the user's shipping address is used to find the pickup points.", + "operationId": "picking", + "parameters": [ + { + "name": "countryCode", + "in": "query", + "description": "Country code in ISO 3166-2 format.", + "schema": { + "type": "string" + } + }, + { + "name": "state", + "in": "query", + "description": "Filter to obtain the order deliveries of store pickup of the physical locations whose state is the same as the indicated one.", + "schema": { + "type": "string" + } + }, + { + "name": "city", + "in": "query", + "description": "Filter to obtain the order deliveries of store pickup of the physical locations whose city is the same as the indicated one.", + "schema": { + "type": "string" + } + }, + { + "name": "postalCode", + "in": "query", + "description": "Filter to obtain the order deliveries of store pickup of the physical locations whose postalCode is the same as the indicated one.", + "schema": { + "type": "string" + } + }, + { + "name": "locationId", + "in": "query", + "description": "Internal identifier of a subdivision of a country.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "latitude", + "in": "query", + "description": "Latitude value of the geographic coordinate of the location for which physical locations are requested.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "longitude", + "in": "query", + "description": "Longitude value of the geographic coordinate of the location for which physical locations are requested.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "radius", + "in": "query", + "description": "Specifies the distance radius in kilometers centering on the location described by the latitude and longitude values. Physical locations within this radius are obtained.", + "schema": { + "type": "number", + "format": "double" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "idList", + "in": "query", + "description": "List the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "visibleOnMap", + "in": "query", + "description": "Specifies that physical locations are visible on a map.", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "deliveryPoint", + "in": "query", + "description": "Specifies that the physical locations are configured as pickup points.", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "returnPoint", + "in": "query", + "description": "Specifies that the physical locations are configured as return points.", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeliveryCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + }, + "deprecated": true + } + }, + "/oms/basket/providerPickupPointPickingDeliveries": { + "get": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/providerPickupPointPickingDeliveries", + "description": "Obtains the possible picking deliveries compatible with the basket at the pickup points provided by the indicated provider according to the location data provided.
In addition to the location data described, additional query parameters required for the pickup point provider plugin can be provided according to its specification.", + "operationId": "providerPickupPointPickingDeliveries", + "parameters": [ + { + "name": "pickupPointProviderId", + "in": "query", + "description": "Internal identifier of the pickup point provider for which you wish to obtain its pickup points.
Must be one of the valid pickup point providers for the user's session and the specified country.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "countryCode", + "in": "query", + "description": "ISO 3166-1 alpha-2 code of the country for which you wish to obtain provider pickup points.
It must be one of those supported by the sales area.
If not specified, the user's shipping address country is used to find the pickup points.
Mandatory in case the session has no user's shipping address country.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "postalCode", + "in": "query", + "description": "Filter to obtain picking deliveries at the pickup points that the provider's plugin considers available for this postal code.", + "schema": { + "type": "string" + } + }, + { + "name": "city", + "in": "query", + "description": "Filter to obtain picking deliveries at the pickup points that the provider's plugin considers available for this city.", + "schema": { + "type": "string" + } + }, + { + "name": "latitude", + "in": "query", + "description": "Filter to obtain picking deliveries at the pickup points that the provider's plugin considers available for the geographic coordinate whose latitude is given here. Must be provided in format: ISO 6709 '±DD.D'.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "longitude", + "in": "query", + "description": "Filter to obtain picking deliveries at the pickup points that the provider's plugin considers available for the geographic coordinate whose latitude is given here. Must be provided in format: ISO 6709 '±DDD.D'.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "radius", + "in": "query", + "description": "Filter to obtain picking deliveries at the pickup points that the provider's plugin considers available within this radius. Must be provided in kilometres.", + "schema": { + "type": "number", + "format": "double" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/PickingDeliveryDTO" + } + } + }, + "description": "" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "{Resource requires a body}" + } + }, + "INVALID_PARAM": { + "description": "INVALID_PARAM", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "INVALID_PARAM", + "stackTrace": null, + "message": "The '{x}' parameter is wrong!" + } + } + } + } + } + } + } + } + }, + "/oms/basket/providerPickupPointPickingDeliveries/selectedPickupPoint": { + "get": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/providerPickupPointPickingDeliveries/selectedPickupPoint", + "description": "Obtains the possible picking deliveries compatible with the basket, but only those for the provider's pickup point of the current selected delivery.
This resource only makes sense to call if a delivery of type 'picking' at a 'provider pickup point' is already selected in the basket; otherwise, the resource will not return any elements.", + "operationId": "providerPickupPointPickingDeliveriesSelectedPickupPoint", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProviderPickupPointPickingDeliveryCollectionDTO" + } + } + } + } + } + } + }, + "/oms/basket/deliveries/shipping": { + "get": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/deliveries/shipping", + "description": "Get the possible home deliveries compatible with the cart.", + "operationId": "shipping", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeliveryShippingCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + }, + "deprecated": true + } + }, + "/oms/basket/shippingDeliveries": { + "get": { + "tags": [ + "Cart" + ], + "summary": "oms/basket/shippingDeliveries", + "description": "Get the possible deliveries of type shipping to home compatible with the cart.", + "operationId": "shippingDeliveries", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "pagination": { + "description": "Information about the pagination of the items.", + "allOf": [ + { + "$ref": "#/components/schemas/PaginationDTO" + } + ] + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/ShippingDeliveryDTO" + } + } + }, + "description": "" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/invoices/{id}": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/invoices/{id}", + "description": "Get an invoice through the internal identifier specified.", + "operationId": "getInvoice", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvoiceDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "403": { + "description": "Forbidden" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/invoices/{id}/pdf": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/invoices/{id}/pdf", + "description": "Get an invoice in PDF format encoded in BASE64 through the internal identifier specified.", + "operationId": "getInvoicePDF", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateDocumentDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "403": { + "description": "Forbidden" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/invoices/{id}/rich": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/invoices/{id}/rich", + "description": "Get an invoice with the rich currency, number and date formats. Valid only if you are logged in .", + "operationId": "getRichInvoice", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RichDocumentDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "403": { + "description": "Forbidden" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/lockedStocks/aggregateData": { + "get": { + "tags": [ + "Cart" + ], + "summary": "oms/lockedStocks/aggregateData", + "description": "Get aggregated data of basket stock lockings for the indicated product combinations. Only available under license 'STCBL'(Basket Stock Locking).", + "operationId": "aggregateData", + "parameters": [ + { + "name": "productCombinationIdList", + "in": "query", + "description": "Comma separated list of the internal identifiers of the product combinations to be considered.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LockedStocksAggregateDataCollectionDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "{Resource requires a body}" + } + }, + "INVALID_PARAM": { + "description": "INVALID_PARAM", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "INVALID_PARAM", + "stackTrace": null, + "message": "The '{x}' parameter is wrong!" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "AUTH_LICENSE_REQUIRED": { + "description": "AUTH_LICENSE_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "AUTH_LICENSE_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. The eCommerce requires a license for module: '{x}'" + } + } + } + } + } + } + } + } + }, + "/oms/orders": { + "post": { + "tags": [ + "OMS" + ], + "summary": "oms/orders", + "description": "Create an order with the contents of the cart in current session.", + "operationId": "createOrder", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrderDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/orders/{id}/rma": { + "post": { + "tags": [ + "OMS" + ], + "summary": "oms/orders/{id}/rma", + "description": "Create a return request for the products specified through the detail line hash code and in the required quantity of the order specified.", + "operationId": "createRMA", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "requestBody": { + "description": "Information block necessary to make a return request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateRMAParam" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RMADTO" + } + } + } + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/orders/{id}/deliveryNotes": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/orders/{id}/deliveryNotes", + "description": "Get all delivery notes for the order specified.", + "operationId": "getDeliveryNotes", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeliveryNoteCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/orders/{id}/invoices": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/orders/{id}/invoices", + "description": "Get all the invoices for the order specified.", + "operationId": "getInvoices", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/InvoiceCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/orders/{id}": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/orders/{id}", + "description": "Obtains an order through the internal identifier specified. Valid only if you are logged in .", + "operationId": "getOrder", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrderDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "403": { + "description": "Forbidden" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/orders/{id}/{token}": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/orders/{id}/{token}", + "description": "Obtains an order through the internal identifier and token specified. No login is required because access to the order is validated using the token. This parameter is obtained through the validate payment resource.", + "operationId": "getOrder_1", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "token", + "in": "path", + "description": "Unique order identifier.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrderDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/orders/{id}/pdf": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/orders/{id}/pdf", + "description": "Gets a request in PDF format encoded in BASE64 through the internal identifier specified. Valid only if you are logged in .", + "operationId": "getOrderPDF", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateDocumentDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "403": { + "description": "Forbidden" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/orders/{id}/{token}/pdf": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/orders/{id}/{token}/pdf", + "description": "Get a request in PDF format encoded in BASE64 through the indicated internal identifier and token. No login is required because access to the order is validated using the token. This parameter is obtained through the validate payment resource.", + "operationId": "getOrderPDF_1", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "token", + "in": "path", + "description": "Unique order identifier.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrderDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/orders/{id}/recovery": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/orders/{id}/recovery", + "description": "Add items of selected order to the cart.", + "operationId": "getOrderRecovery", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/orders/{id}/rma/request": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/orders/{id}/rma/request", + "description": "Get all the products available to be included in a request to return the order specified.", + "operationId": "getPendingRMA", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/TransactionDocumentSingleRowDTO" + } + } + }, + "description": "" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/orders/{id}/rmas": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/orders/{id}/rmas", + "description": "Get all the return requests made for the order specified.", + "operationId": "getRMAs", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RMACollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/orders/{id}/rma/returnPoints": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/orders/{id}/rma/returnPoints", + "description": "", + "operationId": "getReturnPoints", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PhysicalLocationCollectionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/orders/{id}/rich": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/orders/{id}/rich", + "description": "Get an order with the rich currency, number and date formats. Valid only if you are logged in .", + "operationId": "getRichOrder", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RichDocumentDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "403": { + "description": "Forbidden" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/orders/{id}/pay": { + "post": { + "tags": [ + "OMS" + ], + "summary": "oms/orders/{id}/pay", + "description": "Get the necessary information to be able to connect to the corresponding payment gateway.", + "operationId": "pay", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PayResponseDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/orders/validate": { + "post": { + "tags": [ + "OMS" + ], + "summary": "oms/orders/validate", + "description": "Verify the payment with the information provided by the payment gateway. If successful, it returns a token that allows the order to proceed.", + "operationId": "validate_1", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidateParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PaymentValidationResponseDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/rmas/creditNote/{id}": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/rmas/creditNote/{id}", + "description": "Get the indicated corrective invoice. Valid only if you are logged in .

*Note: Response.items is always ReturnProcessDocumentRowDTO.", + "operationId": "getCreditNote", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreditNoteDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "403": { + "description": "Forbidden" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/rmas/correctiveInvoice/{id}": { + "get": { + "tags": [ + "OMS" + ], + "operationId": "getCreditNoteDeprecated", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "default": { + "description": "default response", + "content": { + "application/json": {} + } + } + }, + "deprecated": true + } + }, + "/oms/rmas/creditNote/{id}/pdf": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/rmas/creditNote/{id}/pdf", + "description": "", + "operationId": "getCreditNotePDF", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateDocumentDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "403": { + "description": "Forbidden" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/rmas/correctiveInvoice/{id}/pdf": { + "get": { + "tags": [ + "OMS" + ], + "operationId": "getCreditNotePDFDeprecated", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "default": { + "description": "default response", + "content": { + "application/json": {} + } + } + }, + "deprecated": true + } + }, + "/oms/rmas/{id}": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/rmas/{id}", + "description": "Get a rma through the internal identifier specified. Valid only if you are logged in .

*Note: Response.items is always ReturnProcessDocumentRowDTO.", + "operationId": "getRMA", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RMADTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "403": { + "description": "Forbidden" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/rmas/reasons": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/rmas/reasons ", + "description": "Gets the list of RMA reasons. ", + "operationId": "getRMAReasons", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable. Comma-sepparated list of these possible values: description.asc,description.desc,priority.asc,priority.desc,id.asc,id.desc ", + "schema": { + "type": "string", + "enum": [ + "^(description|priority|id).(asc|desc)((((,description|,priority|,id).(asc|desc)))*)$" + ], + "default": "description.asc,id.asc" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RMAReasonCollectionDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "{Resource requires a body}" + } + }, + "INVALID_PARAM": { + "description": "INVALID_PARAM", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "INVALID_PARAM", + "stackTrace": null, + "message": "The '{x}' parameter is wrong!" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "AUTH_LICENSE_REQUIRED": { + "description": "AUTH_LICENSE_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "AUTH_LICENSE_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. The eCommerce requires a license for module: '{x}'" + } + } + } + } + } + } + } + } + }, + "/oms/rmas/return/{id}": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/rmas/return/{id}", + "description": "Get the indicated return. Valid only if you are logged in .

*Note: Response.items is always ReturnProcessDocumentRowDTO.", + "operationId": "getReturn", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReturnDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "403": { + "description": "Forbidden" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/rmas/return/{id}/pdf": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/rmas/return/{id}/pdf", + "description": "", + "operationId": "getReturnPDF", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateDocumentDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "403": { + "description": "Forbidden" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/rmas/creditNote/{id}/rich": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/rmas/creditNote/{id}/rich", + "description": "Get a corrective invoice with the rich currency, number and date formats. Valid only if you are logged in .

*Note: Response.items is always RichReturnProcessDocumentRowDTO.", + "operationId": "getRichCreditNote", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RichDocumentDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "403": { + "description": "Forbidden" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/rmas/correctiveInvoice/{id}/rich": { + "get": { + "tags": [ + "OMS" + ], + "operationId": "getRichCreditNoteDeprecated", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "default": { + "description": "default response", + "content": { + "application/json": {} + } + } + }, + "deprecated": true + } + }, + "/oms/rmas/{id}/rich": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/rmas/{id}/rich", + "description": "Get a RMA with the rich currency, number and date formats. Valid only if you are logged in .

*Note: Response.items is always RichReturnProcessDocumentRowDTO.", + "operationId": "getRichRMA", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RichDocumentDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "403": { + "description": "Forbidden" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/rmas/return/{id}/rich": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/rmas/return/{id}/rich", + "description": "Get a return with the rich currency, number and date formats. Valid only if you are logged in .

*Note: Response.items is always RichReturnProcessDocumentRowDTO.", + "operationId": "getRichReturn", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RichDocumentDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "403": { + "description": "Forbidden" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/oms/rmas/{id}/pdf": { + "get": { + "tags": [ + "OMS" + ], + "summary": "oms/rmas/{id}/pdf", + "description": "You get a rma in PDF format encoded in BASE64 through the internal identifier specified. Valid only if you are logged in .", + "operationId": "getRmaPDF", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateDocumentDTO" + } + } + } + }, + "404": { + "description": "Not Found" + }, + "403": { + "description": "Forbidden" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/sessionAggregateData": { + "get": { + "tags": [ + "Cart" + ], + "summary": "sessionAggregateData", + "description": "Get aggregated data, basically counters, of some relevant items of the session.", + "operationId": "getSessionAggregateData", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SessionAggregateDataDTO" + } + } + } + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/address/validate": { + "post": { + "tags": [ + "User" + ], + "summary": "addresses/validate", + "description": "Validates the address specified. The validation is done by the address validator plugin configured in the Commerce.", + "operationId": "validateAddress", + "requestBody": { + "description": "Address.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddressParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddressValidatedDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + } + } + } + }, + "/blog/subscribe": { + "post": { + "tags": [ + "Blog" + ], + "summary": "blog/subscribe", + "description": "Subscribe to the blog.", + "operationId": "subscribeBlog", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlogSubscribeParam" + } + } + } + }, + "responses": { + "201": { + "description": "Created" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Blog" + ], + "summary": "blog/subscribe", + "description": "Delete the user's subscription to the blog. Valid only if you are logged in .", + "operationId": "unsubscribeBlog", + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/blog/categories/{id}/subscribe": { + "post": { + "tags": [ + "Blog" + ], + "summary": "blog/categories/{id}/subscribe", + "description": "Make the subscription to the blog category specified.", + "operationId": "subscribeCategory", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlogSubscribeParam" + } + } + } + }, + "responses": { + "201": { + "description": "Created" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + }, + "delete": { + "tags": [ + "Blog" + ], + "summary": "blog/categories/{id}/subscribe", + "description": "Remove the user's subscription to the blog category specified. Valid only if you are logged in .", + "operationId": "unsubscribeCategory", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/blog/posts/{id}/subscribe": { + "post": { + "tags": [ + "Blog" + ], + "summary": "blog/posts/{id}/subscribe", + "description": "Make the subscription to the post specified.", + "operationId": "subscribePost", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BlogSubscribeParam" + } + } + } + }, + "responses": { + "201": { + "description": "Created" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + }, + "delete": { + "tags": [ + "Blog" + ], + "summary": "blog/posts/{id}/subscribe", + "description": "Eliminate the user's subscription to the post specified. Valid only if you are logged in .", + "operationId": "unsubscribePost", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/blog/subscribe/{token}": { + "delete": { + "tags": [ + "Blog" + ], + "summary": "blog/subscribe/{token}", + "description": "Delete the blog subscription through a token code. The wildcard % linkDeleteSubscription% must be included in the transactional email about the new post. The wildcard contains the token used here.", + "operationId": "unsubscribeBlog_1", + "parameters": [ + { + "name": "token", + "in": "path", + "description": "Subscription token.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + } + } + } + }, + "/blog/categories/{id}/subscribe/{token}": { + "delete": { + "tags": [ + "Blog" + ], + "summary": "blog/categories/{id}/subscribe/{token}", + "description": "Remove the subscription to a blog category through a token code. The wildcard % linkDeleteSubscription% is required to be included in the new post transactional email. The wildcard contains the token used here.", + "operationId": "unsubscribeCategory_1", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "token", + "in": "path", + "description": "Subscription token.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/blog/posts/{id}/subscribe/{token}": { + "delete": { + "tags": [ + "Blog" + ], + "summary": "blog/posts/{id}/subscribe/{token}", + "description": "Delete the subscription to a post through a token code. The wildcard % linkDeleteSubscription% must be included in the transactional email about the new comment on the post. The wildcard contains the token used here.", + "operationId": "unsubscribePost_1", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "token", + "in": "path", + "description": "Subscription token.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/newsletterSubscription/checkStatus": { + "post": { + "tags": [ + "User" + ], + "summary": "/newsletterSubscription/checkStatus", + "description": "Get information about subscription.", + "operationId": "checkStatus", + "requestBody": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewsletterSubscriptionRequestBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewsletterSubscriptionDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + } + } + } + }, + "/newsletterSubscription/subscribe": { + "post": { + "tags": [ + "User" + ], + "summary": "/newsletterSubscription/subscribe", + "description": "Subscribe an email to the newsletter.", + "operationId": "subscribe", + "requestBody": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewsletterSubscriptionRequestBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewsletterSubscriptionDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + } + } + } + }, + "/newsletterSubscription/unsubscribe": { + "post": { + "tags": [ + "User" + ], + "summary": "/newsletterSubscription/unsubscribe", + "description": "Unsubscribe from the newsletter.", + "operationId": "unsubscribe", + "requestBody": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewsletterSubscriptionRequestBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewsletterSubscriptionDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + } + } + } + }, + "/user/salesAgent/customers": { + "get": { + "tags": [ + "User" + ], + "summary": "salesAgent/getCustomers", + "description": "", + "operationId": "getCustomers", + "parameters": [ + { + "name": "q", + "in": "query", + "description": "Search criterion.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "fromDate", + "in": "query", + "description": "Start date of the period for obtaining the items.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "toDate", + "in": "query", + "description": "End date of the period for obtaining the items.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SalesAgentCustomerCollectionDTO" + } + } + } + }, + "403": { + "description": "Forbidden" + } + } + } + }, + "/user/salesAgent/customers/{customerId}/orders": { + "get": { + "tags": [ + "User" + ], + "summary": "salesAgent/getCustomerOrders", + "description": "", + "operationId": "getOrders_1", + "parameters": [ + { + "name": "fromDate", + "in": "query", + "description": "Start date of the period for obtaining the items.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "toDate", + "in": "query", + "description": "End date of the period for obtaining the items.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "customerId", + "in": "path", + "description": "User identificador assigned as a Sales Agent customer.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserOrderCollectionDTO" + } + } + } + }, + "403": { + "description": "Forbidden" + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/user/salesAgent/sales": { + "get": { + "tags": [ + "User" + ], + "summary": "salesAgent/getSales", + "description": "", + "operationId": "getSales", + "parameters": [ + { + "name": "fromDate", + "in": "query", + "description": "Start date of the period for obtaining the items.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "toDate", + "in": "query", + "description": "End date of the period for obtaining the items.", + "schema": { + "type": "string", + "format": "date" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SalesAgentSaleCollectionDTO" + } + } + } + }, + "403": { + "description": "Forbidden" + } + } + } + }, + "/user/salesAgent/login": { + "post": { + "tags": [ + "User" + ], + "summary": "salesAgent/loginSimulateUser", + "description": "", + "operationId": "loginSimulateUser", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SalesAgentSimulateUserParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/user/salesAgent/logout": { + "post": { + "tags": [ + "User" + ], + "summary": "salesAgent/logoutSimulateUser", + "description": "", + "operationId": "logoutSimulateUser", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/session/country": { + "put": { + "tags": [ + "OMS" + ], + "summary": "session/country", + "description": "Change session country.", + "operationId": "setCountry", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Country change parameters.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CountryParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Username or password incorrect." + } + } + } + }, + "/session/currency": { + "put": { + "tags": [ + "OMS" + ], + "summary": "session/currency", + "description": "Change session currency.", + "operationId": "setCurrency", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Country change parameters.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CurrencyParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Username or password incorrect." + } + } + } + }, + "/session/language": { + "put": { + "tags": [ + "OMS" + ], + "summary": "session/language", + "description": "Change session language.", + "operationId": "setLanguage", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Language change parameters.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LanguageParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Username or password incorrect." + } + } + } + }, + "/user/subscriptions": { + "get": { + "tags": [ + "Catalog and content" + ], + "summary": "user/subscriptions/getAll", + "description": "Get all subscriptions for a registered user.", + "operationId": "getAll", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionCollectionDTO" + } + } + } + }, + "400": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + } + } + } + }, + "/user/subscriptions/unsubscribe/{token}": { + "delete": { + "tags": [ + "Catalog and content" + ], + "summary": "user/subscriptions/unsubscribe/{token}", + "description": "Unsubscribe by token.", + "operationId": "unsubscribeByToken", + "parameters": [ + { + "name": "token", + "in": "path", + "description": "Token", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + } + } + } + }, + "/user/subscriptions/unsubscribe": { + "delete": { + "tags": [ + "Catalog and content" + ], + "summary": "user/subscriptions/unsubscribe", + "description": "Unsubscribe registered user.", + "operationId": "unsubscribeByType", + "parameters": [ + { + "name": "subscriptionType", + "in": "query", + "description": "", + "required": true, + "schema": { + "type": "string", + "enum": [ + "BLOG", + "STOCK_ALERT" + ] + } + } + ], + "responses": { + "200": { + "description": "Ok" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + } + } + } + }, + "/user/subscriptions/verify/{token}": { + "post": { + "tags": [ + "Catalog and content" + ], + "summary": "user/subscriptions/verify/{token}", + "description": "Verify subscription.", + "operationId": "verify", + "parameters": [ + { + "name": "token", + "in": "path", + "description": "Token", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + } + } + } + }, + "/user/addresses/{id}": { + "get": { + "tags": [ + "User" + ], + "summary": "user/addresses/{id}", + "description": "Get the user address specified. Valid only if you are logged in .", + "operationId": "getAddress", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserAddressDTO" + } + } + } + }, + "400": { + "description": "Incorrect Cart Token." + }, + "403": { + "description": "Forbidden" + } + } + }, + "delete": { + "tags": [ + "User" + ], + "summary": "user/addresses/{id}", + "description": "Delete the user address specified. Valid only if you are logged in .", + "operationId": "deleteAddress", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Incorrect Cart Token." + }, + "403": { + "description": "Forbidden" + } + } + } + }, + "/user/billingAddresses": { + "get": { + "tags": [ + "User" + ], + "summary": "user/billingAddresses", + "description": "Get the user's billing addresses. Valid only if you are logged in .", + "operationId": "getUserBillingAddresses", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserAddressDTO" + } + } + } + } + }, + "400": { + "description": "Incorrect Cart Token." + } + } + }, + "post": { + "tags": [ + "User" + ], + "summary": "user/billingAddresses", + "description": "Create a billing address for the user. Valid only if you are logged in .", + "operationId": "registerUserBillingAddress", + "parameters": [ + { + "name": "dataValidator", + "in": "header", + "description": "Non-mandatory header for field data validation. Its value is the internal identifier defined in the Data Validations configuration.", + "schema": { + "type": "string" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Parameter block for the billing address.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BillingUserAddressParam" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created" + }, + "400": { + "description": "Incorrect Cart Token.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DataValidationError" + } + } + } + } + } + } + }, + "/user/shippingAddresses": { + "get": { + "tags": [ + "User" + ], + "summary": "user/shippingAddresses", + "description": "Get the user's shipping addresses. Valid only if you are logged in .", + "operationId": "getUserShippingAddresses", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserAddressDTO" + } + } + } + } + }, + "400": { + "description": "Incorrect Cart Token." + } + } + }, + "post": { + "tags": [ + "User" + ], + "summary": "user/shippingAddresses", + "description": "Create a shipping address for the user. Valid only if you are logged in .", + "operationId": "registerUserShippingAddress", + "parameters": [ + { + "name": "dataValidator", + "in": "header", + "description": "Non-mandatory header for field data validation. Its value is the internal identifier defined in the Data Validations configuration.", + "schema": { + "type": "string" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Parameter block for shipping address.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ShippingUserAddressParam" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created" + }, + "400": { + "description": "Incorrect Cart Token.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DataValidationError" + } + } + } + } + } + } + }, + "/user/billingAddresses/{id}": { + "put": { + "tags": [ + "User" + ], + "summary": "user/billingAddresses/{id}", + "description": "Update the user billing address specified. Valid only if you are logged in .", + "operationId": "updateBillingAddress", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "dataValidator", + "in": "header", + "description": "Non-mandatory header for field data validation. Its value is the internal identifier defined in the Data Validations configuration.", + "schema": { + "type": "string" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Parameter block for the billing address.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BillingUserAddressUpdateParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok" + }, + "400": { + "description": "Incorrect Cart Token.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DataValidationError" + } + } + } + } + } + } + }, + "/user/shippingAddresses/{id}": { + "put": { + "tags": [ + "User" + ], + "summary": "user/shippingAddresses/{id}", + "description": "Update the user shipping address specified. Valid only if you are logged in .", + "operationId": "updateShippingAddress", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "dataValidator", + "in": "header", + "description": "Non-mandatory header for field data validation. Its value is the internal identifier defined in the Data Validations configuration.", + "schema": { + "type": "string" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Parameter block for shipping address.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ShippingUserAddressParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok" + }, + "400": { + "description": "Incorrect Cart Token.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DataValidationError" + } + } + } + } + } + } + }, + "/user/customTags": { + "get": { + "tags": [ + "User" + ], + "summary": "user/customTags", + "description": "Get the user's custom tags. Valid only if you are logged in .", + "operationId": "getUserCustomTags", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomTagCollectionDTO" + } + } + } + }, + "400": { + "description": "Incorrect Cart Token." + } + } + } + }, + "/user/oauth": { + "get": { + "tags": [ + "Authorization" + ], + "summary": "user/oauth/getUrl", + "description": "Get the url required to make the OAuth connection.", + "operationId": "getOauthUri", + "parameters": [ + { + "name": "pluginModule", + "in": "query", + "description": "", + "schema": { + "type": "string" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserOauthUrlDTO" + } + } + } + }, + "403": { + "description": "Forbidden" + } + } + }, + "post": { + "tags": [ + "Authorization" + ], + "summary": "user/oauth/callback", + "description": "Process response of OAuth request, if necessary create a new user and login.", + "operationId": "oauthCallBack", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Parameter block for OAuth connection.", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/UserOauthParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserOauthDTO" + } + } + } + }, + "403": { + "description": "Forbidden" + } + } + } + }, + "/user/orders": { + "get": { + "tags": [ + "User" + ], + "summary": "user/orders", + "description": "Get the set of headers for a user's orders that have the status: INCOMING, IN_PROCESS, COMPLETED.", + "operationId": "getUserOrders", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "id.asc,id.desc,documentNumber.asc,documentNumber.desc,date.asc,date.desc" + ], + "default": "id.asc" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserOrderCollectionDTO" + } + } + } + }, + "400": { + "description": "Incorrect Cart Token." + }, + "403": { + "description": "Forbidden" + } + } + } + }, + "/user/rmas": { + "get": { + "tags": [ + "User" + ], + "summary": "user/rmas", + "description": "Gets the set of Return Merchandise Authorization (RMA) headers for a user.", + "operationId": "getUserRMAS", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable.", + "schema": { + "type": "string", + "enum": [ + "id.asc,id.desc,documentNumber.asc,documentNumber.desc,date.asc,date.desc" + ], + "default": "id.asc" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserRMACollectionDTO" + } + } + } + }, + "400": { + "description": "Incorrect Cart Token." + }, + "403": { + "description": "Forbidden" + } + } + } + }, + "/user/plugins/{pluginId}/paymentTokens/{token}": { + "delete": { + "tags": [ + "User" + ], + "summary": "user/plugins/paymentTokens", + "description": "Removes the specified token from the payment system. The token symbolizes a specific payment method of a user, such as a credit card number. Valid only if you are logged in .", + "operationId": "deletePaymentToken", + "parameters": [ + { + "name": "pluginId", + "in": "path", + "description": "Plugin identifier.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/user/plugins/properties/{id}": { + "delete": { + "tags": [ + "User" + ], + "summary": "user/plugins/properties", + "description": "Removes the user property linked to the specified plugin. Valid only if you are logged in .", + "operationId": "deletePluginProperty", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/user/plugins/{pluginId}/paymentTokens": { + "get": { + "tags": [ + "User" + ], + "summary": "user/plugins/paymentTokens", + "description": "Gets the tokens, linked to a user, of a payment system from the plugin that implements that system. These tokens symbolize a specific payment method of a user, such as a credit card number. Valid only if you are logged in .", + "operationId": "getPaymentTokens", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PluginPaymentTokenCollectionDTO" + } + } + } + } + } + } + } + }, + "/user/plugins/properties": { + "get": { + "tags": [ + "User" + ], + "summary": "user/plugins/properties", + "description": "Gets the user-bound properties of the indicated plugin type. Valid only if you are logged in .", + "operationId": "getPluginProperties_2", + "parameters": [ + { + "name": "type", + "in": "query", + "schema": { + "type": "string", + "enum": [ + "NONE", + "SHIPPER", + "SHIPPING_TYPE", + "PAYMENT_SYSTEM", + "CUSTOM_TAG", + "RELATED_DEFINITION", + "BASKET", + "MAILING_SYSTEM", + "SEARCH_ENGINE", + "OAUTH", + "TRACKER", + "ASSET", + "MARKETPLACE", + "SHIPMENT", + "CONFIRM_ORDER", + "ORDER_STATUS", + "MARKETING", + "DATA", + "UNKNOWN", + "CAPTCHA", + "MAPS", + "TAXES", + "ORDER", + "DOCUMENT_PAYMENT_SYSTEM", + "DOCUMENT_SHIPMENT", + "RMA", + "EXPRESS_CHECKOUT", + "ADDRESS_VALIDATOR", + "PICKUP_POINT_PROVIDER" + ] + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BasicPluginCollectionDTO" + } + } + } + } + } + } + } + }, + "/user/password": { + "put": { + "tags": [ + "User" + ], + "summary": "user/password", + "description": "Change the user's password. Valid only if you are logged in .", + "operationId": "changePassword", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Parameter block to change the password.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChangePasswordParam" + } + } + }, + "required": true + }, + "responses": { + "202": { + "description": "Accepted" + }, + "400": { + "description": "Incorrect Cart Token." + }, + "403": { + "description": "Forbidden" + } + } + } + }, + "/user/password/hash": { + "put": { + "tags": [ + "User" + ], + "summary": "user/password/hash", + "description": "Change the password of a validated user with a hash code. It is the second part of the password recovery process. Previously, the hash code is obtained through the password recovery resource.", + "operationId": "changePasswordHash", + "requestBody": { + "description": "Parameter block to change the password.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ChangePasswordHashParam" + } + } + }, + "required": true + }, + "responses": { + "202": { + "description": "Accepted" + }, + "403": { + "description": "Forbidden" + } + } + } + }, + "/user/password/{hash}/validate": { + "get": { + "tags": [ + "User" + ], + "summary": "user/changePassword/{hash}/validate", + "description": "Check whether the hash code specified is valid. It is recommended to perform this validation between the first and second part of the password recovery process. Previously, the hash code is obtained through the password recovery resource.", + "operationId": "changePasswordValidToken", + "parameters": [ + { + "name": "hash", + "in": "path", + "description": "Hash code to validate the user who changes the password.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "401": { + "description": "Unauthorized" + } + } + } + }, + "/user/saveForLaterList/rows": { + "get": { + "tags": [ + "User" + ], + "summary": "user/saveForLaterList/rows", + "description": "Get the set of the shopping list rows of the 'save for later list' of the logged user by applying the specified sort and pagination. Valid only if the user is logged in.", + "operationId": "getSaveForLaterListRows", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable. Comma-sepparated list of these possible values: addedDate.asc,addedDate.desc.", + "schema": { + "type": "string", + "enum": [ + "^(addedDate).(asc|desc)$" + ], + "default": "addedDate.desc" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SaveForLaterListPaginationDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "{Resource requires a body}" + } + }, + "INVALID_PARAM": { + "description": "INVALID_PARAM", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "INVALID_PARAM", + "stackTrace": null, + "message": "The '{x}' parameter is wrong!" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "LOGIN_REQUIRED": { + "description": "LOGIN_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "LOGIN_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. Login is required." + } + }, + "AUTH_LICENSE_REQUIRED": { + "description": "AUTH_LICENSE_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "AUTH_LICENSE_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. The eCommerce requires a license for module: '{x}'" + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "User" + ], + "summary": "user/saveForLaterList/rows", + "description": "Create shopping list rows to the 'save for later list' from the specified lines of the basket. Valid only if the user is logged in.", + "operationId": "createSaveForLaterListRows", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SaveForLaterListBody" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SaveForLaterListRowCollectionDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "{Resource requires a body}" + } + }, + "RESOURCE_INVALID_ENTRY_JSON": { + "description": "RESOURCE_INVALID_ENTRY_JSON", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "RESOURCE_INVALID_ENTRY_JSON", + "stackTrace": null, + "message": "{Detail}" + } + }, + "RESOURCE_INVALID_JSON_MAPPING": { + "description": "RESOURCE_INVALID_JSON_MAPPING", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "RESOURCE_INVALID_JSON_MAPPING", + "stackTrace": null, + "message": "{Detail}" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "LOGIN_REQUIRED": { + "description": "LOGIN_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "LOGIN_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. Login is required." + } + }, + "AUTH_LICENSE_REQUIRED": { + "description": "AUTH_LICENSE_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "AUTH_LICENSE_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. The eCommerce requires a license for module: '{x}'" + } + } + } + } + } + } + } + } + }, + "/user/shoppingLists": { + "get": { + "tags": [ + "User" + ], + "summary": "user/shoppingLists", + "description": "Get the set of the shopping lists of the session's user by applying the specified filters, sort and pagination. Valid only if the user is logged in.", + "operationId": "getShoppingLists", + "parameters": [ + { + "name": "idList", + "in": "query", + "description": "Comma separated list of the internal identifiers of the items that you want to obtain.", + "schema": { + "type": "string" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable. Comma-sepparated list of these possible values: addedDate.asc,addedDate.desc,name.asc,name.desc,priority.asc,priority.desc", + "schema": { + "type": "string", + "enum": [ + "^(addedDate|name|priority).(asc|desc)((((,addedDate|,name|,priority).(asc|desc)))*)$" + ], + "default": "addedDate.desc" + } + }, + { + "name": "defaultOne", + "in": "query", + "description": "Parameter to specify if you only want to only obtain the default shoppingList, or the non-default shoppingLists.", + "schema": { + "type": "boolean" + } + }, + { + "name": "q", + "in": "query", + "description": "Search criteria for the field Name. The search over a field consists on applying a LIKE '%q%'.", + "schema": { + "type": "string" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ShoppingListCollectionDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "INVALID_PARAM": { + "description": "INVALID_PARAM", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "INVALID_PARAM", + "stackTrace": null, + "message": "The '{x}' parameter is wrong!" + } + }, + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "Query parameter '{parameter}' is required" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "LOGIN_REQUIRED": { + "description": "LOGIN_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "LOGIN_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. Login is required." + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "User" + ], + "summary": "user/shoppingLists", + "description": "Create a shoppingList for the user of the session. Valid only if the user is logged in.", + "operationId": "createShoppingList", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ShoppingListBody" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ShoppingListDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "{Resource requires a body}" + } + }, + "RESOURCE_INVALID_ENTRY_JSON": { + "description": "RESOURCE_INVALID_ENTRY_JSON", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "RESOURCE_INVALID_ENTRY_JSON", + "stackTrace": null, + "message": "{Detail}" + } + }, + "RESOURCE_INVALID_JSON_MAPPING": { + "description": "RESOURCE_INVALID_JSON_MAPPING", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "RESOURCE_INVALID_JSON_MAPPING", + "stackTrace": null, + "message": "{Detail}" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "LOGIN_REQUIRED": { + "description": "LOGIN_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "LOGIN_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. Login is required." + } + }, + "AUTH_LICENSE_REQUIRED": { + "description": "AUTH_LICENSE_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "AUTH_LICENSE_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. The eCommerce requires a license for module: '{x}'" + } + } + } + } + } + } + } + } + }, + "/user/shoppingLists/{id}/rows": { + "get": { + "tags": [ + "User" + ], + "summary": "user/shoppingLists/{id}/rows", + "description": "Get the set of the shopping list rows of the specified shopping list by applying the specified sort and pagination. The shopping list must be one of the logged user ones.", + "operationId": "getShoppingListsRows", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + }, + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sort variable. Comma-sepparated list of these possible values: priority.asc,priority.desc,importance.asc,importance.desc,addedDate.asc,addedDate.desc.", + "schema": { + "type": "string", + "enum": [ + "^(addedDate|importance|priority).(asc|desc)((((,addedDate|,importance|,priority).(asc|desc)))*)$" + ], + "default": "addedDate.desc" + } + }, + { + "name": "q", + "in": "query", + "description": "Search criteria for the fields Name, Keywords, SKU, Brand and Description of the product or bundle's products, as well as in the Comment field of the shopping list row. The search over a field consists on applying a LIKE '%q%'.", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ShoppingListRowFrontPaginationDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "INVALID_PARAM": { + "description": "INVALID_PARAM", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "INVALID_PARAM", + "stackTrace": null, + "message": "The '{x}' parameter is wrong!" + } + }, + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "{Resource requires a body}" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "LOGIN_REQUIRED": { + "description": "LOGIN_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "LOGIN_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. Login is required." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "RESOURCE_NOT_FOUND": { + "description": "RESOURCE_NOT_FOUND", + "value": { + "reference": "{UUID}", + "status": 404, + "code": "RESOURCE_NOT_FOUND", + "stackTrace": null, + "message": null + } + } + } + } + } + } + } + }, + "post": { + "tags": [ + "User" + ], + "summary": "user/shoppingLists/{id}/rows", + "description": "Create the specified shopping list rows to the specified shoppingList of the user of the session. Valid only if the user is logged in.", + "operationId": "createShoppingListRows", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "description": "Internal identifier of the shopping list of the logged user where to add the list rows.", + "format": "int32" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ShoppingListRowBody" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ShoppingListRowCollectionDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "{Resource requires a body}" + } + }, + "RESOURCE_INVALID_ENTRY_JSON": { + "description": "RESOURCE_INVALID_ENTRY_JSON", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "RESOURCE_INVALID_ENTRY_JSON", + "stackTrace": null, + "message": "{Detail}" + } + }, + "RESOURCE_INVALID_JSON_MAPPING": { + "description": "RESOURCE_INVALID_JSON_MAPPING", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "RESOURCE_INVALID_JSON_MAPPING", + "stackTrace": null, + "message": "{Detail}" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "LOGIN_REQUIRED": { + "description": "LOGIN_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "LOGIN_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. Login is required." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "RESOURCE_NOT_FOUND": { + "description": "RESOURCE_NOT_FOUND", + "value": { + "reference": "{UUID}", + "status": 404, + "code": "RESOURCE_NOT_FOUND", + "stackTrace": null, + "message": null + } + } + } + } + } + } + } + } + }, + "/user/saveForLaterList/rows/{id}": { + "delete": { + "tags": [ + "User" + ], + "summary": "user/saveForLaterList/rows/{id}", + "description": "Delete the specified list row from the 'saver for later' list. Valid only if the user is logged in.", + "operationId": "deleteSaveForLaterListRows", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "LOGIN_REQUIRED": { + "description": "LOGIN_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "LOGIN_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. Login is required." + } + }, + "AUTH_LICENSE_REQUIRED": { + "description": "AUTH_LICENSE_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "AUTH_LICENSE_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. The eCommerce requires a license for module: '{x}'" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "RESOURCE_NOT_FOUND": { + "description": "RESOURCE_NOT_FOUND", + "value": { + "reference": "{UUID}", + "status": 404, + "code": "RESOURCE_NOT_FOUND", + "stackTrace": null, + "message": null + } + } + } + } + } + } + } + } + }, + "/user/shoppingLists/{id}/rows/delete": { + "post": { + "tags": [ + "User" + ], + "summary": "user/shoppingLists/{id}/rows/delete", + "description": "Delete the rows of the specified shopping list, that meet the provided criteria. Valid only if the user is logged in.", + "operationId": "deleteShoppingListRowsById", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "description": "Internal identifier of a shopping list of the logged user, where the deletion of shopping list rows must be done.", + "format": "int32" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ShoppingListRowDeleteBody" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IncidencesCollectionDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "{Resource requires a body}" + } + }, + "RESOURCE_INVALID_ENTRY_JSON": { + "description": "RESOURCE_INVALID_ENTRY_JSON", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "RESOURCE_INVALID_ENTRY_JSON", + "stackTrace": null, + "message": "{Detail}" + } + }, + "RESOURCE_INVALID_JSON_MAPPING": { + "description": "RESOURCE_INVALID_JSON_MAPPING", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "RESOURCE_INVALID_JSON_MAPPING", + "stackTrace": null, + "message": "{Detail}" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "LOGIN_REQUIRED": { + "description": "LOGIN_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "LOGIN_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. Login is required." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "RESOURCE_NOT_FOUND": { + "description": "RESOURCE_NOT_FOUND", + "value": { + "reference": "{UUID}", + "status": 404, + "code": "RESOURCE_NOT_FOUND", + "stackTrace": null, + "message": null + } + } + } + } + } + } + } + } + }, + "/user/shoppingLists/{id}": { + "put": { + "tags": [ + "User" + ], + "summary": "user/shoppingLists/{id}", + "description": "Update the specified shoppingList of the user of the session. Valid only if the user is logged in.", + "operationId": "updateShoppingList", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ShoppingListBody" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "No Content", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ShoppingListDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "{Resource requires a body}" + } + }, + "RESOURCE_INVALID_ENTRY_JSON": { + "description": "RESOURCE_INVALID_ENTRY_JSON", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "RESOURCE_INVALID_ENTRY_JSON", + "stackTrace": null, + "message": "{Detail}" + } + }, + "RESOURCE_INVALID_JSON_MAPPING": { + "description": "RESOURCE_INVALID_JSON_MAPPING", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "RESOURCE_INVALID_JSON_MAPPING", + "stackTrace": null, + "message": "{Detail}" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "LOGIN_REQUIRED": { + "description": "LOGIN_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "LOGIN_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. Login is required." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "RESOURCE_NOT_FOUND": { + "description": "RESOURCE_NOT_FOUND", + "value": { + "reference": "{UUID}", + "status": 404, + "code": "RESOURCE_NOT_FOUND", + "stackTrace": null, + "message": null + } + } + } + } + } + } + } + }, + "delete": { + "tags": [ + "User" + ], + "summary": "user/shoppingLists/{id}", + "description": "Delete the specified shopping list from the user of the session. Valid only if the user is logged in.", + "operationId": "deleteShoppingLists", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "SHOPPING_LIST_DEFAULT_CANT_BE_DELETED": { + "description": "SHOPPING_LIST_DEFAULT_CANT_BE_DELETED", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "SHOPPING_LIST_DEFAULT_CANT_BE_DELETED", + "stackTrace": null, + "message": "The default ShoppingList can not be deleted." + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "LOGIN_REQUIRED": { + "description": "LOGIN_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "LOGIN_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. Login is required." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "RESOURCE_NOT_FOUND": { + "description": "RESOURCE_NOT_FOUND", + "value": { + "reference": "{UUID}", + "status": 404, + "code": "RESOURCE_NOT_FOUND", + "stackTrace": null, + "message": null + } + } + } + } + } + } + } + } + }, + "/user/{password}": { + "delete": { + "tags": [ + "User" + ], + "summary": "user", + "description": "Delete the user from the session.", + "operationId": "deleteUser", + "parameters": [ + { + "name": "password", + "in": "path", + "description": "User password.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Incorrect Cart Token." + }, + "403": { + "description": "Forbidden" + } + } + } + }, + "/user/related": { + "get": { + "tags": [ + "User" + ], + "summary": "user/related", + "description": "Get all user-related items. Only available for plugins .", + "operationId": "getRelated_5", + "parameters": [ + { + "name": "position", + "in": "query", + "description": "Position of the item to be obtained.", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "positionList", + "in": "query", + "description": "List of positions of the items to be obtained.", + "schema": { + "pattern": "^((([0-9]+),)*([0-9]+))*$", + "type": "string", + "default": "" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to return.", + "schema": { + "maximum": 50, + "minimum": 1, + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "offset", + "in": "query", + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "description": "Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ], + "default": "PRIORITY" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RelatedDTO" + } + } + } + } + } + } + } + }, + "/user/related/{type}": { + "get": { + "tags": [ + "User" + ], + "summary": "user/related/{type}", + "description": "Get only items of the requested type related to the user. Only available for plugins .", + "operationId": "getRelatedItemType_5", + "parameters": [ + { + "name": "type", + "in": "path", + "description": "Type of related item by which you want to filter.", + "required": true, + "schema": { + "pattern": "(banners|categories|news|pages|products)", + "type": "string", + "enum": [ + "banners, categories, news, pages, items, posts" + ] + } + }, + { + "name": "position", + "in": "query", + "description": "Position of the item to be obtained.", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "positionList", + "in": "query", + "description": "List of positions of the items to be obtained.", + "schema": { + "pattern": "^((([0-9]+),)*([0-9]+))*$", + "type": "string", + "default": "" + } + }, + { + "name": "pId", + "in": "query", + "description": "Public identifier of the item to be obtained.", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "Maximum number of items to return.", + "schema": { + "maximum": 50, + "minimum": 1, + "type": "integer", + "format": "int32", + "default": 10 + } + }, + { + "name": "offset", + "in": "query", + "schema": { + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } + }, + { + "name": "optionsPriceMode", + "in": "query", + "description": "Specifies the ordering criterion for obtaining the price of the options. This criterion will be used to calculate the value shown in the optionsPrice parameter for the output of the resource.", + "schema": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ], + "default": "PRIORITY" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RelatedDTO" + } + } + } + } + } + } + } + }, + "/user/rewardPoints": { + "get": { + "tags": [ + "User" + ], + "summary": "user/rewardPoints", + "description": "Query a user's points balance", + "operationId": "getRewardPointsAccountBalances", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RewardPointsBalanceCollectionDTO" + } + } + } + } + } + } + } + }, + "/user/stockAlerts": { + "get": { + "tags": [ + "User" + ], + "summary": "user/stockAlerts", + "description": "Get the list of the stock alerts that the user is subscribed to. Valid only if you are logged in .", + "operationId": "getStockAlerts", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StockAlertCollectionDTO" + } + } + } + }, + "400": { + "description": "Incorrect Cart Token." + }, + "403": { + "description": "Forbidden" + } + } + } + }, + "/user": { + "get": { + "tags": [ + "User" + ], + "summary": "user", + "description": "Get the data of the user linked to the session. Valid only if you are logged in .", + "operationId": "getUser", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketUserDTO" + } + } + } + }, + "400": { + "description": "Incorrect Cart Token." + }, + "403": { + "description": "Forbidden" + } + } + }, + "post": { + "tags": [ + "User" + ], + "summary": "user", + "description": "Log a user into the session by entering their information. If the createAccount parameter is true the user will be registered. Otherwise, this information will be used for a possible purchase without user registration.", + "operationId": "updateUser", + "parameters": [ + { + "name": "dataValidator", + "in": "header", + "description": "Non-mandatory header for field data validation. Its value is the internal identifier defined in the Data Validations configuration.", + "schema": { + "type": "string" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Parameter block for creating a user.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SetUserParam" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DataValidationError" + } + } + } + } + } + } + }, + "/user/exists/{value}": { + "get": { + "tags": [ + "User" + ], + "summary": "user/exists/{value}", + "description": "Check whether the user specified is registered.", + "operationId": "getUserExist", + "parameters": [ + { + "name": "value", + "in": "path", + "description": "User identifier. Depending on the configuration, this can be the user's email address or public identifier (pId).", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserExistsDTO" + } + } + } + } + } + } + } + }, + "/user/login": { + "post": { + "tags": [ + "User" + ], + "summary": "user/login", + "description": "The user session is started by adding their information to the session.", + "operationId": "login", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Parameters to perform the login.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Username or password incorrect." + }, + "409": { + "description": "User already logged in." + } + } + } + }, + "/user/logout": { + "post": { + "tags": [ + "User" + ], + "summary": "user/logout", + "description": "Disconnect the identified user.", + "operationId": "logout_1", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Incorrect Cart Token." + }, + "403": { + "description": "Forbidden" + } + } + } + }, + "/user/password/recover": { + "post": { + "tags": [ + "User" + ], + "summary": "user/password/recover", + "description": "Make a password recovery request. This is the first part of the password recovery process. Depending on the configuration, password recovery is done with the user's email address or public identifier (pId). It is necessary to send a transactional password recovery email that includes the % lostPasswordLink% wildcard. The wildcard contains the user validation hash code used in the change password resource.", + "operationId": "recoverPassword", + "requestBody": { + "description": "Parameter block for a password recovery request.", + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/RecoverPasswordParam" + } + } + }, + "required": true + }, + "responses": { + "202": { + "description": "Accepted" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/user/verify/resend": { + "post": { + "tags": [ + "User" + ], + "summary": "user/verify/resend", + "description": "This action forces the resend of the transactional email to verify the email address. This provides a way to request verification when the user, for whatever reason, does not receive the first verification which, if the double opt-in user verification process is enabled, is automatically sent upon registration.", + "operationId": "resendValidateAccount", + "requestBody": { + "description": "Parameter block to resend user verification mail.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResendVerifyUserParam" + } + } + }, + "required": true + }, + "responses": { + "202": { + "description": "Accepted" + } + } + } + }, + "/user/currency": { + "put": { + "tags": [ + "User" + ], + "summary": "user/currency", + "description": "Change session currency.", + "operationId": "setCurrency_1", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Currency exchange parameters.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CurrencyParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Username or password incorrect." + } + }, + "deprecated": true + } + }, + "/user/language": { + "put": { + "tags": [ + "User" + ], + "summary": "user/language", + "description": "Change session language.", + "operationId": "setLanguage_1", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Language change parameters.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LanguageParam" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BasketDTO" + } + } + } + }, + "400": { + "description": "Username or password incorrect." + } + }, + "deprecated": true + } + }, + "/user/saveForLaterList/rows/{id}/transferToBasket": { + "post": { + "tags": [ + "User" + ], + "summary": "user/saveForLaterList/rows/{id}/transferToBasket", + "description": "Transfers the specified row of the 'save for later list' to the basket. If it already existed, increase the units.", + "operationId": "transferToBasket", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "BASKET_ADD_PRODUCT_ERROR": { + "description": "BASKET_ADD_PRODUCT_ERROR", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "A01000-BASKET_ADD_PRODUCT_ERROR", + "stackTrace": null, + "message": "Product can't be added." + } + }, + "BASKET_ADD_BUNDLE_ERROR": { + "description": "BASKET_ADD_BUNDLE_ERROR", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "A01000-BASKET_ADD_BUNDLE_ERRROR", + "stackTrace": null, + "message": "Bundle can't be added." + } + }, + "BASKET_PRODUCT_OPTION_INVALID": { + "description": "BASKET_PRODUCT_OPTION_INVALID", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "A01000-BASKET_PRODUCT_OPTION_INVALID", + "stackTrace": null, + "message": "option id not found or not active!" + } + }, + "BASKET_BUNDLE_ITEM_INVALID": { + "description": "BASKET_BUNDLE_ITEM_INVALID", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "A01000-BASKET_BUNDLE_ITEM_INVALID", + "stackTrace": null, + "message": "Bundle item not found in this grouping" + } + }, + "BASKET_INVALID_PRODUCT_HASH": { + "description": "BASKET_INVALID_PRODUCT_HASH", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "A01000-BASKET_INVALID_PRODUCT_HASH", + "stackTrace": null, + "message": "ProductHash is not valid" + } + }, + "BASKET_PRODUCT_CREATE_OPTIONS_ERROR": { + "description": "BASKET_PRODUCT_CREATE_OPTIONS_ERROR", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "A01000-BASKET_PRODUCT_CREATE_OPTIONS_ERROR", + "stackTrace": null, + "message": "Options can't be created" + } + }, + "BASKET_PRODUCT_OPTION_ATTACHMENT_MISSING": { + "description": "BASKET_PRODUCT_OPTION_ATTACHMENT_MISSING", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "A01000-BASKET_PRODUCT_OPTION_ATTACHMENT_MISSING", + "stackTrace": null, + "message": "Attachment file is missing" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "LOGIN_REQUIRED": { + "description": "LOGIN_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "LOGIN_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. Login is required." + } + }, + "AUTH_LICENSE_REQUIRED": { + "description": "AUTH_LICENSE_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "AUTH_LICENSE_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. The eCommerce requires a license for module: '{x}'" + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "RESOURCE_NOT_FOUND": { + "description": "RESOURCE_NOT_FOUND", + "value": { + "reference": "{UUID}", + "status": 404, + "code": "RESOURCE_NOT_FOUND", + "stackTrace": null, + "message": null + } + } + } + } + } + } + } + } + }, + "/user/stockAlerts/{id}": { + "delete": { + "tags": [ + "User" + ], + "summary": "user/stockAlerts/{id}", + "description": "Removes the user's subscription to the stock alert specified. Valid only if you are logged in .", + "operationId": "unsubscribeStock", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Internal identifier of the item.", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Incorrect Cart Token." + }, + "403": { + "description": "Forbidden" + } + } + } + }, + "/user/shoppingLists/rows/{id}": { + "put": { + "tags": [ + "User" + ], + "summary": "user/shoppingLists/rows/{id}", + "description": "Modify the specified shopping list row of the user of the session. Valid only if the user is logged in.", + "operationId": "updateShoppingListRows", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + } + }, + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ListRowUpdateBody" + } + } + }, + "required": true + }, + "responses": { + "204": { + "description": "No Content", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ShoppingListRowDTO" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "INVALID_PARAM": { + "description": "INVALID_PARAM", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "INVALID_PARAM", + "stackTrace": null, + "message": "The '{x}' parameter is wrong!" + } + }, + "CONSTRAINT_VIOLATION": { + "description": "CONSTRAINT_VIOLATION", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "CONSTRAINT_VIOLATION", + "stackTrace": null, + "message": "{Resource requires a body}" + } + }, + "RESOURCE_INVALID_ENTRY_JSON": { + "description": "RESOURCE_INVALID_ENTRY_JSON", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "RESOURCE_INVALID_ENTRY_JSON", + "stackTrace": null, + "message": "{Detail}" + } + }, + "RESOURCE_INVALID_JSON_MAPPING": { + "description": "RESOURCE_INVALID_JSON_MAPPING", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "RESOURCE_INVALID_JSON_MAPPING", + "stackTrace": null, + "message": "{Detail}" + } + }, + "SHOPPING_LIST_ROW_EXISTS": { + "description": "SHOPPING_LIST_ROW_EXISTS", + "value": { + "reference": "{UUID}", + "status": 400, + "code": "SHOPPING_LIST_ROW_EXISTS", + "stackTrace": null, + "message": "The specified ShoppingList already contains a ShoppingListRow referencing the same {reference} with the same options and values" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "LOGIN_REQUIRED": { + "description": "LOGIN_REQUIRED", + "value": { + "reference": "{UUID}", + "status": 403, + "code": "LOGIN_REQUIRED", + "stackTrace": null, + "message": "Unauthorized request. Login is required." + } + } + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + }, + "examples": { + "RESOURCE_NOT_FOUND": { + "description": "RESOURCE_NOT_FOUND", + "value": { + "reference": "{UUID}", + "status": 404, + "code": "RESOURCE_NOT_FOUND", + "stackTrace": null, + "message": null + } + } + } + } + } + } + } + } + }, + "/user/verify/{uniqueId}": { + "post": { + "tags": [ + "User" + ], + "summary": "user/verify/{uniqueId}", + "description": "Second part of the double opt-in user verification process. The first part requires sending a transactional email address verification email that includes the % verifyLink% wildcard as a link. The wildcard contains the unique user identifier (uniqueId).", + "operationId": "verifyUser", + "parameters": [ + { + "name": "uniqueId", + "in": "path", + "description": "Unique identifier of the item.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/user/vouchers": { + "get": { + "tags": [ + "User" + ], + "summary": "user/vouchers", + "description": "Get the user's current gift vouchers. Valid only if you are logged in .", + "operationId": "getVouchers", + "parameters": [ + { + "name": "perPage", + "in": "query", + "description": "Number of items to be obtained per page.", + "schema": { + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int64", + "default": 25 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number.", + "schema": { + "type": "integer", + "format": "int64", + "default": 1 + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VoucherCollectionDTO" + } + } + } + }, + "400": { + "description": "Incorrect Cart Token." + }, + "403": { + "description": "Forbidden" + } + } + } + }, + "/user/wishlist/send": { + "post": { + "tags": [ + "User" + ], + "summary": "user/wishlist/send", + "description": "user/wishlist/send", + "operationId": "sendWishlist", + "parameters": [ + { + "name": "basketToken", + "in": "header", + "description": "Cart token.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "*/*": { + "schema": { + "$ref": "#/components/schemas/WishlistParam" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Created" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BaseError" + } + } + } + } + }, + "deprecated": true + } + }, + "/auth": { + "get": { + "tags": [ + "Authorization" + ], + "summary": "auth", + "description": "Get the token that authorizes access.", + "operationId": "authenticateUser", + "parameters": [ + { + "name": "X-App-Id", + "in": "header", + "description": "API identifier.", + "schema": { + "type": "integer", + "format": "int64" + } + }, + { + "name": "X-App-Key", + "in": "header", + "description": "API secret key.", + "schema": { + "type": "integer", + "format": "int64" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/auth/refreshToken": { + "get": { + "tags": [ + "Authorization" + ], + "summary": "auth/refreshToken", + "description": "Get a new token through an expired token.", + "operationId": "refreshToken", + "parameters": [ + { + "name": "authorization", + "in": "header", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + }, + "/version": { + "get": { + "tags": [ + "Settings" + ], + "summary": "/version", + "description": "Get the compiled version of the API.", + "operationId": "getVersion", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VersionDTO" + } + } + } + }, + "404": { + "description": "Not Found" + } + } + } + } + }, + "components": { + "schemas": { + "BatchRequest": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "Resource URI (e.g. / oms / basket)." + }, + "requestId": { + "type": "string", + "description": "Identifier of the call to the resource. This parameter is optional and will be returned in the response in order to identify the call that originated it." + }, + "headers": { + "type": "object", + "properties": { + "empty": { + "type": "boolean" + } + }, + "additionalProperties": { + "type": "array", + "description": "Headers for the call to the resource (only if needed).", + "example": "{key1:[value1,value2], key2:[value1], ...}", + "items": { + "type": "string", + "description": "Headers for the call to the resource (only if needed).", + "example": "{key1:[value1,value2], key2:[value1], ...}" + } + }, + "description": "Headers for the call to the resource (only if needed).", + "example": "{key1:[value1,value2], key2:[value1], ...}" + } + }, + "description": "Parameter block of resource calls." + }, + "BatchRequestParam": { + "type": "object", + "properties": { + "requests": { + "type": "array", + "description": "Parameter block of resource calls.", + "items": { + "$ref": "#/components/schemas/BatchRequest" + } + } + } + }, + "MultivaluedHashMapStringString": { + "type": "object", + "properties": { + "empty": { + "type": "boolean" + } + }, + "additionalProperties": { + "type": "array", + "description": "Headers for the call to the resource (only if needed).", + "example": "{key1:[value1,value2], key2:[value1], ...}", + "items": { + "type": "string", + "description": "Headers for the call to the resource (only if needed).", + "example": "{key1:[value1,value2], key2:[value1], ...}" + } + }, + "description": "Headers for the call to the resource (only if needed).", + "example": "{key1:[value1,value2], key2:[value1], ...}" + }, + "DataTextDTO": { + "type": "object", + "properties": { + "text": { + "type": "string", + "description": "Content in text." + } + } + }, + "AssetCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOAssetDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/AssetDTO" + } + } + } + }, + "AssetDTO": { + "type": "object", + "properties": { + "ambience": { + "type": "string", + "description": "Specifies the type of device where the asset should appear.", + "enum": [ + "ALL", + "DESKTOP", + "MOBILE" + ] + }, + "position": { + "type": "string", + "description": "Specifies the position within the HTML structure of the page where the asset is placed.", + "enum": [ + "HEAD_TOP", + "HEAD_BOTTOM", + "BODY_TOP", + "BODY_BOTTOM", + "ALL" + ] + }, + "path": { + "type": "string", + "description": "Relative path where the asset file will be available." + }, + "type": { + "type": "string", + "description": "Asset inclusion format.", + "enum": [ + "CSS", + "JS" + ] + } + }, + "description": "Items returned by the resource." + }, + "PaginationDTOAssetDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "PluginDataParams": { + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "Action to execute." + }, + "data": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Free parameters required to execute the action. Parameters, which can be numeric, boolean, or strings, must be in the format: [property name]:[property value]." + }, + "description": "Free parameters required to execute the action. Parameters, which can be numeric, boolean, or strings, must be in the format: [property name]:[property value]." + } + } + }, + "NameValueDTOObject": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Property name." + }, + "value": { + "type": "object", + "description": "Property value." + } + }, + "description": "Map of values of properties. Each property has a name attribute and a corresponding value attribute." + }, + "PluginConnectorDTO": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Plugin connector type.", + "enum": [ + "NONE", + "SHIPPER", + "SHIPPING_TYPE", + "PAYMENT_SYSTEM", + "CUSTOM_TAG", + "RELATED_DEFINITION", + "BASKET", + "MAILING_SYSTEM", + "SEARCH_ENGINE", + "OAUTH", + "TRACKER", + "ASSET", + "MARKETPLACE", + "SHIPMENT", + "CONFIRM_ORDER", + "ORDER_STATUS", + "MARKETING", + "DATA", + "UNKNOWN", + "CAPTCHA", + "MAPS", + "TAXES", + "ORDER", + "DOCUMENT_PAYMENT_SYSTEM", + "DOCUMENT_SHIPMENT", + "RMA", + "EXPRESS_CHECKOUT", + "ADDRESS_VALIDATOR", + "PICKUP_POINT_PROVIDER" + ] + }, + "items": { + "type": "array", + "description": "Information about the connector elements.", + "items": { + "$ref": "#/components/schemas/PluginConnectorItemDTO" + } + } + }, + "description": "Information about the plugin connectors." + }, + "PluginConnectorItemDTO": { + "type": "object", + "properties": { + "itemId": { + "type": "integer", + "description": "Connector identifier.", + "format": "int32" + }, + "properties": { + "type": "array", + "description": "Map of values of properties. Each property has a name attribute and a corresponding value attribute.", + "items": { + "$ref": "#/components/schemas/NameValueDTOObject" + } + } + }, + "description": "Information about the connector elements." + }, + "PluginPropertiesDTO": { + "type": "object", + "properties": { + "pluginId": { + "type": "integer", + "description": "Plugin identifier.", + "format": "int32" + }, + "pluginModule": { + "type": "string", + "description": "Unique name of the plugin module. This is the name that appears in the plugin module-info.java file, which must follow the Java convention for naming modules and packages (for example, com.logicommerce.pluginname)." + }, + "properties": { + "type": "array", + "description": "Map of values of properties. Each property has a name attribute and a corresponding value attribute.", + "items": { + "$ref": "#/components/schemas/NameValueDTOObject" + } + }, + "connectors": { + "type": "array", + "description": "Information about the plugin connectors.", + "items": { + "$ref": "#/components/schemas/PluginConnectorDTO" + } + } + } + }, + "PaginationDTOPluginAccountDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "PluginAccountDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "module": { + "type": "string" + }, + "author": { + "type": "string" + }, + "version": { + "type": "string" + }, + "date": { + "type": "string", + "format": "date" + }, + "debugEnabled": { + "type": "string", + "format": "date" + }, + "active": { + "type": "boolean" + }, + "multipleAccount": { + "type": "boolean" + }, + "connectors": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "NONE", + "SHIPPER", + "SHIPPING_TYPE", + "PAYMENT_SYSTEM", + "CUSTOM_TAG", + "RELATED_DEFINITION", + "BASKET", + "MAILING_SYSTEM", + "SEARCH_ENGINE", + "OAUTH", + "TRACKER", + "ASSET", + "MARKETPLACE", + "SHIPMENT", + "CONFIRM_ORDER", + "ORDER_STATUS", + "MARKETING", + "DATA", + "UNKNOWN", + "CAPTCHA", + "MAPS", + "TAXES", + "ORDER", + "DOCUMENT_PAYMENT_SYSTEM", + "DOCUMENT_SHIPMENT", + "RMA", + "EXPRESS_CHECKOUT", + "ADDRESS_VALIDATOR", + "PICKUP_POINT_PROVIDER" + ] + } + }, + "pId": { + "type": "string" + } + }, + "description": "Items returned by the resource." + }, + "PluginCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOPluginAccountDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/PluginAccountDTO" + } + } + } + }, + "BasketStockLockingSettingsDTO": { + "type": "object", + "properties": { + "active": { + "type": "boolean", + "description": "Specifies whether basket stock locking is enabled." + }, + "lockedStockTimerType": { + "type": "string", + "description": "Specifies the considered type for the LockedStockTimers.", + "enum": [ + "GLOBAL", + "PRODUCT" + ] + }, + "lockedStockTimerIniLockingMinutes": { + "type": "integer", + "description": "Specifies the number of minutes taken into account to stablish the initial expiresAt for a LockingStockTimer. ", + "format": "int32" + }, + "lockedStockTimerMaxLockingMinutes": { + "type": "integer", + "description": "Specifies the maximum number of minutes taken into account to stablish the expiresAt for a LockingStockTimer. The expiresAt can never exceed this number of minutes from the current moment.", + "format": "int32" + }, + "lockedStockTimerExtendibleByUser": { + "type": "boolean", + "description": "Specifies whether the LockedStockTimers can be extended by the user." + }, + "lockedStockTimerDefaultExtensionMinutes": { + "type": "integer", + "description": "Specifies the default number of minutes for an extension request of a LockingStockTimer.", + "format": "int32" + } + }, + "description": "Information about the Basket Stock Locking settings. A null value is displayed if there is no active license for the 'STCBL'(Basket Stock Locking) module." + }, + "BaseError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Code" + }, + "message": { + "type": "string", + "description": "Message" + }, + "status": { + "type": "integer", + "description": "Status code", + "format": "int32" + }, + "reference": { + "type": "string", + "description": "Internal reference", + "format": "uuid" + } + } + }, + "BlogDTO": { + "type": "object", + "properties": { + "language": { + "$ref": "#/components/schemas/BlogLanguageDTO" + }, + "commentsMode": { + "type": "string", + "description": "Specifies the user profile that can leave comments.", + "enum": [ + "NO_COMMENTS", + "ANONYMOUS_AND_REGISTERED_USERS", + "ONLY_REGISTERED_USERS" + ] + }, + "userVerificationRequired": { + "type": "boolean", + "description": "Specifies whether the double opt-in user verification process is enabled for performing actions on the blog." + }, + "active": { + "type": "boolean", + "description": "Specifies whether the item is enabled." + }, + "allowSubscriptions": { + "type": "boolean", + "description": "Specifies whether users can subscribe to the blog." + }, + "allowCategorySubscriptions": { + "type": "boolean", + "description": "Specifies whether users can subscribe to blog categories." + }, + "allowPostSubscriptions": { + "type": "boolean", + "description": "Specifies whether users can subscribe to blog posts." + }, + "maxIpComments": { + "type": "integer", + "description": "Specifies whether the maximum number of comments per IP is limited. The value 0 means that it is not limited.", + "format": "int32" + } + } + }, + "BlogLanguageDTO": { + "type": "object", + "properties": { + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "linkAttributes": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Additional attributes. Only available for plugins ." + }, + "description": "Additional attributes. Only available for plugins ." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "description": { + "type": "string", + "description": "Internal item description." + }, + "linkFollowing": { + "type": "boolean", + "description": "Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow." + }, + "defaultLanguage": { + "type": "boolean", + "description": "Specifies whether it is the default language of the blog." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "CatalogSettingsDTO": { + "type": "object", + "properties": { + "showStock": { + "type": "boolean", + "description": "Specifies whether to show stock of product." + }, + "showPrice": { + "type": "boolean", + "description": "Specifies whether the product price should be displayed." + }, + "showOfferPrice": { + "type": "boolean", + "description": "Specifies whether the product's offer price should be displayed." + }, + "showTaxesIncluded": { + "type": "boolean", + "description": "Specifies whether prices are to be displayed with taxes included." + }, + "availabilityId": { + "type": "integer", + "description": "Internal identifier of the default availability definition.", + "format": "int32" + }, + "showOptionImages": { + "type": "boolean", + "description": "Specifies whether the images of the options should be shown in the cart instead of the main one." + }, + "productComparisonActive": { + "type": "boolean", + "description": "Specifies whether ProductComparison is enabled." + }, + "productComparisonMax": { + "type": "integer", + "description": "Specifies the configured maximum quantity of products that can be added to productComparison.", + "format": "int32" + } + }, + "description": "Catalog configuration information." + }, + "CommerceCountryColectionDTO": { + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/CommerceCountryDTO" + } + } + } + }, + "CommerceCountryDTO": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Country code in ISO 3166-2 format." + }, + "numeric": { + "type": "integer", + "description": "Country numeric code in ISO 3166-1 format.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Country name." + }, + "postalCodeType": { + "type": "string", + "description": "Specifies whether the country has zip codes and, if it does, whether they are obligatory.", + "enum": [ + "STATE_CITY_POSTAL_CODE", + "STATE_CITY_WITHOUT_POSTAL_CODE", + "POSTAL_CODE_MANDATORY", + "POSTAL_CODE_OPTIONAL" + ] + }, + "id": { + "type": "integer", + "format": "int32", + "writeOnly": true + }, + "defaultLanguage": { + "type": "integer", + "format": "int32", + "writeOnly": true + }, + "currencies": { + "type": "array", + "description": "Information on the currencies available for the country.", + "items": { + "$ref": "#/components/schemas/CurrencyDTO" + } + }, + "languages": { + "type": "array", + "description": "Information on the languages ​​available for the country.", + "items": { + "$ref": "#/components/schemas/LanguageDTO" + } + } + }, + "description": "Items returned by the resource." + }, + "CurrencyDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "code": { + "type": "string", + "description": "Currency code in ISO 4217 format." + }, + "name": { + "type": "string", + "description": "Name of the currency." + }, + "symbol": { + "type": "string", + "description": "Symbol configured for the currency." + }, + "codeNumber": { + "type": "string", + "description": "International standard ISO 4217 currency code." + }, + "USDValue": { + "type": "number", + "description": "Currency exchange value in USD. Currency exchange values ​​are updated every hour.", + "format": "double" + } + } + }, + "LanguageDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "", + "format": "int32", + "writeOnly": true + }, + "code": { + "type": "string", + "description": "International standard alphabetic code ISO 639-1 of the language." + }, + "name": { + "type": "string", + "description": "Language name." + } + } + }, + "CountryLanguageLinkDTO": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "Link containing the URL of the corresponding store version for the respective country-language." + }, + "needCallSetCountry": { + "type": "boolean", + "description": "Informs whether calling setCountry is necessary for country change." + }, + "code": { + "type": "string", + "description": "International standard alphabetic code ISO 639-1 of the language." + }, + "name": { + "type": "string", + "description": "Language name." + } + }, + "description": "Information block with languages for a specific country." + }, + "CountryLinkCollectionDTO": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CountryLinkDTO" + } + } + } + }, + "CountryLinkDTO": { + "type": "object", + "properties": { + "languages": { + "type": "array", + "description": "Information block with languages for a specific country.", + "items": { + "$ref": "#/components/schemas/CountryLanguageLinkDTO" + } + }, + "numeric": { + "type": "integer", + "description": "Numeric identifier of the country.", + "format": "int32" + }, + "code": { + "type": "string", + "description": "Country code in ISO 3166-2 format." + }, + "name": { + "type": "string", + "description": "Country name." + } + } + }, + "CurrencyCollectionDTO": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CurrencyDTO" + } + } + } + }, + "EcommerceSettingsDTO": { + "type": "object", + "properties": { + "mode": { + "type": "string" + }, + "generalSettings": { + "$ref": "#/components/schemas/GeneralSettingsDTO" + }, + "catalogSettings": { + "$ref": "#/components/schemas/CatalogSettingsDTO" + }, + "geoIPSettings": { + "$ref": "#/components/schemas/GeoIPSettingsDTO" + }, + "legalSettings": { + "$ref": "#/components/schemas/LegalSettingsDTO" + }, + "ordersSettings": { + "$ref": "#/components/schemas/OrdersSettingsDTO" + }, + "seoSettings": { + "$ref": "#/components/schemas/SeoSettingsDTO" + }, + "sitemapSettings": { + "$ref": "#/components/schemas/SitemapSettingsDTO" + }, + "stockSettings": { + "$ref": "#/components/schemas/StockSettingsDTO" + }, + "userAccountsSettings": { + "$ref": "#/components/schemas/UserAccountsSettingsDTO" + }, + "taxSettings": { + "$ref": "#/components/schemas/TaxSettingsDTO" + }, + "basketStockLockingSettings": { + "$ref": "#/components/schemas/BasketStockLockingSettingsDTO" + }, + "frontOfficeSessionSettings": { + "$ref": "#/components/schemas/FrontOfficeSessionSettingsDTO" + } + }, + "description": "Ecommerce settings." + }, + "FrontOfficeSessionSettingsDTO": { + "type": "object", + "properties": { + "lifeTime": { + "type": "integer", + "description": "Specifies the duration a session remains active in minutes when its basket contains items and the user is logged in. After this period, the session's basket will be saved as an abandoned basket.", + "format": "int32" + }, + "allowSharingAcrossDevices": { + "type": "boolean", + "description": "Allows users to share and access the same session across multiple devices when logged in with the same account. Ensures that changes made on one device are reflected on the others." + } + }, + "description": "Information about the session behavior configuration." + }, + "GeneralSettingsDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Specifies the name of the Commerce." + }, + "storeURL": { + "type": "string", + "description": "Specifies the domain of Commerce.", + "format": "url" + }, + "logo": { + "type": "string", + "description": "Specifies the Commerce logo." + }, + "languages": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/GeneralSettingsLanguageDTO" + } + }, + "description": { + "type": "string", + "description": "Text for the description of the Commerce." + }, + "phone": { + "type": "string", + "description": "Specifies the contact number of the Commerce." + }, + "active": { + "type": "boolean", + "description": "Specifies whether the Commerce is open." + }, + "weightUnits": { + "type": "string", + "description": "Specifies the weight units of the Commerce." + }, + "timeZone": { + "type": "string", + "description": "Specifies the world time zone." + }, + "merchantInformation": { + "type": "string", + "description": "Text with commercial details of the Commerce." + }, + "merchantEmail": { + "type": "string", + "description": "Commerce contact email address." + }, + "domainByCountryMode": { + "type": "string", + "description": "Specifies the Redirection by country domain operating mode.", + "enum": [ + "REDIRECT", + "INFORMATIVE", + "DISABLED" + ] + }, + "cdnAssets": { + "type": "string", + "description": "Specifies the path of the external server where the general static content of the Commerce is stored." + }, + "cdnImages": { + "type": "string", + "description": "Specifies the path of the external server where the Commerce images are stored." + }, + "defaultCurrency": { + "type": "string", + "description": "Default currency code in ISO 4217 format." + }, + "defaultLanguage": { + "type": "string", + "description": "Default language code in ISO 639-1 format." + }, + "defaultCountry": { + "type": "string", + "description": "Default country code in ISO 3166-2 format." + } + }, + "description": "Information about the main configuration." + }, + "GeneralSettingsLanguageDTO": { + "type": "object", + "properties": { + "languageCode": { + "type": "string", + "description": "" + }, + "storeURL": { + "type": "string", + "description": "", + "format": "url" + }, + "logo": { + "type": "string", + "description": "" + } + }, + "description": "" + }, + "GeoIPSettingsDTO": { + "type": "object", + "properties": { + "mode": { + "type": "string", + "description": "Specifies the geoIP operating mode.", + "enum": [ + "DISABLED", + "STRICT", + "INFORMATIVE", + "STRICT_INFORMATIVE" + ] + }, + "redirectOnlyFirstTime": { + "type": "boolean", + "description": "Specifies the behavior of the redirect. This parameter will be taken into account only if the redirectionUrl has content. If it does not, the redirect action will not be executed.
true : Activate a redirect to another URL the first time the web presentation layer is visited from a country outside the sales areas. The next and subsequent times it will not be redirected.
false : Whenever the web presentation layer is visited from a country outside the sales areas, it will be redirected to another URL." + }, + "warningMessage": { + "type": "string", + "description": "GeoIP general notice text to display in STRICT_INFORMATIVE and INFORMATIVE modes." + }, + "redirectionUrl": { + "type": "string", + "description": "Specifies the URL to go to in the case of a visit from a country outside the sales areas." + } + }, + "description": "Information about the GeoIp configuration." + }, + "LegalSettingsDTO": { + "type": "object", + "properties": { + "cookieActive": { + "type": "boolean", + "description": "Specifies whether the notice to accept cookies is enabled." + }, + "checkSubscription": { + "type": "boolean", + "description": "Specifies whether the newsletter subscription check in the registration form is active by default." + }, + "autoAcceptCookies": { + "type": "boolean", + "description": "Specifies what to do about accepting cookies.
true : Cookies are automatically accepted when you continue browsing, so the warning will no longer be displayed. This implies that the warning is displayed only once at login
false : The warning will be displayed to the user during navigation until the box is closed, an action that implies their agreement" + }, + "activeGDPR": { + "type": "boolean", + "description": "Specifies whether the GDPR (General Data Protection Regulation) is enabled." + }, + "useCookiesByDefault": { + "type": "boolean", + "description": "Specifies how the web presentation layer must behave while the user does not accept or reject the use of cookies.
true : Use third-party cookies by default." + }, + "allowCookiesBlock": { + "type": "boolean", + "description": "Specifies whether to block browsing the web presentation layer until cookies are accepted or rejected" + }, + "recordsMaintainedMonths": { + "type": "integer", + "description": "Specifies the number of months that the user data will be stored for. After that time they will be automatically deleted.", + "format": "int32" + }, + "legalText": { + "type": "string", + "description": "Text of the terms and conditions of use." + }, + "privacyPolicy": { + "type": "string", + "description": "Text of the privacy policy." + } + }, + "description": "Information on the configuration of legal data." + }, + "OrdersSettingsDTO": { + "type": "object", + "properties": { + "invoiceLogo": { + "type": "string", + "description": "Invoice logo." + }, + "recoverOrderDays": { + "type": "integer", + "description": "", + "format": "int32" + }, + "faresByShippingAddress": { + "type": "boolean", + "description": "Specifies whether price lists are applied based on the shipping address rather than on the billing address." + }, + "addStockOnReturns": { + "type": "boolean", + "description": "Specifies whether generating a return will restore the stock of the products." + }, + "forceBillingAddressCountry": { + "type": "boolean", + "description": "Specifies whether to force the country in the shipping address to always be the same as the country in the billing address, instead of the usual behavior." + }, + "recurrentOrdersPeriodDays": { + "type": "integer", + "description": "Specifies the range of days within which an order is considered to be a repeat order.", + "format": "int32" + }, + "recurrentMinOrdersInPeriod": { + "type": "integer", + "description": "Specifies the number of orders in the range defined in recurrentOrdersPeriodDays to consider an order to be a repeat order.", + "format": "int32" + }, + "desistanceDays": { + "type": "integer", + "description": "Numerical value specifying the maximum number of days allowed for a user to claim the right of withdrawal on an order or part of it.", + "format": "int32" + }, + "returnStates": { + "type": "array", + "description": "Specifies the statuses allowed for return requests.", + "items": { + "type": "string", + "description": "Specifies the statuses allowed for return requests.", + "enum": [ + "DENIED", + "INCIDENTS", + "INCOMING", + "IN_PROCESS", + "COMPLETED", + "DELETED", + "CONFIRM_DELETED" + ] + } + } + }, + "description": "Order configuration information." + }, + "SeoSettingsDTO": { + "type": "object", + "properties": { + "languageInSubdirectory": { + "type": "boolean", + "description": "Specifies whether to add the language in the URL as a subdirectory." + }, + "forceLanguageInSubDirectory": { + "type": "boolean", + "description": "Specifies whether to force to add the language in the URL as a subdirectory." + }, + "products": { + "$ref": "#/components/schemas/productSettings" + }, + "areas": { + "$ref": "#/components/schemas/productSettings" + }, + "categories": { + "$ref": "#/components/schemas/productSettings" + }, + "brands": { + "$ref": "#/components/schemas/productSettings" + }, + "pages": { + "$ref": "#/components/schemas/productSettings" + }, + "news": { + "$ref": "#/components/schemas/productSettings" + }, + "generic": { + "$ref": "#/components/schemas/productSettings" + }, + "blogs": { + "$ref": "#/components/schemas/productSettings" + }, + "blogTags": { + "$ref": "#/components/schemas/productSettings" + }, + "blogBloggers": { + "$ref": "#/components/schemas/productSettings" + }, + "blogCategories": { + "$ref": "#/components/schemas/productSettings" + }, + "blogPosts": { + "$ref": "#/components/schemas/productSettings" + }, + "discounts": { + "$ref": "#/components/schemas/productSettings" + }, + "forceLanguageInSubdirectory": { + "type": "boolean" + }, + "xdefaultCriteria": { + "type": "string", + "enum": [ + "NONE", + "HOME", + "ALL" + ] + } + }, + "description": "Information about SEO settings." + }, + "SitemapSettingsDTO": { + "type": "object", + "properties": { + "active": { + "type": "boolean", + "description": "Specifies whether the creation of the sitemap file is enabled." + }, + "splitTypes": { + "type": "boolean", + "description": "Specifies whether the different items (categories, products, information pages or news) activated must be separated into different site maps.
true : It implies that as many site maps will be generated as there are active items. If splitLanguages is also active, it means that the number of site maps will be multiplied by the number of languages​ visible in the Commerce." + }, + "splitLanguages": { + "type": "boolean", + "description": "Specifies whether it should be separated into different site maps depending on the language. true : This means that at least as many site maps will be generated as the Commerce has visible languages." + }, + "compression": { + "type": "boolean", + "description": "(TO TRANSLATE)" + }, + "updateInterval": { + "type": "integer", + "description": "Specifies how often the sitemap file will regenerate.", + "format": "int32" + }, + "updateIntervalMultiplier": { + "type": "string", + "description": "Specifies the range multiplier.", + "enum": [ + "HOURS", + "DAYS", + "WEEKS" + ] + }, + "includeCategories": { + "type": "boolean", + "description": "Specifies whether active category URLs are included." + }, + "includeProducts": { + "type": "boolean", + "description": "Specifies whether active product URLs are included." + }, + "stockType": { + "type": "string", + "description": "Specifies whether to include the URLs of active products that have positive stock; stock and with prevision; stock, with prevision and on request or to include all active products.", + "enum": [ + "NONE", + "AVAILABLE", + "AVAILABLE_AND_PREVISION", + "AVAILABLE_PREVISION_AND_ONREQUEST" + ] + }, + "includePages": { + "type": "boolean", + "description": "Specifies whether to include active page URLs." + }, + "includeNews": { + "type": "boolean", + "description": "Specifies whether active news URLs are included." + }, + "includeBlog": { + "type": "boolean", + "description": "Specifies whether to include active blog post URLs." + }, + "includeBrand": { + "type": "boolean", + "description": "Specifies whether to include active brand URLs." + } + }, + "description": "Information about sitemap settings." + }, + "StockSettingsDTO": { + "type": "object", + "properties": { + "stockManagement": { + "type": "boolean", + "description": "Specifies whether the stock management system (subtraction of units sold) is generally enabled." + }, + "stockSystem": { + "type": "string", + "description": "Specifies the stock system.", + "enum": [ + "UNITS", + "AVAILABILITY" + ] + }, + "catalogStockPolicy": { + "type": "string", + "description": "Specifies whether the product stock displayed in the presentation layer is the sum of all warehouses or just that of the assigned warehouse.", + "enum": [ + "BY_CHANNEL", + "BY_ASSIGNED_WAREHOUSES" + ] + }, + "onlyInStock": { + "type": "boolean", + "description": "Specifies whether to show products that are in stock." + }, + "allowReservations": { + "type": "boolean", + "description": "Specifies whether to sell inventory without stock." + }, + "allowMultiexpedition": { + "type": "boolean", + "description": "Specifies whether multi-shipment is allowed." + }, + "useStockPrevisionOnReservePrevision": { + "type": "boolean", + "description": "Specifies whether, when stock is replenished, stock provisions may be used for the subtraction of pending units due to reserve provisions." + }, + "shipmentsByDate": { + "type": "string", + "enum": [ + "NEVER", + "ALWAYS", + "BOTH" + ] + } + }, + "description": "Stock configuration information." + }, + "TaxSettingsDTO": { + "type": "object", + "properties": { + "taxesByShippingAddress": { + "type": "boolean", + "description": "Specifies whether taxes are applied based on the shipping address rather than on the billing address." + } + }, + "description": "Information about tax settings." + }, + "UserAccountsSettingsDTO": { + "type": "object", + "properties": { + "verificationRequired": { + "type": "boolean", + "description": "Specifies that the double opt-in process of user verification is enabled for the creation of user accounts." + }, + "activatedByDefault": { + "type": "boolean", + "description": "Specifies whether new users are automatically active upon registration, rather than requiring the administrator to activate the user." + }, + "passwordPolicyActive": { + "type": "boolean", + "description": "Specifies whether the Password Policy function is enabled." + }, + "userKeyCriteria": { + "type": "string", + "description": "Specifies the type of user identifier for registration or login.", + "enum": [ + "PID", + "EMAIL" + ] + } + }, + "description": "Information about user account settings." + }, + "productSettings": { + "type": "object", + "properties": { + "title": { + "type": "string", + "description": "Generic title of the item window for the returned language." + }, + "metaDescription": { + "type": "string", + "description": "Generic content of the description metatag for the returned language." + }, + "keywords": { + "type": "string", + "description": "Generic keywords of the item for the returned language." + } + }, + "description": "Information about SEO settings of the described item." + }, + "LanguageCollectionDTO": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LanguageDTO" + } + } + } + }, + "AreaDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "categoryRole": { + "type": "boolean", + "description": "Specifies whether the area has a category role." + }, + "position": { + "type": "integer", + "description": "An integer that symbolizes the location of this item.", + "format": "int32" + }, + "active": { + "type": "boolean", + "description": "Specifies whether the item is enabled." + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "language": { + "$ref": "#/components/schemas/AreaLanguageDTO" + } + }, + "description": "Items returned by the resource." + }, + "AreaLanguageDTO": { + "type": "object", + "properties": { + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "linkAttributes": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Additional attributes. Only available for plugins ." + }, + "description": "Additional attributes. Only available for plugins ." + }, + "name": { + "type": "string", + "description": "Element name for the returned language." + }, + "description": { + "type": "string", + "description": "Description of the item for the returned language." + }, + "linkFollowing": { + "type": "boolean", + "description": "Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "AreaCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOAreaDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/AreaDTO" + } + } + } + }, + "PaginationDTOAreaDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "SortParam": { + "type": "object", + "properties": { + "sort": { + "type": "string" + }, + "sortByIdList": { + "type": "string" + } + } + }, + "IdentifierParam": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "idList": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "pid": { + "type": "string" + }, + "active": { + "type": "boolean" + } + } + }, + "CatalogCustomTagValueDTO": { + "type": "object", + "properties": { + "customTagId": { + "type": "integer", + "description": "Internal identifier of the custom tag.", + "format": "int32" + }, + "customTagPId": { + "type": "string", + "description": "Internal identifier of the custom tag." + }, + "controlType": { + "type": "string", + "description": "Custom tag type.", + "enum": [ + "BOOLEAN", + "NUMBER", + "SHORT_TEXT", + "DATE", + "SELECTOR", + "IMAGE", + "LONG_TEXT", + "ATTACHMENT" + ] + }, + "position": { + "type": "integer", + "description": "An integer that symbolizes the location of this item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Name of the custom tag for the returned language." + }, + "value": { + "type": "string", + "description": "Value of the custom tag for the returned language." + }, + "groupId": { + "type": "integer", + "description": "Internal identifier of the custom tag group.", + "format": "int32" + }, + "groupPosition": { + "type": "integer", + "description": "An integer that symbolizes the location of the group for this item.", + "format": "int32" + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "groupPriority": { + "type": "integer", + "description": "Specifies the order of presentation of the group this item in relation to the rest of groups of items of the same type.", + "format": "int32" + }, + "selectableValueId": { + "type": "integer", + "description": "Internal identifier of the custom tag. Only if it is of type selectable .", + "format": "int32" + }, + "groupName": { + "type": "string", + "description": "Name of the custom tag group for the returned language." + }, + "valuePId": { + "type": "string", + "description": "Public identifier of the selected value. Only if it is of type selectable ." + }, + "minValue": { + "type": "string", + "description": "Specifies the minimum range for the value of the custom tag." + }, + "maxValue": { + "type": "string", + "description": "Specifies the maximum range for the value of the custom tag." + }, + "pid": { + "type": "string", + "writeOnly": true + } + }, + "description": "Information on product custom tags." + }, + "CategoryCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOCategoryDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/CategoryDTO" + } + } + } + }, + "CategoryDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "parentId": { + "type": "integer", + "description": "Internal identifier of the parent item.", + "format": "int32" + }, + "prodFirst": { + "type": "boolean", + "description": "Specify, for the category, whether you want to display the products first when accessing your page." + }, + "areaId": { + "type": "integer", + "description": "Specifies the internal identifier of the area in which this category is located.", + "format": "int32" + }, + "includeSubcategories": { + "type": "boolean", + "description": "Specifies whether all products in the subcategories contained in this category should also be displayed." + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "dateAdded": { + "type": "string", + "description": "Creation date of the item.", + "format": "date-time" + }, + "language": { + "$ref": "#/components/schemas/CategoryLanguageDTO" + }, + "customTagValues": { + "type": "array", + "description": "Information about custom tags", + "items": { + "$ref": "#/components/schemas/CatalogCustomTagValueDTO" + } + }, + "featured": { + "type": "boolean", + "description": "Specifies whether the item is configured as new." + }, + "offer": { + "type": "boolean", + "description": "Specifies whether the item is on offer." + } + } + }, + "CategoryLanguageDTO": { + "type": "object", + "properties": { + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "linkAttributes": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Additional attributes. Only available for plugins ." + }, + "description": "Additional attributes. Only available for plugins ." + }, + "destinationUrl": { + "type": "string", + "description": "URL to which this item needs to link." + }, + "target": { + "type": "string", + "description": "Link mode in the case of using destination URL." + }, + "largeImage": { + "type": "string", + "description": "Path to large image of the item for the returned language." + }, + "smallImage": { + "type": "string", + "description": "Path to small image of the item for the returned language." + }, + "shortDescription": { + "type": "string", + "description": "Short description of the item for the returned language." + }, + "smallTitleImage": { + "type": "string", + "description": "Path to the small icon that will represent the item." + }, + "largeTitleImage": { + "type": "string", + "description": "Path to the large icon that will represent the item." + }, + "name": { + "type": "string", + "description": "Element name for the returned language." + }, + "linkFollowing": { + "type": "boolean", + "description": "Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow." + }, + "longDescription": { + "type": "string", + "description": "Long description of the item for the returned language." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "PaginationDTOCategoryDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "CategoryTreeCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOCategoryTreeDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/CategoryTreeDTO" + } + } + } + }, + "CategoryTreeDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "subcategories": { + "type": "array", + "description": "Information on the categories located as daughters of this category.", + "items": { + "$ref": "#/components/schemas/CategoryTreeDTO" + } + }, + "language": { + "$ref": "#/components/schemas/CategoryTreeLanguageDTO" + }, + "customTagValues": { + "type": "array", + "description": "Information about custom tags", + "items": { + "$ref": "#/components/schemas/CatalogCustomTagValueDTO" + } + }, + "featured": { + "type": "boolean", + "description": "Specifies whether the item is configured as new." + }, + "offer": { + "type": "boolean", + "description": "Specifies whether the item is on offer." + } + }, + "description": "Information about categories related to this item." + }, + "CategoryTreeLanguageDTO": { + "type": "object", + "properties": { + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "linkAttributes": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Additional attributes. Only available for plugins ." + }, + "description": "Additional attributes. Only available for plugins ." + }, + "destinationUrl": { + "type": "string", + "description": "URL to which this item needs to link." + }, + "target": { + "type": "string", + "description": "Link mode in the case of using destination URL." + }, + "largeImage": { + "type": "string", + "description": "Path to large image of the item for the returned language." + }, + "smallImage": { + "type": "string", + "description": "Path to small image of the item for the returned language." + }, + "shortDescription": { + "type": "string", + "description": "Short description of the item for the returned language." + }, + "smallTitleImage": { + "type": "string", + "description": "Path to the small icon that will represent the item." + }, + "largeTitleImage": { + "type": "string", + "description": "Path to the large icon that will represent the item." + }, + "name": { + "type": "string", + "description": "Element name for the returned language." + }, + "linkFollowing": { + "type": "boolean", + "description": "Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "PaginationDTOCategoryTreeDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "BannerDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "description": { + "type": "string", + "description": "Internal item description." + }, + "dateAdded": { + "type": "string", + "description": "Creation date of the item.", + "format": "date-time" + }, + "target": { + "type": "string", + "description": "Link mode in the case of using destination URL." + }, + "position": { + "type": "integer", + "description": "An integer that symbolizes the location of this item.", + "format": "int32" + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "language": { + "$ref": "#/components/schemas/BannerLanguageDTO" + } + }, + "description": "Information about banners related to this item." + }, + "BannerLanguageDTO": { + "type": "object", + "properties": { + "image": { + "type": "string", + "description": "Path to the banner image." + }, + "destinationUrl": { + "type": "string", + "description": "URL to which this item needs to link." + }, + "alt": { + "type": "string", + "description": "Alternative text that describes the banner image." + }, + "linkFollowing": { + "type": "boolean", + "description": "Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "BannerCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOBannerDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/BannerDTO" + } + } + } + }, + "PaginationDTOBannerDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "BlogPostDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "blogger": { + "$ref": "#/components/schemas/PostBloggerDTO" + }, + "smallImage": { + "type": "string", + "description": "Path to small image of the item." + }, + "largeImage": { + "type": "string", + "description": "Path to large image of the item." + }, + "dateAdded": { + "type": "string", + "description": "Post creation date.", + "format": "date-time" + }, + "publicationDate": { + "type": "string", + "description": "Post publication date.", + "format": "date-time" + }, + "tags": { + "type": "array", + "description": "Information about post tags.", + "items": { + "$ref": "#/components/schemas/BlogTagDTO" + } + }, + "language": { + "$ref": "#/components/schemas/BlogPostLanguageDTO" + }, + "hits": { + "type": "integer", + "description": "Number of visits to the post.", + "format": "int32" + }, + "rating": { + "type": "number", + "description": "Average value of the ratings the post has received.", + "format": "double" + }, + "rates": { + "type": "integer", + "description": "Number of times the post has been rated.", + "format": "int64" + }, + "likes": { + "type": "integer", + "description": "Number of likes given.", + "format": "int64" + }, + "dislikes": { + "type": "integer", + "description": "Number of dislikes given.", + "format": "int64" + }, + "mainCategory": { + "type": "integer", + "description": "Identifier of the main category of the post.", + "format": "int32" + }, + "mainCategoryName": { + "type": "string" + } + }, + "description": "Information about blog posts related to this item." + }, + "BlogPostLanguageDTO": { + "type": "object", + "properties": { + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "linkAttributes": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Additional attributes. Only available for plugins ." + }, + "description": "Additional attributes. Only available for plugins ." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "shortText": { + "type": "string", + "description": "Short text as a summary of the post for the returned language." + }, + "content": { + "type": "string", + "description": "Post content for the returned language." + }, + "smallTitleImage": { + "type": "string", + "description": "Path to the small icon that will represent the item." + }, + "largeTitleImage": { + "type": "string", + "description": "Path to the large icon that will represent the item." + }, + "altImageKeywords": { + "type": "string", + "description": "Keywords of the post images for the returned language." + }, + "linkFollowing": { + "type": "boolean", + "description": "Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "BlogTagDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "value": { + "type": "string", + "description": "Tag value." + }, + "language": { + "$ref": "#/components/schemas/BlogTagLanguageDTO" + } + }, + "description": "Information about post tags." + }, + "BlogTagLanguageDTO": { + "type": "object", + "properties": { + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "linkAttributes": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Additional attributes. Only available for plugins ." + }, + "description": "Additional attributes. Only available for plugins ." + }, + "value": { + "type": "string", + "description": "Tag value for the returned language." + }, + "linkFollowing": { + "type": "boolean", + "description": "Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "PostBloggerDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "language": { + "$ref": "#/components/schemas/PostBloggerLanguageDTO" + } + }, + "description": "Information about the blogger." + }, + "PostBloggerLanguageDTO": { + "type": "object", + "properties": { + "linkAttributes": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Additional attributes. Only available for plugins ." + }, + "description": "Additional attributes. Only available for plugins ." + }, + "linkFollowing": { + "type": "boolean", + "description": "Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow." + } + }, + "description": "Information about language." + }, + "BlogPostCommentCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOBlogPostCommentDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/BlogPostCommentDTO" + } + } + } + }, + "BlogPostCommentDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "answers": { + "uniqueItems": true, + "type": "array", + "description": "Information on the post comment responses.", + "items": { + "$ref": "#/components/schemas/BlogPostCommentDTO" + } + }, + "nick": { + "type": "string", + "description": "Alias ​​of the user who wrote the post comment." + }, + "comment": { + "type": "string", + "description": "Comment text." + }, + "email": { + "type": "string", + "description": "Email address of the user making the comment." + }, + "dateAdded": { + "type": "string", + "description": "Creation date of the item.", + "format": "date-time" + } + } + }, + "PaginationDTOBlogPostCommentDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "BlogPostCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOBlogPostDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/BlogPostDTO" + } + } + } + }, + "PaginationDTOBlogPostDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "SearchParam": { + "type": "object", + "properties": { + "query": { + "type": "string" + }, + "deep": { + "type": "string", + "enum": [ + "NONE", + "SHORT", + "LARGE" + ] + }, + "type": { + "type": "string", + "enum": [ + "PARTIAL", + "COMPLETE", + "COMPLETE_WITH_SPACES", + "SHOULD_APPEAR_PARTIAL" + ] + } + } + }, + "DataFileDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "File name." + }, + "type": { + "type": "string", + "description": "Type of content.", + "enum": [ + "XML", + "JSON", + "CSV", + "TEXT", + "JPEG", + "PNG", + "PDF", + "GZIP" + ] + }, + "data": { + "type": "string", + "description": "File content." + }, + "mimeType": { + "type": "string", + "description": "" + } + } + }, + "AdditionalImageDTO": { + "type": "object", + "properties": { + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "smallImage": { + "type": "string", + "description": "Path to small image of the item for the returned language." + }, + "largeImage": { + "type": "string", + "description": "Path to large image of the item for the returned language." + }, + "alt": { + "type": "string", + "description": "Alternative text that describes the image." + } + }, + "description": "Information about additional product images." + }, + "BrandDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "active": { + "type": "boolean", + "description": "Specifies whether the item is enabled." + }, + "dateAdded": { + "type": "string", + "description": "Creation date of the item.", + "format": "date-time" + }, + "deleted": { + "type": "boolean", + "description": "Specifies whether the item is removed." + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "language": { + "$ref": "#/components/schemas/BrandLanguageDTO" + }, + "featured": { + "type": "boolean", + "description": "Specifies whether the item is configured as new." + }, + "offer": { + "type": "boolean", + "description": "Specifies whether the item is on offer." + } + }, + "description": "Item brand information." + }, + "BrandLanguageDTO": { + "type": "object", + "properties": { + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "linkAttributes": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Additional attributes. Only available for plugins ." + }, + "description": "Additional attributes. Only available for plugins ." + }, + "name": { + "type": "string", + "description": "Element name for the returned language." + }, + "shortDescription": { + "type": "string", + "description": "Short description of the item for the returned language." + }, + "longDescription": { + "type": "string", + "description": "Long description of the item for the returned language." + }, + "smallImage": { + "type": "string", + "description": "Path to small image of the item for the returned language." + }, + "largeImage": { + "type": "string", + "description": "Path to large image of the item for the returned language." + }, + "smallTitleImage": { + "type": "string", + "description": "Path to the small icon that will represent the item." + }, + "largeTitleImage": { + "type": "string", + "description": "Path to the large icon that will represent the item." + }, + "indexable": { + "type": "boolean" + }, + "linkFollowing": { + "type": "boolean", + "description": "Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "CategoryPropertiesDTO": { + "type": "object", + "properties": { + "percentPrice": { + "type": "number", + "description": "Specifies the value of the percentage that will be used to calculate the final price of a product.", + "format": "double" + }, + "fareId": { + "type": "integer", + "description": "Internal identifier of the price list.", + "format": "int32" + }, + "percentPriceOverrideCustomPrices": { + "type": "boolean", + "description": "Specifies to which price policy the percentage should be applied.
true : Policies or price lists are ignored and the percentage will always be applied to the product's base rate
false : The percentage will be applied to the price of the corresponding policy or price list." + }, + "useRetailPrice": { + "type": "boolean", + "description": "Specifies that the percentage calculation will be made on the offer price, if any." + }, + "definitionId": { + "type": "integer", + "description": "Internal identifier of the pricing policy.", + "format": "int32" + }, + "showBasePrice": { + "type": "boolean", + "description": "Specifies whether the base price should be shown with the existing value before calculating the price, as a price previous ('before ...') to the offer ('now ...')." + } + }, + "description": "Information on prices by percentage." + }, + "CodesDTO": { + "type": "object", + "properties": { + "sku": { + "type": "string", + "description": "Item reference code." + }, + "jan": { + "type": "string", + "description": "JAN (Japanese Article Number) code." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number (ISBN) code used for global identification of editorial publications." + }, + "ean": { + "type": "string", + "description": "EAN (European Article Number) code, also called GTIN-13." + }, + "upc": { + "type": "string", + "description": "UPC (Universal Product Code)." + } + }, + "description": "Information about product combination codes." + }, + "CombinationDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "codes": { + "$ref": "#/components/schemas/CodesDTO" + }, + "values": { + "type": "array", + "description": "Information about the option values ​​that make up the combinations.", + "items": { + "$ref": "#/components/schemas/CombinationValueDTO" + } + }, + "stocks": { + "type": "array", + "description": "Information about the stock of the combination.", + "items": { + "$ref": "#/components/schemas/StockDTO" + } + } + } + }, + "CombinationDataOptionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "missed": { + "type": "boolean", + "description": "" + }, + "values": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/CombinationDataOptionValueDTO" + } + } + }, + "description": "" + }, + "CombinationDataOptionValueDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "selected": { + "type": "boolean", + "description": "" + }, + "available": { + "type": "boolean", + "description": "" + } + }, + "description": "" + }, + "CombinationDataStockDTO": { + "type": "object", + "properties": { + "combinationId": { + "type": "integer", + "description": "Internal identifier of the product combination to which the stock belongs.", + "format": "int32" + }, + "units": { + "type": "integer", + "description": "Stock units.", + "format": "int32" + }, + "availabilityId": { + "type": "integer", + "description": "Internal identifier of the availability definition assigned to the product.", + "format": "int32" + }, + "previsionDate": { + "type": "string", + "description": "Projected date of arrival of the provision.", + "format": "date" + }, + "warehouseIds": { + "type": "array", + "description": "Internal warehouse identifiers list.", + "items": { + "type": "integer", + "description": "Internal warehouse identifiers list.", + "format": "int32" + } + }, + "offsetDays": { + "type": "integer", + "description": "Preparation or compensation days that the warehouse needs before it can supply stock.", + "format": "int32" + } + }, + "description": "" + }, + "CombinationValueDTO": { + "type": "object", + "properties": { + "productOptionValueId": { + "type": "integer", + "description": "Internal identifier of the value of the option involved in the combination.", + "format": "int32" + } + }, + "description": "Information about the option values ​​that make up the combinations." + }, + "CommentsAggregateDTO": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "Total comments.", + "format": "int32" + }, + "rating": { + "type": "number", + "description": "Rate average.", + "format": "double" + } + }, + "description": "Total comments and rate average." + }, + "DefaultOptionPricesDTO": { + "type": "object", + "properties": { + "prices": { + "$ref": "#/components/schemas/PricesDTO" + }, + "pricesWithTaxes": { + "$ref": "#/components/schemas/PricesDTO" + } + }, + "description": "Information on the prices of the option values of the product. This information may vary depending on the criterion specified in addOptionsPriceMode." + }, + "DefinitionDTO": { + "type": "object", + "properties": { + "startOfferDate": { + "type": "string", + "description": "Date from which the product is on offer.", + "format": "date-time" + }, + "multipleOrderQuantity": { + "type": "integer", + "description": "Specifies the multiple of units of the product when buying.", + "format": "int32" + }, + "availableDate": { + "type": "string", + "description": "Date from which the product will be available for sale.", + "format": "date-time" + }, + "availability": { + "$ref": "#/components/schemas/ProductAvailabilityDTO" + }, + "showOrderBox": { + "type": "boolean", + "description": "Specifies whether the product purchase form should be displayed in the presentation layer." + }, + "minOrderQuantity": { + "type": "integer", + "description": "Specifies the minimum quantity of the product that must be purchased in the same order.", + "format": "int32" + }, + "maxOrderQuantity": { + "type": "integer", + "description": "Specifies the maximum quantity of the product that can be purchased in the same order.", + "format": "int32" + }, + "definitionId": { + "type": "integer", + "description": "Public identifier of product customization.", + "format": "int32" + }, + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "percentPriceOverrideCustomPrices": { + "type": "boolean", + "description": "Specifies to which price policy the percentage defined in percentPrice should be applied.
true : Policies or price lists are ignored and the percentage will always be applied to the product base rate
false : The percentage will be applied to the price of the corresponding policy or price list." + }, + "showDiscounts": { + "type": "boolean", + "description": "Specifies whether any discounts that may affect the product are shown." + }, + "backorder": { + "type": "string", + "description": "Reserve work mode (sell inventory without stock).", + "enum": [ + "NONE", + "WITH_AND_WITHOUT_PREVISION", + "WITHOUT_PREVISION", + "WITH_PREVISION" + ] + }, + "percentPrice": { + "type": "number", + "description": "Specifies the value of the percentage that will be used to calculate the final price of a product.", + "format": "double" + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "dateAdded": { + "type": "string", + "description": "Creation date of the item.", + "format": "date-time" + }, + "publicationDate": { + "type": "string", + "description": "Post publication date.", + "format": "date-time" + }, + "stockManagement": { + "type": "boolean", + "description": "Specifies whether the product has stock management enabled. This parameter works as long as general stock management is enabled." + }, + "groupQuantityByOptions": { + "type": "boolean", + "description": "Specifies whether the product groups the options for multiples and purchase quantity." + }, + "useRetailPrice": { + "type": "boolean", + "description": "Specifies that the calculation of the percentage due to the percentage defined in percentPrice will be applied to the offer price, if any." + }, + "showBasePrice": { + "type": "boolean", + "description": "Specifies whether the base price should be shown with the existing value before calculating the price due to the percentage defined in percentPrice, as a price previous ('before ...') to the offer (' now...')." + }, + "endOfferDate": { + "type": "string", + "description": "Date on which the product will no longer be on offer.", + "format": "date-time" + }, + "multipleActsOver": { + "type": "integer", + "description": "Specifies the number of units from which the multiple of purchase units will be activated.", + "format": "int32" + }, + "onRequest": { + "type": "boolean", + "description": "Specifies whether the product is of type 'on-request'. This type of product can be purchased even if stock management is actived and the product is out-of-stock. In this case, it is considered that the product is purchased 'on-request' for those units that are out-of-stock.
An additional condition in order to allow an 'on-request' purchase of a product, is that the product has at least one stock line configured.
If this feature is enabled it will automatically disable the 'reserve' feature of the product." + }, + "onRequestDays": { + "type": "integer", + "description": "Specifies the number of days of preparation that the product needs if it is purchased ‘on-request’. This information is used to display an estimated departure date in this case.", + "format": "int32" + }, + "active": { + "type": "boolean", + "description": "Specifies whether the item is enabled." + }, + "showPrice": { + "type": "boolean", + "description": "Specifies whether the sale price of the product should be displayed." + }, + "exclusiveLinked": { + "type": "boolean", + "description": "Indicates if only can obtain the product as linked." + }, + "offer": { + "type": "boolean", + "description": "Specifies whether the product is on offer." + }, + "featured": { + "type": "boolean", + "description": "Shows whether the product is configured as a novelty." + }, + "endFeaturedDate": { + "type": "string", + "description": "Date on which the product will no longer be considered a novelty.", + "format": "date-time" + }, + "returnable": { + "type": "boolean", + "description": "Specifies whether the product can be returned." + } + }, + "description": "Information about product customizations. Customizations are a subset of product parameters that can be redefined under one condition." + }, + "ItemPricesDTO": { + "type": "object", + "properties": { + "prices": { + "$ref": "#/components/schemas/PricesDTO" + }, + "pricesByQuantity": { + "type": "array", + "description": "Information on prices by quantity of the product.", + "items": { + "$ref": "#/components/schemas/PricesByQuantityDTO" + } + } + }, + "description": "Price information." + }, + "ItemPricesDeprecatedDTO": { + "type": "object", + "properties": { + "prices": { + "$ref": "#/components/schemas/PricesDTO" + }, + "basePrice": { + "type": "number", + "description": "Base price of the item.", + "format": "double", + "deprecated": true + }, + "retailPrice": { + "type": "number", + "description": "Offer price of the item.", + "format": "double", + "deprecated": true + }, + "pricesByQuantity": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PricesByQuantityDTO" + } + } + }, + "description": "Price information." + }, + "LogiCommerceTaxDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "taxRate": { + "type": "number", + "description": "Tax rate of the tax.", + "format": "double" + }, + "reRate": { + "type": "number", + "description": "Sales equalization tax.", + "format": "double" + }, + "name": { + "type": "string", + "description": "Name of the tax." + }, + "definitionName": { + "type": "string", + "description": "Name of the type of tax." + }, + "type": { + "type": "string", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ] + } + }, + "description": "Information about the tax applied." + }, + "MediaDTO": { + "type": "object", + "properties": { + "smallImage": { + "type": "string", + "description": "Path to small image of the item." + }, + "mediumImage": { + "type": "string", + "description": "Path to medium image of the item." + }, + "largeImage": { + "type": "string", + "description": "Path to large image of the item." + } + } + }, + "NewsDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "comments": { + "type": "string", + "description": "Internal comment on the news item." + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "active": { + "type": "boolean", + "description": "Specifies whether the item is enabled." + }, + "dateAdded": { + "type": "string", + "description": "Creation date of the item.", + "format": "date-time" + }, + "publicationDate": { + "type": "string", + "description": "Date of publication of the news item.", + "format": "date-time" + }, + "smallImage": { + "type": "string", + "description": "Path to small image of the item for the returned language." + }, + "largeImage": { + "type": "string", + "description": "Path to large image of the item for the returned language." + }, + "language": { + "$ref": "#/components/schemas/NewsLanguageDTO" + } + }, + "description": "Information about news related to this item." + }, + "NewsLanguageDTO": { + "type": "object", + "properties": { + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "linkAttributes": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Additional attributes. Only available for plugins ." + }, + "description": "Additional attributes. Only available for plugins ." + }, + "title": { + "type": "string", + "description": "Title of the news item." + }, + "shortText": { + "type": "string", + "description": "Short text as a summary of the news item." + }, + "pageText": { + "type": "string", + "description": "Text of the content of the news item." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "OptionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "showAsGrid": { + "type": "boolean", + "description": "Specifies whether the product options should be displayed in the presentation layer as a multiple purchase box in the form of a grid. It is only possible if there are two options in the product." + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "combinable": { + "type": "boolean", + "description": "Specifies whether the values ​​of this option are used to generate combinations of options." + }, + "uniquePrice": { + "type": "boolean", + "description": "Specifies whether, regardless of the units purchased of the product, the option price will be applied only once." + }, + "filterable": { + "type": "boolean", + "description": "Specifies whether the item is filterable." + }, + "required": { + "type": "boolean", + "description": "Specifies whether the item is required." + }, + "typology": { + "type": "string", + "description": "Specifies the option type.", + "enum": [ + "SIZE", + "COLOR", + "MATERIAL", + "OTHER", + "WITHOUT_TYPOLOGY" + ] + }, + "image": { + "type": "string", + "description": "The image path of the item." + }, + "language": { + "$ref": "#/components/schemas/OptionLanguageDTO" + }, + "values": { + "type": "array", + "description": "Information about the option values. Contains the definition of all values.", + "items": { + "$ref": "#/components/schemas/OptionValueDTO" + } + }, + "type": { + "type": "string", + "enum": [ + "BOOLEAN", + "SHORT_TEXT", + "SINGLE_SELECTION", + "MULTIPLE_SELECTION", + "SINGLE_SELECTION_IMAGE", + "MULTIPLE_SELECTION_IMAGE", + "SELECTOR", + "DATE", + "LONG_TEXT", + "ATTACHMENT" + ] + } + }, + "description": "Information on product options. Options are variations on the product, such as size or color." + }, + "OptionLanguageDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Element name for the returned language." + }, + "prompt": { + "type": "string", + "description": "Message intended for display in the presentation layer." + }, + "filterName": { + "type": "string", + "description": "" + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "OptionValueDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "weight": { + "type": "number", + "description": "Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established.", + "format": "double" + }, + "language": { + "$ref": "#/components/schemas/OptionValueLanguageDTO" + }, + "noReturn": { + "type": "boolean", + "description": "Specifies that a product with this option value assigned cannot be returned." + }, + "prices": { + "$ref": "#/components/schemas/ItemPricesDTO" + }, + "pricesWithTaxes": { + "$ref": "#/components/schemas/ItemPricesDTO" + }, + "images": { + "$ref": "#/components/schemas/MediaDTO" + } + }, + "description": "Information about the option values. Contains the definition of all values." + }, + "OptionValueLanguageDTO": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Option value for the returned language." + }, + "shortDescription": { + "type": "string", + "description": "Short description of the item for the returned language." + }, + "searchValue": { + "type": "string", + "description": "Defines the search value for the option value filters for the returned language." + }, + "longDescription": { + "type": "string", + "description": "Long description of the item for the returned language." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "PageDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "position": { + "type": "integer", + "description": "An integer that symbolizes the location of this item.", + "format": "int32" + }, + "pagesGroupId": { + "type": "integer", + "description": "Internal identifier of the page group.", + "format": "int32" + }, + "parentPageId": { + "type": "integer", + "description": "Internal identifier of the parent page.", + "format": "int32" + }, + "pageType": { + "type": "string", + "description": "Specifies the type of content or behavior that the page will have.", + "enum": [ + "DEFAULT", + "HOME", + "CONTACT", + "SITEMAP", + "SUBPAGES", + "USER", + "SHOPPING_CART", + "SPONSORSHIP_REGISTERED_USER", + "NEWSLETTER", + "SPONSORSHIP_UNREGISTERED_USER", + "CATEGORY", + "NEWS_LIST", + "OFFERS", + "FEATURED_PRODUCTS", + "PRIVACY_POLICY", + "TERMS_OF_USE", + "BLOG_HOME", + "BLOG_CATEGORY", + "DISCOUNTS", + "CUSTOM", + "MODULE" + ] + }, + "itemId": { + "type": "integer", + "description": "Identifier of the item pointed to when pageType is Category or Blog category. Pages of these types serve as links to the item specified here.", + "format": "int32" + }, + "customType": { + "type": "string", + "description": "Alphanumeric value to identify the custom page type (pageType: Custom)." + }, + "language": { + "$ref": "#/components/schemas/PageLanguageDTO" + }, + "customTagValues": { + "type": "array", + "description": "Information about custom tag values.", + "items": { + "$ref": "#/components/schemas/CatalogCustomTagValueDTO" + } + }, + "active": { + "type": "boolean", + "description": "Specifies whether the item is enabled." + }, + "subpages": { + "type": "array", + "description": "Information about pages located as children of this page.", + "items": { + "$ref": "#/components/schemas/PageDTO" + } + } + }, + "description": "Information about pages related to this item." + }, + "PageLanguageDTO": { + "type": "object", + "properties": { + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "linkAttributes": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Additional attributes. Only available for plugins ." + }, + "description": "Additional attributes. Only available for plugins ." + }, + "name": { + "type": "string", + "description": "Element name for the returned language." + }, + "smallImage": { + "type": "string", + "description": "Path to small image of the item for the returned language." + }, + "largeImage": { + "type": "string", + "description": "Path to large image of the item for the returned language." + }, + "smallTitle": { + "type": "string", + "description": "Path to the small icon that will represent the item." + }, + "largeTitle": { + "type": "string", + "description": "Path to the large icon that will represent the item." + }, + "pageContent": { + "type": "string", + "description": "Content of the page for the returned language." + }, + "destinationUrl": { + "type": "string", + "description": "URL to which this item needs to link." + }, + "target": { + "type": "string", + "description": "Link mode in the case of using destination URL." + }, + "linkFollowing": { + "type": "boolean", + "description": "Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "PluginItemTaxDTO": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "pluginAccountId": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ], + "default": "PLUGIN_ACCOUNT" + } + } + }, + "PrevisionDTO": { + "type": "object", + "properties": { + "units": { + "type": "integer", + "description": "Stock units available for provision.", + "format": "int32" + }, + "incomingDate": { + "type": "string", + "description": "Projected date of arrival of the provision.", + "format": "date" + }, + "previsionType": { + "type": "string", + "description": "Type of provision.", + "enum": [ + "RESERVE", + "PREVISION", + "AVAILABLE" + ] + } + }, + "description": "Information on provisions." + }, + "PricesByQuantityDTO": { + "type": "object", + "properties": { + "prices": { + "$ref": "#/components/schemas/PricesDTO" + }, + "quantity": { + "type": "integer", + "description": "Specifies the units of the range from which the new prices are applied up to the units of the following range.", + "format": "int32" + } + } + }, + "PricesDTO": { + "type": "object", + "properties": { + "basePrice": { + "type": "number", + "description": "Base price of the item.", + "format": "double" + }, + "retailPrice": { + "type": "number", + "description": "Offer price of the item.", + "format": "double" + } + }, + "description": "Price information." + }, + "ProductAvailabilityDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "intervals": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProductAvailabilityIntervalDTO" + } + } + }, + "description": "Availability definition assigned to the product." + }, + "ProductAvailabilityIntervalDTO": { + "type": "object", + "properties": { + "stock": { + "type": "integer", + "description": "Number of units at the top of the range.", + "format": "int32" + }, + "language": { + "$ref": "#/components/schemas/ProductAvailabilityIntervalLanguageDTO" + } + } + }, + "ProductAvailabilityIntervalLanguageDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Range name." + }, + "description": { + "type": "string", + "description": "Complementary text for the range." + }, + "image": { + "type": "string", + "description": "image path of the icon that will represent this range." + } + } + }, + "ProductCategoryDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Internal name of the item." + } + }, + "description": "Information about the categories to which the product belongs." + }, + "ProductCodesDTO": { + "type": "object", + "properties": { + "sku": { + "type": "string", + "description": "Item reference code." + }, + "jan": { + "type": "string", + "description": "JAN (Japanese Article Number) code." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number (ISBN) code used for global identification of editorial publications." + }, + "ean": { + "type": "string", + "description": "EAN (European Article Number) code, also called GTIN-13." + }, + "upc": { + "type": "string", + "description": "UPC (Universal Product Code)." + }, + "manufacturerSku": { + "type": "string", + "description": "Item reference code by manufacturer." + } + } + }, + "ProductCombinationDataDTO": { + "type": "object", + "properties": { + "productCodes": { + "$ref": "#/components/schemas/CodesDTO" + }, + "status": { + "type": "string", + "description": "", + "enum": [ + "AVAILABLE", + "RESERVE", + "UNAVAILABLE", + "SELECT_OPTION" + ] + }, + "showStockAlert": { + "type": "boolean", + "description": "" + }, + "prices": { + "$ref": "#/components/schemas/ItemPricesDeprecatedDTO" + }, + "pricesWithTaxes": { + "$ref": "#/components/schemas/ItemPricesDeprecatedDTO" + }, + "stock": { + "$ref": "#/components/schemas/CombinationDataStockDTO" + }, + "options": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/CombinationDataOptionDTO" + } + } + }, + "description": "" + }, + "ProductDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "codes": { + "$ref": "#/components/schemas/ProductCodesDTO" + }, + "mainImages": { + "$ref": "#/components/schemas/MediaDTO" + }, + "totalStock": { + "type": "integer", + "description": "Total stock of product.", + "format": "int32" + }, + "shipping": { + "type": "boolean", + "description": "Specifies whether the product should be taken into account in calculating the shipping cost. If this feature is disabled, it means that the product does not need a carrier." + }, + "weight": { + "type": "number", + "description": "Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established.", + "format": "double" + }, + "mainCategory": { + "type": "integer", + "description": "Specifies the internal identifier of the main category to which the product belongs. There can only be one main category for a product.", + "format": "int32" + }, + "brand": { + "$ref": "#/components/schemas/BrandDTO" + }, + "supplierRegisteredUserId": { + "type": "integer", + "description": "Internal identifier of the supplier of the product.", + "format": "int32" + }, + "taxes": { + "type": "array", + "description": "Information about the taxes associated with the product.", + "items": { + "$ref": "#/components/schemas/LogiCommerceTaxDTO" + } + }, + "pluginAccountTaxes": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/PluginItemTaxDTO" + } + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the product is considered an investment by the taxpayer for tax purposes." + }, + "options": { + "type": "array", + "description": "Information on product options. Options are variations on the product, such as size or color.", + "items": { + "$ref": "#/components/schemas/OptionDTO" + } + }, + "definition": { + "$ref": "#/components/schemas/DefinitionDTO" + }, + "categories": { + "type": "array", + "description": "Information about the categories to which the product belongs.", + "items": { + "$ref": "#/components/schemas/ProductCategoryDTO" + } + }, + "categoryProperties": { + "$ref": "#/components/schemas/CategoryPropertiesDTO" + }, + "customTagValues": { + "type": "array", + "description": "Information on product custom tags.", + "items": { + "$ref": "#/components/schemas/CatalogCustomTagValueDTO" + } + }, + "combinations": { + "type": "array", + "description": "Information about the combinations of option values that a product can have.", + "items": { + "$ref": "#/components/schemas/CombinationDTO" + } + }, + "language": { + "$ref": "#/components/schemas/ProductLanguageDTO" + }, + "prices": { + "$ref": "#/components/schemas/ItemPricesDTO" + }, + "pricesWithTaxes": { + "$ref": "#/components/schemas/ItemPricesDTO" + }, + "productPrice": { + "type": "number", + "description": "Specifies the part of the price of the product without considering options.", + "format": "double" + }, + "optionsPrice": { + "type": "number", + "description": "Specifies the part of the price due to the options. This value may vary depending on the criterion specified in addOptionsPriceMode.", + "format": "double" + }, + "defaultOptionsPrices": { + "$ref": "#/components/schemas/DefaultOptionPricesDTO" + }, + "additionalImages": { + "type": "array", + "description": "Information about additional product images.", + "items": { + "$ref": "#/components/schemas/AdditionalImageDTO" + } + }, + "commentsAggregate": { + "$ref": "#/components/schemas/CommentsAggregateDTO" + }, + "combinationData": { + "$ref": "#/components/schemas/ProductCombinationDataDTO" + }, + "supplierId": { + "type": "integer", + "description": "Internal identifier of the supplier of the product.", + "format": "int32" + } + }, + "description": "Information for each product referenced from any of the returned rows." + }, + "ProductLanguageDTO": { + "type": "object", + "properties": { + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "linkAttributes": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Additional attributes. Only available for plugins ." + }, + "description": "Additional attributes. Only available for plugins ." + }, + "shortDescription": { + "type": "string", + "description": "Short description of the item for the returned language." + }, + "name": { + "type": "string", + "description": "Element name for the returned language." + }, + "smallTitleImage": { + "type": "string", + "description": "Path to the small icon that will represent the item." + }, + "longDescription": { + "type": "string", + "description": "Long description of the item for the returned language." + }, + "altImageKeywords": { + "type": "string", + "description": "Keywords of additional product images for the returned language." + }, + "largeTitleImage": { + "type": "string", + "description": "Path to the large icon that will represent the item." + }, + "linkFollowing": { + "type": "boolean", + "description": "Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "RelatedCollectionDTO": { + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/RelatedDTO" + } + } + } + }, + "RelatedDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the section of related items." + }, + "image": { + "type": "string", + "description": "Image path of the related items section." + }, + "type": { + "type": "string", + "description": "Type of relationship system.", + "enum": [ + "RELATED", + "EXTERNAL", + "LINKED" + ] + }, + "module": { + "type": "string", + "description": "Plugin module's name." + }, + "position": { + "type": "integer", + "description": "Position of the related items section.", + "format": "int32" + }, + "banners": { + "type": "array", + "description": "Information about banners related to this item.", + "items": { + "$ref": "#/components/schemas/BannerDTO" + } + }, + "categories": { + "type": "array", + "description": "Information about categories related to this item.", + "items": { + "$ref": "#/components/schemas/CategoryTreeDTO" + } + }, + "news": { + "type": "array", + "description": "Information about news related to this item.", + "items": { + "$ref": "#/components/schemas/NewsDTO" + } + }, + "pages": { + "type": "array", + "description": "Information about pages related to this item.", + "items": { + "$ref": "#/components/schemas/PageDTO" + } + }, + "products": { + "type": "array", + "description": "Information about products related to this item.", + "items": { + "$ref": "#/components/schemas/ProductDTO" + } + }, + "posts": { + "type": "array", + "description": "Information about blog posts related to this item.", + "items": { + "$ref": "#/components/schemas/BlogPostDTO" + } + }, + "id": { + "type": "integer", + "format": "int32" + } + } + }, + "StockDTO": { + "type": "object", + "properties": { + "units": { + "type": "integer", + "description": "Stock units.", + "format": "int32" + }, + "warehouseId": { + "type": "integer", + "description": "Warehouse internal identifier.", + "format": "int32" + }, + "warehouseGroupId": { + "type": "integer", + "description": "Logistic center internal identifier.", + "format": "int32" + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "offsetDays": { + "type": "integer", + "description": "Preparation or compensation days that the warehouse needs before it can supply stock.", + "format": "int32" + }, + "previsions": { + "type": "array", + "description": "Information on provisions.", + "items": { + "$ref": "#/components/schemas/PrevisionDTO" + } + } + }, + "description": "Information about the stock of the combination." + }, + "BlogCategoryCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOBlogCategoryDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/BlogCategoryDTO" + } + } + } + }, + "BlogCategoryDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "smallImage": { + "type": "string", + "description": "Path to small image of the item." + }, + "largeImage": { + "type": "string", + "description": "Path to large image of the item." + }, + "language": { + "$ref": "#/components/schemas/BlogCategoryLanguageDTO" + }, + "featured": { + "type": "boolean", + "description": "Specifies whether the item is configured as new." + } + } + }, + "BlogCategoryLanguageDTO": { + "type": "object", + "properties": { + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "linkAttributes": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Additional attributes. Only available for plugins ." + }, + "description": "Additional attributes. Only available for plugins ." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "shortDescription": { + "type": "string", + "description": "Short description of the item for the returned language." + }, + "longDescription": { + "type": "string", + "description": "Long description of the item for the returned language." + }, + "smallTitleImage": { + "type": "string", + "description": "Path to the small icon that will represent the item." + }, + "largeTitleImage": { + "type": "string", + "description": "Path to the large icon that will represent the item." + }, + "destinationURL": { + "type": "string", + "description": "URL to which this item needs to link." + }, + "target": { + "type": "string", + "description": "Link mode in the case of using destination URL." + }, + "linkFollowing": { + "type": "boolean", + "description": "Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "PaginationDTOBlogCategoryDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "BloggerDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "language": { + "$ref": "#/components/schemas/BloggerLanguageDTO" + }, + "numberOfPosts": { + "type": "integer", + "description": "Number of posts made by the blogger.", + "format": "int32" + } + }, + "description": "Information about the blogger." + }, + "BloggerLanguageDTO": { + "type": "object", + "properties": { + "linkAttributes": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Additional attributes. Only available for plugins ." + }, + "description": "Additional attributes. Only available for plugins ." + }, + "linkFollowing": { + "type": "boolean", + "description": "Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow." + }, + "description": { + "type": "string", + "description": "Internal item description." + } + }, + "description": "Information about language." + }, + "BloggerCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOBloggerDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/BloggerDTO" + } + } + } + }, + "PaginationDTOBloggerDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "BlogTagNumberOfPostsDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "value": { + "type": "string", + "description": "Tag value." + }, + "language": { + "$ref": "#/components/schemas/BlogTagLanguageDTO" + }, + "numberOfPosts": { + "type": "integer", + "description": "Number of publications in which the tag appears.", + "format": "int32" + } + }, + "description": "Items returned by the resource." + }, + "BlogTagCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOBlogTagNumberOfPostsDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/BlogTagNumberOfPostsDTO" + } + } + } + }, + "PaginationDTOBlogTagNumberOfPostsDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "AddBlogPostCommentParam": { + "required": [ + "comment", + "nick" + ], + "type": "object", + "properties": { + "comment": { + "maxLength": 4000, + "minLength": 0, + "type": "string", + "description": "Post comment text." + }, + "nick": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "Alias of the user writing the comment on the product." + }, + "commentId": { + "type": "integer", + "description": "Internal identifier of the comment or response. Only necessary in the case of creating a response that must refer to the comment or response indicated here and thus achieve a nested structure.", + "format": "int32" + }, + "email": { + "type": "string", + "description": "Email address of the user making the comment." + } + } + }, + "AddBlogPostRateParam": { + "required": [ + "rating" + ], + "type": "object", + "properties": { + "rating": { + "maximum": 5, + "minimum": 0, + "type": "integer", + "description": "Numerical rating of the post.", + "format": "int32" + } + } + }, + "BrandCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOBrandDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/BrandDTO" + } + } + } + }, + "PaginationDTOBrandDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "CategoryParentParam": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "idList": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "pid": { + "type": "string" + } + } + }, + "CategoryAreaParam": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "idList": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "position": { + "type": "integer", + "format": "int32" + }, + "pid": { + "type": "string" + } + } + }, + "AggregateOfferDTO": { + "type": "object", + "properties": { + "offerCount": { + "type": "integer", + "description": "Number of products.", + "format": "int32" + }, + "lowPrice": { + "type": "number", + "description": "The lowest price of the set of products.", + "format": "double" + }, + "highPrice": { + "type": "number", + "description": "The highest price of the set of products.", + "format": "double" + }, + "priceCurrency": { + "type": "string", + "description": "Currency code in ISO 4217 format." + }, + "context": { + "type": "string", + "description": "Context '@context' of the item (https://schema.org)." + }, + "type": { + "type": "string", + "description": "Type '@type' of the item." + } + }, + "description": "Pricing information." + }, + "AggregateRatingDTO": { + "type": "object", + "properties": { + "worstRating": { + "type": "integer", + "description": "Number indicating the worst rating. The default value is 0.", + "format": "int32" + }, + "bestRating": { + "type": "integer", + "description": "Number indicating the best grade. The predetermined value is 5.", + "format": "int32" + }, + "ratingValue": { + "type": "integer", + "description": "Average value of the grades received.", + "format": "int32" + }, + "ratingCount": { + "type": "integer", + "description": "Number of times it has been rated.", + "format": "int64" + }, + "reviewCount": { + "type": "integer", + "description": "Total number of comments.", + "format": "int64" + }, + "context": { + "type": "string", + "description": "Context '@context' of the item (https://schema.org)." + }, + "type": { + "type": "string", + "description": "Type '@type' of the item." + } + }, + "description": "Ratings information." + }, + "CategoryRichSnippetDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Category name for the returned language." + }, + "description": { + "type": "string", + "description": "Description of the category for the returned language." + }, + "images": { + "type": "array", + "description": "Set of category image routes.", + "items": { + "type": "string", + "description": "Set of category image routes." + } + }, + "url": { + "type": "string", + "description": "URL to the category page." + }, + "offers": { + "$ref": "#/components/schemas/AggregateOfferDTO" + }, + "aggregateRating": { + "$ref": "#/components/schemas/AggregateRatingDTO" + }, + "context": { + "type": "string", + "description": "Context '@context' of the item (https://schema.org)." + }, + "type": { + "type": "string", + "description": "Type '@type' of the item." + } + } + }, + "DataValidationCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTODataValidationDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/DataValidationDTO" + } + } + } + }, + "DataValidationDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "dataValidationType": { + "type": "string", + "description": "Type of data validation.", + "enum": [ + "END_ORDER", + "SET_USER", + "UPDATE_USER", + "ADDRESS", + "CONTACT", + "PRODUCT_QUERY" + ] + }, + "fields": { + "type": "array", + "description": "Information about the data validation fields.", + "items": { + "$ref": "#/components/schemas/DataValidationFieldDTO" + } + } + } + }, + "DataValidationFieldDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Field Name." + }, + "type": { + "type": "string", + "description": "Field type." + }, + "required": { + "type": "boolean", + "description": "Specifies whether the field is required." + }, + "regularExpression": { + "type": "string", + "description": "Regular expression that the content of the field must meet." + } + }, + "description": "Information about the data validation fields." + }, + "PaginationDTODataValidationDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "BaseDiscountConditionDTO": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "PERIOD", + "ACTIVITY_LIMIT", + "VALUE", + "RESTRICTION", + "SHIPPING_TYPE", + "CATALOG", + "COMBINATION", + "BRAND", + "VOUCHER", + "USER", + "LOCATION", + "USER_AGENT" + ] + } + }, + "description": "Information about the set conditions for the applicability of the discount. Only available under license of module 'DISNV'(Discounts Navigation).", + "anyOf": [ + { + "$ref": "#/components/schemas/DiscountConditionDTO" + }, + { + "$ref": "#/components/schemas/DiscountConditionRestrictionDTO" + }, + { + "$ref": "#/components/schemas/DiscountConditionShippingTypeDTO" + }, + { + "$ref": "#/components/schemas/DiscountConditionActivityLimitDTO" + }, + { + "$ref": "#/components/schemas/DiscountConditionValueDTO" + }, + { + "$ref": "#/components/schemas/DiscountConditionPeriodDTO" + } + ] + }, + "DiscountCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTODiscountDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/DiscountDTO" + } + } + } + }, + "DiscountConditionActivityLimitDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "type": { + "type": "string", + "description": "Specifies the item type.", + "enum": [ + "PERIOD", + "ACTIVITY_LIMIT", + "VALUE", + "RESTRICTION", + "SHIPPING_TYPE", + "CATALOG", + "COMBINATION", + "BRAND", + "VOUCHER", + "USER", + "LOCATION", + "USER_AGENT" + ] + }, + "met": { + "type": "boolean", + "description": "Specifies if the condition is met. Null means that the condition can not be evaluated." + }, + "activationDate": { + "type": "string", + "description": "Specifies the activation date of the activity limit condition. Format ISO-8601 ('YYYY-MM-DDThh:mm:ssZ')", + "format": "date-time" + }, + "expirationDate": { + "type": "string", + "description": "Specifies the expiration date of the activity limit condition. Format ISO-8601 ('YYYY-MM-DDThh:mm:ssZ')", + "format": "date-time" + } + } + }, + "DiscountConditionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "type": { + "type": "string", + "description": "Specifies the item type.", + "enum": [ + "PERIOD", + "ACTIVITY_LIMIT", + "VALUE", + "RESTRICTION", + "SHIPPING_TYPE", + "CATALOG", + "COMBINATION", + "BRAND", + "VOUCHER", + "USER", + "LOCATION", + "USER_AGENT" + ] + } + } + }, + "DiscountConditionPeriodDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "type": { + "type": "string", + "description": "Specifies the item type.", + "enum": [ + "PERIOD", + "ACTIVITY_LIMIT", + "VALUE", + "RESTRICTION", + "SHIPPING_TYPE", + "CATALOG", + "COMBINATION", + "BRAND", + "VOUCHER", + "USER", + "LOCATION", + "USER_AGENT" + ] + }, + "met": { + "type": "boolean", + "description": "Specifies if the condition is met. Null means that the condition can not be evaluated." + }, + "days": { + "type": "integer", + "description": "Period days.", + "format": "int32" + }, + "quantity": { + "type": "integer", + "description": "Maximum number of times the discount is applicable between the last specified days.", + "format": "int32" + } + } + }, + "DiscountConditionRestrictionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "type": { + "type": "string", + "description": "Specifies the item type.", + "enum": [ + "PERIOD", + "ACTIVITY_LIMIT", + "VALUE", + "RESTRICTION", + "SHIPPING_TYPE", + "CATALOG", + "COMBINATION", + "BRAND", + "VOUCHER", + "USER", + "LOCATION", + "USER_AGENT" + ] + }, + "restrictionType": { + "type": "string", + "description": "Specifies the restriction type of the condition.", + "enum": [ + "NO_APPLY_TO_BUNDLES", + "NO_APPLY_TO_SALES", + "NO_APPLY_TO_LINKEDS" + ] + } + } + }, + "DiscountConditionShippingTypeDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "type": { + "type": "string", + "description": "Specifies the item type.", + "enum": [ + "PERIOD", + "ACTIVITY_LIMIT", + "VALUE", + "RESTRICTION", + "SHIPPING_TYPE", + "CATALOG", + "COMBINATION", + "BRAND", + "VOUCHER", + "USER", + "LOCATION", + "USER_AGENT" + ] + }, + "shippingTypes": { + "type": "array", + "description": "Information about the shipping types accepted by this condition.", + "items": { + "$ref": "#/components/schemas/ShippingTypeDTO" + } + } + } + }, + "DiscountConditionValueDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "type": { + "type": "string", + "description": "Specifies the item type.", + "enum": [ + "PERIOD", + "ACTIVITY_LIMIT", + "VALUE", + "RESTRICTION", + "SHIPPING_TYPE", + "CATALOG", + "COMBINATION", + "BRAND", + "VOUCHER", + "USER", + "LOCATION", + "USER_AGENT" + ] + }, + "met": { + "type": "boolean", + "description": "Specifies if the condition is met. Null means that the condition can not be evaluated." + }, + "valueType": { + "type": "string", + "description": "Specifies the condition value type.
- UNITS: condition based on the units added to the order.
- NUM_ORDERS: condition based on the number of orders the user has made.
- AMOUNT_SPENT: condition based on the total amount of the order.", + "enum": [ + "UNITS", + "AMOUNT_SPENT", + "NUM_ORDERS" + ] + }, + "from": { + "type": "number", + "description": "'From' quantity for modes FROM and RANGE, and 'quantity' for mode EACH.", + "format": "double" + }, + "to": { + "type": "number", + "description": "'To' quantity. Only applies to RANGE mode.", + "format": "double" + }, + "mode": { + "type": "string", + "description": "Specifies the condition value mode.", + "enum": [ + "FROM", + "RANGE", + "EACH" + ] + } + } + }, + "DiscountDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "type": { + "type": "string", + "description": "Specifies the item type.", + "enum": [ + "AMOUNT", + "GIFT", + "UNIT", + "SELECTABLE_GIFT", + "MXN", + "PERCENT_N_UNIT", + "REWARD_POINTS", + "AMOUNT_COMBINATION" + ] + }, + "applyTo": { + "type": "string", + "description": "Specifies the element type to wich the discount applies.", + "enum": [ + "PRODUCT", + "SHIPPING", + "TOTAL" + ] + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "displayPriority": { + "type": "integer", + "description": "Specifies the display order of the discount in the presentation layer.", + "format": "int32" + }, + "language": { + "$ref": "#/components/schemas/DiscountLanguageDTO" + }, + "conditions": { + "type": "array", + "description": "Information about the set conditions for the applicability of the discount. Only available under license of module 'DISNV'(Discounts Navigation).", + "items": { + "$ref": "#/components/schemas/BaseDiscountConditionDTO" + } + } + }, + "description": "Items returned by the resource." + }, + "DiscountLanguageDTO": { + "type": "object", + "properties": { + "image": { + "type": "string", + "description": "Image path of the item for the returned language.", + "deprecated": true + }, + "description": { + "type": "string", + "description": "Description of the item for the returned language.", + "deprecated": true + }, + "urlSeo": { + "type": "string", + "description": "URL of the item. Only available under license of module 'DISNV'(Discounts Navigation), otherwise shows null." + }, + "shortDescription": { + "type": "string", + "description": "Short description of the item for the returned language." + }, + "name": { + "type": "string", + "description": "Element name for the returned language." + }, + "smallImage": { + "type": "string", + "description": "Path to small image of the item for the returned language." + }, + "longDescription": { + "type": "string", + "description": "Long description of the item for the returned language." + }, + "largeImage": { + "type": "string", + "description": "Path to large image of the item for the returned language." + }, + "indexable": { + "type": "boolean", + "description": "Specifies whether it is indexable. Only available under license of module 'DISNV'(Discounts Navigation), otherwise shows null." + }, + "linkFollowing": { + "type": "boolean", + "description": "Specifies the behavior of indexing bots in tracking the item link. Possible values: false - nofollow, true - follow. Only available under license of module 'DISNV'(Discounts Navigation), otherwise shows null." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "PaginationDTODiscountDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "ShipperDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "logo": { + "type": "string", + "description": "Path of the carrier logo image." + }, + "language": { + "$ref": "#/components/schemas/ShipperLanguageDTO" + } + }, + "description": "Information about the carrier of the shipping type." + }, + "ShipperLanguageDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Element name for the returned language." + }, + "url": { + "type": "string", + "description": "URL for tracking the order offered by the carrier." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "ShippingTypeDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "applyTaxRedefinitions": { + "type": "boolean", + "description": "Specifies whether the shipping type applies exceptions to taxes by territory." + }, + "sectionsWithTaxIncluded": { + "type": "boolean", + "description": "Specifies whether the ranges of monetary amounts set in the ranges of your shipping zones have taxes included." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "restrictive": { + "type": "boolean", + "description": "Specifies whether the shipping type is restrictive." + }, + "displayPriority": { + "type": "integer", + "description": "Specifies the display order of the shipping type in the presentation layer.", + "format": "int32" + }, + "shipper": { + "$ref": "#/components/schemas/ShipperDTO" + }, + "language": { + "$ref": "#/components/schemas/ShippingTypeLanguageDTO" + }, + "additionalData": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Additional data required by the shipping type. Only available for plugins ." + }, + "description": "Additional data required by the shipping type. Only available for plugins ." + } + }, + "description": "Information about the shipping type." + }, + "ShippingTypeLanguageDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Element name for the returned language." + }, + "description": { + "type": "string", + "description": "Description of the item for the returned language." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "DiscountSelectableGiftProductCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOProductDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/ProductDTO" + } + } + } + }, + "PaginationDTOProductDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "NewsCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTONewsDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/NewsDTO" + } + } + } + }, + "PaginationDTONewsDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "PageCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOPageDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/PageDTO" + } + } + } + }, + "PaginationDTOPageDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "ParentParam": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "idList": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "pid": { + "type": "string" + } + } + }, + "PageGroupParam": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "idList": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "position": { + "type": "integer", + "format": "int32" + }, + "positionList": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "pid": { + "type": "string" + } + } + }, + "CoordinateDTO": { + "type": "object", + "properties": { + "latitude": { + "type": "number", + "description": "Specifies the latitude value of the coordinate.", + "format": "double" + }, + "longitude": { + "type": "number", + "description": "Specifies the longitude value of the coordinate.", + "format": "double" + } + }, + "description": "Location information by coordinates." + }, + "CountryDTO": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Country code in ISO 3166-2 format." + }, + "numeric": { + "type": "integer", + "description": "Country numeric code in ISO 3166-1 format.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Country name." + }, + "postalCodeType": { + "type": "string", + "description": "Specifies whether the country has zip codes and, if it does, whether they are obligatory.", + "enum": [ + "STATE_CITY_POSTAL_CODE", + "STATE_CITY_WITHOUT_POSTAL_CODE", + "POSTAL_CODE_MANDATORY", + "POSTAL_CODE_OPTIONAL" + ] + }, + "id": { + "type": "integer", + "format": "int32", + "writeOnly": true + }, + "defaultLanguage": { + "type": "integer", + "format": "int32", + "writeOnly": true + } + }, + "description": "Information of distinct filterable countries." + }, + "FilterTextualLocationsDTO": { + "type": "object", + "properties": { + "countries": { + "type": "array", + "description": "Information of distinct filterable countries.", + "items": { + "$ref": "#/components/schemas/CountryDTO" + } + }, + "states": { + "type": "array", + "description": "Information of distinct filterable states. Information only available if country filter has been indicated.", + "items": { + "type": "string", + "description": "Information of distinct filterable states. Information only available if country filter has been indicated." + } + }, + "cities": { + "type": "array", + "description": "Information of distinct filterable cities. Information only available if state filter has been indicated.", + "items": { + "type": "string", + "description": "Information of distinct filterable cities. Information only available if state filter has been indicated." + } + }, + "postalCodes": { + "type": "array", + "description": "Information of distinct filterable zip codes. Information only available if city filter has been indicated.", + "items": { + "type": "string", + "description": "Information of distinct filterable zip codes. Information only available if city filter has been indicated." + } + } + }, + "description": "Information about distinct filterable values over the returned items." + }, + "GeographicalZoneDTO": { + "type": "object", + "properties": { + "countryCode": { + "type": "string", + "description": "Country code in ISO 3166-2 format." + }, + "locationId": { + "type": "integer", + "description": "Internal country subdivision identifier.", + "format": "int32" + } + }, + "description": "Geographic location information." + }, + "LocationDTO": { + "type": "object", + "properties": { + "geographicalZone": { + "$ref": "#/components/schemas/GeographicalZoneDTO" + }, + "coordinate": { + "$ref": "#/components/schemas/CoordinateDTO" + } + }, + "description": "" + }, + "PaginationDTOPhysicalLocationDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "PhysicalLocationCollectionDTO": { + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/FilterTextualLocationsDTO" + }, + "pagination": { + "$ref": "#/components/schemas/PaginationDTOPhysicalLocationDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/PhysicalLocationDTO" + } + } + } + }, + "PhysicalLocationDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "active": { + "type": "boolean", + "description": "Specifies whether the item is enabled." + }, + "phone": { + "type": "string", + "description": "Physical location email phone." + }, + "email": { + "type": "string", + "description": "Physical location email address." + }, + "address": { + "type": "string", + "description": "Physical location address." + }, + "postalCode": { + "type": "string", + "description": "Zip code of the physical location." + }, + "city": { + "type": "string", + "description": "City of physical location." + }, + "state": { + "type": "string", + "description": "Province or state of physical location." + }, + "location": { + "$ref": "#/components/schemas/LocationDTO" + }, + "visibleOnMap": { + "type": "boolean", + "description": "Specifies whether the physical location can be displayed on a map." + }, + "zoneRadius": { + "type": "number", + "description": "Specifies the radius of distance (in km) of the area of ​​influence of the physical location.", + "format": "double" + }, + "deliveryPoint": { + "type": "boolean", + "description": "Specifies whether the physical location is a delivery point." + }, + "returnPoint": { + "type": "boolean", + "description": "Specifies whether the physical location is a return point." + }, + "language": { + "$ref": "#/components/schemas/PhysicalLocationLanguageDTO" + } + }, + "description": "Information about the physical location for picking." + }, + "PhysicalLocationLanguageDTO": { + "type": "object", + "properties": { + "information": { + "type": "string", + "description": "Additional physical location information." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "Coordinate": { + "type": "object", + "properties": { + "latitude": { + "type": "number", + "format": "double" + }, + "longitude": { + "type": "number", + "format": "double" + } + } + }, + "CoordinateParam": { + "type": "object", + "properties": { + "latitude": { + "type": "number", + "format": "double" + }, + "longitude": { + "type": "number", + "format": "double" + } + } + }, + "ZoneRadiusParam": { + "type": "object", + "properties": { + "coordinateParam": { + "$ref": "#/components/schemas/CoordinateParam" + }, + "radius": { + "type": "number", + "format": "double" + }, + "filterByOwnArea": { + "type": "boolean" + }, + "filterByPointArea": { + "type": "boolean" + }, + "coordinate": { + "$ref": "#/components/schemas/Coordinate" + }, + "latitude": { + "type": "number", + "format": "double" + }, + "longitude": { + "type": "number", + "format": "double" + }, + "empty": { + "type": "boolean" + } + } + }, + "PaginationDTOPickupPointProviderDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "PickupPointProviderCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOPickupPointProviderDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/PickupPointProviderDTO" + } + } + } + }, + "PickupPointProviderDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "logo": { + "type": "string", + "description": "Path of the pickup point provider logo image. " + }, + "url": { + "type": "string", + "description": "Url of the pickup point provider's site." + }, + "language": { + "$ref": "#/components/schemas/PickupPointProviderLanguageDTO" + }, + "pluginAccountId": { + "type": "integer", + "description": "Internal identifier of the pickup point provider's plugin.", + "format": "int32" + }, + "pluginAccountModule": { + "type": "string", + "description": "Module name of the pickup point provider's plugin." + } + }, + "description": "Items returned by the resource." + }, + "PickupPointProviderLanguageDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Element name for the returned language." + }, + "description": { + "type": "string", + "description": "Description of the item for the returned language." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "AddComparisonProductParam": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + } + } + }, + "ProductComparisonCustomTagGroupCustomTagDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this custom tag.", + "format": "int32" + }, + "productIds": { + "type": "array", + "description": "Internal identifiers of the product comparison products that have this custom tag associated for this custom tag group.", + "items": { + "type": "integer", + "description": "Internal identifiers of the product comparison products that have this custom tag associated for this custom tag group.", + "format": "int32" + } + } + }, + "description": "Information for each comparable custom tag without group associated to some product of the product comparison." + }, + "ProductComparisonCustomTagGroupDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "position": { + "type": "integer", + "description": "Symbolizes the location of this custom tag group.", + "format": "int32" + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this custom tag group in relation to the rest of custom tag groups.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Name of the custom tag group for the language of the session." + }, + "description": { + "type": "string", + "description": "Description of the custom tag group for the language of the session." + }, + "comparable": { + "type": "boolean", + "description": "Comparable flag. Free interpretation for the FrontOffice." + }, + "parentId": { + "type": "integer", + "description": "Internal identifier of the custom tag group parent. 0 indicates no parent.", + "format": "int32" + }, + "customTags": { + "type": "array", + "description": "Information for each comparable custom tag that is associated to some product of the product comparison for this custom tag group.", + "items": { + "$ref": "#/components/schemas/ProductComparisonCustomTagGroupCustomTagDTO" + } + } + }, + "description": "Information for each custom tag group that contains comparable custom tags associated to the product comparison products. In case the custom tag group depends on another, all the parent groups up to the root are recursively included to make up the complete path." + }, + "ProductComparisonDTO": { + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "Information for each product contained in the product comparison.", + "items": { + "$ref": "#/components/schemas/ProductDTO" + } + }, + "customTagGroups": { + "type": "array", + "description": "Information for each custom tag group that contains comparable custom tags associated to the product comparison products. In case the custom tag group depends on another, all the parent groups up to the root are recursively included to make up the complete path.", + "items": { + "$ref": "#/components/schemas/ProductComparisonCustomTagGroupDTO" + } + }, + "customTagsWithoutGroup": { + "type": "array", + "description": "Information for each comparable custom tag without group associated to some product of the product comparison.", + "items": { + "$ref": "#/components/schemas/ProductComparisonCustomTagGroupCustomTagDTO" + } + } + } + }, + "PaginationDTOProductsDiscountsDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "ProductsDiscountsCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOProductsDiscountsDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/ProductsDiscountsDTO" + } + } + } + }, + "ProductsDiscountsDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "type": { + "type": "string", + "description": "Specifies the item type.", + "enum": [ + "AMOUNT", + "GIFT", + "UNIT", + "SELECTABLE_GIFT", + "MXN", + "PERCENT_N_UNIT", + "REWARD_POINTS", + "AMOUNT_COMBINATION" + ] + }, + "applyTo": { + "type": "string", + "description": "Specifies the element type to wich the discount applies.", + "enum": [ + "PRODUCT", + "SHIPPING", + "TOTAL" + ] + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "displayPriority": { + "type": "integer", + "description": "Specifies the display order of the discount in the presentation layer.", + "format": "int32" + }, + "language": { + "$ref": "#/components/schemas/DiscountLanguageDTO" + }, + "conditions": { + "type": "array", + "description": "Information about the set conditions for the applicability of the discount. Only available under license of module 'DISNV'(Discounts Navigation).", + "items": { + "$ref": "#/components/schemas/BaseDiscountConditionDTO" + } + }, + "applicableProductIds": { + "type": "array", + "description": "Internal identifiers of those products established by the specified search criteria, that are referenced by any of the product conditions (brand, combination, catalog) of this discount.", + "items": { + "type": "integer", + "description": "Internal identifiers of those products established by the specified search criteria, that are referenced by any of the product conditions (brand, combination, catalog) of this discount.", + "format": "int32" + } + } + }, + "description": "Items returned by the resource." + }, + "NameDescriptionDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Element name for the returned language." + }, + "description": { + "type": "string", + "description": "Description of the item for the returned language." + } + }, + "description": "" + }, + "PaginationDTOProductRewardPointsDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "ProductRewardPointsCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOProductRewardPointsDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/ProductRewardPointsDTO" + } + } + } + }, + "ProductRewardPointsDTO": { + "type": "object", + "properties": { + "language": { + "$ref": "#/components/schemas/NameDescriptionDTO" + }, + "rules": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/RewardPointsRuleDTO" + } + }, + "pId": { + "type": "string" + } + }, + "description": "Items returned by the resource." + }, + "RewardPointsRuleDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "", + "format": "int32" + }, + "language": { + "$ref": "#/components/schemas/NameDescriptionDTO" + }, + "from": { + "type": "number", + "description": "", + "format": "double" + }, + "to": { + "type": "number", + "description": "", + "format": "double" + }, + "value": { + "type": "number", + "description": "", + "format": "double" + }, + "type": { + "type": "string", + "description": "", + "enum": [ + "REGISTER", + "COMMENT", + "BY_UNITS", + "BY_AMOUNT", + "REDEEM", + "ORDER_RELEASE", + "MANUAL" + ] + }, + "valueMode": { + "type": "string", + "description": "", + "enum": [ + "FROM", + "RANGE", + "EACH" + ] + }, + "earned": { + "type": "number", + "description": "", + "format": "double" + } + }, + "description": "" + }, + "ProductCommentDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "answers": { + "type": "array", + "description": "Information on product comment responses.", + "items": { + "$ref": "#/components/schemas/ProductCommentDTO" + } + }, + "dateAdded": { + "type": "string", + "description": "Creation date of the item.", + "format": "date-time" + }, + "nick": { + "type": "string", + "description": "Alias of the user who wrote the product comment." + }, + "comment": { + "type": "string", + "description": "Item comment text." + }, + "rating": { + "type": "integer", + "description": "Numerical product rating.", + "format": "int32" + } + }, + "description": "Items returned by the resource." + }, + "AddProductCommentParam": { + "required": [ + "comment", + "nick" + ], + "type": "object", + "properties": { + "comment": { + "maxLength": 4000, + "minLength": 0, + "type": "string", + "description": "Item comment." + }, + "rating": { + "maximum": 5, + "minimum": 0, + "type": "integer", + "description": "Item evaluation.", + "format": "int32" + }, + "nick": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "Alias of the user writing the comment on the product." + }, + "commentId": { + "type": "integer", + "description": "Identifier of the first comment. Field used only when replying to a comment.", + "format": "int32" + } + } + }, + "AddProductRateParam": { + "required": [ + "rating" + ], + "type": "object", + "properties": { + "rating": { + "maximum": 5, + "minimum": 0, + "type": "integer", + "description": "Numerical product rating.", + "format": "int32" + } + } + }, + "BundleDefinitionCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOBundleDefinitionDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/BundleDefinitionDTO" + } + } + } + }, + "BundleDefinitionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "language": { + "$ref": "#/components/schemas/BundleDefinitionLanguageDTO" + }, + "sections": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/BundleDefinitionSectionDTO" + } + } + }, + "description": "Items returned by the resource." + }, + "BundleDefinitionLanguageDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Element name for the returned language." + }, + "description": { + "type": "string", + "description": "Description of the item for the returned language." + } + } + }, + "BundleDefinitionSectionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "language": { + "$ref": "#/components/schemas/BundleDefinitionLanguageDTO" + } + }, + "description": "" + }, + "PaginationDTOBundleDefinitionDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "BundleCombinationDataDTO": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "", + "enum": [ + "AVAILABLE", + "RESERVE", + "UNAVAILABLE", + "SELECT_OPTION" + ] + }, + "prices": { + "$ref": "#/components/schemas/PricesDTO" + }, + "pricesWithTaxes": { + "$ref": "#/components/schemas/PricesDTO" + }, + "items": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/BundleCombinationDataItemDTO" + } + } + }, + "description": "" + }, + "BundleCombinationDataItemDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "codes": { + "$ref": "#/components/schemas/CodesDTO" + }, + "productId": { + "type": "integer", + "description": "", + "format": "int32" + }, + "prices": { + "$ref": "#/components/schemas/PricesDTO" + }, + "pricesWithTaxes": { + "$ref": "#/components/schemas/PricesDTO" + }, + "options": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/CombinationDataOptionDTO" + } + } + }, + "description": "" + }, + "BundleDefinitionSectionItemOptionDTO": { + "type": "object", + "properties": { + "optionValueId": { + "type": "integer", + "description": "", + "format": "int32" + }, + "optionId": { + "type": "integer", + "description": "", + "format": "int32" + } + }, + "description": "" + }, + "BundleGroupingCollectionDTO": { + "type": "object", + "properties": { + "products": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/ProductDTO" + } + }, + "pagination": { + "$ref": "#/components/schemas/PaginationDTOBundleGroupingDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/BundleGroupingDTO" + } + } + } + }, + "BundleGroupingDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "items": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/BundleGroupingItemDTO" + } + }, + "language": { + "$ref": "#/components/schemas/BundleDefinitionLanguageDTO" + }, + "applyDiscounts": { + "type": "boolean" + }, + "combinationData": { + "$ref": "#/components/schemas/BundleCombinationDataDTO" + } + }, + "description": "Information for each bundle referenced from any of the returned rows." + }, + "BundleGroupingItemDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "productId": { + "type": "integer", + "description": "", + "format": "int32" + }, + "quantity": { + "type": "integer", + "description": "", + "format": "int32" + }, + "options": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/BundleDefinitionSectionItemOptionDTO" + } + } + }, + "description": "" + }, + "PaginationDTOBundleGroupingDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "BasketProductOptionParam": { + "required": [ + "id", + "values" + ], + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the product option to be set.", + "format": "int32" + }, + "values": { + "type": "object", + "description": "List of values ​​to set for the specified product option. Must contain at least one value. If the product option is not multiple it can only have one value.
Array[...]:
- value
  - Type: String
  - Required: true
  - Description: Value to set for the specified product option.
   - If product option is of type 'selector', then it must be an internal identifier of an enabled value of this product option. In case of setting an option value for a pack item, the indicated value must additionally be one of those allowed for the pack item.
   - Otherwise it must be a value according to the type of the product option.
    - Format for Boolean option: 'true','false'
    - Format for Date option: 'yyyy-mm-dd'
    - Format for Attachment option: 'data:text/plain;base64,base64OfTheFile'
- fileName
  - Type: String
  - Required: false
  - Description: Specifies a name for the attachment. Only applicable for product options of type 'Attachment' if value is provided in Base64. Only admits characters: A-Za-z (supported accents À-ÿ), 0-9, _, -, ., and spaces.
- extension
  - Type: String
  - Required: false
  - Description:Specifies the extension of the attachment. Only applicable for product options of type 'Attachment'.
  - Forbidden extensions: 'ade', 'adp', 'apk', 'appx', 'appxbundle', 'bat', 'cab', 'chm', 'cmd', 'com', 'cpl', 'dll', 'dmg', 'ex', 'ex_', 'exe', 'hta', 'ins', 'isp', 'iso', 'jar', 'js', 'jse', 'lib', 'lnk', 'mde', 'msc', 'msi', 'msix', 'msixbundle', 'msp', 'mst', 'nsh', 'pif', 'ps1', 'scr', 'sct', 'shb', 'sys', 'vb', 'vbe', 'vbs', 'vxd', 'wsc', 'wsf', 'wsh'" + } + }, + "description": "Parameter block to set the product options of the bundle's item. The option-value pairs sent for this option must match the options you want to set." + }, + "ProductCombinationDataParam": { + "type": "object", + "properties": { + "options": { + "type": "array", + "description": "Parameter block for product options. The option-value pairs sent for this option must match the options selected for the product purchased.", + "items": { + "$ref": "#/components/schemas/BasketProductOptionParam" + } + } + } + }, + "ValueList": { + "type": "object", + "description": "List of values ​​to set for the specified product option. Must contain at least one value. If the product option is not multiple it can only have one value.
Array[...]:
- value
  - Type: String
  - Required: true
  - Description: Value to set for the specified product option.
   - If product option is of type 'selector', then it must be an internal identifier of an enabled value of this product option. In case of setting an option value for a pack item, the indicated value must additionally be one of those allowed for the pack item.
   - Otherwise it must be a value according to the type of the product option.
    - Format for Boolean option: 'true','false'
    - Format for Date option: 'yyyy-mm-dd'
    - Format for Attachment option: 'data:text/plain;base64,base64OfTheFile'
- fileName
  - Type: String
  - Required: false
  - Description: Specifies a name for the attachment. Only applicable for product options of type 'Attachment' if value is provided in Base64. Only admits characters: A-Za-z (supported accents À-ÿ), 0-9, _, -, ., and spaces.
- extension
  - Type: String
  - Required: false
  - Description:Specifies the extension of the attachment. Only applicable for product options of type 'Attachment'.
  - Forbidden extensions: 'ade', 'adp', 'apk', 'appx', 'appxbundle', 'bat', 'cab', 'chm', 'cmd', 'com', 'cpl', 'dll', 'dmg', 'ex', 'ex_', 'exe', 'hta', 'ins', 'isp', 'iso', 'jar', 'js', 'jse', 'lib', 'lnk', 'mde', 'msc', 'msi', 'msix', 'msixbundle', 'msp', 'mst', 'nsh', 'pif', 'ps1', 'scr', 'sct', 'shb', 'sys', 'vb', 'vbe', 'vbs', 'vxd', 'wsc', 'wsf', 'wsh'" + }, + "LinkedCollectionDTO": { + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/LinkedDTO" + } + } + } + }, + "LinkedDTO": { + "type": "object", + "properties": { + "sectionId": { + "type": "integer", + "description": "Internal identifier of the linked items section.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Name of the linked items section. " + }, + "image": { + "type": "string", + "description": "Image path of the linked items section. " + }, + "type": { + "type": "string", + "description": "Type of relationship system.", + "enum": [ + "RELATED", + "EXTERNAL", + "LINKED" + ] + }, + "position": { + "type": "integer", + "description": "Position of the linked items section.", + "format": "int32" + }, + "percentVariation": { + "type": "number", + "description": "Price variation of the linked items section.", + "format": "double" + }, + "unitsLimitation": { + "type": "string", + "description": "Units limitation of the linked items section.", + "enum": [ + "GLOBAL", + "BY_PRODUCT" + ] + }, + "products": { + "type": "array", + "description": "Information about products linked to this product.", + "items": { + "$ref": "#/components/schemas/ProductDTO" + } + } + }, + "description": "Items returned by the resource." + }, + "PaginationDTOProductCommentDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "ProductCommentCollectionDTO": { + "type": "object", + "properties": { + "rating": { + "type": "number", + "description": "Numerical product rating.", + "format": "double" + }, + "pagination": { + "$ref": "#/components/schemas/PaginationDTOProductCommentDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/ProductCommentDTO" + } + } + } + }, + "FilterBasicDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "priority": { + "type": "integer", + "format": "int32" + } + } + }, + "FilterCategoryDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "priority": { + "type": "integer", + "format": "int32" + }, + "parentId": { + "type": "integer", + "format": "int32" + } + } + }, + "FilterCustomTagDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "priority": { + "type": "integer", + "format": "int32" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + }, + "controlType": { + "type": "string", + "enum": [ + "BOOLEAN", + "NUMBER", + "SHORT_TEXT", + "DATE", + "SELECTOR", + "IMAGE", + "LONG_TEXT", + "ATTACHMENT" + ] + }, + "position": { + "type": "integer", + "format": "int32" + }, + "groupPosition": { + "type": "integer", + "format": "int32" + }, + "minValue": { + "type": "string" + }, + "maxValue": { + "type": "string" + }, + "filterValues": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "FilterCustomTagGroupsDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "priority": { + "type": "integer", + "format": "int32" + }, + "position": { + "type": "integer", + "format": "int32" + }, + "customTags": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + } + } + }, + "FilterDTO": { + "type": "object", + "properties": { + "options": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilterOptionDTO" + } + }, + "customTags": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilterCustomTagDTO" + } + }, + "customTagGroups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilterCustomTagGroupsDTO" + } + }, + "prices": { + "$ref": "#/components/schemas/FilterPricesDTO" + }, + "brands": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilterBasicDTO" + } + }, + "categories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilterCategoryDTO" + } + } + } + }, + "FilterOptionDTO": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "filterName": { + "type": "string" + }, + "values": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FilterOptionValueDTO" + } + }, + "type": { + "type": "string", + "enum": [ + "BOOLEAN", + "SHORT_TEXT", + "SINGLE_SELECTION", + "MULTIPLE_SELECTION", + "SINGLE_SELECTION_IMAGE", + "MULTIPLE_SELECTION_IMAGE", + "SELECTOR", + "DATE", + "LONG_TEXT", + "ATTACHMENT" + ] + } + } + }, + "FilterOptionValueDTO": { + "type": "object", + "properties": { + "value": { + "type": "string" + }, + "priority": { + "type": "integer", + "format": "int32" + } + } + }, + "FilterPricesDTO": { + "type": "object", + "properties": { + "min": { + "type": "number", + "format": "double" + }, + "max": { + "type": "number", + "format": "double" + } + } + }, + "ProductCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOProductDTO" + }, + "filter": { + "$ref": "#/components/schemas/FilterDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/ProductDTO" + } + } + } + }, + "ProductCategoryParam": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "idList": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "includeSubcategories": { + "type": "boolean" + }, + "pid": { + "type": "string" + }, + "key": { + "type": "string" + } + } + }, + "ProductBrandParam": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "idList": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "pid": { + "type": "string" + } + } + }, + "ProductSearchParam": { + "type": "object", + "properties": { + "query": { + "type": "string" + }, + "deep": { + "type": "string", + "enum": [ + "NONE", + "SHORT", + "LARGE" + ] + }, + "type": { + "type": "string", + "enum": [ + "PARTIAL", + "COMPLETE", + "COMPLETE_WITH_SPACES", + "SHOULD_APPEAR_PARTIAL" + ] + }, + "customTagsSearchType": { + "type": "string", + "enum": [ + "PARTIAL", + "COMPLETE", + "COMPLETE_WITH_SPACES", + "SHOULD_APPEAR_PARTIAL" + ] + } + } + }, + "ProductPropertiesParam": { + "type": "object", + "properties": { + "stockType": { + "type": "string", + "enum": [ + "NONE", + "AVAILABLE", + "AVAILABLE_AND_PREVISION", + "AVAILABLE_PREVISION_AND_ONREQUEST" + ] + }, + "onlyHighlights": { + "type": "boolean" + }, + "onlySales": { + "type": "boolean" + }, + "exclusiveLinked": { + "type": "boolean" + } + } + }, + "MultivaluedMapStringString": { + "type": "object", + "properties": { + "empty": { + "type": "boolean" + } + }, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "PathSegment": { + "type": "object", + "properties": { + "matrixParameters": { + "type": "object", + "properties": { + "empty": { + "type": "boolean" + } + }, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "path": { + "type": "string" + } + } + }, + "ProductFilterCustomTagParam": { + "type": "object", + "properties": { + "uriInfo": { + "$ref": "#/components/schemas/UriInfo" + }, + "customTagsSearchList": { + "type": "string" + }, + "filterCustomTag": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "filterCustomTagInterval": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "UriBuilder": { + "type": "object" + }, + "UriInfo": { + "type": "object", + "properties": { + "baseUri": { + "type": "string", + "format": "uri" + }, + "queryParameters": { + "type": "object", + "properties": { + "empty": { + "type": "boolean" + } + }, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "matchedURIs": { + "type": "array", + "items": { + "type": "string" + } + }, + "pathSegments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PathSegment" + } + }, + "requestUriBuilder": { + "$ref": "#/components/schemas/UriBuilder" + }, + "absolutePathBuilder": { + "$ref": "#/components/schemas/UriBuilder" + }, + "baseUriBuilder": { + "$ref": "#/components/schemas/UriBuilder" + }, + "pathParameters": { + "type": "object", + "properties": { + "empty": { + "type": "boolean" + } + }, + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "matchedResources": { + "type": "array", + "items": { + "type": "object" + } + }, + "requestUri": { + "type": "string", + "format": "uri" + }, + "path": { + "type": "string" + }, + "absolutePath": { + "type": "string", + "format": "uri" + } + } + }, + "SortProductParam": { + "type": "object", + "properties": { + "sort": { + "type": "string" + }, + "sortByIdList": { + "type": "string" + }, + "thirdPartySort": { + "type": "boolean" + } + } + }, + "ProductPriceParam": { + "type": "object", + "properties": { + "fromPrice": { + "type": "number", + "format": "double" + }, + "toPrice": { + "type": "number", + "format": "double" + }, + "optionsPriceMode": { + "type": "string", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ] + }, + "taxIncluded": { + "type": "boolean" + } + } + }, + "OfferDTO": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "URL to the product page." + }, + "priceValidUntil": { + "type": "string", + "description": "Price valid until the date specified.", + "format": "date-time" + }, + "price": { + "type": "number", + "description": "Price of the product.", + "format": "double" + }, + "priceCurrency": { + "type": "string", + "description": "Currency code in ISO 4217 format." + }, + "availability": { + "type": "string", + "description": "Item availability. Possible values: InStock, PreOrder, OutOfStock." + }, + "context": { + "type": "string", + "description": "Context '@context' of the item (https://schema.org)." + }, + "type": { + "type": "string", + "description": "Type '@type' of the item." + } + }, + "description": "Pricing information." + }, + "PersonDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Author's name." + }, + "context": { + "type": "string", + "description": "Context '@context' of the item (https://schema.org)." + }, + "type": { + "type": "string", + "description": "Type '@type' of the item." + } + }, + "description": "Information about the author." + }, + "ProductRichSnippetDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Item name for the returned language." + }, + "description": { + "type": "string", + "description": "Item description for the returned language." + }, + "images": { + "type": "array", + "description": "Set of product image paths.", + "items": { + "type": "string", + "description": "Set of product image paths." + } + }, + "brand": { + "type": "string", + "description": "Brand of the product." + }, + "sku": { + "type": "string", + "description": "Item reference code." + }, + "gtin8": { + "type": "string", + "description": "8-digit GTIN / EAN (European Article Number) code." + }, + "gtin13": { + "type": "string", + "description": "GTIN / EAN (European Article Number) code." + }, + "gtin14": { + "type": "string", + "description": "14-digit GTIN / EAN (European Article Number) code." + }, + "mpn": { + "type": "string", + "description": "Manufacturer part number" + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number (ISBN) code used for global identification of editorial publications." + }, + "offers": { + "$ref": "#/components/schemas/OfferDTO" + }, + "aggregateRating": { + "$ref": "#/components/schemas/AggregateRatingDTO" + }, + "review": { + "type": "array", + "description": "Information on product reviews.", + "items": { + "$ref": "#/components/schemas/ReviewDTO" + } + }, + "context": { + "type": "string", + "description": "Context '@context' of the item (https://schema.org)." + }, + "type": { + "type": "string", + "description": "Type '@type' of the item." + } + } + }, + "RatingDTO": { + "type": "object", + "properties": { + "worstRating": { + "type": "integer", + "description": "Number indicating the worst rating. The default value is 0.", + "format": "int32" + }, + "bestRating": { + "type": "integer", + "description": "Number indicating the best grade. The predetermined value is 5.", + "format": "int32" + }, + "ratingValue": { + "type": "integer", + "description": "Average value of the grades received.", + "format": "int32" + }, + "context": { + "type": "string", + "description": "Context '@context' of the item (https://schema.org)." + }, + "type": { + "type": "string", + "description": "Type '@type' of the item." + } + }, + "description": "Ratings information." + }, + "ReviewDTO": { + "type": "object", + "properties": { + "author": { + "$ref": "#/components/schemas/PersonDTO" + }, + "name": { + "type": "string", + "description": "Name of the product you commented on for the returned language." + }, + "description": { + "type": "string", + "description": "Comment text." + }, + "datePublished": { + "type": "string", + "description": "Date of publication of the comment.", + "format": "date-time" + }, + "reviewRating": { + "$ref": "#/components/schemas/RatingDTO" + }, + "context": { + "type": "string", + "description": "Context '@context' of the item (https://schema.org)." + }, + "type": { + "type": "string", + "description": "Type '@type' of the item." + } + }, + "description": "Information on product reviews." + }, + "BasketBundleItemParam": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "options": { + "type": "array", + "description": "Parameter block for product options. The option-value pairs sent for this option must match the options selected for the product purchased.", + "items": { + "$ref": "#/components/schemas/BasketProductOptionParam" + } + }, + "id": { + "type": "integer", + "description": "BundleGroupingItem identifier.", + "format": "int32" + }, + "fromShoppingListRow": { + "type": "integer", + "format": "int32" + } + }, + "description": "" + }, + "BundleCombinationDataParam": { + "required": [ + "id", + "quantity" + ], + "type": "object", + "properties": { + "quantity": { + "type": "integer", + "description": "", + "format": "int32" + }, + "items": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/BasketBundleItemParam" + } + }, + "id": { + "type": "integer", + "description": "Internal identifier of the product.", + "format": "int32" + }, + "fromShoppingListRow": { + "type": "integer", + "description": "Internal identifier of the shopping list row that has motivated this action. Useful parameter if you want to offer the 'KeepPurchasedItems' functionality of the shopping lists.", + "format": "int32" + } + } + }, + "DataValidationError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Code" + }, + "message": { + "type": "string", + "description": "Message" + }, + "status": { + "type": "integer", + "description": "Status code", + "format": "int32" + }, + "fields": { + "type": "array", + "description": "Affected fields", + "items": { + "$ref": "#/components/schemas/DataValidationFieldError" + } + } + } + }, + "DataValidationFieldError": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name" + }, + "type": { + "type": "string", + "description": "Type", + "enum": [ + "REQUIRED", + "INVALID" + ] + }, + "additionalInformation": { + "type": "string", + "description": "Additional information" + } + }, + "description": "Affected fields" + }, + "ProductQueryParam": { + "required": [ + "email" + ], + "type": "object", + "properties": { + "name": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "Name of the user sending the inquiry." + }, + "email": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "Email address of the user sending the inquiry." + }, + "phone": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "Telephone number of the user sending the inquiry." + }, + "comment": { + "maxLength": 4000, + "minLength": 0, + "type": "string", + "description": "Comment to add to the message." + } + } + }, + "StockSubscriptionParam": { + "type": "object", + "properties": { + "email": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "" + } + } + }, + "BasketBundleOptionParam": { + "required": [ + "id", + "options" + ], + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the bundle's item to be set with options.", + "format": "int32" + }, + "options": { + "type": "array", + "description": "Parameter block to set the product options of the bundle's item. The option-value pairs sent for this option must match the options you want to set.", + "items": { + "$ref": "#/components/schemas/BasketProductOptionParam" + } + } + }, + "description": "Parameter block to set the required options of the bundle's items. For each pack's item you want to set options, you need to specify the identifier of the pack's item and as many 'option-value' pairs as options you want to set for that item of the pack. If an empty array is specified then it will be left with no options set. Only applicable for Bundle references." + }, + "ListRowRecommendReferenceBody": { + "required": [ + "id", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specifies the item type.", + "enum": [ + "Enum(PRODUCT,BUNDLE)" + ] + }, + "id": { + "type": "integer", + "description": "Specifies the internal identifier of the referenced item.", + "format": "int32" + }, + "productOptions": { + "type": "array", + "description": "Parameter block to set the required product options. The 'option-value' pairs sent for this parameter must match the options you want to set for the product. If you indicate value for all the options of the product that are mandatory and of type selector, the product will be recommended with all the indicated options of type selector. Only applicable for Products.", + "items": { + "$ref": "#/components/schemas/BasketProductOptionParam" + } + }, + "bundleOptions": { + "type": "array", + "description": "Parameter block to set the required options of the bundle's items. For each pack's item you want to set options, you need to specify the identifier of the pack's item and as many 'option-value' pairs as options you want to set for that item of the pack. If for each product of the bundle you indicate value for all its options that are mandatory and of type selector, the bundle will be recommended with all the indicated options of type selector. Only applicable for Bundles.", + "items": { + "$ref": "#/components/schemas/BasketBundleOptionParam" + } + } + }, + "description": "Parameter block with the information about each item to be recommended." + }, + "RecommendBodyExtended": { + "required": [ + "comment", + "email", + "name", + "toEmail", + "toName" + ], + "type": "object", + "properties": { + "name": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Name of the user sending the recommendation." + }, + "email": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Email address of the user sending the recommendation." + }, + "toName": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Name of the recipient of the recommendation." + }, + "toEmail": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Email address of the recipient of the recommendation." + }, + "comment": { + "maxLength": 4000, + "minLength": 0, + "type": "string", + "description": "Comment to add to the communication." + }, + "items": { + "type": "array", + "description": "Parameter block with the information about each item to be recommended.", + "items": { + "$ref": "#/components/schemas/ListRowRecommendReferenceBody" + } + }, + "shoppingListId": { + "type": "integer", + "description": "Internal identifier of a purchase list of the logged user. Use this parameter if you want to contextualize the recommendation from a shopping list sending the 'Shopping List Recommend' email template instead of the 'Recommend' email template.", + "format": "int32" + }, + "optionsPriceMode": { + "type": "string", + "description": "Specifies the criteria to be considered for the value of the combinable options of those items with no specified value for all its mandatory options of type selector.
NONE: no option value is considered.

PRIORITY: the considered values are those with highest priority.

CHEAPEST: the considered values are those that implies a cheapest price.
", + "enum": [ + "NONE", + "PRIORITY", + "CHEAPEST" + ] + } + } + }, + "AlternateDTO": { + "type": "object", + "properties": { + "href": { + "type": "string", + "description": "" + }, + "hreflang": { + "type": "string", + "description": "" + } + }, + "description": "Information about alternate versions of the resource." + }, + "BreadcrumbDTO": { + "type": "object", + "properties": { + "itemType": { + "type": "string", + "description": "Presentation layer resource type.", + "enum": [ + "PREHOME", + "HOME", + "PRIVACY_POLICY", + "CONTACT", + "TERMS_OF_USE", + "NOT_FOUND", + "FEED", + "SITEMAP", + "SEARCH", + "AREA", + "BRANDS", + "BRAND", + "CATEGORY", + "NEWS_LIST", + "NEWS", + "PAGE", + "POLL", + "DISCOUNT", + "DISCOUNTS", + "PRODUCT_COMPARISON", + "PRODUCT", + "FEATURED_PRODUCTS", + "OFFERS", + "SUBSCRIPTION_VERIFY", + "SUBSCRIPTION_UNSUBSCRIBE", + "BLOG_HOME", + "BLOG_TAG_CLOUD", + "BLOG_TAG", + "BLOG_ARCHIVE", + "BLOG_POST", + "BLOG_BLOGGERS", + "BLOG_BLOGGER", + "BLOG_CATEGORY", + "BLOG_UNSUBSCRIBE", + "BLOG_CATEGORY_UNSUBSCRIBE", + "BLOG_POST_UNSUBSCRIBE", + "BLOG_RSS", + "BASKET", + "BASKET_RECOVERY", + "EXPRESS_CHECKOUT_RETURN", + "EXPRESS_CHECKOUT_CANCEL", + "ORDER", + "CHECKOUT", + "CHECKOUT_ASYNC_ORDER", + "CHECKOUT_BASKET", + "CHECKOUT_CONFIRM_ORDER", + "CHECKOUT_CREATE_ACCOUNT", + "CHECKOUT_CUSTOMER", + "CHECKOUT_CUSTOMER_NEW_REGISTER", + "CHECKOUT_DENIED_ORDER", + "CHECKOUT_END_ORDER", + "CHECKOUT_GUEST", + "CHECKOUT_PAYMENT_AND_SHIPPING", + "PHYSICAL_LOCATION", + "PHYSICAL_LOCATION_CITIES", + "PHYSICAL_LOCATION_COUNTRIES", + "PHYSICAL_LOCATION_MAP", + "PHYSICAL_LOCATION_STATES", + "PHYSICAL_LOCATION_STORES", + "USER", + "USER_ADDRESS_BOOK", + "USER_ADDRESS_BOOK_ADD", + "USER_ADDRESS_BOOK_EDIT", + "USER_CHANGE_PASSWORD", + "CHANGE_PASSWORD_ANONYMOUS", + "USER_COMPLETE_ACCOUNT", + "USER_CREATE_ACCOUNT", + "USER_DELETE_ACCOUNT", + "USER_DELETE_NEWSLETTER", + "USER_VOUCHER_CODES", + "USER_LOST_PASSWORD", + "USER_OAUTH", + "USER_OAUTH_CALLBACK", + "USER_OAUTH_CALLBACK_PATH", + "USER_ORDERS", + "USER_ORDER", + "USER_PAYMENT_CARDS", + "USER_POLICIES", + "USER_RECOMMENDED_BASKETS", + "USER_SPONSORSHIP", + "USER_STOCK_ALERTS", + "USER_SUBSCRIPTIONS", + "USER_USER_WELCOME", + "USER_VERIFY_ACCOUNT", + "USER_WISHLIST", + "USER_SALES_AGENT", + "USER_RMAS", + "USER_SALES_AGENT_SALES", + "USER_SALES_AGENT_CUSTOMERS", + "USER_REWARD_POINTS", + "USER_SHOPPING_LISTS", + "ANY" + ] + }, + "itemId": { + "type": "integer", + "description": "Internal identifier of the resource type. It will be 0 if the resource type is not a content item or is not a item recoverable through an API resource.", + "format": "int32" + }, + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "name": { + "type": "string", + "description": "Name of the item in the returned language." + } + }, + "description": "Information about the items of the breadcrumb." + }, + "BreadcrumbRichSnippetDTO": { + "type": "object", + "properties": { + "itemListElement": { + "type": "array", + "description": "Information about the breadcrumb items of rich snippets.", + "items": { + "$ref": "#/components/schemas/ListItemDTO" + } + }, + "context": { + "type": "string", + "description": "Context '@context' of the item (https://schema.org)." + }, + "type": { + "type": "string", + "description": "Type '@type' of the item." + } + }, + "description": "Information about rich snippets." + }, + "CacheControl": { + "type": "object", + "properties": { + "ttl": { + "type": "integer", + "description": "The time to live of the cached item.", + "format": "int32" + } + }, + "description": "Information about the cache system." + }, + "LanguageRouteDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "", + "format": "int32", + "writeOnly": true + }, + "code": { + "type": "string", + "description": "International standard alphabetic code ISO 639-1 of the language." + }, + "name": { + "type": "string", + "description": "Language name." + }, + "url": { + "type": "string", + "description": "URL of the item." + } + }, + "description": "Information about the languages available to the presentation layer resource." + }, + "ListItemDTO": { + "type": "object", + "properties": { + "item": { + "type": "string", + "description": "URL representing the path." + }, + "name": { + "type": "string", + "description": "Title of the navigation URL displayed for the user." + }, + "position": { + "type": "integer", + "description": "URL position in breadcrumb.", + "format": "int32" + }, + "context": { + "type": "string", + "description": "Context '@context' of the item (https://schema.org)." + }, + "type": { + "type": "string", + "description": "Type '@type' of the item." + } + }, + "description": "Information about the breadcrumb items of rich snippets." + }, + "MetadataDTO": { + "type": "object", + "properties": { + "linkFollowing": { + "type": "boolean", + "description": "Specifies the behavior of indexing bots in tracking the item link.
Possible values: false - nofollow, true - follow." + }, + "indexable": { + "type": "boolean", + "description": "Specifies whether it is indexable." + }, + "language": { + "$ref": "#/components/schemas/MetadataLanguageDTO" + } + }, + "description": "Metadata information." + }, + "MetadataLanguageDTO": { + "type": "object", + "properties": { + "keywords": { + "type": "string", + "description": "Element keywords for the returned language." + }, + "particularTitle": { + "type": "string", + "description": "Element window title for the returned language." + }, + "metaDescription": { + "type": "string", + "description": "Content of the description metatag for the returned language." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "RouteDTO": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Presentation layer resource type.", + "enum": [ + "PREHOME", + "HOME", + "PRIVACY_POLICY", + "CONTACT", + "TERMS_OF_USE", + "NOT_FOUND", + "FEED", + "SITEMAP", + "SEARCH", + "AREA", + "BRANDS", + "BRAND", + "CATEGORY", + "NEWS_LIST", + "NEWS", + "PAGE", + "POLL", + "DISCOUNT", + "DISCOUNTS", + "PRODUCT_COMPARISON", + "PRODUCT", + "FEATURED_PRODUCTS", + "OFFERS", + "SUBSCRIPTION_VERIFY", + "SUBSCRIPTION_UNSUBSCRIBE", + "BLOG_HOME", + "BLOG_TAG_CLOUD", + "BLOG_TAG", + "BLOG_ARCHIVE", + "BLOG_POST", + "BLOG_BLOGGERS", + "BLOG_BLOGGER", + "BLOG_CATEGORY", + "BLOG_UNSUBSCRIBE", + "BLOG_CATEGORY_UNSUBSCRIBE", + "BLOG_POST_UNSUBSCRIBE", + "BLOG_RSS", + "BASKET", + "BASKET_RECOVERY", + "EXPRESS_CHECKOUT_RETURN", + "EXPRESS_CHECKOUT_CANCEL", + "ORDER", + "CHECKOUT", + "CHECKOUT_ASYNC_ORDER", + "CHECKOUT_BASKET", + "CHECKOUT_CONFIRM_ORDER", + "CHECKOUT_CREATE_ACCOUNT", + "CHECKOUT_CUSTOMER", + "CHECKOUT_CUSTOMER_NEW_REGISTER", + "CHECKOUT_DENIED_ORDER", + "CHECKOUT_END_ORDER", + "CHECKOUT_GUEST", + "CHECKOUT_PAYMENT_AND_SHIPPING", + "PHYSICAL_LOCATION", + "PHYSICAL_LOCATION_CITIES", + "PHYSICAL_LOCATION_COUNTRIES", + "PHYSICAL_LOCATION_MAP", + "PHYSICAL_LOCATION_STATES", + "PHYSICAL_LOCATION_STORES", + "USER", + "USER_ADDRESS_BOOK", + "USER_ADDRESS_BOOK_ADD", + "USER_ADDRESS_BOOK_EDIT", + "USER_CHANGE_PASSWORD", + "CHANGE_PASSWORD_ANONYMOUS", + "USER_COMPLETE_ACCOUNT", + "USER_CREATE_ACCOUNT", + "USER_DELETE_ACCOUNT", + "USER_DELETE_NEWSLETTER", + "USER_VOUCHER_CODES", + "USER_LOST_PASSWORD", + "USER_OAUTH", + "USER_OAUTH_CALLBACK", + "USER_OAUTH_CALLBACK_PATH", + "USER_ORDERS", + "USER_ORDER", + "USER_PAYMENT_CARDS", + "USER_POLICIES", + "USER_RECOMMENDED_BASKETS", + "USER_SPONSORSHIP", + "USER_STOCK_ALERTS", + "USER_SUBSCRIPTIONS", + "USER_USER_WELCOME", + "USER_VERIFY_ACCOUNT", + "USER_WISHLIST", + "USER_SALES_AGENT", + "USER_RMAS", + "USER_SALES_AGENT_SALES", + "USER_SALES_AGENT_CUSTOMERS", + "USER_REWARD_POINTS", + "USER_SHOPPING_LISTS", + "ANY" + ] + }, + "status": { + "type": "integer", + "description": "Response code. Possible values:
200: Correct resource.
301: Indicates that a redirect should be carried out.
403: Resource not permitted.
404: Resource not found.
400: Bad request.", + "format": "int32" + }, + "language": { + "type": "string", + "description": "Language code of the resource in ISO 639-1 format." + }, + "currency": { + "type": "string", + "description": "Navigation currency code in ISO 4217 format." + }, + "country": { + "type": "string", + "description": "Country code in ISO 3166-2 format." + }, + "id": { + "type": "integer", + "description": "Internal identifier of the resource type. It will be 0 if the resource type is not a content item or is not an item recoverable through an API resource.", + "format": "int32" + }, + "redirectUrl": { + "type": "string", + "description": "Path of the presentation layer resource to be redirected to. Only if status has the value 301." + }, + "canonical": { + "type": "string", + "description": "Canonical URL, which defines the main version of the presentation layer resource to avoid duplicates." + }, + "urlPrefix": { + "type": "string", + "description": "Initial part of the URL ( host / countryCode (if required) / languageCode (if required) )." + }, + "theme": { + "$ref": "#/components/schemas/ThemeDTO" + }, + "availableLanguages": { + "type": "array", + "description": "Information about the languages available to the presentation layer resource.", + "items": { + "$ref": "#/components/schemas/LanguageRouteDTO" + } + }, + "warning": { + "$ref": "#/components/schemas/RouteWarningDTO" + }, + "warningGeoIp": { + "type": "string", + "description": "GeoIP notice text to display in STRICT_INFORMATIVE and INFORMATIVE modes." + }, + "breadcrumb": { + "type": "array", + "description": "Information about the items of the breadcrumb.", + "items": { + "$ref": "#/components/schemas/BreadcrumbDTO" + } + }, + "breadcrumbRichSnippet": { + "$ref": "#/components/schemas/BreadcrumbRichSnippetDTO" + }, + "cacheControl": { + "$ref": "#/components/schemas/CacheControl" + }, + "metadata": { + "$ref": "#/components/schemas/MetadataDTO" + }, + "alternates": { + "type": "array", + "description": "Information about alternate versions of the resource.", + "items": { + "$ref": "#/components/schemas/AlternateDTO" + } + } + } + }, + "RouteWarningDTO": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "The path of the presentation layer resource, according to the country of origin of the request, to which it is suggested to redirect to." + }, + "language": { + "type": "string", + "description": "Destination language code of the resource in ISO 639-1 format." + }, + "country": { + "type": "string", + "description": "Destination country code in ISO 3166-2 format." + } + }, + "description": "Information about redirect warnings. Only if the domain is linked to a country, the mode of the domain by country is INFORMATIVE and the domain you want to access does not correspond to the country of origin of the request." + }, + "ThemeDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Topic name." + }, + "channel": { + "type": "string", + "description": "Channel applied." + }, + "layout": { + "type": "string", + "description": "Specifies the structure or layout of the HTML page to be displayed." + }, + "content": { + "type": "string", + "description": "Specifies the template of the HTML page to be displayed." + } + }, + "description": "Information about the view and layout of the item." + }, + "PaginationDTOTrackerDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "TrackerCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOTrackerDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/TrackerDTO" + } + } + } + }, + "TrackerDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "type": { + "type": "string", + "description": "Tracking type.", + "enum": [ + "DEFAULT", + "PLUGIN" + ] + }, + "scripts": { + "type": "array", + "description": "Information about scripts linked to tracking.", + "items": { + "$ref": "#/components/schemas/TrackerScriptDTO" + } + } + }, + "description": "Items returned by the resource." + }, + "TrackerScriptDTO": { + "type": "object", + "properties": { + "ambience": { + "type": "string", + "description": "Specifies the type of device where the asset should appear.", + "enum": [ + "ALL", + "DESKTOP", + "MOBILE" + ] + }, + "position": { + "type": "string", + "description": "Specifies the position within the HTML structure of the page where the asset is placed.", + "enum": [ + "HEAD_TOP", + "HEAD_BOTTOM", + "BODY_TOP", + "BODY_BOTTOM", + "ALL" + ] + }, + "code": { + "type": "string", + "description": "Tracking script code." + }, + "type": { + "type": "string", + "description": "Script inclusion format.", + "enum": [ + "CODE", + "IFRAME" + ] + } + }, + "description": "Information about scripts linked to tracking." + }, + "AttachmentDTO": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Data contained in the attachment formated as : data:text/plain;base64,base64OfTheFile.", + "example": "data:text/plain;base64,base64OfTheFile" + }, + "fileName": { + "type": "string", + "description": "Name of the attachment." + }, + "extension": { + "type": "string", + "description": "Extension of the attachment." + } + } + }, + "AppliedDiscountAmountCombinationDTO": { + "type": "object", + "properties": { + "discountId": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "valueWithTaxes": { + "type": "number", + "format": "double" + }, + "value": { + "type": "number", + "format": "double" + }, + "amountType": { + "type": "string", + "enum": [ + "ABSOLUTE", + "PERCENTAGE" + ] + }, + "discountValue": { + "type": "number", + "format": "double" + }, + "quantity": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "AMOUNT", + "GIFT", + "UNIT", + "SELECTABLE_GIFT", + "MXN", + "PERCENT_N_UNIT", + "REWARD_POINTS", + "AMOUNT_COMBINATION" + ] + } + } + }, + "AppliedDiscountAmountDTO": { + "type": "object", + "properties": { + "discountId": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "valueWithTaxes": { + "type": "number", + "format": "double" + }, + "value": { + "type": "number", + "format": "double" + }, + "amountType": { + "type": "string", + "enum": [ + "ABSOLUTE", + "PERCENTAGE" + ] + }, + "discountValue": { + "type": "number", + "format": "double" + }, + "type": { + "type": "string", + "enum": [ + "AMOUNT", + "GIFT", + "UNIT", + "SELECTABLE_GIFT", + "MXN", + "PERCENT_N_UNIT", + "REWARD_POINTS", + "AMOUNT_COMBINATION" + ] + } + } + }, + "AppliedDiscountDTO": { + "type": "object", + "properties": { + "discountId": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "valueWithTaxes": { + "type": "number", + "format": "double" + }, + "discountValue": { + "type": "number", + "format": "double" + }, + "value": { + "type": "number", + "format": "double" + }, + "type": { + "type": "string", + "enum": [ + "AMOUNT", + "GIFT", + "UNIT", + "SELECTABLE_GIFT", + "MXN", + "PERCENT_N_UNIT", + "REWARD_POINTS", + "AMOUNT_COMBINATION" + ] + } + }, + "description": "Information about the discounts applied.", + "oneOf": [ + { + "$ref": "#/components/schemas/AppliedDiscountAmountCombinationDTO" + }, + { + "$ref": "#/components/schemas/AppliedDiscountAmountDTO" + }, + { + "$ref": "#/components/schemas/AppliedDiscountGiftDTO" + }, + { + "$ref": "#/components/schemas/AppliedDiscountMxNDTO" + }, + { + "$ref": "#/components/schemas/AppliedDiscountSelectableGiftDTO" + }, + { + "$ref": "#/components/schemas/AppliedDiscountUnitDTO" + }, + { + "$ref": "#/components/schemas/AppliedDiscountPercentNUnitDTO" + }, + { + "$ref": "#/components/schemas/AppliedDiscountRewardPointsDTO" + } + ] + }, + "AppliedDiscountGiftDTO": { + "type": "object", + "properties": { + "discountId": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "valueWithTaxes": { + "type": "number", + "format": "double" + }, + "items": { + "type": "array", + "deprecated": true, + "items": { + "$ref": "#/components/schemas/BasketRowDTO" + } + }, + "discountValue": { + "type": "number", + "format": "double" + }, + "value": { + "type": "number", + "format": "double" + }, + "type": { + "type": "string", + "enum": [ + "AMOUNT", + "GIFT", + "UNIT", + "SELECTABLE_GIFT", + "MXN", + "PERCENT_N_UNIT", + "REWARD_POINTS", + "AMOUNT_COMBINATION" + ] + }, + "basketGiftIdList": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AppliedDiscountMxNDTO": { + "type": "object", + "properties": { + "discountId": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "valueWithTaxes": { + "type": "number", + "format": "double" + }, + "value": { + "type": "number", + "format": "double" + }, + "quantity": { + "type": "integer", + "format": "int32" + }, + "discountValue": { + "type": "number", + "format": "double" + }, + "type": { + "type": "string", + "enum": [ + "AMOUNT", + "GIFT", + "UNIT", + "SELECTABLE_GIFT", + "MXN", + "PERCENT_N_UNIT", + "REWARD_POINTS", + "AMOUNT_COMBINATION" + ] + } + } + }, + "AppliedDiscountPercentNUnitDTO": { + "type": "object", + "properties": { + "discountId": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "valueWithTaxes": { + "type": "number", + "format": "double" + }, + "value": { + "type": "number", + "format": "double" + }, + "discountValue": { + "type": "number", + "format": "double" + }, + "type": { + "type": "string", + "enum": [ + "AMOUNT", + "GIFT", + "UNIT", + "SELECTABLE_GIFT", + "MXN", + "PERCENT_N_UNIT", + "REWARD_POINTS", + "AMOUNT_COMBINATION" + ] + } + } + }, + "AppliedDiscountRewardPointsDTO": { + "type": "object", + "properties": { + "discountId": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "valueWithTaxes": { + "type": "number", + "format": "double" + }, + "value": { + "type": "number", + "format": "double" + }, + "discountValue": { + "type": "number", + "format": "double" + }, + "type": { + "type": "string", + "enum": [ + "AMOUNT", + "GIFT", + "UNIT", + "SELECTABLE_GIFT", + "MXN", + "PERCENT_N_UNIT", + "REWARD_POINTS", + "AMOUNT_COMBINATION" + ] + } + } + }, + "AppliedDiscountSelectableGiftDTO": { + "type": "object", + "properties": { + "discountId": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "valueWithTaxes": { + "type": "number", + "format": "double" + }, + "calculationMode": { + "type": "string", + "enum": [ + "FIXED_MAX_UNITS", + "PERCENTAGE_PURCHASED_UNITS", + "FIXED_AMOUNT", + "PERCENTAGE_OVER_TOTAL" + ] + }, + "maxGiftUnitsRemaining": { + "type": "number", + "format": "double" + }, + "items": { + "type": "array", + "deprecated": true, + "items": { + "$ref": "#/components/schemas/BasketRowDTO" + } + }, + "discountValue": { + "type": "number", + "format": "double" + }, + "value": { + "type": "number", + "format": "double" + }, + "type": { + "type": "string", + "enum": [ + "AMOUNT", + "GIFT", + "UNIT", + "SELECTABLE_GIFT", + "MXN", + "PERCENT_N_UNIT", + "REWARD_POINTS", + "AMOUNT_COMBINATION" + ] + }, + "basketGiftIdList": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AppliedDiscountUnitDTO": { + "type": "object", + "properties": { + "discountId": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "valueWithTaxes": { + "type": "number", + "format": "double" + }, + "value": { + "type": "number", + "format": "double" + }, + "quantity": { + "type": "integer", + "format": "int32" + }, + "discountValue": { + "type": "number", + "format": "double" + }, + "type": { + "type": "string", + "enum": [ + "AMOUNT", + "GIFT", + "UNIT", + "SELECTABLE_GIFT", + "MXN", + "PERCENT_N_UNIT", + "REWARD_POINTS", + "AMOUNT_COMBINATION" + ] + } + } + }, + "AppliedTaxDTO": { + "type": "object", + "properties": { + "base": { + "type": "number", + "description": "Base of the tax applied.", + "format": "double" + }, + "taxValue": { + "type": "number", + "description": "Amount derived from applying the tax.", + "format": "double" + }, + "applyTax": { + "type": "boolean", + "description": "Specifies whether the tax is applied." + }, + "applyRE": { + "type": "boolean", + "description": "Specifies whether a sales equalization tax is included in the tax applied." + }, + "type": { + "type": "string", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ] + } + }, + "description": "", + "oneOf": [ + { + "$ref": "#/components/schemas/PluginAppliedTaxDTO" + }, + { + "$ref": "#/components/schemas/LogiCommerceAppliedTaxDTO" + } + ] + }, + "AttachmentOptionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "name": { + "type": "string" + }, + "required": { + "type": "boolean" + }, + "combinable": { + "type": "boolean" + }, + "value": { + "type": "string" + }, + "values": { + "type": "array", + "items": { + "type": "string" + } + }, + "type": { + "type": "string", + "enum": [ + "BOOLEAN", + "SHORT_TEXT", + "SINGLE_SELECTION", + "MULTIPLE_SELECTION", + "SINGLE_SELECTION_IMAGE", + "MULTIPLE_SELECTION_IMAGE", + "SELECTOR", + "DATE", + "LONG_TEXT", + "ATTACHMENT" + ] + } + } + }, + "BackBasketBundleDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "hash": { + "type": "string", + "description": "The hash code of the item." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "prices": { + "$ref": "#/components/schemas/BasketRowPricesDTO" + }, + "pricesWithTaxes": { + "$ref": "#/components/schemas/BasketRowPricesDTO" + }, + "subtotal": { + "type": "number", + "description": "Total amount, without taxes included and with discounts applied, of the detail line.", + "format": "double" + }, + "total": { + "type": "number", + "description": "Total amount, including taxes and discounts applied, of the detail line.", + "format": "double" + }, + "items": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/BasketBundleItemDTO" + } + }, + "pinned": { + "type": "boolean" + }, + "pinnedPrice": { + "type": "number", + "format": "double" + }, + "documentRowId": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "string", + "description": "Element type.", + "enum": [ + "PRODUCT", + "GIFT", + "BUNDLE", + "BUNDLE_ITEM", + "LINKED", + "SELECTABLE_GIFT" + ] + } + } + }, + "BackBasketLinkedDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "hash": { + "type": "string", + "description": "The hash code of the item." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "prices": { + "$ref": "#/components/schemas/BasketRowPricesDTO" + }, + "pricesWithTaxes": { + "$ref": "#/components/schemas/BasketRowPricesDTO" + }, + "weight": { + "type": "number", + "description": "Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established.", + "format": "double" + }, + "subtotal": { + "type": "number", + "description": "Total amount, without taxes included and with discounts applied, of the detail line.", + "format": "double" + }, + "total": { + "type": "number", + "description": "Total amount, including taxes and discounts applied, of the detail line.", + "format": "double" + }, + "appliedTaxes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AppliedTaxDTO" + } + }, + "basketWarnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BasketWarningDTO" + } + }, + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "images": { + "$ref": "#/components/schemas/MediaDTO" + }, + "codes": { + "$ref": "#/components/schemas/ProductCodesDTO" + }, + "combination": { + "$ref": "#/components/schemas/CombinationDTO" + }, + "options": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BasketProductOptionDTO" + } + }, + "customTagValues": { + "type": "array", + "description": "Information about custom tags", + "items": { + "$ref": "#/components/schemas/BasketCustomTagValueDTO" + } + }, + "sectionId": { + "type": "integer", + "description": "Internal identifier of the linked items section.", + "format": "int32" + }, + "parentId": { + "type": "integer", + "description": "Internal identifier of the parent item.", + "format": "int32" + }, + "pinned": { + "type": "boolean" + }, + "pinnedPrice": { + "type": "number", + "format": "double" + }, + "documentRowId": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "string", + "description": "Element type.", + "enum": [ + "PRODUCT", + "GIFT", + "BUNDLE", + "BUNDLE_ITEM", + "LINKED", + "SELECTABLE_GIFT" + ] + }, + "brandName": { + "type": "string", + "description": "Brand name." + } + } + }, + "BasketBundleDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "hash": { + "type": "string", + "description": "The hash code of the item." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "prices": { + "$ref": "#/components/schemas/BasketRowPricesDTO" + }, + "pricesWithTaxes": { + "$ref": "#/components/schemas/BasketRowPricesDTO" + }, + "subtotal": { + "type": "number", + "description": "Total amount, without taxes included and with discounts applied, of the detail line.", + "format": "double" + }, + "total": { + "type": "number", + "description": "Total amount, including taxes and discounts applied, of the detail line.", + "format": "double" + }, + "items": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/BasketBundleItemDTO" + } + }, + "type": { + "type": "string", + "description": "Element type.", + "enum": [ + "PRODUCT", + "GIFT", + "BUNDLE", + "BUNDLE_ITEM", + "LINKED", + "SELECTABLE_GIFT" + ] + } + } + }, + "BasketBundleItemDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "hash": { + "type": "string", + "description": "The hash code of the item." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "prices": { + "$ref": "#/components/schemas/BasketRowPricesDTO" + }, + "pricesWithTaxes": { + "$ref": "#/components/schemas/BasketRowPricesDTO" + }, + "weight": { + "type": "number", + "description": "Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established.", + "format": "double" + }, + "subtotal": { + "type": "number", + "description": "Total amount, without taxes included and with discounts applied, of the detail line.", + "format": "double" + }, + "total": { + "type": "number", + "description": "Total amount, including taxes and discounts applied, of the detail line.", + "format": "double" + }, + "appliedTaxes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AppliedTaxDTO" + } + }, + "basketWarnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BasketWarningDTO" + } + }, + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "images": { + "$ref": "#/components/schemas/MediaDTO" + }, + "codes": { + "$ref": "#/components/schemas/ProductCodesDTO" + }, + "combination": { + "$ref": "#/components/schemas/CombinationDTO" + }, + "options": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BasketProductOptionDTO" + } + }, + "customTagValues": { + "type": "array", + "description": "Information about custom tags", + "items": { + "$ref": "#/components/schemas/BasketCustomTagValueDTO" + } + }, + "bundleItemId": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "string", + "description": "Element type.", + "enum": [ + "PRODUCT", + "GIFT", + "BUNDLE", + "BUNDLE_ITEM", + "LINKED", + "SELECTABLE_GIFT" + ] + }, + "brandName": { + "type": "string", + "description": "Brand name." + } + }, + "description": "" + }, + "BasketCustomTagValueDTO": { + "type": "object", + "properties": { + "customTagId": { + "type": "integer", + "description": "Internal identifier of the custom tag.", + "format": "int32" + }, + "customTagPId": { + "type": "string", + "description": "Public identifier of the custom tag." + }, + "controlType": { + "type": "string", + "description": "Custom tag type.", + "enum": [ + "BOOLEAN", + "NUMBER", + "SHORT_TEXT", + "DATE", + "SELECTOR", + "IMAGE", + "LONG_TEXT", + "ATTACHMENT" + ] + }, + "position": { + "type": "integer", + "description": "An integer that symbolizes the location of this item.", + "format": "int32" + }, + "inOrders": { + "type": "boolean", + "description": "Specifies whether the custom tag is included in the documents export to an external system (ERP)." + }, + "valuePId": { + "type": "string", + "description": "Public identifier of the selected value. Only if it is of type selectable ." + }, + "name": { + "type": "string", + "description": "Name of the custom tag for the returned language." + }, + "value": { + "type": "string", + "description": "Value of the custom tag for the returned language." + } + }, + "description": "Information about custom tags of cart" + }, + "BasketDTO": { + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "Unique cart identifier." + }, + "createdAt": { + "type": "string", + "description": "Cart creation date.", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "description": "Cart last update date.", + "format": "date-time" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BasketRowDTO" + } + }, + "delivery": { + "$ref": "#/components/schemas/BasketDeliveryDTO" + }, + "paymentSystem": { + "$ref": "#/components/schemas/BasketPaymentSystemDTO" + }, + "basketUser": { + "$ref": "#/components/schemas/BasketUserDTO" + }, + "rewardPoints": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/BasketRewardPointsDTO" + } + }, + "taxes": { + "type": "array", + "description": "Information about the taxes applied in the cart.", + "items": { + "$ref": "#/components/schemas/BasketTaxDTO" + } + }, + "totals": { + "$ref": "#/components/schemas/BasketTotalDTO" + }, + "appliedDiscounts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AppliedDiscountDTO" + } + }, + "basketWarnings": { + "type": "array", + "description": "Information about cart alerts.", + "items": { + "$ref": "#/components/schemas/BasketWarningDTO" + } + }, + "comment": { + "type": "string", + "description": "Comment text." + }, + "customTagValues": { + "type": "array", + "description": "Information about custom tags of cart", + "items": { + "$ref": "#/components/schemas/BasketCustomTagValueDTO" + } + }, + "lockedStockTimers": { + "type": "array", + "description": "Information about locked stock timers of the cart.", + "items": { + "$ref": "#/components/schemas/LockedStockTimerDTO" + } + }, + "expressCheckout": { + "$ref": "#/components/schemas/BasketExpressCheckoutDTO" + }, + "vouchers": { + "$ref": "#/components/schemas/VoucherGroupDTO" + } + } + }, + "BasketDeliveryDTO": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specifies the type of delivery.", + "enum": [ + "SHIPPING", + "PICKING" + ] + }, + "deliveryRows": { + "type": "object", + "properties": { + "basketRowData": { + "$ref": "#/components/schemas/BasketRowDataDTO" + }, + "basketWarnings": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Specifies the cart alert code.", + "enum": [ + "NOT_AVAILABLE_PRODUCT", + "INVALID_PRICE", + "MIN_ORDER_QUANTITY", + "MAX_ORDER_QUANTITY", + "MULTIPLE_ORDER_OVER_QUANTITY", + "MULTIPLE_ORDER_QUANTITY", + "STOCK_RESTRICTION", + "BACKORDER", + "BACKORDER_PREVISION", + "EMPTY_PRODUCTS", + "STOCK_PREVISION", + "WAREHOUSE_OFFSET", + "ON_REQUEST_PRODUCT", + "INVALID_OPTIONS", + "NEEDS_PAYMENTSYSTEM", + "NEEDS_DELIVERY", + "INVALID_BILLING_ADDRESS", + "INVALID_SHIPPING_ADDRESS", + "USER_NOT_ACTIVED", + "USER_NOT_VERIFIED", + "LOCKED_STOCK_RESTRICTION" + ] + }, + "severity": { + "type": "string", + "description": "Specifies the criticality of the cart alert.", + "enum": [ + "WARNING", + "INFO", + "ERROR" + ] + }, + "hashes": { + "type": "array", + "description": "List of cart detail line hash codes.", + "items": { + "type": "string", + "description": "List of cart detail line hash codes." + } + }, + "attributes": { + "type": "array", + "description": "Attributes related to the alert.", + "items": { + "$ref": "#/components/schemas/BasketWarningAttributeDTO" + } + } + }, + "description": "Information about the alerts of the cart detail lines that are part of the delivery." + } + }, + "description": "Information about products included in the delivery." + }, + "shipments": { + "type": "object", + "properties": { + "originWarehouseGroupId": { + "type": "integer", + "description": "Internal identifier of the logistic center originating the shipment.", + "format": "int32" + }, + "shippingCalculation": { + "type": "string", + "description": "Specifies for the shipment whether the calculation of shipping costs is determined by weight or by units sold.", + "enum": [ + "BY_WEIGHT", + "BY_UNITS" + ] + }, + "destinationZone": { + "$ref": "#/components/schemas/GeographicalZoneDTO" + }, + "shipping": { + "$ref": "#/components/schemas/ShippingDTO" + }, + "rows": { + "type": "array", + "description": "Information about products included in the shipment.", + "items": { + "$ref": "#/components/schemas/ShipmentRowDTO" + } + }, + "hash": { + "type": "string" + } + }, + "description": "Information about shipments." + }, + "multiShipment": { + "type": "boolean", + "description": "" + }, + "hash": { + "type": "string" + }, + "canBeShipped": { + "type": "boolean" + }, + "physicalLocationId": { + "type": "integer", + "format": "int32", + "deprecated": true + }, + "zone": { + "$ref": "#/components/schemas/GeographicalZoneDTO" + } + }, + "description": "Information about delivery.", + "oneOf": [ + { + "$ref": "#/components/schemas/BasketShippingDeliveryDTO" + }, + { + "$ref": "#/components/schemas/BasketPickingDeliveryDTO" + } + ] + }, + "BasketExpressCheckoutCustomerDTO": { + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "" + }, + "firstName": { + "type": "string", + "description": "" + }, + "lastName": { + "type": "string", + "description": "" + }, + "invoicingAddress": { + "$ref": "#/components/schemas/SimpleAddressDTO" + }, + "shippingAddress": { + "$ref": "#/components/schemas/SimpleAddressDTO" + } + }, + "description": "" + }, + "BasketExpressCheckoutDTO": { + "type": "object", + "properties": { + "pluginAccountId": { + "type": "integer", + "description": "", + "format": "int32" + }, + "customer": { + "$ref": "#/components/schemas/BasketExpressCheckoutCustomerDTO" + } + }, + "description": "" + }, + "BasketGiftDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "hash": { + "type": "string", + "description": "The hash code of the item." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "prices": { + "$ref": "#/components/schemas/BasketRowPricesDTO" + }, + "pricesWithTaxes": { + "$ref": "#/components/schemas/BasketRowPricesDTO" + }, + "weight": { + "type": "number", + "description": "Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established.", + "format": "double" + }, + "subtotal": { + "type": "number", + "description": "Total amount, without taxes included and with discounts applied, of the detail line.", + "format": "double" + }, + "total": { + "type": "number", + "description": "Total amount, including taxes and discounts applied, of the detail line.", + "format": "double" + }, + "appliedTaxes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AppliedTaxDTO" + } + }, + "basketWarnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BasketWarningDTO" + } + }, + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "images": { + "$ref": "#/components/schemas/MediaDTO" + }, + "codes": { + "$ref": "#/components/schemas/ProductCodesDTO" + }, + "combination": { + "$ref": "#/components/schemas/CombinationDTO" + }, + "options": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BasketProductOptionDTO" + } + }, + "customTagValues": { + "type": "array", + "description": "Information about custom tags", + "items": { + "$ref": "#/components/schemas/BasketCustomTagValueDTO" + } + }, + "type": { + "type": "string", + "description": "Element type.", + "enum": [ + "PRODUCT", + "GIFT", + "BUNDLE", + "BUNDLE_ITEM", + "LINKED", + "SELECTABLE_GIFT" + ] + }, + "brandName": { + "type": "string", + "description": "Brand name." + } + } + }, + "BasketLinkedDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "hash": { + "type": "string", + "description": "The hash code of the item." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "prices": { + "$ref": "#/components/schemas/BasketRowPricesDTO" + }, + "pricesWithTaxes": { + "$ref": "#/components/schemas/BasketRowPricesDTO" + }, + "weight": { + "type": "number", + "description": "Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established.", + "format": "double" + }, + "subtotal": { + "type": "number", + "description": "Total amount, without taxes included and with discounts applied, of the detail line.", + "format": "double" + }, + "total": { + "type": "number", + "description": "Total amount, including taxes and discounts applied, of the detail line.", + "format": "double" + }, + "appliedTaxes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AppliedTaxDTO" + } + }, + "basketWarnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BasketWarningDTO" + } + }, + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "images": { + "$ref": "#/components/schemas/MediaDTO" + }, + "codes": { + "$ref": "#/components/schemas/ProductCodesDTO" + }, + "combination": { + "$ref": "#/components/schemas/CombinationDTO" + }, + "options": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BasketProductOptionDTO" + } + }, + "customTagValues": { + "type": "array", + "description": "Information about custom tags", + "items": { + "$ref": "#/components/schemas/BasketCustomTagValueDTO" + } + }, + "sectionId": { + "type": "integer", + "description": "Internal identifier of the linked items section.", + "format": "int32" + }, + "parentId": { + "type": "integer", + "description": "Internal identifier of the parent item.", + "format": "int32" + }, + "type": { + "type": "string", + "description": "Element type.", + "enum": [ + "PRODUCT", + "GIFT", + "BUNDLE", + "BUNDLE_ITEM", + "LINKED", + "SELECTABLE_GIFT" + ] + }, + "brandName": { + "type": "string", + "description": "Brand name." + } + } + }, + "BasketPaymentSystemDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "priority": { + "type": "integer", + "description": "Payment system priority.", + "format": "int32" + }, + "logo": { + "type": "string", + "description": "Path of the payment system logo image." + }, + "increaseType": { + "type": "string", + "description": "Specifies the type of increase to apply.", + "enum": [ + "ABSOLUTE", + "PERCENTAGE" + ] + }, + "language": { + "$ref": "#/components/schemas/PaymentSystemLanguageDTO" + }, + "taxes": { + "type": "array", + "description": "Information about the taxes associated with the payment system.", + "items": { + "$ref": "#/components/schemas/ItemTaxDTO" + } + }, + "cashOnDelivery": { + "type": "boolean", + "description": "Specifies the type of payment." + }, + "properties": { + "type": "array", + "description": "Internal properties that the payment system may need. Only available for plugins .", + "items": { + "$ref": "#/components/schemas/PaymentSystemPropertyDTO" + } + }, + "module": { + "type": "string", + "description": "Plugin module's name." + }, + "pluginId": { + "type": "integer", + "description": "", + "format": "int32" + }, + "price": { + "type": "number", + "format": "double" + }, + "appliedTaxes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AppliedTaxDTO" + } + }, + "increaseValue": { + "type": "number", + "description": "Fixed amount or percentage to be added to the total order.", + "format": "double" + }, + "increaseMin": { + "type": "number", + "description": "Minimum value to be added to the order total in the event that the calculation using increaseValue is less than this value.", + "format": "double" + }, + "minOrder": { + "type": "number", + "description": "Minimum value that the order must have for the payment system to be displayed.", + "format": "double" + }, + "maxOrder": { + "type": "number", + "description": "Maximum value that the order must have for the payment system to be displayed.", + "format": "double" + }, + "increaseFrom": { + "type": "number", + "description": "Amount that the order must reach for the increments to be applied to the payment system.", + "format": "double" + }, + "increaseTo": { + "type": "number", + "description": "Amount that the order must reach for the increases on the payment system to stop being applied.", + "format": "double" + } + }, + "description": "Information about the payment system." + }, + "BasketPickingDeliveryDTO": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specifies the type of delivery.", + "enum": [ + "SHIPPING", + "PICKING" + ] + }, + "deliveryRows": { + "type": "object", + "properties": { + "basketRowData": { + "$ref": "#/components/schemas/BasketRowDataDTO" + }, + "basketWarnings": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Specifies the cart alert code.", + "enum": [ + "NOT_AVAILABLE_PRODUCT", + "INVALID_PRICE", + "MIN_ORDER_QUANTITY", + "MAX_ORDER_QUANTITY", + "MULTIPLE_ORDER_OVER_QUANTITY", + "MULTIPLE_ORDER_QUANTITY", + "STOCK_RESTRICTION", + "BACKORDER", + "BACKORDER_PREVISION", + "EMPTY_PRODUCTS", + "STOCK_PREVISION", + "WAREHOUSE_OFFSET", + "ON_REQUEST_PRODUCT", + "INVALID_OPTIONS", + "NEEDS_PAYMENTSYSTEM", + "NEEDS_DELIVERY", + "INVALID_BILLING_ADDRESS", + "INVALID_SHIPPING_ADDRESS", + "USER_NOT_ACTIVED", + "USER_NOT_VERIFIED", + "LOCKED_STOCK_RESTRICTION" + ] + }, + "severity": { + "type": "string", + "description": "Specifies the criticality of the cart alert.", + "enum": [ + "WARNING", + "INFO", + "ERROR" + ] + }, + "hashes": { + "type": "array", + "description": "List of cart detail line hash codes.", + "items": { + "type": "string", + "description": "List of cart detail line hash codes." + } + }, + "attributes": { + "type": "array", + "description": "Attributes related to the alert.", + "items": { + "$ref": "#/components/schemas/BasketWarningAttributeDTO" + } + } + }, + "description": "Information about the alerts of the cart detail lines that are part of the delivery." + } + }, + "description": "Information about products included in the delivery." + }, + "shipments": { + "type": "object", + "properties": { + "originWarehouseGroupId": { + "type": "integer", + "description": "Internal identifier of the logistic center originating the shipment.", + "format": "int32" + }, + "shippingCalculation": { + "type": "string", + "description": "Specifies for the shipment whether the calculation of shipping costs is determined by weight or by units sold.", + "enum": [ + "BY_WEIGHT", + "BY_UNITS" + ] + }, + "destinationZone": { + "$ref": "#/components/schemas/GeographicalZoneDTO" + }, + "shipping": { + "$ref": "#/components/schemas/ShippingDTO" + }, + "rows": { + "type": "array", + "description": "Information about products included in the shipment.", + "items": { + "$ref": "#/components/schemas/ShipmentRowDTO" + } + }, + "hash": { + "type": "string" + } + }, + "description": "Information about shipments." + }, + "multiShipment": { + "type": "boolean", + "description": "" + }, + "hash": { + "type": "string" + }, + "canBeShipped": { + "type": "boolean" + }, + "price": { + "type": "number", + "description": "Information about the picking price. Tax not included.", + "format": "double" + }, + "priceWithTaxes": { + "type": "number", + "description": "Information about the picking price. Tax included.", + "format": "double" + }, + "mode": { + "$ref": "#/components/schemas/PickingDeliveryModeDTO" + }, + "physicalLocationId": { + "type": "integer", + "format": "int32", + "deprecated": true + }, + "zone": { + "$ref": "#/components/schemas/GeographicalZoneDTO" + }, + "appliedTaxes": { + "type": "array", + "description": "Information about taxes applied to the picking price.", + "items": { + "$ref": "#/components/schemas/AppliedTaxDTO" + } + } + } + }, + "BasketProductDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "hash": { + "type": "string", + "description": "The hash code of the item." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "prices": { + "$ref": "#/components/schemas/BasketRowPricesDTO" + }, + "pricesWithTaxes": { + "$ref": "#/components/schemas/BasketRowPricesDTO" + }, + "weight": { + "type": "number", + "description": "Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established.", + "format": "double" + }, + "subtotal": { + "type": "number", + "description": "Total amount, without taxes included and with discounts applied, of the detail line.", + "format": "double" + }, + "total": { + "type": "number", + "description": "Total amount, including taxes and discounts applied, of the detail line.", + "format": "double" + }, + "appliedTaxes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AppliedTaxDTO" + } + }, + "basketWarnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BasketWarningDTO" + } + }, + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "images": { + "$ref": "#/components/schemas/MediaDTO" + }, + "codes": { + "$ref": "#/components/schemas/ProductCodesDTO" + }, + "combination": { + "$ref": "#/components/schemas/CombinationDTO" + }, + "options": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BasketProductOptionDTO" + } + }, + "customTagValues": { + "type": "array", + "description": "Information about custom tags", + "items": { + "$ref": "#/components/schemas/BasketCustomTagValueDTO" + } + }, + "brandName": { + "type": "string", + "description": "Brand name." + }, + "type": { + "type": "string", + "description": "Element type.", + "enum": [ + "PRODUCT", + "GIFT", + "BUNDLE", + "BUNDLE_ITEM", + "LINKED", + "SELECTABLE_GIFT" + ] + } + } + }, + "BasketProductOptionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "name": { + "type": "string" + }, + "required": { + "type": "boolean" + }, + "combinable": { + "type": "boolean" + }, + "type": { + "type": "string", + "enum": [ + "BOOLEAN", + "SHORT_TEXT", + "SINGLE_SELECTION", + "MULTIPLE_SELECTION", + "SINGLE_SELECTION_IMAGE", + "MULTIPLE_SELECTION_IMAGE", + "SELECTOR", + "DATE", + "LONG_TEXT", + "ATTACHMENT" + ] + } + }, + "description": "Information on product options. Options are variations in the product, such as size or color.", + "oneOf": [ + { + "$ref": "#/components/schemas/BooleanOptionDTO" + }, + { + "$ref": "#/components/schemas/AttachmentOptionDTO" + }, + { + "$ref": "#/components/schemas/DateOptionDTO" + }, + { + "$ref": "#/components/schemas/LongTextOptionDTO" + }, + { + "$ref": "#/components/schemas/MultipleSelectionImageOptionDTO" + }, + { + "$ref": "#/components/schemas/MultipleSelectionOptionDTO" + }, + { + "$ref": "#/components/schemas/SelectorOptionDTO" + }, + { + "$ref": "#/components/schemas/ShortTextOptionDTO" + }, + { + "$ref": "#/components/schemas/SingleSelectionImageOptionDTO" + }, + { + "$ref": "#/components/schemas/SingleSelectionOptionDTO" + } + ] + }, + "BasketProductOptionValueDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "priority": { + "type": "integer", + "format": "int32" + }, + "basePrice": { + "type": "number", + "format": "double" + }, + "retailPrice": { + "type": "number", + "format": "double" + }, + "previousPrice": { + "type": "number", + "format": "double" + }, + "price": { + "type": "number", + "format": "double" + }, + "weight": { + "type": "number", + "format": "double" + }, + "noReturn": { + "type": "boolean" + }, + "value": { + "type": "string" + }, + "shortDescription": { + "type": "string" + }, + "longDescription": { + "type": "string" + } + } + }, + "BasketRewardPointsDTO": { + "type": "object", + "properties": { + "language": { + "$ref": "#/components/schemas/NameDescriptionDTO" + }, + "expirationType": { + "type": "string", + "description": "", + "enum": [ + "BY_DATE", + "BY_DAYS", + "BY_UPDATED_DAYS" + ] + }, + "expirationDate": { + "type": "string", + "description": "", + "format": "date" + }, + "expirationDays": { + "type": "integer", + "description": "", + "format": "int32" + }, + "earned": { + "$ref": "#/components/schemas/EarnedDTO" + }, + "redeemed": { + "$ref": "#/components/schemas/RedeemedDTO" + }, + "summary": { + "$ref": "#/components/schemas/RewardPointsSummaryDTO" + }, + "type": { + "type": "string", + "enum": [ + "BY_DATE", + "BY_DAYS", + "BY_UPDATED_DAYS" + ] + }, + "pId": { + "type": "string" + } + }, + "description": "" + }, + "BasketRowDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "hash": { + "type": "string", + "description": "The hash code of the item." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "prices": { + "$ref": "#/components/schemas/BasketRowPricesDTO" + }, + "pricesWithTaxes": { + "$ref": "#/components/schemas/BasketRowPricesDTO" + }, + "weight": { + "type": "number", + "description": "Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established.", + "format": "double" + }, + "appliedDiscounts": { + "type": "array", + "description": "Information about the discounts applied.", + "items": { + "$ref": "#/components/schemas/AppliedDiscountDTO" + } + }, + "subtotal": { + "type": "number", + "description": "Total amount, without taxes included and with discounts applied, of the detail line.", + "format": "double" + }, + "total": { + "type": "number", + "description": "Total amount, including taxes and discounts applied, of the detail line.", + "format": "double" + }, + "appliedTaxes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AppliedTaxDTO" + } + }, + "basketWarnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BasketWarningDTO" + } + }, + "urlSeo": { + "type": "string", + "description": "URL of the item." + }, + "images": { + "$ref": "#/components/schemas/MediaDTO" + }, + "type": { + "type": "string", + "description": "Element type.", + "enum": [ + "PRODUCT", + "GIFT", + "BUNDLE", + "BUNDLE_ITEM", + "LINKED", + "SELECTABLE_GIFT" + ] + } + }, + "description": "Information on the detail lines.", + "oneOf": [ + { + "$ref": "#/components/schemas/BasketProductDTO" + }, + { + "$ref": "#/components/schemas/BasketGiftDTO" + }, + { + "$ref": "#/components/schemas/BasketBundleDTO" + }, + { + "$ref": "#/components/schemas/BackBasketBundleDTO" + }, + { + "$ref": "#/components/schemas/BasketLinkedDTO" + }, + { + "$ref": "#/components/schemas/BackBasketLinkedDTO" + } + ] + }, + "BasketRowDataDTO": { + "type": "object", + "properties": { + "productId": { + "type": "integer", + "description": "Internal product identifier.", + "format": "int32" + }, + "hash": { + "type": "string", + "description": "Hash code of the detail line." + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "totalWeight": { + "type": "number", + "description": "Specifies the total weight of the detail line. Default in kilograms, but it depends on the general configuration established.", + "format": "double" + }, + "totalPrice": { + "type": "number", + "description": "Specifies the total price of the detail line.", + "format": "double" + }, + "stockManagement": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line has stock management enabled. This parameter works as long as general stock management is enabled." + }, + "onRequest": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line needs to be manufactured on demand. This configuration allows orders that contain the product to be considered valid even if it is not in stock." + }, + "shipping": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line has to be taken into account in the shipping cost calculations. If this feature is disabled, it means that the product does not need a carrier." + }, + "shippingCalculation": { + "type": "string", + "description": "Specifies, for the product included in the detail line, whether the calculation of shipping costs is determined by weight or by units sold.", + "enum": [ + "BY_WEIGHT", + "BY_UNITS" + ] + }, + "backorder": { + "type": "string", + "description": "Reserve work method (sell inventory without stock) for the product included in the detail line.", + "enum": [ + "NONE", + "WITH_AND_WITHOUT_PREVISION", + "WITHOUT_PREVISION", + "WITH_PREVISION" + ] + }, + "onRequestDays": { + "type": "integer", + "description": "Specifies the number of days of preparation that the product needs if it is of type onRequest. This information is used to display an expected delivery date for these products.", + "format": "int32" + }, + "mainCategory": { + "type": "integer", + "description": "Specifies the internal identifier of the main category to which the product inicluded in the detail line belongs.", + "format": "int32" + } + }, + "description": "Information about the cart detail lines that are part of the shipment." + }, + "BasketRowPricesDTO": { + "type": "object", + "properties": { + "unitPrice": { + "type": "number", + "description": "Unit price of the item.", + "format": "double" + }, + "unitPreviousPrice": { + "type": "number", + "description": "Base price of the product in the event that it has an offer price. The price is per unit, without taxes included and without discounts applied.", + "format": "double" + }, + "price": { + "type": "number", + "description": "Total amount, without taxes included and without discounts applied, of the detail line.", + "format": "double" + }, + "previousPrice": { + "type": "number", + "description": "Total amount prior to the offer, without taxes included and without discounts applied, from the detail line. If the product is not on offer price and previousPrice will be the same.", + "format": "double" + }, + "totalDiscounts": { + "type": "number", + "description": "Total amount due to discounts applied to the detail line.", + "format": "double" + } + }, + "description": "Price information." + }, + "BasketShipmentDTO": { + "type": "object", + "properties": { + "originWarehouseGroupId": { + "type": "integer", + "description": "Internal identifier of the logistic center originating the shipment.", + "format": "int32" + }, + "shippingCalculation": { + "type": "string", + "description": "Specifies for the shipment whether the calculation of shipping costs is determined by weight or by units sold.", + "enum": [ + "BY_WEIGHT", + "BY_UNITS" + ] + }, + "destinationZone": { + "$ref": "#/components/schemas/GeographicalZoneDTO" + }, + "shipping": { + "$ref": "#/components/schemas/ShippingDTO" + }, + "rows": { + "type": "array", + "description": "Information about products included in the shipment.", + "items": { + "$ref": "#/components/schemas/ShipmentRowDTO" + } + }, + "hash": { + "type": "string" + } + }, + "description": "Information about shipments." + }, + "BasketShippingDeliveryDTO": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specifies the type of delivery.", + "enum": [ + "SHIPPING", + "PICKING" + ] + }, + "deliveryRows": { + "type": "object", + "properties": { + "basketRowData": { + "$ref": "#/components/schemas/BasketRowDataDTO" + }, + "basketWarnings": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Specifies the cart alert code.", + "enum": [ + "NOT_AVAILABLE_PRODUCT", + "INVALID_PRICE", + "MIN_ORDER_QUANTITY", + "MAX_ORDER_QUANTITY", + "MULTIPLE_ORDER_OVER_QUANTITY", + "MULTIPLE_ORDER_QUANTITY", + "STOCK_RESTRICTION", + "BACKORDER", + "BACKORDER_PREVISION", + "EMPTY_PRODUCTS", + "STOCK_PREVISION", + "WAREHOUSE_OFFSET", + "ON_REQUEST_PRODUCT", + "INVALID_OPTIONS", + "NEEDS_PAYMENTSYSTEM", + "NEEDS_DELIVERY", + "INVALID_BILLING_ADDRESS", + "INVALID_SHIPPING_ADDRESS", + "USER_NOT_ACTIVED", + "USER_NOT_VERIFIED", + "LOCKED_STOCK_RESTRICTION" + ] + }, + "severity": { + "type": "string", + "description": "Specifies the criticality of the cart alert.", + "enum": [ + "WARNING", + "INFO", + "ERROR" + ] + }, + "hashes": { + "type": "array", + "description": "List of cart detail line hash codes.", + "items": { + "type": "string", + "description": "List of cart detail line hash codes." + } + }, + "attributes": { + "type": "array", + "description": "Attributes related to the alert.", + "items": { + "$ref": "#/components/schemas/BasketWarningAttributeDTO" + } + } + }, + "description": "Information about the alerts of the cart detail lines that are part of the delivery." + } + }, + "description": "Information about products included in the delivery." + }, + "shipments": { + "type": "object", + "properties": { + "originWarehouseGroupId": { + "type": "integer", + "description": "Internal identifier of the logistic center originating the shipment.", + "format": "int32" + }, + "shippingCalculation": { + "type": "string", + "description": "Specifies for the shipment whether the calculation of shipping costs is determined by weight or by units sold.", + "enum": [ + "BY_WEIGHT", + "BY_UNITS" + ] + }, + "destinationZone": { + "$ref": "#/components/schemas/GeographicalZoneDTO" + }, + "shipping": { + "$ref": "#/components/schemas/ShippingDTO" + }, + "rows": { + "type": "array", + "description": "Information about products included in the shipment.", + "items": { + "$ref": "#/components/schemas/ShipmentRowDTO" + } + }, + "hash": { + "type": "string" + } + }, + "description": "Information about shipments." + }, + "multiShipment": { + "type": "boolean", + "description": "" + }, + "hash": { + "type": "string" + }, + "canBeShipped": { + "type": "boolean" + }, + "zone": { + "$ref": "#/components/schemas/GeographicalZoneDTO" + } + } + }, + "BasketTaxDTO": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Tax key." + }, + "base": { + "type": "number", + "description": "Taxable base.", + "format": "double" + }, + "discount": { + "type": "number", + "description": "Amount due to discount.", + "format": "double" + }, + "taxRate": { + "type": "number", + "description": "Tax rate.", + "format": "double" + }, + "taxValue": { + "type": "number", + "description": "Amount derived from applying the tax.", + "format": "double" + }, + "type": { + "type": "string", + "description": "Tax type.", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ] + } + }, + "description": "Information about the taxes applied in the cart.", + "oneOf": [ + { + "$ref": "#/components/schemas/LogiCommerceBasketTaxDTO" + }, + { + "$ref": "#/components/schemas/PluginBasketTaxDTO" + } + ] + }, + "BasketTotalDTO": { + "type": "object", + "properties": { + "totalQuantity": { + "type": "integer", + "description": "Total units in cart.", + "format": "int32" + }, + "subtotalRows": { + "type": "number", + "description": "Amount due to cart detail lines before tax.", + "format": "double" + }, + "totalRows": { + "type": "number", + "description": "Amount due to the detail lines of the cart with taxes applied.", + "format": "double" + }, + "subtotalShippings": { + "type": "number", + "description": "Full amount without tax included due to shipping methods.", + "format": "double" + }, + "totalShippings": { + "type": "number", + "description": "Full amount with taxes included due to shipping methods.", + "format": "double" + }, + "subtotalPicking": { + "type": "number", + "description": "Full amount without tax included due to picking prices.", + "format": "double" + }, + "totalPicking": { + "type": "number", + "description": "Full amount with taxes included due to picking prices.", + "format": "double" + }, + "subtotalPaymentSystem": { + "type": "number", + "description": "Total amount without taxes included due to the payment system.", + "format": "double" + }, + "totalPaymentSystem": { + "type": "number", + "description": "Total amount with taxes included due to the payment system.", + "format": "double" + }, + "subtotal": { + "type": "number", + "description": "Sum of the previous subtotals.", + "format": "double" + }, + "totalTaxes": { + "type": "number", + "description": "Total amount with tax applied.", + "format": "double" + }, + "totalDiscounts": { + "type": "number", + "description": "Total amount due to discounts applied to the total cart.", + "format": "double" + }, + "totalVouchers": { + "type": "number", + "description": "Total amount due to gift coupons added in cart.", + "format": "double" + }, + "total": { + "type": "number", + "description": "Total amount of the cart.", + "format": "double" + } + }, + "description": "Information on cart totals." + }, + "BasketUserDTO": { + "type": "object", + "properties": { + "user": { + "$ref": "#/components/schemas/UserDTO" + }, + "lastVisit": { + "type": "string", + "description": "Specifies the date and time of the last visit.", + "format": "date-time" + }, + "referer": { + "type": "string", + "description": "User URL of origin." + }, + "userAgent": { + "type": "string", + "description": "Specifies the user's User-Agent." + }, + "channel": { + "$ref": "#/components/schemas/ChannelDTO" + }, + "salesAgent": { + "type": "boolean", + "description": "" + }, + "salesAgentRegisteredUserId": { + "type": "integer", + "description": "", + "format": "int32" + }, + "simulatedUser": { + "type": "boolean", + "description": "" + }, + "navigationHash": { + "type": "string", + "description": "Specifies the hash of the user's navigation." + }, + "sessionType": { + "type": "string", + "description": "Specifies the type of session. It can be ANONYMOUS or REGISTERED.", + "enum": [ + "REGISTERED", + "ANONYMOUS" + ] + }, + "channelId": { + "type": "integer", + "format": "int32" + }, + "salesAgentId": { + "type": "integer", + "description": "", + "format": "int32" + } + }, + "description": "Information about the user." + }, + "BasketWarningAttributeDTO": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "object" + }, + "type": { + "type": "string", + "enum": [ + "INTEGER", + "STRING", + "LOCAL_DATE", + "LIST", + "LOCAL_DATE_TIME" + ] + } + }, + "description": "Attributes related to the alert." + }, + "BasketWarningDTO": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Specifies the cart alert code.", + "enum": [ + "NOT_AVAILABLE_PRODUCT", + "INVALID_PRICE", + "MIN_ORDER_QUANTITY", + "MAX_ORDER_QUANTITY", + "MULTIPLE_ORDER_OVER_QUANTITY", + "MULTIPLE_ORDER_QUANTITY", + "STOCK_RESTRICTION", + "BACKORDER", + "BACKORDER_PREVISION", + "EMPTY_PRODUCTS", + "STOCK_PREVISION", + "WAREHOUSE_OFFSET", + "ON_REQUEST_PRODUCT", + "INVALID_OPTIONS", + "NEEDS_PAYMENTSYSTEM", + "NEEDS_DELIVERY", + "INVALID_BILLING_ADDRESS", + "INVALID_SHIPPING_ADDRESS", + "USER_NOT_ACTIVED", + "USER_NOT_VERIFIED", + "LOCKED_STOCK_RESTRICTION" + ] + }, + "severity": { + "type": "string", + "description": "Specifies the criticality of the cart alert.", + "enum": [ + "WARNING", + "INFO", + "ERROR" + ] + }, + "hashes": { + "type": "array", + "description": "List of cart detail line hash codes.", + "items": { + "type": "string", + "description": "List of cart detail line hash codes." + } + }, + "attributes": { + "type": "array", + "description": "Attributes related to the alert.", + "items": { + "$ref": "#/components/schemas/BasketWarningAttributeDTO" + } + } + }, + "description": "Information about cart alerts." + }, + "BillingUserAddressDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "firstName": { + "type": "string", + "description": "Username." + }, + "lastName": { + "type": "string", + "description": "User last names." + }, + "company": { + "type": "string", + "description": "Company name." + }, + "address": { + "type": "string", + "description": "User address." + }, + "addressAdditionalInformation": { + "type": "string", + "description": "Additional address field." + }, + "number": { + "type": "string", + "description": "House or building number." + }, + "city": { + "type": "string", + "description": "Name of the city." + }, + "state": { + "type": "string", + "description": "Province or state." + }, + "postalCode": { + "type": "string", + "description": "Zip Code." + }, + "vat": { + "type": "string", + "description": "Company tax identification code." + }, + "nif": { + "type": "string", + "description": "User identity number or code." + }, + "location": { + "$ref": "#/components/schemas/LocationDTO" + }, + "phone": { + "type": "string", + "description": "Phone." + }, + "mobile": { + "type": "string", + "description": "Mobile phone." + }, + "fax": { + "type": "string", + "description": "Fax." + }, + "type": { + "type": "string", + "description": "Type of address.", + "enum": [ + "BILLING", + "SHIPPING" + ] + }, + "defaultAddress": { + "type": "boolean", + "description": "Specifies that this is the default address. It is the one that is used automatically if not stated otherwise in the purchase processes." + }, + "alias": { + "type": "string", + "description": "Specifies the alias of the address." + }, + "tax": { + "type": "boolean", + "description": "Specifies whether taxes are applied to the user." + }, + "re": { + "type": "boolean", + "description": "Specifies whether the user is liable to sales equalization tax." + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the user is considered a taxpayer making an investment for tax purposes." + }, + "userType": { + "type": "string", + "description": "Specifies the type of user.", + "enum": [ + "EMPTY", + "PARTICULAR", + "BUSINESS", + "FREELANCE" + ] + } + }, + "description": "Information about the user's billing address." + }, + "BooleanOptionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "name": { + "type": "string" + }, + "required": { + "type": "boolean" + }, + "combinable": { + "type": "boolean" + }, + "value": { + "type": "boolean" + }, + "type": { + "type": "string", + "enum": [ + "BOOLEAN", + "SHORT_TEXT", + "SINGLE_SELECTION", + "MULTIPLE_SELECTION", + "SINGLE_SELECTION_IMAGE", + "MULTIPLE_SELECTION_IMAGE", + "SELECTOR", + "DATE", + "LONG_TEXT", + "ATTACHMENT" + ] + } + } + }, + "ChannelDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Internal name of the item." + } + }, + "description": "Information about the assigned sales channel." + }, + "ClosurePeriodDTO": { + "type": "object", + "properties": { + "startDate": { + "type": "string", + "description": "Specifies the period start date. Format ISO-8601 ('YYYY-MM-DD') ", + "format": "date" + }, + "endDate": { + "type": "string", + "description": "Specifies the period end date. Format ISO-8601 ('YYYY-MM-DD')", + "format": "date" + } + }, + "description": "Upcoming holiday closure periods." + }, + "CustomTagValueDTO": { + "type": "object", + "properties": { + "customTagId": { + "type": "integer", + "description": "Internal identifier of the custom tag.", + "format": "int32" + }, + "customTagPId": { + "type": "string", + "description": "Public identifier of the custom tag." + }, + "controlType": { + "type": "string", + "description": "Custom tag type.", + "enum": [ + "BOOLEAN", + "NUMBER", + "SHORT_TEXT", + "DATE", + "SELECTOR", + "IMAGE", + "LONG_TEXT", + "ATTACHMENT" + ] + }, + "position": { + "type": "integer", + "description": "An integer that symbolizes the location of this item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Name of the custom tag for the returned language." + }, + "value": { + "type": "string", + "description": "Value of the custom tag for the returned language." + } + }, + "description": "Information about custom user tags." + }, + "DateOptionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "name": { + "type": "string" + }, + "required": { + "type": "boolean" + }, + "combinable": { + "type": "boolean" + }, + "value": { + "type": "string", + "format": "date" + }, + "type": { + "type": "string", + "enum": [ + "BOOLEAN", + "SHORT_TEXT", + "SINGLE_SELECTION", + "MULTIPLE_SELECTION", + "SINGLE_SELECTION_IMAGE", + "MULTIPLE_SELECTION_IMAGE", + "SELECTOR", + "DATE", + "LONG_TEXT", + "ATTACHMENT" + ] + } + } + }, + "DeliveryRowDTO": { + "type": "object", + "properties": { + "basketRowData": { + "$ref": "#/components/schemas/BasketRowDataDTO" + }, + "basketWarnings": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Specifies the cart alert code.", + "enum": [ + "NOT_AVAILABLE_PRODUCT", + "INVALID_PRICE", + "MIN_ORDER_QUANTITY", + "MAX_ORDER_QUANTITY", + "MULTIPLE_ORDER_OVER_QUANTITY", + "MULTIPLE_ORDER_QUANTITY", + "STOCK_RESTRICTION", + "BACKORDER", + "BACKORDER_PREVISION", + "EMPTY_PRODUCTS", + "STOCK_PREVISION", + "WAREHOUSE_OFFSET", + "ON_REQUEST_PRODUCT", + "INVALID_OPTIONS", + "NEEDS_PAYMENTSYSTEM", + "NEEDS_DELIVERY", + "INVALID_BILLING_ADDRESS", + "INVALID_SHIPPING_ADDRESS", + "USER_NOT_ACTIVED", + "USER_NOT_VERIFIED", + "LOCKED_STOCK_RESTRICTION" + ] + }, + "severity": { + "type": "string", + "description": "Specifies the criticality of the cart alert.", + "enum": [ + "WARNING", + "INFO", + "ERROR" + ] + }, + "hashes": { + "type": "array", + "description": "List of cart detail line hash codes.", + "items": { + "type": "string", + "description": "List of cart detail line hash codes." + } + }, + "attributes": { + "type": "array", + "description": "Attributes related to the alert.", + "items": { + "$ref": "#/components/schemas/BasketWarningAttributeDTO" + } + } + }, + "description": "Information about the alerts of the cart detail lines that are part of the delivery." + } + }, + "description": "Information about products included in the delivery." + }, + "DiscountCodeDTO": { + "type": "object", + "properties": { + "discountId": { + "type": "integer", + "description": "Promotional discount Id.", + "format": "int32" + }, + "code": { + "type": "string", + "description": "Promotional discount code." + } + }, + "description": "List of promotional codes." + }, + "EarnedDTO": { + "type": "object", + "properties": { + "rules": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/RewardPointsRuleDTO" + } + } + }, + "description": "" + }, + "ImageOptionValueDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "priority": { + "type": "integer", + "format": "int32" + }, + "basePrice": { + "type": "number", + "format": "double" + }, + "retailPrice": { + "type": "number", + "format": "double" + }, + "previousPrice": { + "type": "number", + "format": "double" + }, + "price": { + "type": "number", + "format": "double" + }, + "weight": { + "type": "number", + "format": "double" + }, + "noReturn": { + "type": "boolean" + }, + "value": { + "type": "string" + }, + "shortDescription": { + "type": "string" + }, + "longDescription": { + "type": "string" + }, + "images": { + "$ref": "#/components/schemas/MediaDTO" + } + } + }, + "ItemTaxDTO": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ] + } + }, + "description": "Information about the taxes associated with the payment system.", + "oneOf": [ + { + "$ref": "#/components/schemas/LogiCommerceItemTaxDTO" + }, + { + "$ref": "#/components/schemas/PluginItemTaxDTO" + } + ] + }, + "LockedStockTimerDTO": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "description": "Internal identifier of the item." + }, + "type": { + "type": "string", + "description": "Specifies the LockedStockTimer type. All LockedStockTimers of a basket are always of the same type. The considered type will be the one according to the stablished setting 'BASKET_STOCK_LOCKING.lockedStockTimerType'. The two possible types are:
  • GLOBAL: Exists only one LockedStockTimer for all basket's LockedStocks.
  • PRODUCT: Exists one LockedStockTimer for each distinct product with some LockedStock in the basket.
", + "enum": [ + "GLOBAL", + "PRODUCT" + ] + }, + "expiresAt": { + "type": "string", + "description": "Specifies when the LockedStockTimer will expire. Format ISO-8601 ('YYYY-MM-DDThh:mm:ssZ').", + "format": "date-time" + }, + "basketProductHashes": { + "type": "array", + "description": "Specifies all distinct hashes of the basket product rows that have locked stock related to this locked stock timer.", + "items": { + "type": "string", + "description": "Specifies all distinct hashes of the basket product rows that have locked stock related to this locked stock timer." + } + } + }, + "description": "Information about locked stock timers of the cart." + }, + "LogiCommerceAppliedTaxDTO": { + "type": "object", + "properties": { + "base": { + "type": "number", + "description": "Base of the tax applied.", + "format": "double" + }, + "taxValue": { + "type": "number", + "description": "Amount derived from applying the tax.", + "format": "double" + }, + "applyTax": { + "type": "boolean", + "description": "Specifies whether the tax is applied." + }, + "applyRE": { + "type": "boolean", + "description": "Specifies whether a sales equalization tax is included in the tax applied." + }, + "tax": { + "$ref": "#/components/schemas/LogiCommerceTaxDTO" + }, + "type": { + "type": "string", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ], + "default": "LOGICOMMERCE" + } + } + }, + "LogiCommerceBasketTaxDTO": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Tax key." + }, + "base": { + "type": "number", + "description": "Taxable base.", + "format": "double" + }, + "discount": { + "type": "number", + "description": "Amount due to discount.", + "format": "double" + }, + "taxRate": { + "type": "number", + "description": "Tax rate.", + "format": "double" + }, + "taxValue": { + "type": "number", + "description": "Amount derived from applying the tax.", + "format": "double" + }, + "reRate": { + "type": "number", + "description": "Sales equalization tax.", + "format": "double" + }, + "type": { + "type": "string", + "description": "Tax type.", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ] + } + } + }, + "LogiCommerceItemTaxDTO": { + "type": "object", + "properties": { + "taxId": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ], + "default": "LOGICOMMERCE" + } + } + }, + "LongTextOptionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "name": { + "type": "string" + }, + "required": { + "type": "boolean" + }, + "combinable": { + "type": "boolean" + }, + "value": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "BOOLEAN", + "SHORT_TEXT", + "SINGLE_SELECTION", + "MULTIPLE_SELECTION", + "SINGLE_SELECTION_IMAGE", + "MULTIPLE_SELECTION_IMAGE", + "SELECTOR", + "DATE", + "LONG_TEXT", + "ATTACHMENT" + ] + } + } + }, + "MultipleSelectionImageOptionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "name": { + "type": "string" + }, + "required": { + "type": "boolean" + }, + "combinable": { + "type": "boolean" + }, + "valueList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageOptionValueDTO" + } + }, + "type": { + "type": "string", + "enum": [ + "BOOLEAN", + "SHORT_TEXT", + "SINGLE_SELECTION", + "MULTIPLE_SELECTION", + "SINGLE_SELECTION_IMAGE", + "MULTIPLE_SELECTION_IMAGE", + "SELECTOR", + "DATE", + "LONG_TEXT", + "ATTACHMENT" + ] + } + } + }, + "MultipleSelectionOptionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "name": { + "type": "string" + }, + "required": { + "type": "boolean" + }, + "combinable": { + "type": "boolean" + }, + "valueList": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BasketProductOptionValueDTO" + } + }, + "type": { + "type": "string", + "enum": [ + "BOOLEAN", + "SHORT_TEXT", + "SINGLE_SELECTION", + "MULTIPLE_SELECTION", + "SINGLE_SELECTION_IMAGE", + "MULTIPLE_SELECTION_IMAGE", + "SELECTOR", + "DATE", + "LONG_TEXT", + "ATTACHMENT" + ] + } + } + }, + "OpeningTimeDTO": { + "type": "object", + "properties": { + "startTime": { + "type": "string", + "description": "Specifies the start time. Format ISO-8601 ('hh:mm') " + }, + "endTime": { + "type": "string", + "description": "Specifies the end time. Format ISO-8601 ('hh:mm') " + } + }, + "description": "Opening times on Sundays." + }, + "OpeningTimesDTO": { + "type": "object", + "properties": { + "monday": { + "type": "array", + "description": "Opening times on Mondays.", + "items": { + "$ref": "#/components/schemas/OpeningTimeDTO" + } + }, + "tuesday": { + "type": "array", + "description": "Opening times on Tuesdays.", + "items": { + "$ref": "#/components/schemas/OpeningTimeDTO" + } + }, + "wednesday": { + "type": "array", + "description": "Opening times on Wednesdays.", + "items": { + "$ref": "#/components/schemas/OpeningTimeDTO" + } + }, + "thursday": { + "type": "array", + "description": "Opening times on Thursdays.", + "items": { + "$ref": "#/components/schemas/OpeningTimeDTO" + } + }, + "friday": { + "type": "array", + "description": "Opening times on Fridays.", + "items": { + "$ref": "#/components/schemas/OpeningTimeDTO" + } + }, + "saturday": { + "type": "array", + "description": "Opening times on Saturdays.", + "items": { + "$ref": "#/components/schemas/OpeningTimeDTO" + } + }, + "sunday": { + "type": "array", + "description": "Opening times on Sundays.", + "items": { + "$ref": "#/components/schemas/OpeningTimeDTO" + } + } + }, + "description": "Opening hours of the pickup point." + }, + "PaymentSystemLanguageDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Element name for the returned language." + }, + "description": { + "type": "string", + "description": "Description of the item for the returned language." + }, + "message": { + "type": "string", + "description": "Additional message from the payment system. It is usually used to print additional information that the payment system needs to show, such as an account number where to make the transfer in case of using that payment system." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "PaymentSystemPropertyDTO": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "values": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "selected": { + "type": "boolean" + } + }, + "description": "Internal properties that the payment system may need. Only available for plugins ." + }, + "PhysicalLocationPickingDeliveryDTO": { + "type": "object", + "properties": { + "physicalLocation": { + "$ref": "#/components/schemas/PhysicalLocationDTO" + }, + "type": { + "type": "string", + "enum": [ + "PROVIDER_PICKUP_POINT", + "PICKUP_POINT_PHYSICAL_LOCATION" + ], + "default": "PICKUP_POINT_PHYSICAL_LOCATION" + } + } + }, + "PickingDeliveryModeDTO": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specifies the picking mode.", + "enum": [ + "PROVIDER_PICKUP_POINT", + "PICKUP_POINT_PHYSICAL_LOCATION" + ] + } + }, + "description": "Information about the picking mode.", + "oneOf": [ + { + "$ref": "#/components/schemas/PhysicalLocationPickingDeliveryDTO" + }, + { + "$ref": "#/components/schemas/ProviderPickupPointPickingDeliveryDTO" + } + ] + }, + "PluginAppliedTaxDTO": { + "type": "object", + "properties": { + "base": { + "type": "number", + "description": "Base of the tax applied.", + "format": "double" + }, + "taxValue": { + "type": "number", + "description": "Amount derived from applying the tax.", + "format": "double" + }, + "applyTax": { + "type": "boolean", + "description": "Specifies whether the tax is applied." + }, + "applyRE": { + "type": "boolean", + "description": "Specifies whether a sales equalization tax is included in the tax applied." + }, + "tax": { + "$ref": "#/components/schemas/PluginItemTaxDTO" + }, + "type": { + "type": "string", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ], + "default": "PLUGIN_ACCOUNT" + } + } + }, + "PluginBasketTaxDTO": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Tax key." + }, + "base": { + "type": "number", + "description": "Taxable base.", + "format": "double" + }, + "discount": { + "type": "number", + "description": "Amount due to discount.", + "format": "double" + }, + "taxRate": { + "type": "number", + "description": "Tax rate.", + "format": "double" + }, + "taxValue": { + "type": "number", + "description": "Amount derived from applying the tax.", + "format": "double" + }, + "type": { + "type": "string", + "description": "Tax type.", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ] + } + } + }, + "ProviderPickupPointDTO": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Identifier of the pickup point for the provider." + }, + "name": { + "type": "string", + "description": "Name of the pickup point." + }, + "email": { + "type": "string", + "description": "Email of the pickup point." + }, + "city": { + "type": "string", + "description": "City of pickup point" + }, + "state": { + "type": "string", + "description": "" + }, + "postalCode": { + "type": "string", + "description": "Zip code of the pickup point." + }, + "address": { + "type": "string", + "description": "Address of the pickup point." + }, + "addressAdditionalInformation": { + "type": "string", + "description": "Additional address information of the pickup point." + }, + "number": { + "type": "string", + "description": "House or building number of the pickup point." + }, + "phone": { + "type": "string", + "description": "Phone of the pickup point." + }, + "mobile": { + "type": "string", + "description": "Mobile of the pickup point." + }, + "location": { + "$ref": "#/components/schemas/LocationDTO" + }, + "openingTimes": { + "$ref": "#/components/schemas/OpeningTimesDTO" + }, + "openingTimesAdditionalInformation": { + "type": "string", + "description": "Additional information on the opening hours of the pickup point." + }, + "upcomingHolidayClosurePeriods": { + "type": "array", + "description": "Upcoming holiday closure periods.", + "items": { + "$ref": "#/components/schemas/ClosurePeriodDTO" + } + }, + "upcomingHolidayClosurePeriodsAdditionalInformation": { + "type": "string", + "description": "Additional information on upcoming holiday closure periods." + }, + "distance": { + "type": "number", + "description": "Distance (km) between the reference point and the pickup point, determined by the provider.", + "format": "double" + }, + "url": { + "type": "string", + "description": "Url of the pickup point website. " + }, + "additionalData": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Other additional properties that the provider plugin may need." + }, + "description": "Other additional properties that the provider plugin may need." + }, + "hash": { + "type": "string", + "description": "Hash of the pickup point. Useful for setting the selected provider pickup point." + } + }, + "description": "Information about the provider pickup point." + }, + "ProviderPickupPointPickingDeliveryDTO": { + "type": "object", + "properties": { + "providerPickupPoint": { + "$ref": "#/components/schemas/ProviderPickupPointDTO" + }, + "pickupPointProviderId": { + "type": "integer", + "description": "Internal identifier of the pickup point provider.", + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "PROVIDER_PICKUP_POINT", + "PICKUP_POINT_PHYSICAL_LOCATION" + ], + "default": "PROVIDER_PICKUP_POINT" + } + } + }, + "RedeemedDTO": { + "type": "object", + "properties": { + "toRedeem": { + "type": "integer", + "description": "", + "format": "int32" + }, + "rules": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/RewardPointsRedeemedRuleDTO" + } + } + }, + "description": "" + }, + "RewardPointsRedeemedRuleDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "", + "format": "int32" + }, + "language": { + "$ref": "#/components/schemas/NameDescriptionDTO" + }, + "from": { + "type": "number", + "description": "", + "format": "double" + }, + "to": { + "type": "number", + "description": "", + "format": "double" + }, + "value": { + "type": "number", + "description": "", + "format": "double" + }, + "redeemed": { + "type": "integer", + "description": "", + "format": "int32" + } + }, + "description": "" + }, + "RewardPointsSummaryDTO": { + "type": "object", + "properties": { + "totalByUnits": { + "type": "integer", + "description": "", + "format": "int32" + }, + "totalByAmount": { + "type": "integer", + "description": "", + "format": "int32" + }, + "totalRedeemed": { + "type": "integer", + "description": "", + "format": "int32" + }, + "totalEarned": { + "type": "integer", + "description": "", + "format": "int32" + } + }, + "description": "" + }, + "SelectorOptionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "name": { + "type": "string" + }, + "required": { + "type": "boolean" + }, + "combinable": { + "type": "boolean" + }, + "value": { + "$ref": "#/components/schemas/BasketProductOptionValueDTO" + }, + "type": { + "type": "string", + "enum": [ + "BOOLEAN", + "SHORT_TEXT", + "SINGLE_SELECTION", + "MULTIPLE_SELECTION", + "SINGLE_SELECTION_IMAGE", + "MULTIPLE_SELECTION_IMAGE", + "SELECTOR", + "DATE", + "LONG_TEXT", + "ATTACHMENT" + ] + } + } + }, + "ShipmentRowDTO": { + "type": "object", + "properties": { + "basketRowData": { + "$ref": "#/components/schemas/BasketRowDataDTO" + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + } + }, + "description": "Information about products included in the shipment." + }, + "ShippingDTO": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/ShippingTypeDTO" + }, + "prices": { + "$ref": "#/components/schemas/ShippingPricesDTO" + }, + "pricesWithTaxes": { + "$ref": "#/components/schemas/ShippingPricesDTO" + }, + "appliedTaxes": { + "type": "array", + "description": "Information about taxes applied to the shipping method.", + "items": { + "$ref": "#/components/schemas/AppliedTaxDTO" + } + }, + "appliedDiscounts": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AppliedDiscountDTO" + } + }, + "hash": { + "type": "string" + } + }, + "description": "Information about shipping methods." + }, + "ShippingPricesDTO": { + "type": "object", + "properties": { + "price": { + "type": "number", + "description": "Unit price of the item.", + "format": "double" + } + }, + "description": "Information about the price of the shipping method." + }, + "ShippingUserAddressDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "firstName": { + "type": "string", + "description": "Username." + }, + "lastName": { + "type": "string", + "description": "User last names." + }, + "company": { + "type": "string", + "description": "Company name." + }, + "address": { + "type": "string", + "description": "User address." + }, + "addressAdditionalInformation": { + "type": "string", + "description": "Additional address field." + }, + "number": { + "type": "string", + "description": "House or building number." + }, + "city": { + "type": "string", + "description": "Name of the city." + }, + "state": { + "type": "string", + "description": "Province or state." + }, + "postalCode": { + "type": "string", + "description": "Zip Code." + }, + "vat": { + "type": "string", + "description": "Company tax identification code." + }, + "nif": { + "type": "string", + "description": "User identity number or code." + }, + "location": { + "$ref": "#/components/schemas/LocationDTO" + }, + "phone": { + "type": "string", + "description": "Phone." + }, + "mobile": { + "type": "string", + "description": "Mobile phone." + }, + "fax": { + "type": "string", + "description": "Fax." + }, + "type": { + "type": "string", + "description": "Type of address.", + "enum": [ + "BILLING", + "SHIPPING" + ] + }, + "defaultAddress": { + "type": "boolean", + "description": "Specifies that this is the default address. It is the one that is used automatically if not stated otherwise in the purchase processes." + }, + "alias": { + "type": "string", + "description": "Specifies the alias of the address." + }, + "tax": { + "type": "boolean", + "description": "Specifies whether taxes are applied to the user." + }, + "re": { + "type": "boolean", + "description": "Specifies whether the user is liable to sales equalization tax." + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the user is considered a taxpayer making an investment for tax purposes." + } + }, + "description": "Information about the user's shipping address." + }, + "ShortTextOptionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "name": { + "type": "string" + }, + "required": { + "type": "boolean" + }, + "combinable": { + "type": "boolean" + }, + "value": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "BOOLEAN", + "SHORT_TEXT", + "SINGLE_SELECTION", + "MULTIPLE_SELECTION", + "SINGLE_SELECTION_IMAGE", + "MULTIPLE_SELECTION_IMAGE", + "SELECTOR", + "DATE", + "LONG_TEXT", + "ATTACHMENT" + ] + } + } + }, + "SimpleAddressDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "" + }, + "address": { + "type": "string", + "description": "" + }, + "addressAdditionalInformation": { + "type": "string", + "description": "" + }, + "number": { + "type": "string", + "description": "" + }, + "city": { + "type": "string", + "description": "" + }, + "state": { + "type": "string", + "description": "" + }, + "postalCode": { + "type": "string", + "description": "" + }, + "location": { + "$ref": "#/components/schemas/LocationDTO" + }, + "phone": { + "type": "string", + "description": "" + }, + "mobile": { + "type": "string", + "description": "" + } + }, + "description": "" + }, + "SingleSelectionImageOptionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "name": { + "type": "string" + }, + "required": { + "type": "boolean" + }, + "combinable": { + "type": "boolean" + }, + "value": { + "$ref": "#/components/schemas/ImageOptionValueDTO" + }, + "type": { + "type": "string", + "enum": [ + "BOOLEAN", + "SHORT_TEXT", + "SINGLE_SELECTION", + "MULTIPLE_SELECTION", + "SINGLE_SELECTION_IMAGE", + "MULTIPLE_SELECTION_IMAGE", + "SELECTOR", + "DATE", + "LONG_TEXT", + "ATTACHMENT" + ] + } + } + }, + "SingleSelectionOptionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "name": { + "type": "string" + }, + "required": { + "type": "boolean" + }, + "combinable": { + "type": "boolean" + }, + "value": { + "$ref": "#/components/schemas/BasketProductOptionValueDTO" + }, + "type": { + "type": "string", + "enum": [ + "BOOLEAN", + "SHORT_TEXT", + "SINGLE_SELECTION", + "MULTIPLE_SELECTION", + "SINGLE_SELECTION_IMAGE", + "MULTIPLE_SELECTION_IMAGE", + "SELECTOR", + "DATE", + "LONG_TEXT", + "ATTACHMENT" + ] + } + } + }, + "UserDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "email": { + "type": "string", + "description": "User email address." + }, + "gender": { + "type": "string", + "description": "Gender of the user.", + "enum": [ + "UNDEFINED", + "MALE", + "FEMALE" + ] + }, + "userGroups": { + "type": "array", + "description": "Information about the user group.", + "items": { + "$ref": "#/components/schemas/UserGroupDTO" + } + }, + "billingAddresses": { + "type": "array", + "description": "Information about the user's billing address.", + "items": { + "$ref": "#/components/schemas/BillingUserAddressDTO" + } + }, + "selectedBillingAddressId": { + "type": "integer", + "description": "Identifier of the selected billing address.", + "format": "int32" + }, + "shippingAddresses": { + "type": "array", + "description": "Information about the user's shipping address.", + "items": { + "$ref": "#/components/schemas/ShippingUserAddressDTO" + } + }, + "selectedShippingAddressId": { + "type": "integer", + "description": "Identifier of the selected shipping address.", + "format": "int32" + }, + "birthday": { + "type": "string", + "description": "Date of birth.", + "format": "date" + }, + "lastUsed": { + "type": "string", + "description": "Last access of the user.", + "format": "date-time" + }, + "dateAdded": { + "type": "string", + "description": "Creation date of the item.", + "format": "date-time" + }, + "currencyCode": { + "type": "string", + "description": "Currency code in ISO 4217 format." + }, + "useShippingAddress": { + "type": "boolean", + "description": "Specifies that a shipping address is used to receive an order." + }, + "verified": { + "type": "boolean", + "description": "Specifies that the user has been verified." + }, + "blogVerified": { + "type": "boolean", + "description": "Specifies that the user has been verified for commenting on the blog." + }, + "active": { + "type": "boolean", + "description": "Specifies whether the user is enabled." + }, + "subscribed": { + "type": "boolean", + "description": "Specifies that the user is subscribed to a newsletter." + }, + "image": { + "type": "string", + "description": "User profile image path." + }, + "supplier": { + "type": "boolean", + "description": "Specifies that the user has a provider role." + }, + "blogger": { + "type": "boolean", + "description": "Specifies that the user has a blogger role." + }, + "parentId": { + "type": "integer", + "description": "Internal identifier of the parent item.", + "format": "int32" + }, + "customTagValues": { + "type": "array", + "description": "Information about custom user tags.", + "items": { + "$ref": "#/components/schemas/CustomTagValueDTO" + } + }, + "salesAgent": { + "type": "boolean", + "description": "" + }, + "salesAgentId": { + "type": "integer", + "description": "", + "format": "int32" + }, + "languageCode": { + "type": "string", + "description": "International standard alphabetic code ISO 639-1 of the language." + }, + "uniqueId": { + "type": "string", + "description": "Unique user identifier." + }, + "nick": { + "type": "string", + "description": "User aliases." + } + }, + "description": "Information about the user." + }, + "UserGroupDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "name": { + "type": "string", + "description": "Name of the user group." + }, + "description": { + "type": "string", + "description": "Description of the user group." + }, + "defaultGroup": { + "type": "boolean", + "description": "Specifies whether it is a default group." + }, + "systemGroup": { + "type": "boolean", + "description": "Specifies whether it is the system group." + } + }, + "description": "Information about the user group." + }, + "VoucherDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "availableBalance": { + "type": "number", + "description": "Total amount available for the gift coupon.", + "format": "double" + }, + "code": { + "type": "string", + "description": "Promotional code." + }, + "expirationDate": { + "type": "string", + "description": "Expiration date.", + "format": "date-time" + } + }, + "description": "Items returned by the resource." + }, + "VoucherGroupDTO": { + "type": "object", + "properties": { + "discountCodes": { + "type": "array", + "description": "List of promotional codes.", + "items": { + "$ref": "#/components/schemas/DiscountCodeDTO" + } + }, + "vouchers": { + "type": "array", + "description": "Information about gift coupons that are applied by code.", + "items": { + "$ref": "#/components/schemas/VoucherDTO" + } + }, + "directVouchers": { + "type": "array", + "description": "Information about gift coupons that apply directly to a user.", + "items": { + "$ref": "#/components/schemas/VoucherDTO" + } + } + } + }, + "AddBasketBundleParam": { + "required": [ + "id", + "quantity" + ], + "type": "object", + "properties": { + "quantity": { + "type": "integer", + "description": "", + "format": "int32" + }, + "items": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/BasketBundleItemParam" + } + }, + "id": { + "type": "integer", + "description": "Internal identifier of the product.", + "format": "int32" + }, + "fromShoppingListRow": { + "type": "integer", + "description": "Internal identifier of the shopping list row that has motivated this action. Useful parameter if you want to offer the 'KeepPurchasedItems' functionality of the shopping lists.", + "format": "int32" + } + } + }, + "ApiException": { + "type": "object", + "properties": { + "cause": { + "type": "object", + "properties": { + "stackTrace": { + "type": "array", + "items": { + "type": "object", + "properties": { + "classLoaderName": { + "type": "string" + }, + "moduleName": { + "type": "string" + }, + "moduleVersion": { + "type": "string" + }, + "methodName": { + "type": "string" + }, + "fileName": { + "type": "string" + }, + "lineNumber": { + "type": "integer", + "format": "int32" + }, + "className": { + "type": "string" + }, + "nativeMethod": { + "type": "boolean" + } + } + } + }, + "message": { + "type": "string" + }, + "localizedMessage": { + "type": "string" + } + } + }, + "stackTrace": { + "type": "array", + "items": { + "type": "object", + "properties": { + "classLoaderName": { + "type": "string" + }, + "moduleName": { + "type": "string" + }, + "moduleVersion": { + "type": "string" + }, + "methodName": { + "type": "string" + }, + "fileName": { + "type": "string" + }, + "lineNumber": { + "type": "integer", + "format": "int32" + }, + "className": { + "type": "string" + }, + "nativeMethod": { + "type": "boolean" + } + } + } + }, + "message": { + "type": "string" + }, + "criticity": { + "type": "string", + "enum": [ + "FINE", + "INFO", + "WARNING", + "SEVERE" + ] + }, + "statusCode": { + "type": "string", + "enum": [ + "BAD_REQUEST", + "UNAUTHORIZED", + "FORBIDDEN", + "NOT_FOUND", + "NOT_ALLOWED", + "CONFLICT", + "UNSUPPORTED_MEDIA_TYPE", + "UNPROCESSABLE_ENTITY", + "TOO_EARLY", + "SERVER_ERROR", + "CONFIG_ERROR" + ] + }, + "scope": { + "type": "string", + "enum": [ + "UNKNOWN", + "ADMINISTRATOR", + "CATALOG", + "GEO_IP", + "LIB", + "CUSTOM_TAGS", + "LIBTEST", + "LOCATION", + "MONGODB", + "OMS", + "ORM", + "PLUGINS", + "QUEUE_COMMON", + "QUEUE_CONSUMER", + "QUEUE_PRODUCER", + "REST", + "SDK", + "SESSION", + "SETTINGS" + ] + }, + "errorCode": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "suppressed": { + "type": "array", + "items": { + "type": "object", + "properties": { + "stackTrace": { + "type": "array", + "items": { + "type": "object", + "properties": { + "classLoaderName": { + "type": "string" + }, + "moduleName": { + "type": "string" + }, + "moduleVersion": { + "type": "string" + }, + "methodName": { + "type": "string" + }, + "fileName": { + "type": "string" + }, + "lineNumber": { + "type": "integer", + "format": "int32" + }, + "className": { + "type": "string" + }, + "nativeMethod": { + "type": "boolean" + } + } + } + }, + "message": { + "type": "string" + }, + "localizedMessage": { + "type": "string" + } + } + } + }, + "localizedMessage": { + "type": "string" + } + } + }, + "UpdateBasketBundleParam": { + "required": [ + "quantity" + ], + "type": "object", + "properties": { + "quantity": { + "type": "integer", + "description": "", + "format": "int32" + }, + "items": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/BasketBundleItemParam" + } + }, + "fromShoppingListRow": { + "type": "integer", + "format": "int32" + }, + "id": { + "type": "integer", + "format": "int32" + } + } + }, + "ExpressCheckoutUrlDTO": { + "type": "object", + "properties": { + "url": { + "type": "string" + } + } + }, + "ValidateParam": { + "type": "object", + "properties": { + "params": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Variables necessary for verification that the payment gateway has passed via URL parameters." + }, + "description": "Variables necessary for verification that the payment gateway has passed via URL parameters." + }, + "body": { + "type": "string", + "description": "Variables necessary to verify that the payment gateway has passed via the form." + } + } + }, + "ResponseAddFillProductCollectionDTO": { + "type": "object", + "properties": { + "warnings": { + "type": "array", + "description": "Information of the products that could not be added correctly.", + "items": { + "$ref": "#/components/schemas/WarningAddProductDTO" + } + }, + "basket": { + "$ref": "#/components/schemas/BasketDTO" + } + } + }, + "WarningAddProductDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "options": { + "type": "array", + "description": "Information about the options entered.", + "items": { + "$ref": "#/components/schemas/WarningAddProductOptionDTO" + } + } + }, + "description": "Incidences of the rows added." + }, + "WarningAddProductOptionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "values": { + "type": "array", + "description": "Information about the option values entered.", + "items": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Information about the option values entered." + }, + "description": "Information about the option values entered." + } + } + }, + "description": "Information about the options entered." + }, + "AddBasketFillProductsParam": { + "required": [ + "mode", + "products" + ], + "type": "object", + "properties": { + "mode": { + "type": "string", + "description": "", + "enum": [ + "ADD", + "UPDATE" + ] + }, + "products": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/AddBasketProductParam" + } + } + } + }, + "AddBasketProductParam": { + "required": [ + "id", + "quantity" + ], + "type": "object", + "properties": { + "options": { + "type": "array", + "description": "Parameter block for product options. The option-value pairs sent for this option must match the options selected for the product purchased.", + "items": { + "$ref": "#/components/schemas/BasketProductOptionParam" + } + }, + "mode": { + "type": "string", + "description": "", + "enum": [ + "ADD", + "UPDATE" + ] + }, + "id": { + "type": "integer", + "description": "Internal identifier of the product.", + "format": "int32" + }, + "quantity": { + "type": "integer", + "description": "Number of units purchased.", + "format": "int32" + }, + "fromShoppingListRow": { + "type": "integer", + "description": "Internal identifier of the shopping list row that has motivated this action. Useful parameter if you want to offer the 'KeepPurchasedItems' functionality of the shopping lists.", + "format": "int32" + } + } + }, + "ImageFileParamsWithoutFileName": { + "required": [ + "base64Content", + "extension" + ], + "type": "object", + "properties": { + "base64Content": { + "type": "string", + "description": "Base64 representation of the file. Format example: 'data:image/png;base64,YWRmYXNmYXNkZnNh'" + }, + "extension": { + "type": "string", + "description": "Specifies the extension of the image file.
  - Only these extensions are accepted: 'bmp', 'gif', 'heic', 'heif', 'ico', 'jpeg', 'jpg', 'png', 'svg', 'webp' " + } + }, + "description": "If you want to pin the image of the indicated product row, provide this parameter with the image data to be pinned." + }, + "ProductRowPinnedPriceRequestBody": { + "required": [ + "amount" + ], + "type": "object", + "properties": { + "amount": { + "type": "number", + "description": "Price amount for the indicated currency. If the currency is not indicated, the session's navigation currency will be considered.", + "format": "double" + }, + "currencyCode": { + "type": "string", + "description": "Currency code in which the price amount is provided, in ISO 4217 format. If not provided, the session's navigation currency will be considered." + } + }, + "description": "If you want to pin the price of the indicated product row, provide this parameter with the price to be pinned." + }, + "ProductRowPinnedRequestBody": { + "type": "object", + "properties": { + "price": { + "$ref": "#/components/schemas/ProductRowPinnedPriceRequestBody" + }, + "image": { + "$ref": "#/components/schemas/ImageFileParamsWithoutFileName" + } + } + }, + "UpdateBasketProductParam": { + "type": "object", + "properties": { + "options": { + "type": "array", + "description": "Parameter block for product options. The option-value pairs sent for this option must match the options selected for the product purchased.", + "items": { + "$ref": "#/components/schemas/BasketProductOptionParam" + } + }, + "quantity": { + "type": "integer", + "description": "Number of units purchased.", + "format": "int32" + }, + "fromShoppingListRow": { + "type": "integer", + "format": "int32" + } + } + }, + "AddCommentParam": { + "required": [ + "comment" + ], + "type": "object", + "properties": { + "comment": { + "type": "string" + } + } + }, + "AddBasketLinkedParam": { + "required": [ + "id", + "quantity", + "sectionId" + ], + "type": "object", + "properties": { + "options": { + "type": "array", + "description": "Parameter block for product options. The option-value pairs sent for this option must match the options selected for the product purchased.", + "items": { + "$ref": "#/components/schemas/BasketProductOptionParam" + } + }, + "mode": { + "type": "string", + "description": "", + "enum": [ + "ADD", + "UPDATE" + ] + }, + "id": { + "type": "integer", + "description": "Internal identifier of the product.", + "format": "int32" + }, + "quantity": { + "type": "integer", + "description": "Number of units purchased.", + "format": "int32" + }, + "fromShoppingListRow": { + "type": "integer", + "description": "Internal identifier of the shopping list row that has motivated this action. Useful parameter if you want to offer the 'KeepPurchasedItems' functionality of the shopping lists.", + "format": "int32" + }, + "sectionId": { + "type": "integer", + "description": "Internal identifier of the linked items section.", + "format": "int32" + } + } + }, + "AddBasketSelectableGiftBody": { + "required": [ + "discountSelectableGiftId", + "productId" + ], + "type": "object", + "properties": { + "discountSelectableGiftId": { + "type": "integer", + "description": "Specifies the internal identifier of the referenced item.", + "format": "int32" + }, + "productId": { + "type": "integer", + "description": "Specifies the internal identifier of the referenced item.", + "format": "int32" + }, + "options": { + "type": "array", + "description": "Parameter block for product options. The option-value pairs sent for this option must match the options selected for the product purchased.", + "items": { + "$ref": "#/components/schemas/BasketProductOptionParam" + } + } + } + }, + "CustomTagCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOCustomTagDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/CustomTagDTO" + } + } + } + }, + "CustomTagDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "controlType": { + "type": "string", + "description": "Custom tag type.", + "enum": [ + "BOOLEAN", + "NUMBER", + "SHORT_TEXT", + "DATE", + "SELECTOR", + "IMAGE", + "LONG_TEXT", + "ATTACHMENT" + ] + }, + "position": { + "type": "integer", + "description": "An integer that symbolizes the location of this item.", + "format": "int32" + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "language": { + "$ref": "#/components/schemas/CustomTagLanguageDTO" + }, + "filterable": { + "type": "boolean", + "description": "Specifies whether the item is filterable." + }, + "searchable": { + "type": "boolean", + "description": "Specifies whether the item is included in the search criteria." + }, + "comparable": { + "type": "boolean", + "description": "Specifies whether the item is comparable to other items of the same type." + }, + "required": { + "type": "boolean", + "description": "Name of the tag to adopt in a data feed." + }, + "minValue": { + "type": "string", + "description": "Specifies the minimum range for the value of the custom tag." + }, + "maxValue": { + "type": "string", + "description": "Specifies the maximum range for the value of the custom tag." + }, + "nameOnFeed": { + "type": "string", + "description": "Name of the tag to adopt in a data feed." + }, + "selectableValues": { + "type": "array", + "description": "Information about the values ​​of custom tags of type selectable.", + "items": { + "$ref": "#/components/schemas/CustomTagSelectableValueDTO" + } + }, + "defaultValue": { + "type": "string" + } + }, + "description": "Items returned by the resource." + }, + "CustomTagLanguageDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the custom tag for the returned language." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "CustomTagSelectableValueDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "value": { + "type": "string", + "description": "Value of the custom tag for the returned language." + } + }, + "description": "Information about the values ​​of custom tags of type selectable." + }, + "PaginationDTOCustomTagDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "PaginationDTOBasketPaymentSystemDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "PaymentSystemCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOBasketPaymentSystemDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/BasketPaymentSystemDTO" + } + } + } + }, + "RewardPointsRedeemRequestBody": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "value": { + "type": "integer", + "format": "int32" + } + } + }, + "BasketAddressesParam": { + "type": "object", + "properties": { + "billingAddressId": { + "type": "integer", + "description": "Billing address id.", + "format": "int32" + }, + "shippingAddressId": { + "type": "integer", + "description": "Shipping address id.", + "format": "int32" + }, + "useShippingAddress": { + "type": "boolean", + "description": "Set or unset use shipping address." + } + } + }, + "CustomTagParam": { + "type": "object", + "properties": { + "customTagId": { + "type": "integer", + "description": "Internal identifier of the customized tag.", + "format": "int32" + }, + "value": { + "type": "string", + "description": "Value for the custom tag. This field is deprecated. Use data instead." + }, + "data": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Value for the custom tag. At least the value field must be provided.
- value
  - Type: String
  - Required: true
  - Description: Value to set for the custom tag.
  - If it is of type selector, it must be an internal identifier of an active value of this.
  - Otherwise it must be a value according to the type of option.
    - Format if it is Number type: Numeric
    - Format if it is Boolean type: 'true','false'
    - Format if it is Date type: 'yyyy-mm-dd'
    - Format if it is Attachment type: 'data:text/plain;base64,base64OfTheFile'
- fileName
  - Type: String
  - Required: false
  - Description: Specifies a name for the attachment. Must be provided in Base64. Only applicable for custom tags of type attachment.
- extension
  - Type: String
  - Required: false
  - Description: Specifies the extension of the attachment. Only applicable for custom tags of type attachment.
  - Forbidden extensions: 'ade', 'adp', 'apk', 'appx', 'appxbundle', 'bat', 'cab', 'chm', 'cmd', 'com', 'cpl', 'dll', 'dmg', 'ex', 'ex_', 'exe', 'hta', 'ins', 'isp', 'iso', 'jar', 'js', 'jse', 'lib', 'lnk', 'mde', 'msc', 'msi', 'msix', 'msixbundle', 'msp', 'mst', 'nsh', 'pif', 'ps1', 'scr', 'sct', 'shb', 'sys', 'vb', 'vbe', 'vbs', 'vxd', 'wsc', 'wsf', 'wsh'." + }, + "description": "Value for the custom tag. At least the value field must be provided.
- value
  - Type: String
  - Required: true
  - Description: Value to set for the custom tag.
  - If it is of type selector, it must be an internal identifier of an active value of this.
  - Otherwise it must be a value according to the type of option.
    - Format if it is Number type: Numeric
    - Format if it is Boolean type: 'true','false'
    - Format if it is Date type: 'yyyy-mm-dd'
    - Format if it is Attachment type: 'data:text/plain;base64,base64OfTheFile'
- fileName
  - Type: String
  - Required: false
  - Description: Specifies a name for the attachment. Must be provided in Base64. Only applicable for custom tags of type attachment.
- extension
  - Type: String
  - Required: false
  - Description: Specifies the extension of the attachment. Only applicable for custom tags of type attachment.
  - Forbidden extensions: 'ade', 'adp', 'apk', 'appx', 'appxbundle', 'bat', 'cab', 'chm', 'cmd', 'com', 'cpl', 'dll', 'dmg', 'ex', 'ex_', 'exe', 'hta', 'ins', 'isp', 'iso', 'jar', 'js', 'jse', 'lib', 'lnk', 'mde', 'msc', 'msi', 'msix', 'msixbundle', 'msp', 'mst', 'nsh', 'pif', 'ps1', 'scr', 'sct', 'shb', 'sys', 'vb', 'vbe', 'vbs', 'vxd', 'wsc', 'wsf', 'wsh'." + } + }, + "description": "Parameter block for custom tags. The tag - value pairs for that tag must match the required tags." + }, + "SetCustomTagParam": { + "type": "object", + "properties": { + "customTags": { + "type": "array", + "description": "Parameter block for custom tags. The tag - value pairs for that tag must match the required tags.", + "items": { + "$ref": "#/components/schemas/CustomTagParam" + } + } + } + }, + "PaymentSystemParam": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "minimum": 1, + "type": "integer", + "description": "Identifier of the selected payment system.", + "format": "int32" + }, + "property": { + "type": "string", + "description": "Selected property of the payment system for internal use via plugin. Required only if the payment system plugin includes defined properties." + }, + "additionalData": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Additional data required for the payment system plugin according to your specification." + }, + "description": "Additional data required for the payment system plugin according to your specification." + } + } + }, + "DeliveryParam": { + "required": [ + "deliveryHash" + ], + "type": "object", + "properties": { + "deliveryHash": { + "type": "string", + "description": "Hash code identifying the selected delivery (delivery)." + }, + "shipments": { + "type": "array", + "description": "Parameter block for assigning shipping methods to shipments of a delivery.Each shipment of delivery must be asigned the shipping method that has been selected as the means of transport.", + "items": { + "$ref": "#/components/schemas/ShipmentParam" + } + }, + "providerPickupPointHash": { + "type": "string" + } + } + }, + "ShipmentParam": { + "required": [ + "selectedShippingHash", + "shipmentHash" + ], + "type": "object", + "properties": { + "selectedShippingHash": { + "type": "string", + "description": "Hash code that identifies the selected shipping method - (shipping) - of the shipment with which it is asociated." + }, + "shipmentHash": { + "type": "string", + "description": "Hash code that identifies a shipment - (shipment) - of the delivery." + }, + "additionalData": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Additional data required by the shipping method. Only available for plugins ." + }, + "description": "Additional data required by the shipping method. Only available for plugins ." + } + }, + "description": "Parameter block for assigning shipping methods to shipments of a delivery.Each shipment of delivery must be asigned the shipping method that has been selected as the means of transport." + }, + "UpdateBasketLinkedParam": { + "type": "object", + "properties": { + "options": { + "type": "array", + "description": "Parameter block for product options. The option-value pairs sent for this option must match the options selected for the product purchased.", + "items": { + "$ref": "#/components/schemas/BasketProductOptionParam" + } + }, + "quantity": { + "type": "integer", + "description": "Number of units purchased.", + "format": "int32" + }, + "fromShoppingListRow": { + "type": "integer", + "format": "int32" + } + } + }, + "UpdateLockedStockTimer": { + "type": "object", + "properties": { + "expiresAtExtendMinutes": { + "minimum": 0, + "type": "integer", + "description": "Quantity of minutes you want to extend the expiration time of the indicated locked stock timer.
The minimum admited value is 0.
If not provided, the value of 'lockedStockTimerDefaultExtensionMinutes' setting is taken as the default value.
The expiration time of the locked stock timer will be increased according to the inticated quantity of minutes and the 'lockedStockTimerMaxLockingMinutes' and 'lockedStockTimerStrictMaxLockingMinutes' settings:
- If 'lockedStockTimerStrictMaxLockingMinutes' is enabled then the expiration time of a locked stock timer is not extendible beyond the minutes set in 'lockedStockTimerMaxLockingMinutes' from timer initialization.
- Otherwise it is allowed to indefinitely extend the expiration time but always without accumulate more than 'lockedStockTimerMaxLockingMinutes' left to expiration.", + "format": "int32" + }, + "expiresAtExtendMinutesUponUserRequest": { + "type": "boolean", + "description": "Specifies whether the update to extend the expiration time has been requested upon a user request. It is necessary to specify it in order to be able to control the 'lockedStockTimerExtendibleByUser' basketStockLocking setting.", + "default": false + } + } + }, + "BasketRowHashesRequestBody": { + "required": [ + "hashes" + ], + "type": "object", + "properties": { + "hashes": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "SetRowsResponseDTO": { + "type": "object", + "properties": { + "incidences": { + "type": "array", + "description": "Incidences of the rows added.", + "items": { + "$ref": "#/components/schemas/WarningAddProductDTO" + } + }, + "bundleIncidences": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/WarningAddBundleDTO" + } + }, + "basket": { + "$ref": "#/components/schemas/BasketDTO" + } + } + }, + "WarningAddBundleDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + } + }, + "description": "" + }, + "HashRequestBody": { + "required": [ + "hash" + ], + "type": "object", + "properties": { + "hash": { + "type": "string" + } + } + }, + "ContactParam": { + "type": "object", + "properties": { + "firstName": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Name." + }, + "lastName": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Surnames." + }, + "company": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Company." + }, + "address": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Address." + }, + "addressAdditionalInformation": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Additional address field." + }, + "number": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "House or building number." + }, + "city": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "City." + }, + "state": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Province or state." + }, + "postalCode": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "Zip code." + }, + "vat": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "Company tax identification code." + }, + "nif": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "User identity number or code." + }, + "location": { + "$ref": "#/components/schemas/LocationParam" + }, + "phone": { + "type": "string", + "description": "Phone." + }, + "mobile": { + "type": "string", + "description": "Mobile phone." + }, + "fax": { + "type": "string", + "description": "Fax." + }, + "email": { + "type": "string", + "description": "Email address." + }, + "motiveId": { + "type": "integer", + "description": "Contact reason identifier. This parameter is returned through the get contact form reason resource.", + "format": "int32" + }, + "comment": { + "type": "string", + "description": "Comment text." + } + } + }, + "LocationParam": { + "type": "object", + "properties": { + "countryCode": { + "maxLength": 2, + "minLength": 0, + "type": "string", + "description": "Country code in ISO 3166-2 format." + }, + "locationId": { + "type": "integer", + "description": "Internal identifier of a subdivision of a country.", + "format": "int32" + }, + "coordinate": { + "$ref": "#/components/schemas/CoordinateParam" + } + }, + "description": "Parameter block for the location." + }, + "MotiveDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + } + } + }, + "CustomFormSendDataRequestBody": { + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "Url to send data." + }, + "fields": { + "type": "array", + "description": "List of fields.", + "items": { + "$ref": "#/components/schemas/FieldRequestBody" + } + } + } + }, + "FieldRequestBody": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "" + }, + "value": { + "type": "string", + "description": "" + } + }, + "description": "List of fields." + }, + "AttachmentRequestBody": { + "type": "object", + "properties": { + "fileName": { + "type": "string", + "description": "File name." + }, + "data": { + "type": "string", + "description": "File data in base64." + } + }, + "description": "List of attached files." + }, + "CustomFormSendMailRequestBody": { + "required": [ + "body", + "mailAccountPId", + "subject", + "to" + ], + "type": "object", + "properties": { + "mailAccountPId": { + "type": "string", + "description": "Internal identifier of mail account." + }, + "to": { + "type": "string", + "description": "Mail main recipient." + }, + "cc": { + "type": "array", + "description": "Mail carbon copy recipients.", + "items": { + "type": "string", + "description": "Mail carbon copy recipients." + } + }, + "bcc": { + "type": "array", + "description": "Mail blind carbon copy recipients.", + "items": { + "type": "string", + "description": "Mail blind carbon copy recipients." + } + }, + "subject": { + "type": "string", + "description": "Mail subject." + }, + "body": { + "type": "string", + "description": "Mail body." + }, + "attachments": { + "type": "array", + "description": "List of attached files.", + "items": { + "$ref": "#/components/schemas/AttachmentRequestBody" + } + } + } + }, + "DeliveryNoteDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "channelId": { + "type": "integer", + "description": "Internal identifier of the assigned channel.", + "format": "int32" + }, + "documentNumber": { + "type": "string", + "description": "Document number with prefix and suffix (if any)." + }, + "date": { + "type": "string", + "description": "Date the document was created.", + "format": "date-time" + }, + "headquarter": { + "$ref": "#/components/schemas/DocumentHeadquarterDTO" + }, + "user": { + "$ref": "#/components/schemas/DocumentUserDTO" + }, + "rewardPoints": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/DocumentRewardPointsDTO" + } + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the product is considered an investment by the taxpayer for tax purposes. DEPRECATED, always false.", + "deprecated": true + }, + "information": { + "$ref": "#/components/schemas/DocumentInformationDTO" + }, + "languageCode": { + "type": "string", + "description": "International standard alphabetic code ISO 639-1 of the language." + }, + "items": { + "uniqueItems": true, + "type": "array", + "description": "Information about the document detail lines.", + "items": { + "$ref": "#/components/schemas/DeliveryNoteDocumentRowDTO" + } + } + }, + "description": "Items returned by the resource." + }, + "DeliveryNoteDocumentRowDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "hash": { + "type": "string", + "description": "Hash code of the detail line." + }, + "image": { + "type": "string", + "description": "Path to the image of the product included in the detail line." + }, + "codes": { + "$ref": "#/components/schemas/ProductCodesDTO" + }, + "options": { + "uniqueItems": true, + "type": "array", + "description": "Information about the product options included in the document detail line.", + "items": { + "$ref": "#/components/schemas/DeliveryNoteDocumentRowOptionDTO" + } + }, + "type": { + "type": "string", + "description": "Specifies the type of document detail line.", + "enum": [ + "PRODUCT", + "GIFT", + "LINKED", + "BUNDLE" + ] + }, + "itemId": { + "type": "integer", + "description": "Internal identifier of the product included in the document detail line.", + "format": "int32" + } + }, + "description": "Information about the document detail lines." + }, + "DeliveryNoteDocumentRowOptionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "sku": { + "type": "string", + "description": "Product reference code.", + "deprecated": true + }, + "prompt": { + "type": "string", + "description": "Message intended to display in the presentation layer." + }, + "optionId": { + "type": "integer", + "description": "Internal identifier of the option.", + "format": "int32" + }, + "optionPId": { + "type": "string", + "description": "Public identifier of the option." + }, + "value": { + "type": "string", + "description": "Option value for the returned language." + }, + "values": { + "type": "array", + "description": "Information about the option values.", + "items": { + "$ref": "#/components/schemas/DocumentRowOptionValueDTO" + } + } + }, + "description": "Information about the product options included in the document detail line." + }, + "DocumentCustomTagDTO": { + "type": "object", + "properties": { + "customTagId": { + "type": "integer", + "description": "Internal identifier of the custom tag.", + "format": "int32" + }, + "position": { + "type": "integer", + "description": "An integer that symbolizes the location of this item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "value": { + "type": "string", + "description": "Value for the custom tag." + }, + "controlType": { + "type": "string", + "description": "Custom tag type.", + "enum": [ + "BOOLEAN", + "NUMBER", + "SHORT_TEXT", + "DATE", + "SELECTOR", + "IMAGE", + "LONG_TEXT", + "ATTACHMENT" + ] + } + }, + "description": "Information about custom tags." + }, + "DocumentHeadquarterDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "headquarterId": { + "type": "integer", + "description": "Internal identifier of the invoicing company. ", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Name of the invoicing company." + }, + "address": { + "type": "string", + "description": "Invoicing company address." + }, + "city": { + "type": "string", + "description": "Invoicing company city." + }, + "state": { + "type": "string", + "description": "Invoicing company province or state." + }, + "vat": { + "type": "string", + "description": "Tax number of the invoicing company." + }, + "postalCode": { + "type": "string", + "description": "Invoicing company zip code." + }, + "phone": { + "type": "string", + "description": "Invoicing company phone." + }, + "email": { + "type": "string", + "description": "Invoicing company email." + }, + "logo": { + "type": "string", + "description": "Invoicing company logo." + }, + "countryCode": { + "type": "string", + "description": "Country code in ISO 3166-2 format." + } + }, + "description": "Information about the invoicing company." + }, + "DocumentInformationDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "channelId": { + "type": "integer", + "description": "Internal identifier of the assigned channel.", + "format": "int32" + }, + "transactionId": { + "type": "string", + "description": "Order transaction identifier. Only available for documents of type Order or Invoice, otherwise NULL." + }, + "authNumber": { + "type": "string", + "description": "Order authorization code." + }, + "marketplaceId": { + "type": "integer", + "description": "Internal identifier of the marketplace.", + "format": "int32" + }, + "headquarterId": { + "type": "integer", + "description": "Internal identifier of the invoicing company.", + "format": "int32" + } + }, + "description": "Document information." + }, + "DocumentRewardPointsDTO": { + "type": "object", + "properties": { + "language": { + "$ref": "#/components/schemas/NameDescriptionDTO" + }, + "expirationType": { + "type": "string", + "description": "", + "enum": [ + "BY_DATE", + "BY_DAYS", + "BY_UPDATED_DAYS" + ] + }, + "expirationDate": { + "type": "string", + "description": "", + "format": "date" + }, + "expirationDays": { + "type": "integer", + "description": "", + "format": "int32" + }, + "earned": { + "$ref": "#/components/schemas/EarnedDTO" + }, + "redeemed": { + "$ref": "#/components/schemas/RedeemedDTO" + }, + "summary": { + "$ref": "#/components/schemas/RewardPointsSummaryDTO" + }, + "rewardPointsId": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "BY_DATE", + "BY_DAYS", + "BY_UPDATED_DAYS" + ] + }, + "pId": { + "type": "string" + } + }, + "description": "" + }, + "DocumentRowOptionValueDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "value": { + "type": "string", + "description": "Option value for the returned language." + }, + "optionValuePId": { + "type": "string", + "description": "Public identifier of the option value." + }, + "optionValueId": { + "type": "integer", + "description": "Internal identifier of the option value.", + "format": "int32" + } + }, + "description": "Information about the option values." + }, + "DocumentUserBillingAddressDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "alias": { + "type": "string", + "description": "User aliases." + }, + "firstName": { + "type": "string", + "description": "Username." + }, + "lastName": { + "type": "string", + "description": "User last names." + }, + "company": { + "type": "string", + "description": "Company name." + }, + "address": { + "type": "string", + "description": "User address." + }, + "addressAdditionalInformation": { + "type": "string", + "description": "House or building number." + }, + "number": { + "type": "string", + "description": "Additional address field." + }, + "city": { + "type": "string", + "description": "Name of the city." + }, + "state": { + "type": "string", + "description": "Province or state." + }, + "postalCode": { + "type": "string", + "description": "Zip Code." + }, + "vat": { + "type": "string", + "description": "Company tax number." + }, + "nif": { + "type": "string", + "description": "User identity number or code." + }, + "location": { + "$ref": "#/components/schemas/LocationDTO" + }, + "phone": { + "type": "string", + "description": "Phone." + }, + "mobile": { + "type": "string", + "description": "Mobile phone." + }, + "fax": { + "type": "string", + "description": "Fax." + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the user is considered a taxpayer making an investment for tax purposes. DEPRECATED, always false.", + "deprecated": true + }, + "userType": { + "type": "string", + "description": "Specifies the type of user.", + "enum": [ + "EMPTY", + "PARTICULAR", + "BUSINESS", + "FREELANCE" + ] + }, + "re": { + "type": "boolean", + "description": "Specifies whether sales equalization tax applies to the user." + }, + "tax": { + "type": "boolean", + "description": "Specifies whether taxes are applied to the user." + }, + "country": { + "type": "string", + "description": "Country name." + } + }, + "description": "Information about the user's invoicing address." + }, + "DocumentUserDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "userId": { + "type": "integer", + "description": "Internal user identifier.", + "format": "int32" + }, + "email": { + "type": "string", + "description": "User email address." + }, + "lastUsed": { + "type": "string", + "description": "Last login by user.", + "format": "date-time" + }, + "gender": { + "type": "string", + "description": "Gender of the user.", + "enum": [ + "UNDEFINED", + "MALE", + "FEMALE" + ] + }, + "billingAddress": { + "$ref": "#/components/schemas/DocumentUserBillingAddressDTO" + }, + "shippingAddress": { + "$ref": "#/components/schemas/DocumentUserShippingAddressDTO" + }, + "customTags": { + "type": "array", + "description": "Information about custom user tags.", + "items": { + "$ref": "#/components/schemas/DocumentCustomTagDTO" + } + } + }, + "description": "Information about user records." + }, + "DocumentUserShippingAddressDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "alias": { + "type": "string", + "description": "User aliases." + }, + "firstName": { + "type": "string", + "description": "Username." + }, + "lastName": { + "type": "string", + "description": "User last names." + }, + "company": { + "type": "string", + "description": "Company name." + }, + "address": { + "type": "string", + "description": "User address." + }, + "addressAdditionalInformation": { + "type": "string", + "description": "House or building number." + }, + "number": { + "type": "string", + "description": "Additional address field." + }, + "city": { + "type": "string", + "description": "Name of the city." + }, + "state": { + "type": "string", + "description": "Province or state." + }, + "postalCode": { + "type": "string", + "description": "Zip Code." + }, + "vat": { + "type": "string", + "description": "Company tax number." + }, + "nif": { + "type": "string", + "description": "User identity number or code." + }, + "location": { + "$ref": "#/components/schemas/LocationDTO" + }, + "phone": { + "type": "string", + "description": "Phone." + }, + "mobile": { + "type": "string", + "description": "Mobile phone." + }, + "fax": { + "type": "string", + "description": "Fax." + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the user is considered a taxpayer making an investment for tax purposes. DEPRECATED, always false.", + "deprecated": true + }, + "userType": { + "type": "string", + "description": "Specifies the type of user.", + "deprecated": true, + "enum": [ + "EMPTY", + "PARTICULAR", + "BUSINESS", + "FREELANCE" + ] + }, + "country": { + "type": "string", + "description": "Country name." + } + }, + "description": "Information about the user's shipping address." + }, + "CreateDocumentDTO": { + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "Base64 encoded content." + } + } + }, + "DocumentItemTaxDTO": { + "type": "object", + "properties": { + "taxId": { + "type": "integer", + "description": "Internal identifier of the tax.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Name of the tax rate definition." + }, + "definitionName": { + "type": "string", + "description": "Name of the tax definition." + }, + "taxRate": { + "type": "number", + "description": "Tax rate.", + "format": "double" + }, + "reRate": { + "type": "number", + "description": "Sales equalization tax.", + "format": "double" + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + } + }, + "description": "Information about the applied tax." + }, + "LogiCommerceRichDocumentElementTaxDTO": { + "type": "object", + "properties": { + "base": { + "type": "string", + "description": "Taxable base." + }, + "taxValue": { + "type": "string", + "description": "Amount derived from applying the tax." + }, + "applyTax": { + "type": "boolean", + "description": "Specifies whether the tax is applied." + }, + "applyRE": { + "type": "boolean", + "description": "Specifies whether a sales equalization tax is included in the tax applied." + }, + "tax": { + "$ref": "#/components/schemas/DocumentItemTaxDTO" + }, + "type": { + "type": "string", + "description": "", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ] + } + } + }, + "LogiCommerceRichDocumentTaxDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the tax for the returned language." + }, + "modality": { + "type": "string", + "description": "Method of application of the tax." + }, + "taxRate": { + "type": "number", + "description": "Tax rate.", + "format": "double" + }, + "base": { + "type": "string", + "description": "Taxable base." + }, + "baseWithDiscounts": { + "type": "string", + "description": "Base amount without taking discounts into account." + }, + "taxPrice": { + "type": "string", + "description": "Amount due to the application of the tax rate of the tax." + }, + "totalPrice": { + "type": "string", + "description": "Total amount due due to taxes." + }, + "discount": { + "type": "string", + "description": "Amount due to discount." + }, + "reRate": { + "type": "number", + "description": "Sales equalization tax.", + "format": "double" + }, + "rePrice": { + "type": "string", + "description": "Amount due to the application of the sales equalization tax." + }, + "type": { + "type": "string", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ] + } + } + }, + "PluginAccountRichDocumentElementTaxDTO": { + "type": "object", + "properties": { + "base": { + "type": "string", + "description": "Taxable base." + }, + "taxValue": { + "type": "string", + "description": "Amount derived from applying the tax." + }, + "applyTax": { + "type": "boolean", + "description": "Specifies whether the tax is applied." + }, + "code": { + "type": "string", + "description": "" + }, + "type": { + "type": "string", + "description": "", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ] + } + } + }, + "PluginRichDocumentTaxDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the tax for the returned language." + }, + "modality": { + "type": "string", + "description": "Method of application of the tax." + }, + "taxRate": { + "type": "number", + "description": "Tax rate.", + "format": "double" + }, + "base": { + "type": "string", + "description": "Taxable base." + }, + "baseWithDiscounts": { + "type": "string", + "description": "Base amount without taking discounts into account." + }, + "taxPrice": { + "type": "string", + "description": "Amount due to the application of the tax rate of the tax." + }, + "totalPrice": { + "type": "string", + "description": "Total amount due due to taxes." + }, + "discount": { + "type": "string", + "description": "Amount due to discount." + }, + "code": { + "type": "string", + "description": "" + }, + "type": { + "type": "string", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ] + } + } + }, + "RichDateTime": { + "type": "object", + "properties": { + "date": { + "type": "string" + }, + "time": { + "type": "string" + } + }, + "description": "Last login by user." + }, + "RichDocumentAdditionalInformationDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "value": { + "type": "string", + "description": "Value of the additional information field." + } + }, + "description": "Additional document information. Only for documents of type Order, otherwise NULL." + }, + "RichDocumentAdditionalItemDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "" + }, + "type": { + "type": "string", + "description": "", + "enum": [ + "SHIPPING", + "PAYMENT", + "VOUCHER" + ] + }, + "amount": { + "type": "string", + "description": "" + }, + "taxes": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/RichDocumentElementTaxDTO" + } + } + }, + "description": "Additional concepts that affect the price of the document. Only for documents of type RMA, Return or CreditNote, otherwise NULL." + }, + "RichDocumentCurrencyDTO": { + "type": "object", + "properties": { + "mode": { + "type": "string", + "description": "Currency mode indicator: INVOICING indicates that the amounts are expressed in the invoicing currency, PURCHASE indicates that the amounts are expressed in the currency in which the order was placed .", + "enum": [ + "INVOICING", + "PURCHASE" + ] + }, + "name": { + "type": "string", + "description": "Currency name." + }, + "code": { + "type": "string", + "description": "Currency code in ISO 4217 format." + }, + "codeNumber": { + "type": "string", + "description": "International standard ISO 4217 currency code." + }, + "symbol": { + "type": "string", + "description": "Symbol configured for the currency." + }, + "usdValue": { + "type": "number", + "description": "Value of the currency exchange to USD at the time of placing the order.", + "format": "double" + } + }, + "description": "Information on currency records." + }, + "RichDocumentCustomTagDTO": { + "type": "object", + "properties": { + "controlType": { + "type": "string", + "description": "Custom tag type.", + "enum": [ + "BOOLEAN", + "NUMBER", + "SHORT_TEXT", + "DATE", + "SELECTOR", + "IMAGE", + "LONG_TEXT", + "ATTACHMENT" + ] + }, + "position": { + "type": "integer", + "description": "An integer that symbolizes the location of this item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "value": { + "type": "string", + "description": "Value for the custom tag." + } + }, + "description": "Information about custom user tags." + }, + "RichDocumentDTO": { + "type": "object", + "properties": { + "documentNumber": { + "type": "string", + "description": "Document number with prefix and suffix (if any)." + }, + "date": { + "$ref": "#/components/schemas/RichDateTime" + }, + "deliveryDate": { + "$ref": "#/components/schemas/RichDateTime" + }, + "paid": { + "type": "boolean", + "description": "Specifies whether the order is paid for. Only for documents of type Order, otherwise NULL." + }, + "paymentDate": { + "$ref": "#/components/schemas/RichDateTime" + }, + "comment": { + "type": "string", + "description": "" + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the product is considered an investment by the taxpayer for tax purposes. DEPRECATED, always false.", + "deprecated": true + }, + "status": { + "type": "string", + "description": "Specify current status of the document. Only for documents of type Order or RMA, otherwise NULL." + }, + "substatus": { + "type": "string", + "description": "Specify current status of the document. Only for documents of type Order or RMA, otherwise NULL." + }, + "reserve": { + "type": "boolean", + "description": "Specifies that is Order with products in reserve." + }, + "onRequestAffected": { + "type": "boolean", + "description": "Specifies that is an order with some product unit served on-request." + }, + "languageCode": { + "type": "string", + "description": "International standard alphabetic code ISO 639-1 of the language." + }, + "customTags": { + "type": "array", + "description": "Information about records of custom tags. Only for documents of type Order or Invoice, otherwise NULL. ", + "items": { + "$ref": "#/components/schemas/RichDocumentCustomTagDTO" + } + }, + "items": { + "type": "array", + "description": "Information about the document detail lines.", + "items": { + "$ref": "#/components/schemas/RichDocumentItemDTO" + } + }, + "delivery": { + "$ref": "#/components/schemas/RichDocumentDeliveryDTO" + }, + "additionalInformation": { + "type": "array", + "description": "Additional document information. Only for documents of type Order, otherwise NULL.", + "items": { + "$ref": "#/components/schemas/RichDocumentAdditionalInformationDTO" + } + }, + "currencies": { + "type": "array", + "description": "Information on currency records.", + "items": { + "$ref": "#/components/schemas/RichDocumentCurrencyDTO" + } + }, + "headquarter": { + "$ref": "#/components/schemas/RichDocumentHeadquarterDTO" + }, + "information": { + "$ref": "#/components/schemas/RichDocumentInformationDTO" + }, + "paymentSystem": { + "$ref": "#/components/schemas/RichDocumentPaymentSystemDTO" + }, + "taxes": { + "type": "array", + "description": "Information about the records of taxes applied.", + "items": { + "$ref": "#/components/schemas/RichDocumentTaxDTO" + } + }, + "totals": { + "$ref": "#/components/schemas/RichDocumentTotalDTO" + }, + "user": { + "$ref": "#/components/schemas/RichDocumentUserDTO" + }, + "rewardPoints": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/RichDocumentRewardPointsDTO" + } + }, + "vouchers": { + "type": "array", + "description": "Information about gift coupon records that are applied using a code. Only for documents of type Order or Invoice, otherwise NULL.", + "items": { + "$ref": "#/components/schemas/RichDocumentVoucherDTO" + } + }, + "discounts": { + "type": "array", + "description": "Information about records of discounts applied. Only for documents of type Order or Invoice, otherwise NULL. ", + "items": { + "$ref": "#/components/schemas/RichDocumentDiscountDTO" + } + }, + "additionalItems": { + "type": "array", + "description": "Additional concepts that affect the price of the document. Only for documents of type RMA, Return or CreditNote, otherwise NULL.", + "items": { + "$ref": "#/components/schemas/RichDocumentAdditionalItemDTO" + } + }, + "documentParents": { + "type": "array", + "description": "Origin of the selected document.", + "items": { + "$ref": "#/components/schemas/RichDocumentParentDTO" + } + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + } + } + }, + "RichDocumentDeliveryDTO": { + "type": "object", + "properties": { + "shipments": { + "type": "array", + "description": "Information about shipment records.", + "items": { + "$ref": "#/components/schemas/RichDocumentShipmentDTO" + } + }, + "type": { + "type": "string", + "enum": [ + "SHIPPING", + "PICKING" + ] + } + }, + "description": "Information about the delivery.", + "oneOf": [ + { + "$ref": "#/components/schemas/RichShippingDocumentDeliveryDTO" + }, + { + "$ref": "#/components/schemas/RichPickingDocumentDeliveryDTO" + } + ] + }, + "RichDocumentDeliveryPhysicalLocationDTO": { + "type": "object", + "properties": { + "physicalLocationPId": { + "type": "string", + "description": "Public pickup point identifier." + }, + "name": { + "type": "string", + "description": "Pickup point name." + }, + "email": { + "type": "string", + "description": "" + }, + "phone": { + "type": "string", + "description": "" + }, + "address": { + "type": "string", + "description": "Pickup point address." + }, + "city": { + "type": "string", + "description": "Pickup point city." + }, + "state": { + "type": "string", + "description": "Pickup point province or state." + }, + "postalCode": { + "type": "string", + "description": "Pickup point zip code." + }, + "location": { + "$ref": "#/components/schemas/RichLocationDTO" + } + } + }, + "RichDocumentDiscountDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "description": { + "type": "string", + "description": "Internal item description." + }, + "value": { + "type": "string", + "description": "Discount value." + }, + "valueWithTaxes": { + "type": "string", + "description": "Discount value with taxes (null for total discounts)." + } + }, + "description": "Information about records of discounts applied. Only for documents of type Order or Invoice, otherwise NULL. " + }, + "RichDocumentElementTaxDTO": { + "type": "object", + "properties": { + "base": { + "type": "string", + "description": "Taxable base." + }, + "taxValue": { + "type": "string", + "description": "Amount derived from applying the tax." + }, + "applyTax": { + "type": "boolean", + "description": "Specifies whether the tax is applied." + }, + "type": { + "type": "string", + "description": "", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ] + } + }, + "description": "", + "oneOf": [ + { + "$ref": "#/components/schemas/LogiCommerceRichDocumentElementTaxDTO" + }, + { + "$ref": "#/components/schemas/PluginAccountRichDocumentElementTaxDTO" + } + ] + }, + "RichDocumentHeadquarterDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the invoicing company." + }, + "address": { + "type": "string", + "description": "Invoicing company address." + }, + "city": { + "type": "string", + "description": "Invoicing company city." + }, + "state": { + "type": "string", + "description": "Invoicing company province or state." + }, + "vat": { + "type": "string", + "description": "Tax number of the invoicing company." + }, + "postalCode": { + "type": "string", + "description": "Invoicing company zip code." + }, + "phone": { + "type": "string", + "description": "Invoicing company phone." + }, + "email": { + "type": "string", + "description": "Invoicing company email." + }, + "countryCode": { + "type": "string", + "description": "Country code in ISO 3166-2 format." + }, + "countryName": { + "type": "string", + "description": "Country name." + }, + "logo": { + "type": "string", + "description": "Invoicing company logo." + }, + "timeZone": { + "type": "string", + "description": "" + } + }, + "description": "Information about the invoicing company." + }, + "RichDocumentInformationDTO": { + "type": "object", + "properties": { + "channelName": { + "type": "string", + "description": "Name of the assigned channel." + }, + "transactionId": { + "type": "string", + "description": "Order transaction identifier. Only available for documents of type Order or Invoice, otherwise NULL." + }, + "authNumber": { + "type": "string", + "description": "Order authorization code." + }, + "marketplaceId": { + "type": "integer", + "description": "Internal identifier of the marketplace.", + "format": "int32" + }, + "headquarterName": { + "type": "string", + "description": "Name of the invoicing company." + } + }, + "description": "Document information." + }, + "RichDocumentItemDTO": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "description": "Hash code of the detail line." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "link": { + "type": "string", + "description": "Link." + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "prices": { + "$ref": "#/components/schemas/RichDocumentItemPricesDTO" + }, + "weight": { + "type": "number", + "description": "Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established.", + "format": "double" + }, + "discounts": { + "type": "array", + "description": "Information about discounts in the detail line.", + "items": { + "$ref": "#/components/schemas/RichDocumentDiscountDTO" + } + }, + "taxes": { + "type": "array", + "description": "Information about the taxes associated with the document detail line.", + "items": { + "$ref": "#/components/schemas/RichDocumentElementTaxDTO" + } + }, + "options": { + "type": "array", + "description": "Information about the product options included in the document detail line.", + "items": { + "$ref": "#/components/schemas/RichDocumentItemOptionDTO" + } + }, + "stocks": { + "type": "array", + "description": "Information about the stock of the document detail line.", + "items": { + "$ref": "#/components/schemas/RichDocumentItemStockDTO" + } + }, + "customTags": { + "type": "array", + "description": "Information about custom tags.", + "items": { + "$ref": "#/components/schemas/RichDocumentCustomTagDTO" + } + }, + "itemId": { + "type": "integer", + "description": "Internal identifier of the product included in the document detail line.", + "format": "int32" + }, + "linkedParentId": { + "type": "integer", + "description": "Internal identifier of the parent product when the product that is part of the detail line is linked.", + "format": "int32" + }, + "image": { + "type": "string", + "description": "Path to the image of the product included in the detail line." + }, + "offer": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line is on offer." + }, + "stockManagement": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line has stock management enabled. This parameter works as long as stock management is enabled in general." + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line is under the tax consideration of the taxable person's investment. DEPRECATED, always false.", + "deprecated": true + }, + "codes": { + "$ref": "#/components/schemas/ProductCodesDTO" + }, + "noReturn": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line can be returned." + }, + "backOrder": { + "type": "string", + "description": "Reserve work method (sell inventory without stock) for the product included in the detail line.", + "enum": [ + "NONE", + "WITH_AND_WITHOUT_PREVISION", + "WITHOUT_PREVISION", + "WITH_PREVISION" + ] + }, + "onRequest": { + "type": "boolean", + "description": "Specifies the 'onRequest' setting that the product had when the order was created.
This setting specifies whether the product can be served on-request in case of being out of stock.
The product units that are out of stock will be served on-request in case the product has this setting activated, and also the store and the product have the 'stock management' setting activated, and also the product has its stock lines defined." + }, + "onRequestDays": { + "type": "integer", + "description": "Specifies the 'onRequestDays' setting that the product had when the order was created.
This setting specifies the number of days of preparation that the product needs if it is served on-request. This information is used to display an estimated departure date in this case.", + "format": "int32" + }, + "type": { + "type": "string", + "description": "Specifies the type of document detail line.", + "enum": [ + "PRODUCT", + "GIFT", + "LINKED", + "BUNDLE" + ] + }, + "reserve": { + "type": "boolean", + "description": "Specifies that the product is In reserve." + }, + "onRequestAffected": { + "type": "boolean", + "description": "Specifies that some unit of the detail line’s product is served on-request." + }, + "brandName": { + "type": "string", + "description": "Brand name." + } + }, + "description": "Information about the document detail lines.", + "oneOf": [ + { + "$ref": "#/components/schemas/RichReturnProcessDocumentRowDTO" + }, + { + "$ref": "#/components/schemas/RichDocumentItemDTO" + } + ] + }, + "RichDocumentItemOptionDTO": { + "type": "object", + "properties": { + "values": { + "type": "array", + "description": "Information about the option values.", + "items": { + "$ref": "#/components/schemas/RichDocumentItemOptionValueDTO" + } + }, + "sku": { + "type": "string", + "description": "Product reference code." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "prompt": { + "type": "string", + "description": "Message intended to display in the presentation layer." + }, + "value": { + "type": "string", + "description": "Option value for the returned language." + }, + "price": { + "type": "string", + "description": "Total increase in the price due to the different option values." + }, + "priceWithTaxes": { + "type": "string", + "description": "Total increase in the price with taxes due to the different option values." + }, + "weight": { + "type": "number", + "description": "Total increase in weight due to the different option values.", + "format": "double" + }, + "uniquePrice": { + "type": "boolean", + "description": "Specifies whether, regardless of the units purchased of the product, the option price will be applied only once." + }, + "valueType": { + "type": "string", + "description": "Specifies the type of option.", + "enum": [ + "BOOLEAN", + "SHORT_TEXT", + "SINGLE_SELECTION", + "MULTIPLE_SELECTION", + "SINGLE_SELECTION_IMAGE", + "MULTIPLE_SELECTION_IMAGE", + "SELECTOR", + "DATE", + "LONG_TEXT", + "ATTACHMENT" + ] + }, + "previousPrice": { + "type": "string", + "description": "Total increase in the base price of the product due to the different option values in the event it has an offer price." + }, + "previousPriceWithTaxes": { + "type": "string", + "description": "Total increase in the base price with taxes of the product due to the different option values in the event it has an offer price." + }, + "optionPId": { + "type": "string", + "description": "Public identifier of the option." + }, + "combinable": { + "type": "boolean", + "description": "Specifies whether the values ​​of this option are used to generate combinations of options." + } + }, + "description": "Information about the product options included in the document detail line." + }, + "RichDocumentItemOptionValueDTO": { + "type": "object", + "properties": { + "weight": { + "type": "number", + "description": "Weight increase due to option value.", + "format": "double" + }, + "price": { + "type": "string", + "description": "Increase in the price of the product due to the option value." + }, + "priceWithTaxes": { + "type": "string", + "description": "Increase in the price with taxes of the product due to the option value." + }, + "previousPrice": { + "type": "string", + "description": "Increase in the base price of the product due to the option value in the event it has an offer price." + }, + "previousPriceWithTaxes": { + "type": "string", + "description": "Increase in the base price with taxes of the product due to the option value in the event it has an offer price." + }, + "value": { + "type": "string", + "description": "Option value for the returned language." + }, + "optionValuePId": { + "type": "string", + "description": "Public identifier of the option value." + }, + "noReturn": { + "type": "boolean", + "description": "Specifies that products with this option value assigned cannot be returned." + } + }, + "description": "Information about the option values." + }, + "RichDocumentItemPricesDTO": { + "type": "object", + "properties": { + "productPrice": { + "type": "string", + "description": "Price of the product without adding increases due to option values." + }, + "productPriceWithTaxes": { + "type": "string", + "description": "Price with taxes of the product without adding increases due to option values." + }, + "optionsPrice": { + "type": "string", + "description": "Total increase in the price due to the different option values." + }, + "optionsPriceWithTaxes": { + "type": "string", + "description": "Total increase with taxes in the price due to the different option values." + }, + "previousPrice": { + "type": "string", + "description": "Increase in the base price of the product due to the option value in the event it has an offer price." + }, + "previousPriceWithTaxes": { + "type": "string", + "description": "Increase with taxes in the base price of the product due to the option value in the event it has an offer price." + }, + "price": { + "type": "string", + "description": "Total amount resulting from adding the price of the product and the price of the options." + }, + "priceWithTaxes": { + "type": "string", + "description": "Total amount with taxes resulting from adding the price of the product and the price of the options." + }, + "totalTaxesValue": { + "type": "string", + "description": "Amount due to applying tax." + }, + "totalDiscountsValue": { + "type": "string", + "description": "Total discounts value." + }, + "total": { + "type": "string", + "description": "Total amount." + }, + "totalWithDiscounts": { + "type": "string", + "description": "Total amount with discounts applied." + }, + "totalWithDiscountsWithTaxes": { + "type": "string", + "description": "Total amount with discounts applied and taxes included." + } + }, + "description": "Price information." + }, + "RichDocumentItemStockDTO": { + "type": "object", + "properties": { + "warehouseName": { + "type": "string", + "description": "Warehouse internal identifier." + }, + "warehouseGroupName": { + "type": "string", + "description": "Logistic center internal identifier." + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "incomingDate": { + "type": "string", + "description": "Stock provision date, if any." + }, + "missingStockQuantity": { + "type": "integer", + "description": "Specifies the number of product units for which there is not enough stock.", + "format": "int32" + }, + "offsetDays": { + "type": "integer", + "description": "Preparation or compensation days that the warehouse needs before it can supply stock.", + "format": "int32" + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "hash": { + "type": "string", + "description": "The hash of the item." + }, + "previsionType": { + "type": "string", + "description": "Type of provision, if any.", + "enum": [ + "RESERVE", + "PREVISION", + "AVAILABLE" + ] + } + }, + "description": "Information about the stock of the document detail line." + }, + "RichDocumentNameDescriptionDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Element name for the returned language." + }, + "description": { + "type": "string", + "description": "Description of the item for the returned language." + } + }, + "description": "" + }, + "RichDocumentParentDTO": { + "type": "object", + "properties": { + "documentNumber": { + "type": "string", + "description": "Document number with prefix and suffix (if any)." + }, + "date": { + "$ref": "#/components/schemas/RichDateTime" + }, + "documentType": { + "type": "string", + "description": "Document type.", + "enum": [ + "ORDER", + "DELIVERY_NOTE", + "INVOICE", + "RMA", + "RETURN", + "CORRECTIVE_INVOICE" + ] + } + }, + "description": "Origin of the selected document." + }, + "RichDocumentPaymentSystemDTO": { + "type": "object", + "properties": { + "taxes": { + "type": "array", + "description": "Information about the taxes associated with the payment system.", + "items": { + "$ref": "#/components/schemas/RichDocumentElementTaxDTO" + } + }, + "paymentSystemPId": { + "type": "string", + "description": "Public identifier of the payment system." + }, + "name": { + "type": "string", + "description": "Name of the payment system for the returned language." + }, + "message": { + "type": "string", + "description": "Message of the payment system for the returned language." + }, + "increaseType": { + "type": "string", + "description": "Specifies the type of increase to apply.", + "enum": [ + "ABSOLUTE", + "PERCENTAGE" + ] + }, + "increaseValue": { + "type": "number", + "description": "Fixed amount or percentage to be added to the total order.", + "format": "double" + }, + "price": { + "type": "string", + "description": "Indicates the price increase on the order due to the payment system." + }, + "priceWithTaxes": { + "type": "string", + "description": "Indicates the price increase on the order due to the payment system." + }, + "increaseMin": { + "type": "number", + "description": "Minimum value to be added to the order total in the event that the calculation using increaseValue is less than this value.", + "format": "double" + }, + "paymentType": { + "type": "string", + "description": "", + "enum": [ + "FORM", + "OFFLINE", + "NO_PAY", + "CASH_ON_DELIVERY", + "WIDGET", + "REDIRECT" + ] + } + }, + "description": "Information about the payment system records. Only for documents of type Order or Invoice, otherwise NULL." + }, + "RichDocumentRewardPointsDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Public identifier of the item.", + "format": "int32" + }, + "expirationDate": { + "type": "string", + "description": "" + }, + "expirationDays": { + "type": "integer", + "description": "", + "format": "int32" + }, + "earned": { + "$ref": "#/components/schemas/RichDocumentRewardPointsEarnedDTO" + }, + "redeemed": { + "$ref": "#/components/schemas/RichDocumentRewardPointsRedeemedDTO" + }, + "summary": { + "$ref": "#/components/schemas/RichDocumentRewardPointsSummaryDTO" + }, + "language": { + "$ref": "#/components/schemas/RichDocumentNameDescriptionDTO" + }, + "pid": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "description": "" + }, + "RichDocumentRewardPointsEarnedDTO": { + "type": "object", + "properties": { + "rules": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/RichDocumentRewardPointsEarnedRuleDTO" + } + } + }, + "description": "" + }, + "RichDocumentRewardPointsEarnedRuleDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "", + "format": "int32" + }, + "language": { + "$ref": "#/components/schemas/RichDocumentNameDescriptionDTO" + }, + "from": { + "type": "string", + "description": "" + }, + "to": { + "type": "string", + "description": "" + }, + "value": { + "type": "number", + "description": "", + "format": "double" + }, + "type": { + "type": "string", + "description": "" + }, + "valueMode": { + "type": "string", + "description": "" + }, + "earned": { + "type": "number", + "description": "", + "format": "double" + } + }, + "description": "" + }, + "RichDocumentRewardPointsRedeemedDTO": { + "type": "object", + "properties": { + "toRedeem": { + "type": "integer", + "description": "", + "format": "int32" + }, + "rules": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/RichDocumentRewardPointsRedeemedRuleDTO" + } + } + }, + "description": "" + }, + "RichDocumentRewardPointsRedeemedRuleDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "", + "format": "int32" + }, + "language": { + "$ref": "#/components/schemas/RichDocumentNameDescriptionDTO" + }, + "from": { + "type": "string", + "description": "" + }, + "to": { + "type": "string", + "description": "" + }, + "value": { + "type": "number", + "description": "", + "format": "double" + }, + "redeemed": { + "type": "integer", + "description": "", + "format": "int32" + } + }, + "description": "" + }, + "RichDocumentRewardPointsSummaryDTO": { + "type": "object", + "properties": { + "totalByUnits": { + "type": "integer", + "description": "", + "format": "int32" + }, + "totalByAmount": { + "type": "integer", + "description": "", + "format": "int32" + }, + "totalRedeemed": { + "type": "integer", + "description": "", + "format": "int32" + }, + "totalEarned": { + "type": "integer", + "description": "", + "format": "int32" + } + }, + "description": "" + }, + "RichDocumentShipmentDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "getpId": { + "type": "string" + }, + "status": { + "type": "string", + "description": "Specifies the status of the shipment.", + "enum": [ + "NONE", + "PENDING", + "PROCESSING", + "SHIPPED", + "DELIVERED", + "INCIDENTS" + ] + }, + "substatus": { + "type": "string", + "description": "Name of the current substatus of the shhipment." + }, + "originWarehouseGroupName": { + "type": "string", + "description": "Name of the logistic center originating the shipment." + }, + "physicalLocationName": { + "type": "string", + "description": "Internal pickup point name." + }, + "incomingDate": { + "type": "string", + "description": "Delivery date of the shipment." + }, + "items": { + "type": "array", + "description": "Information about products included in the shipment.", + "items": { + "$ref": "#/components/schemas/RichDocumentShipmentItemDTO" + } + }, + "shipping": { + "$ref": "#/components/schemas/RichDocumentShippingDTO" + }, + "trackingNumber": { + "type": "string", + "description": "" + }, + "trackingUrl": { + "type": "string", + "description": "" + } + }, + "description": "Information about shipment records." + }, + "RichDocumentShipmentItemDTO": { + "type": "object", + "properties": { + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "hash": { + "type": "string", + "description": "The hash of the item." + } + }, + "description": "Information about products included in the shipment." + }, + "RichDocumentShippingDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Shipper name for the returned language." + }, + "price": { + "type": "string", + "description": "Shipping method price." + }, + "priceWithTaxes": { + "type": "string", + "description": "Shipping method price with taxes." + }, + "priceWithDiscounts": { + "type": "string", + "description": "Shipping method price with applied discounts." + }, + "priceWithDiscountsWithTaxes": { + "type": "string", + "description": "Shipping method price with applied discounts and taxes." + }, + "shippingTypeName": { + "type": "string", + "description": "Shipping type name for the returned language." + }, + "shippingSectionId": { + "type": "integer", + "description": "Internal identifier of the range assigned to the shipping type.", + "format": "int32" + }, + "shippingCalculation": { + "type": "string", + "description": "Specifies for the shipment whether the calculation of shipping costs is determined by weight or by units sold.", + "enum": [ + "BY_WEIGHT", + "BY_UNITS" + ] + }, + "shipperPId": { + "type": "string", + "description": "Carrier's public identifier." + }, + "shippingTypePId": { + "type": "string", + "description": "Public identifier of the shipping type." + }, + "taxes": { + "type": "array", + "description": "Information about taxes applied to the shipping method.", + "items": { + "$ref": "#/components/schemas/RichDocumentElementTaxDTO" + } + }, + "discounts": { + "type": "array", + "description": "Information about discounts applied to shipping.", + "items": { + "$ref": "#/components/schemas/RichDocumentDiscountDTO" + } + } + }, + "description": "Information on shipping methods." + }, + "RichDocumentTaxDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the tax for the returned language." + }, + "modality": { + "type": "string", + "description": "Method of application of the tax." + }, + "taxRate": { + "type": "number", + "description": "Tax rate.", + "format": "double" + }, + "base": { + "type": "string", + "description": "Taxable base." + }, + "baseWithDiscounts": { + "type": "string", + "description": "Base amount without taking discounts into account." + }, + "taxPrice": { + "type": "string", + "description": "Amount due to the application of the tax rate of the tax." + }, + "totalPrice": { + "type": "string", + "description": "Total amount due due to taxes." + }, + "discount": { + "type": "string", + "description": "Amount due to discount." + }, + "type": { + "type": "string", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ] + } + }, + "description": "Information about the records of taxes applied.", + "oneOf": [ + { + "$ref": "#/components/schemas/LogiCommerceRichDocumentTaxDTO" + }, + { + "$ref": "#/components/schemas/PluginRichDocumentTaxDTO" + } + ] + }, + "RichDocumentTotalDTO": { + "type": "object", + "properties": { + "totalRows": { + "type": "string", + "description": "Amount due to detail lines before applying taxes." + }, + "totalRowsWithTaxes": { + "type": "string", + "description": "Amount due to the detail lines with taxes applied." + }, + "totalShippingsWithDiscounts": { + "type": "string", + "description": "Full amount without tax included due to shipping methods." + }, + "totalShippingsWithDiscountsWithTaxes": { + "type": "string", + "description": "Full amount with taxes included due to shipping methods." + }, + "totalPaymentSystem": { + "type": "string", + "description": "Total amount without taxes included due to the payment system." + }, + "totalPaymentSystemWithTaxes": { + "type": "string", + "description": "Total amount with taxes included due to the payment system." + }, + "total": { + "type": "string", + "description": "Sum of the previous subtotals." + }, + "totalWithDiscounts": { + "type": "string", + "description": "Total amount of the document." + }, + "totalTaxesValue": { + "type": "string", + "description": "Total amount due to tax application." + }, + "totalWithDiscountsWithTaxes": { + "type": "string", + "description": "Total amount of the document." + }, + "totalRowsDiscountsValue": { + "type": "string", + "description": "Total amount due to discounts applied to detail lines." + }, + "totalBasketDiscountsValue": { + "type": "string", + "description": "Total amount due to discounts applied to the total." + }, + "totalShippingDiscountsValue": { + "type": "string", + "description": "Total amount due to discounts applied to shipping methods." + }, + "totalVouchers": { + "type": "string", + "description": "Total amount due to added gift coupons." + }, + "totalPicking": { + "type": "string", + "description": "Full amount with taxes included due to picking prices." + }, + "totalPickingWithTaxes": { + "type": "string", + "description": "" + } + }, + "description": "Information on the records of the totals." + }, + "RichDocumentUserAdditionalDTO": { + "type": "object", + "properties": { + "salesAgent": { + "type": "boolean", + "description": "If user is sales agent." + }, + "salesAgentName": { + "type": "string", + "description": "Sales agent name, if user has sales agent assigned." + }, + "blogger": { + "type": "boolean", + "description": "If user is blogger." + }, + "bloggerName": { + "type": "string", + "description": "Blogger name." + } + }, + "description": "Additional user information." + }, + "RichDocumentUserBillingAddressDTO": { + "type": "object", + "properties": { + "alias": { + "type": "string", + "description": "User aliases." + }, + "firstName": { + "type": "string", + "description": "Username." + }, + "lastName": { + "type": "string", + "description": "User last names." + }, + "company": { + "type": "string", + "description": "Company name." + }, + "address": { + "type": "string", + "description": "User address." + }, + "addressAdditionalInformation": { + "type": "string", + "description": "House or building number." + }, + "number": { + "type": "string", + "description": "Additional address field." + }, + "city": { + "type": "string", + "description": "Name of the city." + }, + "state": { + "type": "string", + "description": "Province or state." + }, + "postalCode": { + "type": "string", + "description": "Zip Code." + }, + "vat": { + "type": "string", + "description": "Company tax number." + }, + "nif": { + "type": "string", + "description": "User identity number or code." + }, + "location": { + "$ref": "#/components/schemas/RichLocationDTO" + }, + "phone": { + "type": "string", + "description": "Phone." + }, + "mobile": { + "type": "string", + "description": "Mobile phone." + }, + "fax": { + "type": "string", + "description": "Fax." + }, + "tax": { + "type": "boolean", + "description": "Specifies whether taxes are applied to the user." + }, + "re": { + "type": "boolean", + "description": "Specifies whether sales equalization tax applies to the user." + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the user is considered a taxpayer making an investment for tax purposes. DEPRECATED, always false.", + "deprecated": true + }, + "country": { + "type": "string", + "description": "Country name." + }, + "userType": { + "type": "string", + "description": "Specifies the type of user.", + "enum": [ + "EMPTY", + "PARTICULAR", + "BUSINESS", + "FREELANCE" + ] + } + }, + "description": "Information about the user's invoicing address." + }, + "RichDocumentUserDTO": { + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "User email address." + }, + "lastUsed": { + "$ref": "#/components/schemas/RichDateTime" + }, + "gender": { + "type": "string", + "description": "Gender of the user.", + "enum": [ + "UNDEFINED", + "MALE", + "FEMALE" + ] + }, + "billingAddress": { + "$ref": "#/components/schemas/RichDocumentUserBillingAddressDTO" + }, + "shippingAddress": { + "$ref": "#/components/schemas/RichDocumentUserShippingAddressDTO" + }, + "customTags": { + "type": "array", + "description": "Information about custom user tags.", + "items": { + "$ref": "#/components/schemas/RichDocumentCustomTagDTO" + } + }, + "additionalInfo": { + "$ref": "#/components/schemas/RichDocumentUserAdditionalDTO" + } + }, + "description": "Information about user records." + }, + "RichDocumentUserShippingAddressDTO": { + "type": "object", + "properties": { + "alias": { + "type": "string", + "description": "User aliases." + }, + "firstName": { + "type": "string", + "description": "Username." + }, + "lastName": { + "type": "string", + "description": "User last names." + }, + "company": { + "type": "string", + "description": "Company name." + }, + "address": { + "type": "string", + "description": "User address." + }, + "addressAdditionalInformation": { + "type": "string", + "description": "House or building number." + }, + "number": { + "type": "string", + "description": "Additional address field." + }, + "city": { + "type": "string", + "description": "Name of the city." + }, + "state": { + "type": "string", + "description": "Province or state." + }, + "postalCode": { + "type": "string", + "description": "Zip Code." + }, + "vat": { + "type": "string", + "description": "Company tax number." + }, + "nif": { + "type": "string", + "description": "User identity number or code." + }, + "location": { + "$ref": "#/components/schemas/RichLocationDTO" + }, + "phone": { + "type": "string", + "description": "Phone." + }, + "mobile": { + "type": "string", + "description": "Mobile phone." + }, + "fax": { + "type": "string", + "description": "Fax." + }, + "tax": { + "type": "boolean", + "description": "Specifies whether taxes are applied to the user." + }, + "re": { + "type": "boolean", + "description": "Specifies whether sales equalization tax applies to the user." + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the user is considered a taxpayer making an investment for tax purposes. DEPRECATED, always false.", + "deprecated": true + }, + "country": { + "type": "string", + "description": "Country name." + } + }, + "description": "Information about the user's shipping address." + }, + "RichDocumentVoucherDTO": { + "type": "object", + "properties": { + "availableBalance": { + "type": "string", + "description": "Total amount applied for the gift coupon." + }, + "code": { + "type": "string", + "description": "Promotional code." + } + }, + "description": "Information about gift coupon records that are applied using a code. Only for documents of type Order or Invoice, otherwise NULL." + }, + "RichLocationDTO": { + "type": "object", + "properties": { + "coordinate": { + "$ref": "#/components/schemas/CoordinateDTO" + }, + "countryName": { + "type": "string", + "description": "Country name." + } + }, + "description": "Location information." + }, + "RichPickingDocumentDeliveryDTO": { + "type": "object", + "properties": { + "shipments": { + "type": "array", + "description": "Information about shipment records.", + "items": { + "$ref": "#/components/schemas/RichDocumentShipmentDTO" + } + }, + "price": { + "type": "string", + "description": "Shipping method price." + }, + "priceWithTaxes": { + "type": "string", + "description": "Shipping method price with taxes." + }, + "taxes": { + "type": "array", + "description": "Information about taxes applied to the shipping method.", + "items": { + "$ref": "#/components/schemas/RichDocumentElementTaxDTO" + } + }, + "mode": { + "$ref": "#/components/schemas/RichPickingDocumentDeliveryModeDTO" + }, + "type": { + "type": "string", + "description": "Specifies the type of delivery.", + "enum": [ + "SHIPPING", + "PICKING" + ] + } + } + }, + "RichPickingDocumentDeliveryModeDTO": { + "type": "object", + "properties": { + "physicalLocation": { + "$ref": "#/components/schemas/RichDocumentDeliveryPhysicalLocationDTO" + }, + "type": { + "type": "string", + "description": "Specifies the picking mode.", + "enum": [ + "PROVIDER_PICKUP_POINT", + "PICKUP_POINT_PHYSICAL_LOCATION" + ] + } + }, + "description": "Information about the picking mode." + }, + "RichReturnProcessDocumentRowDTO": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "description": "Hash code of the detail line." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "link": { + "type": "string", + "description": "Link." + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "prices": { + "$ref": "#/components/schemas/RichDocumentItemPricesDTO" + }, + "weight": { + "type": "number", + "description": "Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established.", + "format": "double" + }, + "discounts": { + "type": "array", + "description": "Information about discounts in the detail line.", + "items": { + "$ref": "#/components/schemas/RichDocumentDiscountDTO" + } + }, + "taxes": { + "type": "array", + "description": "Information about the taxes associated with the document detail line.", + "items": { + "$ref": "#/components/schemas/RichDocumentElementTaxDTO" + } + }, + "options": { + "type": "array", + "description": "Information about the product options included in the document detail line.", + "items": { + "$ref": "#/components/schemas/RichDocumentItemOptionDTO" + } + }, + "stocks": { + "type": "array", + "description": "Information about the stock of the document detail line.", + "items": { + "$ref": "#/components/schemas/RichDocumentItemStockDTO" + } + }, + "customTags": { + "type": "array", + "description": "Information about custom tags.", + "items": { + "$ref": "#/components/schemas/RichDocumentCustomTagDTO" + } + }, + "itemId": { + "type": "integer", + "description": "Internal identifier of the product included in the document detail line.", + "format": "int32" + }, + "linkedParentId": { + "type": "integer", + "description": "Internal identifier of the parent product when the product that is part of the detail line is linked.", + "format": "int32" + }, + "image": { + "type": "string", + "description": "Path to the image of the product included in the detail line." + }, + "offer": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line is on offer." + }, + "stockManagement": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line has stock management enabled. This parameter works as long as stock management is enabled in general." + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line is under the tax consideration of the taxable person's investment. DEPRECATED, always false.", + "deprecated": true + }, + "codes": { + "$ref": "#/components/schemas/ProductCodesDTO" + }, + "noReturn": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line can be returned." + }, + "backOrder": { + "type": "string", + "description": "Reserve work method (sell inventory without stock) for the product included in the detail line.", + "enum": [ + "NONE", + "WITH_AND_WITHOUT_PREVISION", + "WITHOUT_PREVISION", + "WITH_PREVISION" + ] + }, + "onRequest": { + "type": "boolean", + "description": "Specifies the 'onRequest' setting that the product had when the order was created.
This setting specifies whether the product can be served on-request in case of being out of stock.
The product units that are out of stock will be served on-request in case the product has this setting activated, and also the store and the product have the 'stock management' setting activated, and also the product has its stock lines defined." + }, + "onRequestDays": { + "type": "integer", + "description": "Specifies the 'onRequestDays' setting that the product had when the order was created.
This setting specifies the number of days of preparation that the product needs if it is served on-request. This information is used to display an estimated departure date in this case.", + "format": "int32" + }, + "type": { + "type": "string", + "description": "Specifies the type of document detail line.", + "enum": [ + "PRODUCT", + "GIFT", + "LINKED", + "BUNDLE" + ] + }, + "reserve": { + "type": "boolean", + "description": "Specifies that the product is In reserve." + }, + "onRequestAffected": { + "type": "boolean", + "description": "Specifies that some unit of the detail line’s product is served on-request." + }, + "brandName": { + "type": "string", + "description": "Brand name." + }, + "rmaReason": { + "$ref": "#/components/schemas/RichReturnProcessDocumentRowRMAReasonDTO" + } + } + }, + "RichReturnProcessDocumentRowRMAReasonDTO": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the RMA reason for the language of the document." + }, + "comment": { + "type": "string", + "description": "Additional comment for this RMA reason." + }, + "rmaReasonPId": { + "type": "string", + "description": "Public identifier of the RMA reason." + } + }, + "description": "Information about the RMA reason for this row." + }, + "RichShippingDocumentDeliveryDTO": { + "type": "object", + "properties": { + "shipments": { + "type": "array", + "description": "Information about shipment records.", + "items": { + "$ref": "#/components/schemas/RichDocumentShipmentDTO" + } + }, + "type": { + "type": "string", + "description": "Specifies the type of delivery.", + "enum": [ + "SHIPPING", + "PICKING" + ] + } + } + }, + "DeliveryCollectionDTO": { + "type": "object", + "properties": { + "filter": { + "$ref": "#/components/schemas/PhysicalLocationFilterDTO" + }, + "pagination": { + "$ref": "#/components/schemas/PaginationDTODeliveryDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/DeliveryDTO" + } + } + } + }, + "DeliveryDTO": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specifies the type of delivery.", + "enum": [ + "SHIPPING", + "PICKING" + ] + }, + "deliveryRows": { + "type": "array", + "description": "Information about products included in the delivery.", + "items": { + "$ref": "#/components/schemas/DeliveryRowDTO" + } + }, + "shipments": { + "type": "array", + "description": "Information about shipments.", + "items": { + "$ref": "#/components/schemas/ShipmentDTO" + } + }, + "selected": { + "type": "boolean", + "description": "Specifies whether it is the selected delivery in cart." + }, + "multiShipment": { + "type": "boolean", + "description": "" + }, + "hash": { + "type": "string" + }, + "canBeShipped": { + "type": "boolean" + }, + "zone": { + "$ref": "#/components/schemas/GeographicalZoneDTO" + } + }, + "description": "Items returned by the resource.", + "oneOf": [ + { + "$ref": "#/components/schemas/ShippingDeliveryDTO" + }, + { + "$ref": "#/components/schemas/PickingDeliveryDTO" + } + ] + }, + "DeprecatedPhysicalLocationDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "active": { + "type": "boolean", + "description": "Specifies whether the item is enabled." + }, + "phone": { + "type": "string", + "description": "Physical location email phone." + }, + "email": { + "type": "string", + "description": "Physical location email address." + }, + "address": { + "type": "string", + "description": "Physical location address." + }, + "postalCode": { + "type": "string", + "description": "Zip code of the physical location." + }, + "city": { + "type": "string", + "description": "City of physical location." + }, + "state": { + "type": "string", + "description": "Province or state of physical location." + }, + "location": { + "$ref": "#/components/schemas/LocationDTO" + }, + "visibleOnMap": { + "type": "boolean", + "description": "Specifies whether the physical location can be displayed on a map." + }, + "zoneRadius": { + "type": "number", + "description": "Specifies the radius of distance (in km) of the area of ​​influence of the physical location.", + "format": "double" + }, + "deliveryPoint": { + "type": "boolean", + "description": "Specifies whether the physical location is a delivery point." + }, + "returnPoint": { + "type": "boolean", + "description": "Specifies whether the physical location is a return point." + }, + "language": { + "$ref": "#/components/schemas/PhysicalLocationLanguageDTO" + } + }, + "description": "Information about the physical location for picking.", + "deprecated": true + }, + "PaginationDTODeliveryDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "PhysicalLocationFilterDTO": { + "type": "object", + "properties": { + "physicalLocations": { + "$ref": "#/components/schemas/FilterTextualLocationsDTO" + } + }, + "description": "Information about distinct filterable values over the returned items." + }, + "PickingDeliveryDTO": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specifies the type of delivery.", + "enum": [ + "SHIPPING", + "PICKING" + ] + }, + "deliveryRows": { + "type": "array", + "description": "Information about products included in the delivery.", + "items": { + "$ref": "#/components/schemas/DeliveryRowDTO" + } + }, + "shipments": { + "type": "array", + "description": "Information about shipments.", + "items": { + "$ref": "#/components/schemas/ShipmentDTO" + } + }, + "selected": { + "type": "boolean", + "description": "Specifies whether it is the selected delivery in cart." + }, + "multiShipment": { + "type": "boolean", + "description": "" + }, + "hash": { + "type": "string" + }, + "canBeShipped": { + "type": "boolean" + }, + "price": { + "type": "number", + "description": "Information about the picking price. Tax not included.", + "format": "double" + }, + "priceWithTaxes": { + "type": "number", + "description": "Information about the picking price. Tax included.", + "format": "double" + }, + "appliedTaxes": { + "type": "array", + "description": "Information about taxes applied to the picking price.", + "items": { + "$ref": "#/components/schemas/AppliedTaxDTO" + } + }, + "mode": { + "$ref": "#/components/schemas/PickingDeliveryModeDTO" + }, + "physicalLocation": { + "$ref": "#/components/schemas/DeprecatedPhysicalLocationDTO" + }, + "zone": { + "$ref": "#/components/schemas/GeographicalZoneDTO" + } + } + }, + "ShipmentDTO": { + "type": "object", + "properties": { + "offsetDays": { + "type": "integer", + "format": "int64" + }, + "originWarehouseGroupId": { + "type": "integer", + "description": "Internal identifier of the logistic center originating the shipment.", + "format": "int32" + }, + "shippingCalculation": { + "type": "string", + "description": "Specifies for the shipment whether the calculation of shipping costs is determined by weight or by units sold.", + "enum": [ + "BY_WEIGHT", + "BY_UNITS" + ] + }, + "destinationZone": { + "$ref": "#/components/schemas/GeographicalZoneDTO" + }, + "shippings": { + "type": "array", + "description": "Information about shipping methods.", + "items": { + "$ref": "#/components/schemas/ShippingDTO" + } + }, + "rows": { + "type": "array", + "description": "Information about products included in the shipment.", + "items": { + "$ref": "#/components/schemas/ShipmentRowDTO" + } + }, + "hash": { + "type": "string" + }, + "appliedDiscounts": { + "type": "array", + "description": "Discount applied to shipping for each shipment.", + "items": { + "$ref": "#/components/schemas/AppliedDiscountDTO" + } + } + }, + "description": "Information about shipments." + }, + "ShippingDeliveryDTO": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specifies the type of delivery.", + "enum": [ + "SHIPPING", + "PICKING" + ] + }, + "deliveryRows": { + "type": "array", + "description": "Information about products included in the delivery.", + "items": { + "$ref": "#/components/schemas/DeliveryRowDTO" + } + }, + "shipments": { + "type": "array", + "description": "Information about shipments.", + "items": { + "$ref": "#/components/schemas/ShipmentDTO" + } + }, + "selected": { + "type": "boolean", + "description": "Specifies whether it is the selected delivery in cart." + }, + "multiShipment": { + "type": "boolean", + "description": "" + }, + "hash": { + "type": "string" + }, + "canBeShipped": { + "type": "boolean" + }, + "zone": { + "$ref": "#/components/schemas/GeographicalZoneDTO" + } + } + }, + "PaginationDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "ProviderPickupPointPickingDeliveryCollectionDTO": { + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/DeliveryDTO" + } + } + } + }, + "DeliveryShippingCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTODeliveryDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/DeliveryDTO" + } + } + } + }, + "DeprecatedDocumentDeliveryPhysicalLocationDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "physicalLocationId": { + "type": "integer", + "description": "Internal pickup point identifier.", + "format": "int32" + }, + "physicalLocationPId": { + "type": "string", + "description": "Public pickup point identifier." + }, + "name": { + "type": "string", + "description": "Pickup point name." + }, + "email": { + "type": "string", + "description": "" + }, + "phone": { + "type": "string", + "description": "" + }, + "address": { + "type": "string", + "description": "Pickup point address." + }, + "city": { + "type": "string", + "description": "Pickup point city." + }, + "state": { + "type": "string", + "description": "Pickup point province or state." + }, + "postalCode": { + "type": "string", + "description": "Pickup point zip code." + }, + "location": { + "$ref": "#/components/schemas/LocationDTO" + }, + "country": { + "type": "string", + "description": "Country name." + } + }, + "description": "", + "deprecated": true + }, + "DocumentAppliedTaxDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "base": { + "type": "number", + "description": "Taxable base.", + "format": "double" + }, + "taxRate": { + "type": "number", + "description": "Tax rate.", + "format": "double" + }, + "taxValue": { + "type": "number", + "description": "Amount derived from applying the tax.", + "format": "double" + }, + "applyTax": { + "type": "boolean", + "description": "Specifies whether the tax is applied." + }, + "type": { + "type": "string", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ] + } + }, + "description": "", + "oneOf": [ + { + "$ref": "#/components/schemas/LogiCommerceDocumentAppliedTaxDTO" + }, + { + "$ref": "#/components/schemas/PluginDocumentAppliedTaxDTO" + } + ] + }, + "DocumentCurrencyDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "mode": { + "type": "string", + "description": "Currency mode indicator: INVOICING indicates that the amounts are expressed in the invoicing currency, PURCHASE indicates that the amounts are expressed in the currency in which the order was placed .", + "enum": [ + "INVOICING", + "PURCHASE" + ] + }, + "name": { + "type": "string", + "description": "Currency name." + }, + "code": { + "type": "string", + "description": "Currency code in ISO 4217 format." + }, + "codeNumber": { + "type": "string", + "description": "International standard ISO 4217 currency code." + }, + "symbol": { + "type": "string", + "description": "Symbol configured for the currency." + }, + "usdValue": { + "type": "number", + "description": "Value of the currency exchange to USD at the time of placing the order.", + "format": "double" + } + }, + "description": "Information on currency records." + }, + "DocumentDeliveryDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "shipments": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "status": { + "type": "string", + "description": "Specifies the status of the shipment.", + "enum": [ + "NONE", + "PENDING", + "PROCESSING", + "SHIPPED", + "DELIVERED", + "INCIDENTS" + ] + }, + "substatusId": { + "type": "integer", + "description": "Internal identifier of the current substatus of the shhipment.", + "format": "int32" + }, + "originWarehouseGroupId": { + "type": "integer", + "description": "Identifier of the logistic center originating the shipment.", + "format": "int32" + }, + "physicalLocationId": { + "type": "integer", + "description": "Internal pickup point identifier.", + "format": "int32", + "deprecated": true + }, + "incomingDate": { + "type": "string", + "description": "Delivery date of the shipment.", + "format": "date" + }, + "shipping": { + "$ref": "#/components/schemas/DocumentShippingDTO" + }, + "trackingNumber": { + "type": "string", + "description": "Shipment tracking code." + }, + "trackingUrl": { + "type": "string", + "description": "URL for tracking the order offered by the carrier." + }, + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "orderDetailId": { + "type": "integer", + "description": "Internal identifier of the document detail line.", + "format": "int32" + } + }, + "description": "Information about products included in the shipment." + } + }, + "description": "Information about shipment records." + }, + "geographicalZone": { + "$ref": "#/components/schemas/GeographicalZoneDTO" + }, + "type": { + "type": "string", + "description": "Specifies the type of delivery.", + "enum": [ + "SHIPPING", + "PICKING" + ] + } + }, + "description": "Information about the delivery.", + "oneOf": [ + { + "$ref": "#/components/schemas/PickingDocumentDeliveryDTO" + }, + { + "$ref": "#/components/schemas/ShippingDocumentDeliveryDTO" + } + ] + }, + "DocumentDeliveryPhysicalLocationDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "physicalLocationId": { + "type": "integer", + "description": "Internal pickup point identifier.", + "format": "int32" + }, + "physicalLocationPId": { + "type": "string", + "description": "Public pickup point identifier." + }, + "name": { + "type": "string", + "description": "Pickup point name." + }, + "email": { + "type": "string", + "description": "" + }, + "phone": { + "type": "string", + "description": "" + }, + "address": { + "type": "string", + "description": "Pickup point address." + }, + "city": { + "type": "string", + "description": "Pickup point city." + }, + "state": { + "type": "string", + "description": "Pickup point province or state." + }, + "postalCode": { + "type": "string", + "description": "Pickup point zip code." + }, + "location": { + "$ref": "#/components/schemas/LocationDTO" + }, + "country": { + "type": "string", + "description": "Country name." + } + }, + "description": "" + }, + "DocumentDiscountDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "valueWithTaxes": { + "type": "number", + "description": "Discount value with taxes.", + "format": "double" + }, + "description": { + "type": "string", + "description": "Internal item description." + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "value": { + "type": "number", + "description": "Discount value.", + "format": "double" + } + }, + "description": "Information about discounts in the detail line." + }, + "DocumentPaymentSystemDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "paymentSystemId": { + "type": "integer", + "description": "Internal identifier of the payment system.", + "format": "int32" + }, + "paymentSystemPId": { + "type": "string", + "description": "Public identifier of the payment system." + }, + "taxes": { + "type": "array", + "description": "Information about the taxes associated with the payment system.", + "items": { + "$ref": "#/components/schemas/DocumentAppliedTaxDTO" + } + }, + "name": { + "type": "string", + "description": "Name of the payment system for the returned language." + }, + "message": { + "type": "string", + "description": "Message of the payment system for the returned language." + }, + "increaseType": { + "type": "string", + "description": "Specifies the type of increase to apply.", + "enum": [ + "ABSOLUTE", + "PERCENTAGE" + ] + }, + "increaseValue": { + "type": "number", + "description": "Fixed amount or percentage to be added to the total order.", + "format": "double" + }, + "price": { + "type": "number", + "description": "Indicates the price increase on the order due to the payment system.", + "format": "double" + }, + "increaseMin": { + "type": "number", + "description": "Minimum value to be added to the order total in the event that the calculation using increaseValue is less than this value.", + "format": "double" + }, + "paymentType": { + "type": "string", + "description": "", + "enum": [ + "FORM", + "OFFLINE", + "NO_PAY", + "CASH_ON_DELIVERY", + "WIDGET", + "REDIRECT" + ] + }, + "module": { + "type": "string", + "description": "Associated plugin module name." + } + }, + "description": "Information about the payment system records. Only for documents of type Order or Invoice, otherwise NULL." + }, + "DocumentPickupPointProviderDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Pickup point provider name for the language of the document." + }, + "pickupPointProviderId": { + "type": "integer", + "description": "Internal identifier of the pickup point provider.", + "format": "int32" + }, + "pickupPointProviderPId": { + "type": "string", + "description": "Public identifier of the pickup point provider." + }, + "pluginAccountId": { + "type": "integer", + "description": "Internal identifier of the associated plugin module name.", + "format": "int32" + }, + "pluginAccountModule": { + "type": "string", + "description": "Associated plugin module name." + } + }, + "description": "Information about the pickup point provider." + }, + "DocumentProviderPickupPointDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "key": { + "type": "string", + "description": "Identifier of the pickup point for the provider." + }, + "name": { + "type": "string", + "description": "Name of the pickup point." + }, + "email": { + "type": "string", + "description": "Email of the pickup point." + }, + "city": { + "type": "string", + "description": "City of pickup point" + }, + "postalCode": { + "type": "string", + "description": "Zip code of the pickup point." + }, + "address": { + "type": "string", + "description": "Address of the pickup point." + }, + "addressAdditionalInformation": { + "type": "string", + "description": "Additional address information of the pickup point." + }, + "number": { + "type": "string", + "description": "House or building number of the pickup point." + }, + "phone": { + "type": "string", + "description": "Phone of the pickup point." + }, + "mobile": { + "type": "string", + "description": "Mobile of the pickup point." + }, + "location": { + "$ref": "#/components/schemas/LocationDTO" + } + }, + "description": "Information about the provider pickup point." + }, + "DocumentRowPricesDTO": { + "type": "object", + "properties": { + "productPrice": { + "type": "number", + "description": "Price of the product without adding increases due to option values.", + "format": "double" + }, + "optionsPrice": { + "type": "number", + "description": "Total increase in the price due to the different option values.", + "format": "double" + }, + "previousPrice": { + "type": "number", + "description": "Increase in the base price of the product due to the option value in the event it has an offer price.", + "format": "double" + }, + "price": { + "type": "number", + "description": "Total amount resulting from adding the price of the product and the price of the options.", + "format": "double" + }, + "totalTaxes": { + "type": "number", + "description": "Amount due to applying tax.", + "format": "double" + }, + "total": { + "type": "number", + "description": "Total amount with taxes included.", + "format": "double" + } + }, + "description": "Price information." + }, + "DocumentRowStockDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "warehouseId": { + "type": "integer", + "description": "Warehouse internal identifier.", + "format": "int32" + }, + "warehouseGroupId": { + "type": "integer", + "description": "Logistic center internal identifier.", + "format": "int32" + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "missingStockQuantity": { + "type": "integer", + "description": "Specifies the number of product units for which there is not enough stock.", + "format": "int32" + }, + "incomingDate": { + "type": "string", + "description": "Stock provision date, if any.", + "format": "date" + }, + "offsetDays": { + "type": "integer", + "description": "Preparation or compensation days that the warehouse needs before it can supply stock.", + "format": "int32" + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "hash": { + "type": "string", + "description": "The hash of the item." + }, + "previsionType": { + "type": "string", + "description": "Type of provision, if any.", + "enum": [ + "RESERVE", + "PREVISION", + "AVAILABLE" + ] + } + }, + "description": "Information about the stock of the document detail line." + }, + "DocumentShipmentDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "status": { + "type": "string", + "description": "Specifies the status of the shipment.", + "enum": [ + "NONE", + "PENDING", + "PROCESSING", + "SHIPPED", + "DELIVERED", + "INCIDENTS" + ] + }, + "substatusId": { + "type": "integer", + "description": "Internal identifier of the current substatus of the shhipment.", + "format": "int32" + }, + "originWarehouseGroupId": { + "type": "integer", + "description": "Identifier of the logistic center originating the shipment.", + "format": "int32" + }, + "physicalLocationId": { + "type": "integer", + "description": "Internal pickup point identifier.", + "format": "int32", + "deprecated": true + }, + "incomingDate": { + "type": "string", + "description": "Delivery date of the shipment.", + "format": "date" + }, + "shipping": { + "$ref": "#/components/schemas/DocumentShippingDTO" + }, + "trackingNumber": { + "type": "string", + "description": "Shipment tracking code." + }, + "trackingUrl": { + "type": "string", + "description": "URL for tracking the order offered by the carrier." + }, + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "orderDetailId": { + "type": "integer", + "description": "Internal identifier of the document detail line.", + "format": "int32" + } + }, + "description": "Information about products included in the shipment." + } + }, + "description": "Information about shipment records." + }, + "DocumentShipmentRowDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "orderDetailId": { + "type": "integer", + "description": "Internal identifier of the document detail line.", + "format": "int32" + } + }, + "description": "Information about products included in the shipment." + }, + "DocumentShippingDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "shippingTypeId": { + "type": "integer", + "description": "Internal identifier of the shipping type.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Shipper name for the returned language." + }, + "price": { + "type": "number", + "description": "Shipping method price.", + "format": "double" + }, + "priceWithTaxes": { + "type": "number", + "description": "Shipping method price with taxes.", + "format": "double" + }, + "shippingTypeName": { + "type": "string", + "description": "Shipping type name for the returned language." + }, + "shippingSectionId": { + "type": "integer", + "description": "Internal identifier of the range assigned to the shipping type.", + "format": "int32" + }, + "shippingCalculation": { + "type": "string", + "description": "Specifies for the shipment whether the calculation of shipping costs is determined by weight or by units sold.", + "enum": [ + "BY_WEIGHT", + "BY_UNITS" + ] + }, + "shipperPId": { + "type": "string", + "description": "Carrier's public identifier." + }, + "shippingTypePId": { + "type": "string", + "description": "Public identifier of the shipping type." + }, + "taxes": { + "type": "array", + "description": "Information about taxes applied to the shipping method.", + "items": { + "$ref": "#/components/schemas/DocumentAppliedTaxDTO" + } + }, + "discounts": { + "type": "array", + "description": "Information about discounts applied to shipping.", + "items": { + "$ref": "#/components/schemas/DocumentDiscountDTO" + } + } + }, + "description": "Information on shipping methods." + }, + "DocumentTaxDefinitionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Name of the tax for the returned language." + }, + "modality": { + "type": "string", + "description": "Method of application of the tax." + }, + "taxRate": { + "type": "number", + "description": "Tax rate.", + "format": "double" + }, + "base": { + "type": "number", + "description": "Taxable base.", + "format": "double" + }, + "taxPrice": { + "type": "number", + "description": "Amount due to the application of the tax rate of the tax.", + "format": "double" + }, + "totalPrice": { + "type": "number", + "description": "Total amount due due to taxes.", + "format": "double" + }, + "baseWithoutDiscounts": { + "type": "number", + "description": "Base amount without taking discounts into account.", + "format": "double" + }, + "discount": { + "type": "number", + "description": "Amount due to discount.", + "format": "double" + }, + "type": { + "type": "string", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ] + } + }, + "description": "Information about the records of taxes applied.", + "oneOf": [ + { + "$ref": "#/components/schemas/LogiCommerceDocumentTaxDefinitionDTO" + }, + { + "$ref": "#/components/schemas/PluginDocumentTaxDefinitionDTO" + } + ] + }, + "DocumentTotalDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "subtotalRows": { + "type": "number", + "description": "Amount due to detail lines before applying taxes.", + "format": "double" + }, + "totalRows": { + "type": "number", + "description": "Amount due to the detail lines with taxes applied.", + "format": "double" + }, + "subtotalShippings": { + "type": "number", + "description": "Full amount without tax included due to shipping methods.", + "format": "double" + }, + "totalShippings": { + "type": "number", + "description": "Full amount with taxes included due to shipping methods.", + "format": "double" + }, + "subtotalPaymentSystem": { + "type": "number", + "description": "Total amount without taxes included due to the payment system.", + "format": "double" + }, + "totalPaymentSystem": { + "type": "number", + "description": "Total amount with taxes included due to the payment system.", + "format": "double" + }, + "subtotal": { + "type": "number", + "description": "Sum of the previous subtotals.", + "format": "double" + }, + "totalTaxes": { + "type": "number", + "description": "Total amount due to tax application.", + "format": "double" + }, + "totalRowsDiscounts": { + "type": "number", + "description": "Total amount due to discounts applied to detail lines.", + "format": "double" + }, + "totalBasketDiscounts": { + "type": "number", + "description": "Total amount due to discounts applied to the total.", + "format": "double" + }, + "totalShippingDiscounts": { + "type": "number", + "description": "Total amount due to discounts applied to shipping methods.", + "format": "double" + }, + "totalDiscounts": { + "type": "number", + "description": "Sum of the totals due to discounts applied to detail lines and applied to the total.", + "format": "double" + }, + "totalVouchers": { + "type": "number", + "description": "Total amount due to added gift coupons.", + "format": "double" + }, + "total": { + "type": "number", + "description": "Total amount of the document.", + "format": "double" + }, + "subtotalPicking": { + "type": "number", + "description": "Full amount without tax included due to picking prices.", + "format": "double" + }, + "totalPicking": { + "type": "number", + "description": "Full amount with taxes included due to picking prices.", + "format": "double" + } + }, + "description": "Information on the records of the totals." + }, + "DocumentVoucherDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "voucherId": { + "type": "integer", + "description": "Coupon identifier.", + "format": "int32" + }, + "availableBalance": { + "type": "number", + "description": "Total amount applied for the gift coupon.", + "format": "double" + }, + "code": { + "type": "string", + "description": "Promotional code." + } + }, + "description": "Information about gift coupon records that are applied using a code. Only for documents of type Order or Invoice, otherwise NULL." + }, + "InvoiceDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "channelId": { + "type": "integer", + "description": "Internal identifier of the assigned channel.", + "format": "int32" + }, + "documentNumber": { + "type": "string", + "description": "Document number with prefix and suffix (if any)." + }, + "date": { + "type": "string", + "description": "Date the document was created.", + "format": "date-time" + }, + "headquarter": { + "$ref": "#/components/schemas/DocumentHeadquarterDTO" + }, + "user": { + "$ref": "#/components/schemas/DocumentUserDTO" + }, + "rewardPoints": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/DocumentRewardPointsDTO" + } + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the product is considered an investment by the taxpayer for tax purposes. DEPRECATED, always false.", + "deprecated": true + }, + "currencies": { + "type": "array", + "description": "Information on currency records.", + "items": { + "$ref": "#/components/schemas/DocumentCurrencyDTO" + } + }, + "taxes": { + "type": "array", + "description": "Information about the records of taxes applied.", + "items": { + "$ref": "#/components/schemas/DocumentTaxDefinitionDTO" + } + }, + "delivery": { + "$ref": "#/components/schemas/DocumentDeliveryDTO" + }, + "comment": { + "type": "string", + "description": "" + }, + "totals": { + "$ref": "#/components/schemas/DocumentTotalDTO" + }, + "customTags": { + "type": "array", + "description": "Information about records of custom tags. Only for documents of type Order or Invoice, otherwise NULL. ", + "items": { + "$ref": "#/components/schemas/DocumentCustomTagDTO" + } + }, + "paymentSystem": { + "$ref": "#/components/schemas/DocumentPaymentSystemDTO" + }, + "vouchers": { + "type": "array", + "description": "Information about gift coupon records that are applied using a code. Only for documents of type Order or Invoice, otherwise NULL.", + "items": { + "$ref": "#/components/schemas/DocumentVoucherDTO" + } + }, + "discounts": { + "type": "array", + "description": "Information about records of discounts applied. Only for documents of type Order or Invoice, otherwise NULL. ", + "items": { + "$ref": "#/components/schemas/DocumentDiscountDTO" + } + }, + "marketplaceId": { + "type": "integer", + "description": "Internal identifier of the marketplace.", + "format": "int32" + }, + "transactionId": { + "type": "string", + "description": "Order transaction identifier. Only available for documents of type Order or Invoice, otherwise NULL." + }, + "authNumber": { + "type": "string", + "description": "Order authorization code." + }, + "information": { + "$ref": "#/components/schemas/DocumentInformationDTO" + }, + "onRequestAffected": { + "type": "boolean", + "description": "Specifies that is an order with some product unit served on-request." + }, + "reserve": { + "type": "boolean", + "description": "Specifies that is Order with products in reserve." + }, + "substatus": { + "type": "string", + "description": "Specify current substatus of the document. Only for documents of type Order or RMA, otherwise NULL." + }, + "total": { + "type": "number", + "description": "Total.", + "format": "double" + }, + "languageCode": { + "type": "string", + "description": "International standard alphabetic code ISO 639-1 of the language." + }, + "items": { + "type": "array", + "description": "Information about the document detail lines.", + "items": { + "$ref": "#/components/schemas/TransactionDocumentRowDTO" + } + } + }, + "description": "Items returned by the resource." + }, + "LogiCommerceDocumentAppliedTaxDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "base": { + "type": "number", + "description": "Taxable base.", + "format": "double" + }, + "taxRate": { + "type": "number", + "description": "Tax rate.", + "format": "double" + }, + "taxValue": { + "type": "number", + "description": "Amount derived from applying the tax.", + "format": "double" + }, + "applyTax": { + "type": "boolean", + "description": "Specifies whether the tax is applied." + }, + "applyRE": { + "type": "boolean", + "description": "Specifies whether a sales equalization tax is included in the tax applied." + }, + "tax": { + "$ref": "#/components/schemas/DocumentItemTaxDTO" + }, + "type": { + "type": "string", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ], + "default": "LOGICOMMERCE" + } + } + }, + "LogiCommerceDocumentTaxDefinitionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Name of the tax for the returned language." + }, + "modality": { + "type": "string", + "description": "Method of application of the tax." + }, + "taxRate": { + "type": "number", + "description": "Tax rate.", + "format": "double" + }, + "base": { + "type": "number", + "description": "Taxable base.", + "format": "double" + }, + "taxPrice": { + "type": "number", + "description": "Amount due to the application of the tax rate of the tax.", + "format": "double" + }, + "totalPrice": { + "type": "number", + "description": "Total amount due due to taxes.", + "format": "double" + }, + "baseWithoutDiscounts": { + "type": "number", + "description": "Base amount without taking discounts into account.", + "format": "double" + }, + "discount": { + "type": "number", + "description": "Amount due to discount.", + "format": "double" + }, + "taxId": { + "type": "integer", + "description": "Internal identifier of the tax.", + "format": "int32" + }, + "reRate": { + "type": "number", + "description": "Sales equalization tax.", + "format": "double" + }, + "rePrice": { + "type": "number", + "description": "Amount due to the application of the sales equalization tax.", + "format": "double" + }, + "type": { + "type": "string", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ] + } + } + }, + "PhysicalLocationPickingDocumentDeliveryDTO": { + "type": "object", + "properties": { + "physicalLocation": { + "$ref": "#/components/schemas/DocumentDeliveryPhysicalLocationDTO" + }, + "type": { + "type": "string", + "enum": [ + "PROVIDER_PICKUP_POINT", + "PICKUP_POINT_PHYSICAL_LOCATION" + ], + "default": "PICKUP_POINT_PHYSICAL_LOCATION" + } + } + }, + "PickingDocumentDeliveryDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "shipments": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "status": { + "type": "string", + "description": "Specifies the status of the shipment.", + "enum": [ + "NONE", + "PENDING", + "PROCESSING", + "SHIPPED", + "DELIVERED", + "INCIDENTS" + ] + }, + "substatusId": { + "type": "integer", + "description": "Internal identifier of the current substatus of the shhipment.", + "format": "int32" + }, + "originWarehouseGroupId": { + "type": "integer", + "description": "Identifier of the logistic center originating the shipment.", + "format": "int32" + }, + "physicalLocationId": { + "type": "integer", + "description": "Internal pickup point identifier.", + "format": "int32", + "deprecated": true + }, + "incomingDate": { + "type": "string", + "description": "Delivery date of the shipment.", + "format": "date" + }, + "shipping": { + "$ref": "#/components/schemas/DocumentShippingDTO" + }, + "trackingNumber": { + "type": "string", + "description": "Shipment tracking code." + }, + "trackingUrl": { + "type": "string", + "description": "URL for tracking the order offered by the carrier." + }, + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "orderDetailId": { + "type": "integer", + "description": "Internal identifier of the document detail line.", + "format": "int32" + } + }, + "description": "Information about products included in the shipment." + } + }, + "description": "Information about shipment records." + }, + "geographicalZone": { + "$ref": "#/components/schemas/GeographicalZoneDTO" + }, + "price": { + "type": "number", + "description": "Information about the picking price. Tax not included.", + "format": "double" + }, + "taxes": { + "type": "array", + "description": "Information about the records of taxes applied.", + "items": { + "$ref": "#/components/schemas/DocumentAppliedTaxDTO" + } + }, + "mode": { + "$ref": "#/components/schemas/PickingDocumentDeliveryModeDTO" + }, + "physicalLocation": { + "$ref": "#/components/schemas/DeprecatedDocumentDeliveryPhysicalLocationDTO" + }, + "type": { + "type": "string", + "enum": [ + "SHIPPING", + "PICKING" + ], + "default": "PICKING" + } + } + }, + "PickingDocumentDeliveryModeDTO": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specifies the picking mode.", + "enum": [ + "PROVIDER_PICKUP_POINT", + "PICKUP_POINT_PHYSICAL_LOCATION" + ] + } + }, + "description": "Information about the picking mode.", + "oneOf": [ + { + "$ref": "#/components/schemas/PhysicalLocationPickingDocumentDeliveryDTO" + }, + { + "$ref": "#/components/schemas/ProviderPickupPointPickingDocumentDeliveryDTO" + } + ] + }, + "PluginDocumentAppliedTaxDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "base": { + "type": "number", + "description": "Taxable base.", + "format": "double" + }, + "taxRate": { + "type": "number", + "description": "Tax rate.", + "format": "double" + }, + "taxValue": { + "type": "number", + "description": "Amount derived from applying the tax.", + "format": "double" + }, + "applyTax": { + "type": "boolean", + "description": "Specifies whether the tax is applied." + }, + "code": { + "type": "string", + "description": "" + }, + "pluginAccountId": { + "type": "integer", + "description": "", + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ], + "default": "PLUGIN_ACCOUNT" + } + } + }, + "PluginDocumentTaxDefinitionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Name of the tax for the returned language." + }, + "modality": { + "type": "string", + "description": "Method of application of the tax." + }, + "taxRate": { + "type": "number", + "description": "Tax rate.", + "format": "double" + }, + "base": { + "type": "number", + "description": "Taxable base.", + "format": "double" + }, + "taxPrice": { + "type": "number", + "description": "Amount due to the application of the tax rate of the tax.", + "format": "double" + }, + "totalPrice": { + "type": "number", + "description": "Total amount due due to taxes.", + "format": "double" + }, + "baseWithoutDiscounts": { + "type": "number", + "description": "Base amount without taking discounts into account.", + "format": "double" + }, + "discount": { + "type": "number", + "description": "Amount due to discount.", + "format": "double" + }, + "code": { + "type": "string" + }, + "pluginAccountId": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "LOGICOMMERCE", + "PLUGIN_ACCOUNT" + ] + } + } + }, + "ProviderPickupPointPickingDocumentDeliveryDTO": { + "type": "object", + "properties": { + "pickupPointProvider": { + "$ref": "#/components/schemas/DocumentPickupPointProviderDTO" + }, + "providerPickupPoint": { + "$ref": "#/components/schemas/DocumentProviderPickupPointDTO" + }, + "type": { + "type": "string", + "enum": [ + "PROVIDER_PICKUP_POINT", + "PICKUP_POINT_PHYSICAL_LOCATION" + ], + "default": "PROVIDER_PICKUP_POINT" + } + } + }, + "ReturnProcessDocumentRowDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "hash": { + "type": "string", + "description": "Hash code of the detail line." + }, + "image": { + "type": "string", + "description": "Path to the image of the product included in the detail line." + }, + "codes": { + "$ref": "#/components/schemas/ProductCodesDTO" + }, + "fromShoppingListRow": { + "type": "integer", + "description": "", + "format": "int32" + }, + "weight": { + "type": "number", + "description": "Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established.", + "format": "double" + }, + "onRequest": { + "type": "boolean", + "description": "Specifies the 'onRequest' setting that the product had when the order was created.
This setting specifies whether the product can be served on-request in case of being out of stock.
The product units that are out of stock will be served on-request in case the product has this setting activated, and also the store and the product have the 'stock management' setting activated, and also the product has its stock lines defined." + }, + "onRequestDays": { + "type": "integer", + "description": "Specifies the 'onRequestDays' setting that the product had when the order was created.
This setting specifies the number of days of preparation that the product needs if it is served on-request. This information is used to display an estimated departure date in this case.", + "format": "int32" + }, + "prices": { + "$ref": "#/components/schemas/DocumentRowPricesDTO" + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line is under the tax consideration of the taxable person's investment. DEPRECATED, always false.", + "deprecated": true + }, + "link": { + "type": "string", + "description": "Link." + }, + "stockManagement": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line has stock management enabled. This parameter works as long as stock management is enabled in general." + }, + "noReturn": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line can be returned." + }, + "backOrder": { + "type": "string", + "description": "Reserve work method (sell inventory without stock) for the product included in the detail line.", + "enum": [ + "NONE", + "WITH_AND_WITHOUT_PREVISION", + "WITHOUT_PREVISION", + "WITH_PREVISION" + ] + }, + "brandName": { + "type": "string", + "description": "Brand name." + }, + "linkedParentId": { + "type": "integer", + "description": "Internal identifier of the parent product when the product that is part of the detail line is linked.", + "format": "int32" + }, + "stocks": { + "type": "array", + "description": "Information about the stock of the document detail line.", + "items": { + "$ref": "#/components/schemas/DocumentRowStockDTO" + } + }, + "discounts": { + "type": "array", + "description": "Information about discounts in the detail line.", + "items": { + "$ref": "#/components/schemas/DocumentDiscountDTO" + } + }, + "customTags": { + "type": "array", + "description": "Information about custom tags.", + "items": { + "$ref": "#/components/schemas/DocumentCustomTagDTO" + } + }, + "taxes": { + "type": "array", + "description": "Information about the taxes associated with the document detail line.", + "items": { + "$ref": "#/components/schemas/DocumentAppliedTaxDTO" + } + }, + "options": { + "type": "array", + "description": "Information about the product options included in the document detail line.", + "items": { + "$ref": "#/components/schemas/TransactionDocumentRowOptionDTO" + } + }, + "rmaReason": { + "$ref": "#/components/schemas/ReturnProcessDocumentRowRMAReasonDTO" + }, + "reserve": { + "type": "boolean", + "description": "Specifies that the product is In reserve." + }, + "onRequestAffected": { + "type": "boolean", + "description": "Specifies that some unit of the detail line’s product is served on-request." + }, + "type": { + "type": "string", + "description": "Specifies the type of document detail line.", + "enum": [ + "PRODUCT", + "GIFT", + "LINKED", + "BUNDLE" + ] + }, + "itemId": { + "type": "integer", + "description": "Internal identifier of the product included in the document detail line.", + "format": "int32" + }, + "offer": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line is on offer." + } + } + }, + "ReturnProcessDocumentRowRMAReasonDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "rmaReasonId": { + "type": "integer", + "description": "Internal identifier of the RMA reason.", + "format": "int32" + }, + "rmaReasonPId": { + "type": "string", + "description": "Public identifier of the RMA reason." + }, + "description": { + "type": "string", + "description": "Description of the RMA reason for the language of the document." + }, + "comment": { + "type": "string", + "description": "Additional comment for this RMA reason." + } + }, + "description": "Information about the RMA reason for this row." + }, + "ShippingDocumentDeliveryDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "shipments": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "status": { + "type": "string", + "description": "Specifies the status of the shipment.", + "enum": [ + "NONE", + "PENDING", + "PROCESSING", + "SHIPPED", + "DELIVERED", + "INCIDENTS" + ] + }, + "substatusId": { + "type": "integer", + "description": "Internal identifier of the current substatus of the shhipment.", + "format": "int32" + }, + "originWarehouseGroupId": { + "type": "integer", + "description": "Identifier of the logistic center originating the shipment.", + "format": "int32" + }, + "physicalLocationId": { + "type": "integer", + "description": "Internal pickup point identifier.", + "format": "int32", + "deprecated": true + }, + "incomingDate": { + "type": "string", + "description": "Delivery date of the shipment.", + "format": "date" + }, + "shipping": { + "$ref": "#/components/schemas/DocumentShippingDTO" + }, + "trackingNumber": { + "type": "string", + "description": "Shipment tracking code." + }, + "trackingUrl": { + "type": "string", + "description": "URL for tracking the order offered by the carrier." + }, + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "orderDetailId": { + "type": "integer", + "description": "Internal identifier of the document detail line.", + "format": "int32" + } + }, + "description": "Information about products included in the shipment." + } + }, + "description": "Information about shipment records." + }, + "geographicalZone": { + "$ref": "#/components/schemas/GeographicalZoneDTO" + }, + "type": { + "type": "string", + "enum": [ + "SHIPPING", + "PICKING" + ], + "default": "SHIPPING" + } + } + }, + "TransactionDocumentRowBundleDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "hash": { + "type": "string", + "description": "Hash code of the detail line." + }, + "image": { + "type": "string", + "description": "Path to the image of the product included in the detail line." + }, + "codes": { + "$ref": "#/components/schemas/ProductCodesDTO" + }, + "fromShoppingListRow": { + "type": "integer", + "description": "", + "format": "int32" + }, + "weight": { + "type": "number", + "description": "Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established.", + "format": "double" + }, + "onRequest": { + "type": "boolean", + "description": "Specifies the 'onRequest' setting that the product had when the order was created.
This setting specifies whether the product can be served on-request in case of being out of stock.
The product units that are out of stock will be served on-request in case the product has this setting activated, and also the store and the product have the 'stock management' setting activated, and also the product has its stock lines defined." + }, + "onRequestDays": { + "type": "integer", + "description": "Specifies the 'onRequestDays' setting that the product had when the order was created.
This setting specifies the number of days of preparation that the product needs if it is served on-request. This information is used to display an estimated departure date in this case.", + "format": "int32" + }, + "prices": { + "$ref": "#/components/schemas/DocumentRowPricesDTO" + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line is under the tax consideration of the taxable person's investment. DEPRECATED, always false.", + "deprecated": true + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TransactionDocumentSingleRowDTO" + } + }, + "bundleGroupingId": { + "type": "integer", + "format": "int32" + }, + "reserve": { + "type": "boolean", + "description": "Specifies that the product is In reserve." + }, + "type": { + "type": "string", + "description": "Specifies the type of document detail line.", + "enum": [ + "PRODUCT", + "GIFT", + "LINKED", + "BUNDLE" + ] + }, + "itemId": { + "type": "integer", + "description": "Internal identifier of the product included in the document detail line.", + "format": "int32" + }, + "offer": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line is on offer." + } + } + }, + "TransactionDocumentRowDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "hash": { + "type": "string", + "description": "Hash code of the detail line." + }, + "image": { + "type": "string", + "description": "Path to the image of the product included in the detail line." + }, + "codes": { + "$ref": "#/components/schemas/ProductCodesDTO" + }, + "fromShoppingListRow": { + "type": "integer", + "description": "", + "format": "int32" + }, + "weight": { + "type": "number", + "description": "Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established.", + "format": "double" + }, + "onRequest": { + "type": "boolean", + "description": "Specifies the 'onRequest' setting that the product had when the order was created.
This setting specifies whether the product can be served on-request in case of being out of stock.
The product units that are out of stock will be served on-request in case the product has this setting activated, and also the store and the product have the 'stock management' setting activated, and also the product has its stock lines defined." + }, + "onRequestDays": { + "type": "integer", + "description": "Specifies the 'onRequestDays' setting that the product had when the order was created.
This setting specifies the number of days of preparation that the product needs if it is served on-request. This information is used to display an estimated departure date in this case.", + "format": "int32" + }, + "prices": { + "$ref": "#/components/schemas/DocumentRowPricesDTO" + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line is under the tax consideration of the taxable person's investment. DEPRECATED, always false.", + "deprecated": true + }, + "reserve": { + "type": "boolean", + "description": "Specifies that the product is In reserve." + }, + "type": { + "type": "string", + "description": "Specifies the type of document detail line.", + "enum": [ + "PRODUCT", + "GIFT", + "LINKED", + "BUNDLE" + ] + }, + "itemId": { + "type": "integer", + "description": "Internal identifier of the product included in the document detail line.", + "format": "int32" + }, + "offer": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line is on offer." + } + }, + "description": "Information about the document detail lines.", + "oneOf": [ + { + "$ref": "#/components/schemas/TransactionDocumentSingleRowDTO" + }, + { + "$ref": "#/components/schemas/TransactionDocumentRowBundleDTO" + }, + { + "$ref": "#/components/schemas/ReturnProcessDocumentRowDTO" + } + ] + }, + "TransactionDocumentRowOptionDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "sku": { + "type": "string", + "description": "Product reference code.", + "deprecated": true + }, + "prompt": { + "type": "string", + "description": "Message intended to display in the presentation layer." + }, + "optionId": { + "type": "integer", + "description": "Internal identifier of the option.", + "format": "int32" + }, + "optionPId": { + "type": "string", + "description": "Public identifier of the option." + }, + "value": { + "type": "string", + "description": "Option value for the returned language." + }, + "uniquePrice": { + "type": "boolean", + "description": "Specifies whether, regardless of the units purchased of the product, the option price will be applied only once." + }, + "combinable": { + "type": "boolean", + "description": "Specifies whether the values ​​of this option are used to generate combinations of options." + }, + "valueType": { + "type": "string", + "description": "Specifies the type of option.", + "enum": [ + "BOOLEAN", + "SHORT_TEXT", + "SINGLE_SELECTION", + "MULTIPLE_SELECTION", + "SINGLE_SELECTION_IMAGE", + "MULTIPLE_SELECTION_IMAGE", + "SELECTOR", + "DATE", + "LONG_TEXT", + "ATTACHMENT" + ] + }, + "values": { + "type": "array", + "description": "Information about the option values.", + "items": { + "$ref": "#/components/schemas/TransactionDocumentRowOptionValueDTO" + } + }, + "price": { + "type": "number", + "description": "Total increase in the price due to the different option values.", + "format": "double" + }, + "weight": { + "type": "number", + "description": "Total increase in weight due to the different option values.", + "format": "double" + }, + "previousPrice": { + "type": "number", + "description": "Total increase in the base price of the product due to the different option values in the event it has an offer price.", + "format": "double" + } + }, + "description": "Information about the product options included in the document detail line." + }, + "TransactionDocumentRowOptionValueDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "value": { + "type": "string", + "description": "Option value for the returned language." + }, + "optionValuePId": { + "type": "string", + "description": "Public identifier of the option value." + }, + "weight": { + "type": "number", + "description": "Weight increase due to option value.", + "format": "double" + }, + "price": { + "type": "number", + "description": "Increase in the price of the product due to the option value.", + "format": "double" + }, + "previousPrice": { + "type": "number", + "description": "Increase in the base price of the product due to the option value in the event it has an offer price.", + "format": "double" + }, + "noReturn": { + "type": "boolean", + "description": "Specifies that products with this option value assigned cannot be returned." + }, + "optionValueId": { + "type": "integer", + "description": "Internal identifier of the option value.", + "format": "int32" + } + }, + "description": "Information about the option values." + }, + "TransactionDocumentSingleRowDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "quantity": { + "type": "integer", + "description": "Number of units of the item.", + "format": "int32" + }, + "hash": { + "type": "string", + "description": "Hash code of the detail line." + }, + "image": { + "type": "string", + "description": "Path to the image of the product included in the detail line." + }, + "codes": { + "$ref": "#/components/schemas/ProductCodesDTO" + }, + "fromShoppingListRow": { + "type": "integer", + "description": "", + "format": "int32" + }, + "weight": { + "type": "number", + "description": "Specifies the weight of the item. Default in kilograms, but it depends on the general configuration established.", + "format": "double" + }, + "onRequest": { + "type": "boolean", + "description": "Specifies the 'onRequest' setting that the product had when the order was created.
This setting specifies whether the product can be served on-request in case of being out of stock.
The product units that are out of stock will be served on-request in case the product has this setting activated, and also the store and the product have the 'stock management' setting activated, and also the product has its stock lines defined." + }, + "onRequestDays": { + "type": "integer", + "description": "Specifies the 'onRequestDays' setting that the product had when the order was created.
This setting specifies the number of days of preparation that the product needs if it is served on-request. This information is used to display an estimated departure date in this case.", + "format": "int32" + }, + "prices": { + "$ref": "#/components/schemas/DocumentRowPricesDTO" + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line is under the tax consideration of the taxable person's investment. DEPRECATED, always false.", + "deprecated": true + }, + "link": { + "type": "string", + "description": "Link." + }, + "stockManagement": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line has stock management enabled. This parameter works as long as stock management is enabled in general." + }, + "noReturn": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line can be returned." + }, + "backOrder": { + "type": "string", + "description": "Reserve work method (sell inventory without stock) for the product included in the detail line.", + "enum": [ + "NONE", + "WITH_AND_WITHOUT_PREVISION", + "WITHOUT_PREVISION", + "WITH_PREVISION" + ] + }, + "brandName": { + "type": "string", + "description": "Brand name." + }, + "linkedParentId": { + "type": "integer", + "description": "Internal identifier of the parent product when the product that is part of the detail line is linked.", + "format": "int32" + }, + "stocks": { + "type": "array", + "description": "Information about the stock of the document detail line.", + "items": { + "$ref": "#/components/schemas/DocumentRowStockDTO" + } + }, + "discounts": { + "type": "array", + "description": "Information about discounts in the detail line.", + "items": { + "$ref": "#/components/schemas/DocumentDiscountDTO" + } + }, + "customTags": { + "type": "array", + "description": "Information about custom tags.", + "items": { + "$ref": "#/components/schemas/DocumentCustomTagDTO" + } + }, + "taxes": { + "type": "array", + "description": "Information about the taxes associated with the document detail line.", + "items": { + "$ref": "#/components/schemas/DocumentAppliedTaxDTO" + } + }, + "options": { + "type": "array", + "description": "Information about the product options included in the document detail line.", + "items": { + "$ref": "#/components/schemas/TransactionDocumentRowOptionDTO" + } + }, + "reserve": { + "type": "boolean", + "description": "Specifies that the product is In reserve." + }, + "onRequestAffected": { + "type": "boolean", + "description": "Specifies that some unit of the detail line’s product is served on-request." + }, + "type": { + "type": "string", + "description": "Specifies the type of document detail line.", + "enum": [ + "PRODUCT", + "GIFT", + "LINKED", + "BUNDLE" + ] + }, + "itemId": { + "type": "integer", + "description": "Internal identifier of the product included in the document detail line.", + "format": "int32" + }, + "offer": { + "type": "boolean", + "description": "Specifies whether the product included in the detail line is on offer." + } + } + }, + "LockedStocksAggregateDataCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOLockedStocksAggregateDataDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/LockedStocksAggregateDataDTO" + } + } + } + }, + "LockedStocksAggregateDataDTO": { + "type": "object", + "properties": { + "productId": { + "type": "integer", + "description": "Internal identifier of the product to wich the product combination belongs.", + "format": "int32" + }, + "myLockedStockUnits": { + "type": "integer", + "description": "Specifies the total LockedStock units for this product combination in the session's basket. ", + "format": "int32" + }, + "othersLockedStockUnits": { + "type": "integer", + "description": "Specifies the total locked stock units by other sessions, for this product combination and belonging to the warehouses that are accessible by the current session.", + "format": "int32" + }, + "othersNearestLockedStockToExpireUnits": { + "type": "integer", + "description": "Specifies the quantity of the nearest to expire locked stock between the ones of the other sessions, for this product combination and belonging to the warehouses that are accessible by the current session. ", + "format": "int32" + }, + "othersNearestLockedStockToExpireTime": { + "type": "string", + "description": "Specifies when expires the nearest to expire locked stock between the ones of the other sessions, for this product combination and belonging to the warehouses that are accessible by the current session. ", + "format": "date-time" + }, + "productCombinationId": { + "type": "integer", + "description": "Internal identifier of the product combination.", + "format": "int32" + } + }, + "description": "Items returned by the resource." + }, + "PaginationDTOLockedStocksAggregateDataDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "DocumentAdditionalInformationDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Internal name of the item." + }, + "value": { + "type": "string", + "description": "Value of the additional information field." + } + }, + "description": "Additional document information. Only for documents of type Order, otherwise NULL." + }, + "OrderDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "channelId": { + "type": "integer", + "description": "Internal identifier of the assigned channel.", + "format": "int32" + }, + "documentNumber": { + "type": "string", + "description": "Document number with prefix and suffix (if any)." + }, + "date": { + "type": "string", + "description": "Date the document was created.", + "format": "date-time" + }, + "headquarter": { + "$ref": "#/components/schemas/DocumentHeadquarterDTO" + }, + "user": { + "$ref": "#/components/schemas/DocumentUserDTO" + }, + "rewardPoints": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/DocumentRewardPointsDTO" + } + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the product is considered an investment by the taxpayer for tax purposes. DEPRECATED, always false.", + "deprecated": true + }, + "currencies": { + "type": "array", + "description": "Information on currency records.", + "items": { + "$ref": "#/components/schemas/DocumentCurrencyDTO" + } + }, + "taxes": { + "type": "array", + "description": "Information about the records of taxes applied.", + "items": { + "$ref": "#/components/schemas/DocumentTaxDefinitionDTO" + } + }, + "delivery": { + "$ref": "#/components/schemas/DocumentDeliveryDTO" + }, + "comment": { + "type": "string", + "description": "" + }, + "totals": { + "$ref": "#/components/schemas/DocumentTotalDTO" + }, + "customTags": { + "type": "array", + "description": "Information about records of custom tags. Only for documents of type Order or Invoice, otherwise NULL. ", + "items": { + "$ref": "#/components/schemas/DocumentCustomTagDTO" + } + }, + "paymentSystem": { + "$ref": "#/components/schemas/DocumentPaymentSystemDTO" + }, + "vouchers": { + "type": "array", + "description": "Information about gift coupon records that are applied using a code. Only for documents of type Order or Invoice, otherwise NULL.", + "items": { + "$ref": "#/components/schemas/DocumentVoucherDTO" + } + }, + "discounts": { + "type": "array", + "description": "Information about records of discounts applied. Only for documents of type Order or Invoice, otherwise NULL. ", + "items": { + "$ref": "#/components/schemas/DocumentDiscountDTO" + } + }, + "marketplaceId": { + "type": "integer", + "description": "Internal identifier of the marketplace.", + "format": "int32" + }, + "transactionId": { + "type": "string", + "description": "Order transaction identifier. Only available for documents of type Order or Invoice, otherwise NULL." + }, + "authNumber": { + "type": "string", + "description": "Order authorization code." + }, + "status": { + "type": "string", + "description": "Specify current status of the document. Only for documents of type Order or RMA, otherwise NULL.", + "enum": [ + "DENIED", + "INCIDENTS", + "INCOMING", + "IN_PROCESS", + "COMPLETED", + "DELETED", + "CONFIRM_DELETED" + ] + }, + "substatusId": { + "type": "integer", + "description": "Internal identifier of the substatus of the document. Only for documents of type Order or RMA, otherwise NULL.", + "format": "int32" + }, + "additionalInformation": { + "type": "array", + "description": "Additional document information. Only for documents of type Order, otherwise NULL.", + "items": { + "$ref": "#/components/schemas/DocumentAdditionalInformationDTO" + } + }, + "deliveryDate": { + "type": "string", + "description": "Specifies the delivery date. Only for documents of type Order, otherwise NULL.", + "format": "date-time" + }, + "paid": { + "type": "boolean", + "description": "Specifies whether the order is paid for. Only for documents of type Order, otherwise NULL." + }, + "paymentDate": { + "type": "string", + "description": "Date the order was paid. Only for documents of type Order, otherwise NULL.", + "format": "date-time" + }, + "information": { + "$ref": "#/components/schemas/DocumentInformationDTO" + }, + "onRequestAffected": { + "type": "boolean", + "description": "Specifies that is an order with some product unit served on-request." + }, + "reserve": { + "type": "boolean", + "description": "Specifies that is Order with products in reserve." + }, + "substatus": { + "type": "string", + "description": "Specify current substatus of the document. Only for documents of type Order or RMA, otherwise NULL." + }, + "total": { + "type": "number", + "description": "Total.", + "format": "double" + }, + "languageCode": { + "type": "string", + "description": "International standard alphabetic code ISO 639-1 of the language." + }, + "items": { + "type": "array", + "description": "Information about the document detail lines.", + "items": { + "$ref": "#/components/schemas/TransactionDocumentRowDTO" + } + } + } + }, + "DocumentAdditionalItemDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "" + }, + "type": { + "type": "string", + "description": "", + "enum": [ + "SHIPPING", + "PAYMENT", + "VOUCHER" + ] + }, + "amount": { + "type": "number", + "description": "", + "format": "double" + }, + "taxes": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/DocumentAppliedTaxDTO" + } + } + }, + "description": "Additional concepts that affect the price of the document. Only for documents of type RMA, Return or CreditNote, otherwise NULL." + }, + "RMADTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "channelId": { + "type": "integer", + "description": "Internal identifier of the assigned channel.", + "format": "int32" + }, + "documentNumber": { + "type": "string", + "description": "Document number with prefix and suffix (if any)." + }, + "date": { + "type": "string", + "description": "Date the document was created.", + "format": "date-time" + }, + "headquarter": { + "$ref": "#/components/schemas/DocumentHeadquarterDTO" + }, + "user": { + "$ref": "#/components/schemas/DocumentUserDTO" + }, + "rewardPoints": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/DocumentRewardPointsDTO" + } + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the product is considered an investment by the taxpayer for tax purposes. DEPRECATED, always false.", + "deprecated": true + }, + "currencies": { + "type": "array", + "description": "Information on currency records.", + "items": { + "$ref": "#/components/schemas/DocumentCurrencyDTO" + } + }, + "taxes": { + "type": "array", + "description": "Information about the records of taxes applied.", + "items": { + "$ref": "#/components/schemas/DocumentTaxDefinitionDTO" + } + }, + "delivery": { + "$ref": "#/components/schemas/DocumentDeliveryDTO" + }, + "comment": { + "type": "string", + "description": "" + }, + "totals": { + "$ref": "#/components/schemas/DocumentTotalDTO" + }, + "additionalItems": { + "type": "array", + "description": "Additional concepts that affect the price of the document. Only for documents of type RMA, Return or CreditNote, otherwise NULL.", + "items": { + "$ref": "#/components/schemas/DocumentAdditionalItemDTO" + } + }, + "status": { + "type": "string", + "description": "Specify current status of the document. Only for documents of type Order or RMA, otherwise NULL.", + "enum": [ + "INCIDENTS", + "PENDING", + "AUTHORIZED", + "NO_AUTHORIZED", + "IN_PROCESS", + "ACCEPTED", + "DENIED", + "COMPLETED", + "DELETED" + ] + }, + "substatusId": { + "type": "integer", + "description": "Internal identifier of the substatus of the document. Only for documents of type Order or RMA, otherwise NULL.", + "format": "int32" + }, + "substatus": { + "type": "string", + "description": "Specify current substatus of the document. Only for documents of type Order or RMA, otherwise NULL." + }, + "total": { + "type": "number", + "description": "Total.", + "format": "double" + }, + "information": { + "$ref": "#/components/schemas/DocumentInformationDTO" + }, + "languageCode": { + "type": "string", + "description": "International standard alphabetic code ISO 639-1 of the language." + }, + "items": { + "type": "array", + "description": "Information about the document detail lines.", + "items": { + "$ref": "#/components/schemas/TransactionDocumentRowDTO" + } + } + } + }, + "CreateRMADeliveryParam": { + "required": [ + "itemId", + "type" + ], + "type": "object", + "properties": { + "itemId": { + "type": "integer", + "description": "", + "format": "int32" + }, + "type": { + "type": "string", + "description": "", + "enum": [ + "SHIPPING", + "PICKING" + ] + } + }, + "description": "" + }, + "CreateRMAItemParam": { + "required": [ + "hash", + "quantity" + ], + "type": "object", + "properties": { + "hash": { + "type": "string", + "description": "Hash code of the cart detail line to return." + }, + "quantity": { + "minimum": 1, + "type": "integer", + "description": "Amount to return.", + "format": "int32" + }, + "rmaReason": { + "$ref": "#/components/schemas/RmaReasonParam" + } + }, + "description": "" + }, + "CreateRMAParam": { + "required": [ + "items" + ], + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/CreateRMAItemParam" + } + }, + "delivery": { + "$ref": "#/components/schemas/CreateRMADeliveryParam" + }, + "comment": { + "type": "string", + "description": "" + } + } + }, + "RmaReasonParam": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the RMA reason. Must be an active RMA reason.", + "format": "int32" + }, + "comment": { + "type": "string", + "description": "Comment describing the indicated RMA reason. It is required if the indicated RMA reason requires a comment." + } + }, + "description": "Parameter block to set the RMA reason for this item." + }, + "DeliveryNoteCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTODeliveryNoteDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/DeliveryNoteDTO" + } + } + } + }, + "PaginationDTODeliveryNoteDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "InvoiceCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOInvoiceDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/InvoiceDTO" + } + } + } + }, + "PaginationDTOInvoiceDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "PaginationDTORMADTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "RMACollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTORMADTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/RMADTO" + } + } + } + }, + "PayResponseDTO": { + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "Message indicating the reason for the payment error. It only exists when success is false." + }, + "type": { + "type": "string", + "description": "Indicates the type of information returned to be able to redirect the user appropriately.", + "enum": [ + "FORM", + "OFFLINE", + "NO_PAY", + "CASH_ON_DELIVERY", + "WIDGET", + "REDIRECT" + ] + }, + "data": { + "$ref": "#/components/schemas/PaymentData" + }, + "transactionId": { + "type": "string", + "description": "Identifier of the transaction." + }, + "redirectUri": { + "type": "string", + "description": "Path of the presentation layer resource to be redirected to. This parameter is optional, which contains a value will depend on the payment gateway. In case of returning value, the presentation layer must redirect to the returned path." + }, + "pluginId": { + "type": "integer", + "description": "Plugin identifier.", + "format": "int32" + }, + "pluginModule": { + "type": "string", + "description": "Unique name of the plugin module. This is the name that appears in the plugin module-info.java file, which must follow the Java convention for naming modules and packages (for example, com.logicommerce.pluginname)." + }, + "status": { + "type": "string", + "description": "", + "enum": [ + "OK", + "KO" + ] + } + } + }, + "PaymentData": { + "type": "object", + "description": "Information needed to connect to the payment gateway." + }, + "PaymentValidationResponseDTO": { + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "Message indicating the reason for the error. It only exists when success is false." + }, + "messageLog": { + "type": "string" + }, + "id": { + "type": "integer", + "format": "int32" + }, + "token": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "NO_DATA", + "FORM", + "XML", + "REDIRECT", + "WEBHOOK_MESSAGE" + ] + }, + "status": { + "type": "string", + "enum": [ + "SKIP", + "VALIDATED", + "OK", + "KO", + "ACCEPTED" + ] + } + } + }, + "CreditNoteDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "channelId": { + "type": "integer", + "description": "Internal identifier of the assigned channel.", + "format": "int32" + }, + "documentNumber": { + "type": "string", + "description": "Document number with prefix and suffix (if any)." + }, + "date": { + "type": "string", + "description": "Date the document was created.", + "format": "date-time" + }, + "headquarter": { + "$ref": "#/components/schemas/DocumentHeadquarterDTO" + }, + "user": { + "$ref": "#/components/schemas/DocumentUserDTO" + }, + "rewardPoints": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/DocumentRewardPointsDTO" + } + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the product is considered an investment by the taxpayer for tax purposes. DEPRECATED, always false.", + "deprecated": true + }, + "currencies": { + "type": "array", + "description": "Information on currency records.", + "items": { + "$ref": "#/components/schemas/DocumentCurrencyDTO" + } + }, + "taxes": { + "type": "array", + "description": "Information about the records of taxes applied.", + "items": { + "$ref": "#/components/schemas/DocumentTaxDefinitionDTO" + } + }, + "delivery": { + "$ref": "#/components/schemas/DocumentDeliveryDTO" + }, + "comment": { + "type": "string", + "description": "" + }, + "totals": { + "$ref": "#/components/schemas/DocumentTotalDTO" + }, + "additionalItems": { + "type": "array", + "description": "Additional concepts that affect the price of the document. Only for documents of type RMA, Return or CreditNote, otherwise NULL.", + "items": { + "$ref": "#/components/schemas/DocumentAdditionalItemDTO" + } + }, + "substatus": { + "type": "string", + "description": "Specify current substatus of the document. Only for documents of type Order or RMA, otherwise NULL." + }, + "total": { + "type": "number", + "description": "Total.", + "format": "double" + }, + "information": { + "$ref": "#/components/schemas/DocumentInformationDTO" + }, + "languageCode": { + "type": "string", + "description": "International standard alphabetic code ISO 639-1 of the language." + }, + "items": { + "type": "array", + "description": "Information about the document detail lines.", + "items": { + "$ref": "#/components/schemas/TransactionDocumentRowDTO" + } + } + } + }, + "PaginationDTORMAReasonDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "RMAReasonCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTORMAReasonDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/RMAReasonDTO" + } + } + } + }, + "RMAReasonDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "requiresComment": { + "type": "boolean", + "description": "Specifies if the RMA reason requires a comment." + }, + "language": { + "$ref": "#/components/schemas/RMAReasonLanguageDTO" + } + }, + "description": "Items returned by the resource." + }, + "RMAReasonLanguageDTO": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the item for the returned language." + } + }, + "description": "Information about language. The values ​​in this block may be different depending on the language that is returned." + }, + "ReturnDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "channelId": { + "type": "integer", + "description": "Internal identifier of the assigned channel.", + "format": "int32" + }, + "documentNumber": { + "type": "string", + "description": "Document number with prefix and suffix (if any)." + }, + "date": { + "type": "string", + "description": "Date the document was created.", + "format": "date-time" + }, + "headquarter": { + "$ref": "#/components/schemas/DocumentHeadquarterDTO" + }, + "user": { + "$ref": "#/components/schemas/DocumentUserDTO" + }, + "rewardPoints": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/DocumentRewardPointsDTO" + } + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the product is considered an investment by the taxpayer for tax purposes. DEPRECATED, always false.", + "deprecated": true + }, + "currencies": { + "type": "array", + "description": "Information on currency records.", + "items": { + "$ref": "#/components/schemas/DocumentCurrencyDTO" + } + }, + "taxes": { + "type": "array", + "description": "Information about the records of taxes applied.", + "items": { + "$ref": "#/components/schemas/DocumentTaxDefinitionDTO" + } + }, + "delivery": { + "$ref": "#/components/schemas/DocumentDeliveryDTO" + }, + "comment": { + "type": "string", + "description": "" + }, + "totals": { + "$ref": "#/components/schemas/DocumentTotalDTO" + }, + "additionalItems": { + "type": "array", + "description": "Additional concepts that affect the price of the document. Only for documents of type RMA, Return or CreditNote, otherwise NULL.", + "items": { + "$ref": "#/components/schemas/DocumentAdditionalItemDTO" + } + }, + "substatus": { + "type": "string", + "description": "Specify current substatus of the document. Only for documents of type Order or RMA, otherwise NULL." + }, + "total": { + "type": "number", + "description": "Total.", + "format": "double" + }, + "information": { + "$ref": "#/components/schemas/DocumentInformationDTO" + }, + "languageCode": { + "type": "string", + "description": "International standard alphabetic code ISO 639-1 of the language." + }, + "items": { + "type": "array", + "description": "Information about the document detail lines.", + "items": { + "$ref": "#/components/schemas/TransactionDocumentRowDTO" + } + } + } + }, + "SessionAggregateBasketDTO": { + "type": "object", + "properties": { + "products": { + "type": "integer", + "description": "Number of products in the cart.", + "format": "int32" + }, + "gifts": { + "type": "integer", + "description": "Number of gifts in the cart.", + "format": "int32" + }, + "total": { + "type": "number", + "description": "Total amount of the cart.", + "format": "double" + }, + "totalProducts": { + "type": "integer", + "description": "", + "format": "int32" + }, + "bundles": { + "type": "integer", + "description": "", + "format": "int32" + } + }, + "description": "Information on calculated cart values." + }, + "SessionAggregateDataDTO": { + "type": "object", + "properties": { + "basket": { + "$ref": "#/components/schemas/SessionAggregateBasketDTO" + }, + "wishlist": { + "$ref": "#/components/schemas/SessionAggregateWishlistDTO" + }, + "productComparison": { + "$ref": "#/components/schemas/SessionAggregateProductComparisonDTO" + }, + "shoppingLists": { + "$ref": "#/components/schemas/SessionAggregateShoppingListsDTO" + } + } + }, + "SessionAggregateProductComparisonDTO": { + "type": "object", + "properties": { + "items": { + "type": "integer", + "description": "Number of products in the product comparison.", + "format": "int32" + }, + "itemIdList": { + "type": "array", + "description": "Internal product identifiers of the product comparison.", + "items": { + "type": "integer", + "description": "Internal product identifiers of the product comparison.", + "format": "int32" + } + } + }, + "description": "Information about calculated values from the product comparison." + }, + "SessionAggregateShoppingListDTO": { + "type": "object", + "properties": { + "products": { + "type": "integer", + "description": "Number of distinct products.", + "format": "int32" + }, + "productIdList": { + "type": "array", + "description": "Internal distinct product identifiers.", + "items": { + "type": "integer", + "description": "Internal distinct product identifiers.", + "format": "int32" + } + }, + "bundles": { + "type": "integer", + "description": "Number of distinct bundles.", + "format": "int32" + }, + "bundleIdList": { + "type": "array", + "description": "Internal distinct bundle identifiers.", + "items": { + "type": "integer", + "description": "Internal distinct bundle identifiers.", + "format": "int32" + } + } + }, + "description": "Information about calculated values from default shopping list." + }, + "SessionAggregateShoppingListsDTO": { + "type": "object", + "properties": { + "defaultOne": { + "$ref": "#/components/schemas/SessionAggregateShoppingListDTO" + } + }, + "description": "Information about calculated values from shopping lists." + }, + "SessionAggregateWishlistDTO": { + "type": "object", + "properties": { + "items": { + "type": "integer", + "description": "Number of products on the wish list.", + "format": "int32" + }, + "itemIdList": { + "type": "array", + "description": "Internal product identifiers from the wish list.", + "items": { + "type": "integer", + "description": "Internal product identifiers from the wish list.", + "format": "int32" + } + } + }, + "description": "Information about calculated values ​​from the wish list.", + "deprecated": true + }, + "AddressDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "firstName": { + "type": "string", + "description": "Username." + }, + "lastName": { + "type": "string", + "description": "User last names." + }, + "company": { + "type": "string", + "description": "Company name." + }, + "address": { + "type": "string", + "description": "User address." + }, + "addressAdditionalInformation": { + "type": "string", + "description": "Additional address field." + }, + "number": { + "type": "string", + "description": "House or building number." + }, + "city": { + "type": "string", + "description": "Name of the city." + }, + "state": { + "type": "string", + "description": "Province or state." + }, + "postalCode": { + "type": "string", + "description": "Zip Code." + }, + "vat": { + "type": "string", + "description": "Company tax identification code." + }, + "nif": { + "type": "string", + "description": "User identity number or code." + }, + "location": { + "$ref": "#/components/schemas/LocationDTO" + }, + "phone": { + "type": "string", + "description": "Phone." + }, + "mobile": { + "type": "string", + "description": "Mobile phone." + }, + "fax": { + "type": "string", + "description": "Fax." + } + }, + "description": "List of valid addresses." + }, + "AddressValidatedDTO": { + "type": "object", + "properties": { + "valid": { + "type": "boolean", + "description": "Indicates whether the address is valid or not." + }, + "address": { + "$ref": "#/components/schemas/AddressDTO" + }, + "validAddresses": { + "type": "array", + "description": "List of valid addresses.", + "items": { + "$ref": "#/components/schemas/AddressDTO" + } + }, + "messages": { + "type": "array", + "description": "List of messages generated by the address validator plugin.", + "items": { + "$ref": "#/components/schemas/AddressValidatedMessageDTO" + } + } + } + }, + "AddressValidatedMessageDTO": { + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "Message generated by the address validator plugin." + }, + "detail": { + "type": "string", + "description": "Detail of the message generated by the address validator plugin." + } + }, + "description": "List of messages generated by the address validator plugin." + }, + "AddressParam": { + "type": "object", + "properties": { + "firstName": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Name." + }, + "lastName": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Surnames." + }, + "company": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Company." + }, + "address": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Address." + }, + "addressAdditionalInformation": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Additional address field." + }, + "number": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "House or building number." + }, + "city": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "City." + }, + "state": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Province or state." + }, + "postalCode": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "Zip code." + }, + "vat": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "Company tax identification code." + }, + "nif": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "User identity number or code." + }, + "location": { + "$ref": "#/components/schemas/LocationParam" + }, + "phone": { + "type": "string", + "description": "Phone." + }, + "mobile": { + "type": "string", + "description": "Mobile phone." + }, + "fax": { + "type": "string", + "description": "Fax." + } + } + }, + "BlogSubscribeParam": { + "type": "object", + "properties": { + "email": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "" + } + } + }, + "NewsletterSubscriptionDTO": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Newsletter subscription status.", + "enum": [ + "SUBSCRIBED", + "UNSUBSCRIBED", + "ERROR" + ] + }, + "messageType": { + "type": "string", + "description": "Response message type.", + "enum": [ + "INFO", + "SCRIPT" + ] + }, + "message": { + "type": "string", + "description": "Response message from newsletter subscription provider." + } + } + }, + "NewsletterSubscriptionRequestBody": { + "required": [ + "email" + ], + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "Email address." + }, + "subscriptionData": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "Open data key->value for subscription." + }, + "description": "Open data key->value for subscription." + } + } + }, + "PaginationDTOSalesAgentCustomerDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "SalesAgentCustomerCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOSalesAgentCustomerDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/SalesAgentCustomerDTO" + } + } + } + }, + "SalesAgentCustomerDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "user": { + "$ref": "#/components/schemas/UserDTO" + }, + "salesAgentTotals": { + "$ref": "#/components/schemas/SalesAgentTotalsDTO" + } + }, + "description": "Items returned by the resource." + }, + "SalesAgentTotalsDTO": { + "type": "object", + "properties": { + "totalAmount": { + "type": "number", + "format": "double" + }, + "commissionAmount": { + "type": "number", + "format": "double" + }, + "pendingAmount": { + "type": "number", + "format": "double" + }, + "totalOrders": { + "type": "integer", + "format": "int32" + } + } + }, + "DateParam": { + "type": "object", + "properties": { + "from": { + "type": "string", + "format": "date-time" + }, + "to": { + "type": "string", + "format": "date-time" + } + } + }, + "PaginationDTOUserOrderDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "UserCreditNoteDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "documentNumber": { + "type": "string", + "description": "Order number." + }, + "date": { + "type": "string", + "description": "Order date.", + "format": "date-time" + }, + "documentType": { + "type": "string", + "enum": [ + "ORDER", + "DELIVERY_NOTE", + "INVOICE", + "RMA", + "RETURN", + "CORRECTIVE_INVOICE" + ] + } + } + }, + "UserDocumentShipmentDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "trackingURL": { + "type": "string", + "description": "URL for tracking the order offered by the carrier." + }, + "pickupDate": { + "type": "string", + "description": "Date the shipment pickup request was made to the carrier.", + "format": "date-time" + }, + "trackingNumber": { + "type": "string", + "description": "Shipment tracking code." + }, + "packages": { + "type": "array", + "description": "Information about the packages that compose the shipment.", + "items": { + "$ref": "#/components/schemas/UserDocumentShippingTrackingPackageDTO" + } + } + }, + "description": "Information about shipment records." + }, + "UserDocumentShippingTrackingPackageDTO": { + "type": "object", + "properties": { + "weight": { + "type": "number", + "description": "Specifies the weight of the package.", + "format": "double" + }, + "weightUnits": { + "type": "string", + "description": "Specifies the weight units." + } + }, + "description": "Information about the packages that compose the shipment." + }, + "UserInvoiceDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "documentNumber": { + "type": "string", + "description": "Order number." + }, + "date": { + "type": "string", + "description": "Order date.", + "format": "date-time" + }, + "documentType": { + "type": "string", + "enum": [ + "ORDER", + "DELIVERY_NOTE", + "INVOICE", + "RMA", + "RETURN", + "CORRECTIVE_INVOICE" + ] + } + }, + "description": "Invoice information." + }, + "UserOrderCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOUserOrderDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/UserOrderDTO" + } + } + } + }, + "UserOrderDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "documentNumber": { + "type": "string", + "description": "Order number." + }, + "date": { + "type": "string", + "description": "Order date.", + "format": "date-time" + }, + "shipments": { + "type": "array", + "description": "Information about shipment records.", + "items": { + "$ref": "#/components/schemas/UserDocumentShipmentDTO" + } + }, + "status": { + "type": "string", + "description": "Order status.", + "enum": [ + "DENIED", + "INCIDENTS", + "INCOMING", + "IN_PROCESS", + "COMPLETED", + "DELETED", + "CONFIRM_DELETED" + ] + }, + "substatus": { + "type": "string", + "description": "Specify current substatus of the document. Only for documents of type Order or RMA, otherwise NULL." + }, + "allowReturn": { + "type": "boolean", + "description": "" + }, + "invoices": { + "type": "array", + "description": "Invoice information.", + "items": { + "$ref": "#/components/schemas/UserInvoiceDTO" + } + }, + "rmas": { + "type": "array", + "description": "Information about rmas.", + "items": { + "$ref": "#/components/schemas/UserRMADTO" + } + } + }, + "description": "Items returned by the resource." + }, + "UserRMADTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "documentNumber": { + "type": "string", + "description": "Order number." + }, + "date": { + "type": "string", + "description": "Order date.", + "format": "date-time" + }, + "shipments": { + "type": "array", + "description": "Information about shipment records.", + "items": { + "$ref": "#/components/schemas/UserDocumentShipmentDTO" + } + }, + "status": { + "type": "string", + "description": "Order status.", + "enum": [ + "INCIDENTS", + "PENDING", + "AUTHORIZED", + "NO_AUTHORIZED", + "IN_PROCESS", + "ACCEPTED", + "DENIED", + "COMPLETED", + "DELETED" + ] + }, + "substatus": { + "type": "string", + "description": "Specify current substatus of the document. Only for documents of type Order or RMA, otherwise NULL." + }, + "documentType": { + "type": "string", + "enum": [ + "ORDER", + "DELIVERY_NOTE", + "INVOICE", + "RMA", + "RETURN", + "CORRECTIVE_INVOICE" + ] + }, + "returns": { + "type": "array", + "description": "Returns information.", + "items": { + "$ref": "#/components/schemas/UserReturnDTO" + } + } + }, + "description": "Items returned by the resource." + }, + "UserReturnDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "documentNumber": { + "type": "string", + "description": "Order number." + }, + "date": { + "type": "string", + "description": "Order date.", + "format": "date-time" + }, + "documentType": { + "type": "string", + "enum": [ + "ORDER", + "DELIVERY_NOTE", + "INVOICE", + "RMA", + "RETURN", + "CORRECTIVE_INVOICE" + ] + }, + "creditNotes": { + "type": "array", + "description": "Information on corrective invoices.", + "items": { + "$ref": "#/components/schemas/UserCreditNoteDTO" + } + }, + "correctiveInvoices": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserCreditNoteDTO" + } + } + }, + "description": "Returns information." + }, + "PaginationDTOSalesAgentSaleDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "SalesAgentDetailsDTO": { + "type": "object", + "properties": { + "totalAmount": { + "type": "number", + "format": "double" + }, + "commissionAmount": { + "type": "number", + "format": "double" + }, + "commissionPaid": { + "type": "boolean" + } + } + }, + "SalesAgentSaleCollectionDTO": { + "type": "object", + "properties": { + "salesAgentTotals": { + "$ref": "#/components/schemas/SalesAgentTotalsDTO" + }, + "pagination": { + "$ref": "#/components/schemas/PaginationDTOSalesAgentSaleDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/SalesAgentSaleDTO" + } + } + } + }, + "SalesAgentSaleCustomerDTO": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "company": { + "type": "string" + }, + "userId": { + "type": "integer", + "format": "int32" + } + } + }, + "SalesAgentSaleDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "documentNumber": { + "type": "string", + "description": "Order number." + }, + "date": { + "type": "string", + "description": "Order date.", + "format": "date-time" + }, + "shipments": { + "type": "array", + "description": "Information about shipment records.", + "items": { + "$ref": "#/components/schemas/UserDocumentShipmentDTO" + } + }, + "status": { + "type": "string", + "description": "Order status.", + "enum": [ + "DENIED", + "INCIDENTS", + "INCOMING", + "IN_PROCESS", + "COMPLETED", + "DELETED", + "CONFIRM_DELETED" + ] + }, + "substatus": { + "type": "string", + "description": "Specify current substatus of the document. Only for documents of type Order or RMA, otherwise NULL." + }, + "allowReturn": { + "type": "boolean", + "description": "" + }, + "salesAgentDetails": { + "$ref": "#/components/schemas/SalesAgentDetailsDTO" + }, + "customer": { + "$ref": "#/components/schemas/SalesAgentSaleCustomerDTO" + }, + "invoices": { + "type": "array", + "description": "Invoice information.", + "items": { + "$ref": "#/components/schemas/UserInvoiceDTO" + } + }, + "rmas": { + "type": "array", + "description": "Information about rmas.", + "items": { + "$ref": "#/components/schemas/UserRMADTO" + } + } + }, + "description": "Items returned by the resource." + }, + "SalesAgentSimulateUserParam": { + "required": [ + "customerId" + ], + "type": "object", + "properties": { + "customerId": { + "type": "integer", + "format": "int32" + } + } + }, + "CountryParam": { + "required": [ + "country" + ], + "type": "object", + "properties": { + "country": { + "type": "string", + "description": "Country code in ISO 3166-2 format." + } + } + }, + "CurrencyParam": { + "required": [ + "currency" + ], + "type": "object", + "properties": { + "currency": { + "type": "string", + "description": "Currency code in ISO 4217 format." + } + } + }, + "LanguageParam": { + "required": [ + "language" + ], + "type": "object", + "properties": { + "language": { + "type": "string", + "description": "Language code in ISO 639-1 format." + } + } + }, + "PaginationDTOSubscriptionDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "SubscriptionCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOSubscriptionDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/SubscriptionDTO" + } + } + } + }, + "SubscriptionDTO": { + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "subscriptionType": { + "type": "string", + "enum": [ + "BLOG", + "STOCK_ALERT" + ] + }, + "verified": { + "type": "boolean" + }, + "active": { + "type": "boolean" + }, + "subscribedAt": { + "type": "string", + "format": "date-time" + }, + "unsubscribedAt": { + "type": "string", + "format": "date-time" + } + }, + "description": "Items returned by the resource." + }, + "UserAddressDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "firstName": { + "type": "string", + "description": "Username." + }, + "lastName": { + "type": "string", + "description": "User last names." + }, + "company": { + "type": "string", + "description": "Company name." + }, + "address": { + "type": "string", + "description": "User address." + }, + "addressAdditionalInformation": { + "type": "string", + "description": "Additional address field." + }, + "number": { + "type": "string", + "description": "House or building number." + }, + "city": { + "type": "string", + "description": "Name of the city." + }, + "state": { + "type": "string", + "description": "Province or state." + }, + "postalCode": { + "type": "string", + "description": "Zip Code." + }, + "vat": { + "type": "string", + "description": "Company tax identification code." + }, + "nif": { + "type": "string", + "description": "User identity number or code." + }, + "location": { + "$ref": "#/components/schemas/LocationDTO" + }, + "phone": { + "type": "string", + "description": "Phone." + }, + "mobile": { + "type": "string", + "description": "Mobile phone." + }, + "fax": { + "type": "string", + "description": "Fax." + }, + "type": { + "type": "string", + "description": "Type of address.", + "enum": [ + "BILLING", + "SHIPPING" + ] + }, + "defaultAddress": { + "type": "boolean", + "description": "Specifies that this is the default address. It is the one that is used automatically if not stated otherwise in the purchase processes." + }, + "alias": { + "type": "string", + "description": "Specifies the alias of the address." + }, + "tax": { + "type": "boolean", + "description": "Specifies whether taxes are applied to the user." + }, + "re": { + "type": "boolean", + "description": "Specifies whether the user is liable to sales equalization tax." + }, + "reverseChargeVat": { + "type": "boolean", + "description": "Specifies whether the user is considered a taxpayer making an investment for tax purposes." + } + }, + "anyOf": [ + { + "$ref": "#/components/schemas/BillingUserAddressDTO" + }, + { + "$ref": "#/components/schemas/ShippingUserAddressDTO" + } + ] + }, + "BillingUserAddressParam": { + "required": [ + "userType" + ], + "type": "object", + "properties": { + "firstName": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Name." + }, + "lastName": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Surnames." + }, + "company": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Company." + }, + "address": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Address." + }, + "addressAdditionalInformation": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Additional address field." + }, + "number": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "House or building number." + }, + "city": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "City." + }, + "state": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Province or state." + }, + "postalCode": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "Zip code." + }, + "vat": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "Company tax identification code." + }, + "nif": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "User identity number or code." + }, + "location": { + "$ref": "#/components/schemas/LocationParam" + }, + "phone": { + "type": "string", + "description": "Phone." + }, + "mobile": { + "type": "string", + "description": "Mobile phone." + }, + "fax": { + "type": "string", + "description": "Fax." + }, + "alias": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Alias ​​for the address." + }, + "defaultAddress": { + "type": "boolean", + "description": "Set the address as default." + }, + "createMode": { + "type": "boolean" + }, + "userType": { + "type": "string", + "description": "Type of user.", + "enum": [ + "EMPTY", + "PARTICULAR", + "BUSINESS", + "FREELANCE" + ] + }, + "re": { + "type": "boolean", + "description": "Specifies whether the user is liable to sales equalization tax.", + "default": false + }, + "tax": { + "type": "boolean", + "description": "Specifies whether the user is liable to tax.", + "default": true + } + }, + "description": "Parameter block for the billing address." + }, + "ShippingUserAddressParam": { + "type": "object", + "properties": { + "firstName": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Name." + }, + "lastName": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Surnames." + }, + "company": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Company." + }, + "address": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Address." + }, + "addressAdditionalInformation": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Additional address field." + }, + "number": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "House or building number." + }, + "city": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "City." + }, + "state": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Province or state." + }, + "postalCode": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "Zip code." + }, + "vat": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "Company tax identification code." + }, + "nif": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "User identity number or code." + }, + "location": { + "$ref": "#/components/schemas/LocationParam" + }, + "phone": { + "type": "string", + "description": "Phone." + }, + "mobile": { + "type": "string", + "description": "Mobile phone." + }, + "fax": { + "type": "string", + "description": "Fax." + }, + "alias": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Alias ​​for the address." + }, + "defaultAddress": { + "type": "boolean", + "description": "Set the address as default." + }, + "createMode": { + "type": "boolean" + } + }, + "description": "Parameter block for shipping address." + }, + "BillingUserAddressUpdateParam": { + "type": "object", + "properties": { + "firstName": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Name." + }, + "lastName": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Surnames." + }, + "company": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Company." + }, + "address": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Address." + }, + "addressAdditionalInformation": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Additional address field." + }, + "number": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "House or building number." + }, + "city": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "City." + }, + "state": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Province or state." + }, + "postalCode": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "Zip code." + }, + "vat": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "Company tax identification code." + }, + "nif": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "User identity number or code." + }, + "location": { + "$ref": "#/components/schemas/LocationParam" + }, + "phone": { + "type": "string", + "description": "Phone." + }, + "mobile": { + "type": "string", + "description": "Mobile phone." + }, + "fax": { + "type": "string", + "description": "Fax." + }, + "alias": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Alias ​​for the address." + }, + "defaultAddress": { + "type": "boolean", + "description": "Set the address as default." + }, + "createMode": { + "type": "boolean" + }, + "userType": { + "type": "string", + "description": "Type of user.", + "enum": [ + "EMPTY", + "PARTICULAR", + "BUSINESS", + "FREELANCE" + ] + }, + "re": { + "type": "boolean", + "description": "Specifies whether the user is liable to sales equalization tax." + }, + "tax": { + "type": "boolean", + "description": "Specifies whether the user is liable to tax." + } + } + }, + "UserOauthUrlDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "url": { + "type": "string", + "description": "External connection access URL." + } + } + }, + "UserOauthDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "email": { + "type": "string", + "description": "User's email address." + }, + "firstName": { + "type": "string", + "description": "Username." + }, + "lastName": { + "type": "string", + "description": "User last names." + } + } + }, + "UserOauthParam": { + "required": [ + "code", + "pluginModule" + ], + "type": "object", + "properties": { + "pluginModule": { + "type": "string", + "description": "Plugin name that implements the OAuth connection. " + }, + "code": { + "type": "string", + "description": "Code for identificate the OAuth connection." + }, + "state": { + "type": "string", + "description": "App state value OAuth. " + } + } + }, + "PaginationDTOUserRMADTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "UserRMACollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOUserRMADTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/UserRMADTO" + } + } + } + }, + "PaginationDTOPluginPaymentTokenDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "PluginPaymentTokenCollectionDTO": { + "type": "object", + "properties": { + "module": { + "type": "string" + }, + "pagination": { + "$ref": "#/components/schemas/PaginationDTOPluginPaymentTokenDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/PluginPaymentTokenDTO" + } + } + } + }, + "PluginPaymentTokenDTO": { + "type": "object", + "properties": { + "token": { + "type": "string" + }, + "data": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "description": "Items returned by the resource." + }, + "BasicPluginCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOBasicPluginDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/BasicPluginDTO" + } + } + } + }, + "BasicPluginDTO": { + "type": "object", + "properties": { + "module": { + "type": "string", + "description": "Unique name of the plugin module. This is the name that appears in the plugin module-info.java file, which must follow the Java convention for naming modules and packages (for example, com.logicommerce.pluginname)." + }, + "properties": { + "type": "array", + "description": "Information about plugin properties.", + "items": { + "$ref": "#/components/schemas/PluginPropertyDTO" + } + } + }, + "description": "Items returned by the resource." + }, + "PaginationDTOBasicPluginDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "PluginPropertyDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "connectorType": { + "type": "string", + "description": "Plugin connector type.", + "enum": [ + "NONE", + "SHIPPER", + "SHIPPING_TYPE", + "PAYMENT_SYSTEM", + "CUSTOM_TAG", + "RELATED_DEFINITION", + "BASKET", + "MAILING_SYSTEM", + "SEARCH_ENGINE", + "OAUTH", + "TRACKER", + "ASSET", + "MARKETPLACE", + "SHIPMENT", + "CONFIRM_ORDER", + "ORDER_STATUS", + "MARKETING", + "DATA", + "UNKNOWN", + "CAPTCHA", + "MAPS", + "TAXES", + "ORDER", + "DOCUMENT_PAYMENT_SYSTEM", + "DOCUMENT_SHIPMENT", + "RMA", + "EXPRESS_CHECKOUT", + "ADDRESS_VALIDATOR", + "PICKUP_POINT_PROVIDER" + ] + }, + "itemId": { + "type": "integer", + "description": "Connector identifier.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Property name." + }, + "hint": { + "type": "string", + "description": "" + }, + "value": { + "type": "string", + "description": "Property value." + } + }, + "description": "Information about plugin properties." + }, + "ChangePasswordParam": { + "required": [ + "newPassword", + "password" + ], + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "Current password." + }, + "newPassword": { + "type": "string", + "description": "New Password." + } + } + }, + "ChangePasswordHashParam": { + "required": [ + "hash", + "password" + ], + "type": "object", + "properties": { + "password": { + "type": "string", + "description": "New Password." + }, + "hash": { + "type": "string", + "description": "Hash code to validate the user who changes the password." + } + } + }, + "DetailDTO": { + "type": "object", + "properties": { + "reference": { + "type": "string", + "description": "" + }, + "status": { + "type": "string", + "description": "" + }, + "code": { + "type": "string", + "description": "" + }, + "stackTrace": { + "type": "string", + "description": "" + }, + "message": { + "type": "string", + "description": "" + } + }, + "description": "Incidence cause information." + }, + "IncidenceDTO": { + "type": "object", + "properties": { + "detail": { + "$ref": "#/components/schemas/DetailDTO" + }, + "item": { + "type": "object" + } + } + }, + "ListRowReferenceBundleDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Specifies the internal identifier of the referenced item.", + "format": "int32" + }, + "options": { + "type": "array", + "description": "Information about the set bundle's options.", + "items": { + "$ref": "#/components/schemas/ListRowReferenceBundleItemDTO" + } + }, + "combinationData": { + "$ref": "#/components/schemas/BundleCombinationDataDTO" + }, + "type": { + "type": "string", + "description": "Specifies the reference type.", + "default": "BUNDLE" + } + } + }, + "ListRowReferenceBundleItemDTO": { + "type": "object", + "properties": { + "itemId": { + "type": "integer", + "description": "Specifies the internal identifier of the bundle's item.", + "format": "int32" + }, + "options": { + "type": "array", + "description": "Information about the set product options.", + "items": { + "$ref": "#/components/schemas/OptionReferenceDTO" + } + } + }, + "description": "Information about the set bundle's options." + }, + "ListRowReferenceBundleNoCombinationDataDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Specifies the internal identifier of the referenced item.", + "format": "int32" + }, + "options": { + "type": "array", + "description": "Information about the set bundle's options.", + "items": { + "$ref": "#/components/schemas/ListRowReferenceBundleItemDTO" + } + }, + "type": { + "type": "string", + "description": "Specifies the reference type.", + "default": "BUNDLE" + } + } + }, + "ListRowReferenceDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Specifies the internal identifier of the referenced item.", + "format": "int32" + }, + "type": { + "type": "string" + } + }, + "description": "Information about the referenced item. Null means no reference.", + "oneOf": [ + { + "$ref": "#/components/schemas/ListRowReferenceProductDTO" + }, + { + "$ref": "#/components/schemas/ListRowReferenceBundleDTO" + }, + { + "$ref": "#/components/schemas/ListRowReferenceBundleNoCombinationDataDTO" + }, + { + "$ref": "#/components/schemas/ListRowReferenceProductNoCombinationDataDTO" + }, + { + "$ref": "#/components/schemas/ListRowReferenceBundleBackNoCombinationDataDTO" + }, + { + "$ref": "#/components/schemas/ListRowReferenceProductBackNoCombinationDataDTO" + } + ] + }, + "ListRowReferenceProductDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Specifies the internal identifier of the referenced item.", + "format": "int32" + }, + "options": { + "type": "array", + "description": "Information about the set product options.", + "items": { + "$ref": "#/components/schemas/OptionReferenceDTO" + } + }, + "combinationData": { + "$ref": "#/components/schemas/ProductCombinationDataDTO" + }, + "type": { + "type": "string", + "description": "Specifies the reference type.", + "default": "PRODUCT" + } + } + }, + "ListRowReferenceProductNoCombinationDataDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Specifies the internal identifier of the referenced item.", + "format": "int32" + }, + "options": { + "type": "array", + "description": "Information about the set product options.", + "items": { + "$ref": "#/components/schemas/OptionReferenceDTO" + } + }, + "type": { + "type": "string", + "description": "Specifies the reference type.", + "default": "PRODUCT" + } + } + }, + "OptionReferenceDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the product option.", + "format": "int32" + }, + "values": { + "type": "array", + "description": "List of the set values of the product option. It can contain more than one value if the option is multiple, otherwise it will contain only one.", + "items": { + "$ref": "#/components/schemas/OptionReferenceValueDTO" + } + } + }, + "description": "Information about the set product options." + }, + "OptionReferenceValueDTO": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Set value for the product option. - If option is of type selector, it contains a internal identifier of its option values. - If option is of type Yes/No, it contains 'true' or 'false'. - If option is of type Date, it contains a date with format 'yyyy-mm-dd'. - If option is of type Attachment, contains the url of the attachment. - If option is of type text, contains the text." + } + }, + "description": "List of the set values of the product option. It can contain more than one value if the option is multiple, otherwise it will contain only one." + }, + "SaveForLaterListRowCollectionDTO": { + "type": "object", + "properties": { + "incidences": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IncidenceDTO" + } + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/SaveForLaterListRowDTO" + } + } + } + }, + "SaveForLaterListRowDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "reference": { + "$ref": "#/components/schemas/ListRowReferenceDTO" + }, + "addedDate": { + "type": "string", + "description": "Specifies the date time the row was added. Format ISO-8601 ('YYYY-MM-DDThh:mm:ssZ').", + "format": "date-time" + }, + "quantity": { + "type": "integer", + "description": "Required quantity.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + } + }, + "description": "Items returned by the resource." + }, + "SaveForLaterListBody": { + "required": [ + "items" + ], + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "Parameter block with the information about each shopping list row to be added to the 'save for later list'.", + "items": { + "$ref": "#/components/schemas/SaveForLaterListRowBody" + } + } + } + }, + "SaveForLaterListRowBody": { + "required": [ + "basketRowHash" + ], + "type": "object", + "properties": { + "basketRowHash": { + "type": "string", + "description": "Hash identifier of the shopping cart row from which to create a row in the 'saver for later list'." + } + }, + "description": "Parameter block with the information about each shopping list row to be added to the 'save for later list'." + }, + "ShoppingListDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Name of the item." + }, + "description": { + "type": "string", + "description": "Description of the item." + }, + "keepPurchasedItems": { + "type": "boolean", + "description": "Specifies whether the rows of the shopping list are automatically deleted from the shopping list when their items are purchased though them." + }, + "defaultOne": { + "type": "boolean", + "description": "Specifies whether this shopping list is the default one." + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + } + } + }, + "ShoppingListBody": { + "type": "object", + "properties": { + "name": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Name of the shopping list. Must be different to empty string or only spaces." + }, + "description": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Description of the shopping list." + }, + "keepPurchasedItems": { + "type": "boolean", + "description": "Specifies whether the rows of the shopping list are automatically deleted from the shopping list when their items are purchased though them." + }, + "defaultOne": { + "type": "boolean", + "description": "Sets this shopping list as the default one. There should always be a default list." + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + } + } + }, + "ListRowReferenceBundleBackItemDTO": { + "type": "object", + "properties": { + "itemId": { + "type": "integer", + "description": "", + "format": "int32" + }, + "options": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/OptionBackReferenceDTO" + } + } + }, + "description": "Information about the set bundle's options." + }, + "ListRowReferenceBundleBackNoCombinationDataDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Specifies the internal identifier of the referenced item.", + "format": "int32" + }, + "options": { + "type": "array", + "description": "Information about the set bundle's options.", + "items": { + "$ref": "#/components/schemas/ListRowReferenceBundleBackItemDTO" + } + }, + "type": { + "type": "string", + "description": "Specifies the reference type.", + "default": "BUNDLE" + } + } + }, + "ListRowReferenceProductBackNoCombinationDataDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Specifies the internal identifier of the referenced item.", + "format": "int32" + }, + "getpId": { + "type": "string", + "description": "Public identifier of the item." + }, + "options": { + "type": "array", + "description": "Information about the set product options.", + "items": { + "$ref": "#/components/schemas/OptionBackReferenceDTO" + } + }, + "type": { + "type": "string", + "description": "Specifies the reference type.", + "default": "PRODUCT" + } + } + }, + "OptionBackReferenceDTO": { + "type": "object", + "properties": { + "getpId": { + "type": "string", + "description": "Public identifier of the item." + }, + "id": { + "type": "integer", + "description": "Internal identifier of the product option.", + "format": "int32" + }, + "values": { + "type": "array", + "description": "List of the set values of the product option. It can contain more than one value if the option is multiple, otherwise it will contain only one.", + "items": { + "$ref": "#/components/schemas/OptionBackReferenceValueDTO" + } + } + }, + "description": "Information about the set product options." + }, + "OptionBackReferenceValueDTO": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Set value for the product option. - If option is of type selector, it contains a internal identifier of its option values. - If option is of type Yes/No, it contains 'true' or 'false'. - If option is of type Date, it contains a date with format 'yyyy-mm-dd'. - If option is of type Attachment, contains the url of the attachment. - If option is of type text, contains the text." + }, + "valuePId": { + "type": "string", + "description": "Public identifier of the item." + } + }, + "description": "List of the set values of the product option. It can contain more than one value if the option is multiple, otherwise it will contain only one." + }, + "ShoppingListRowCollectionDTO": { + "type": "object", + "properties": { + "incidences": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IncidenceDTO" + } + }, + "items": { + "type": "array", + "description": "Information of the created items.", + "items": { + "$ref": "#/components/schemas/ShoppingListRowDTO" + } + } + } + }, + "ShoppingListRowDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "comment": { + "type": "string", + "description": "Comment of the shopping list row." + }, + "importance": { + "type": "string", + "description": "Specifies the importance of this shopping list row over the rest.", + "enum": [ + "LOWEST", + "LOW", + "MEDIUM", + "HIGH", + "HIGHEST" + ] + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this item in relation to the rest of items of the same type.", + "format": "int32" + }, + "reference": { + "$ref": "#/components/schemas/ListRowReferenceDTO" + }, + "addedDate": { + "type": "string", + "description": "Specifies the date time the shopping list row was added. Format ISO-8601 ('YYYY-MM-DDThh:mm:ssZ').", + "format": "date-time" + }, + "quantity": { + "type": "integer", + "description": "Required quantity of the shopping list row.", + "format": "int32" + }, + "shoppingListId": { + "type": "integer", + "description": "Specifies the internal identifier of the shopping list this row belongs to.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + } + } + }, + "ListRowBody": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/components/schemas/ListRowReferenceBody" + }, + "referenceOfBasketRow": { + "type": "string", + "description": "Hash identifier of the basket row from which the referenced item information should be taken. This parameter takes precedence over the 'reference' parameter. Only admits hash identifiers of basket rows of type product or bundle (gift, linked and bundle item rows are excluded)" + }, + "comment": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "description": "Comment of the shopping list row." + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this shopping list row in relation to the rest of shopping list rows of the shopping list. It must be a value between 1 and the total quantity of shopping list rows of the shopping list.", + "format": "int32" + }, + "quantity": { + "type": "integer", + "description": "Required quantity of the shopping list row. It must be greater or equal to 1.", + "format": "int32" + }, + "importance": { + "type": "string", + "description": "Specifies the importance of this shopping list row over the rest.", + "enum": [ + "LOWEST", + "LOW", + "MEDIUM", + "HIGH", + "HIGHEST" + ] + } + }, + "description": "Parameter block with the information about each shopping list row to be added to the specified shopping list." + }, + "ListRowReferenceBody": { + "required": [ + "id", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specifies the reference type.", + "enum": [ + "Enum(PRODUCT,BUNDLE)" + ] + }, + "id": { + "type": "integer", + "description": "Specifies the internal identifier of the referenced item.", + "format": "int32" + }, + "productOptions": { + "type": "array", + "description": "Parameter block to set the required product options. The 'option-value' pairs sent for this parameter must match the options you want to set for the product. If an empty array is specified then it will be left with no options set. Only applicable for Product references.", + "items": { + "$ref": "#/components/schemas/BasketProductOptionParam" + } + }, + "bundleOptions": { + "type": "array", + "description": "Parameter block to set the required options of the bundle's items. For each pack's item you want to set options, you need to specify the identifier of the pack's item and as many 'option-value' pairs as options you want to set for that item of the pack. If an empty array is specified then it will be left with no options set. Only applicable for Bundle references.", + "items": { + "$ref": "#/components/schemas/BasketBundleOptionParam" + } + } + }, + "description": "Information about the referenced item." + }, + "ShoppingListRowBody": { + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "Parameter block with the information about each shopping list row to be added to the specified shopping list.", + "items": { + "$ref": "#/components/schemas/ListRowBody" + } + } + } + }, + "IncidenceDeleteItemDTO": { + "type": "object", + "properties": { + "item": { + "$ref": "#/components/schemas/ShoppingListRowDeleteItemDTO" + }, + "detail": { + "$ref": "#/components/schemas/DetailDTO" + } + }, + "description": "Information about detected incidences." + }, + "IncidencesCollectionDTO": { + "type": "object", + "properties": { + "incidences": { + "type": "array", + "description": "Information about detected incidences.", + "items": { + "$ref": "#/components/schemas/IncidenceDeleteItemDTO" + } + } + } + }, + "ShoppingListRowDeleteItemDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier.", + "format": "int32" + }, + "type": { + "type": "string", + "description": "Type of the element identified by this identifier.", + "enum": [ + "Enum('PRODUCT','BUNDLE','SHOPPING_LIST_ROW')" + ] + } + }, + "description": "Information about the provided identifier that causes the incidence." + }, + "ShoppingListRowDeleteBody": { + "type": "object", + "properties": { + "productIdList": { + "type": "array", + "description": "Internal product identifiers. The shopping list rows that references any of these products will be deleted.", + "items": { + "type": "integer", + "description": "Internal product identifiers. The shopping list rows that references any of these products will be deleted.", + "format": "int32" + } + }, + "bundleIdList": { + "type": "array", + "description": "Internal bundle identifiers. The shopping list rows that references any of these bundles will be deleted.", + "items": { + "type": "integer", + "description": "Internal bundle identifiers. The shopping list rows that references any of these bundles will be deleted.", + "format": "int32" + } + }, + "rowIdList": { + "type": "array", + "description": "Internal shopping list rows identifiers. These rows will be deleted from the shopping list.", + "items": { + "type": "integer", + "description": "Internal shopping list rows identifiers. These rows will be deleted from the shopping list.", + "format": "int32" + } + } + } + }, + "PaginationDTORewardPointsBalanceDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "RewardPointsBalanceAvailableDTO": { + "type": "object", + "properties": { + "value": { + "type": "integer", + "description": "", + "format": "int32" + }, + "expirationDate": { + "type": "string", + "description": "", + "format": "date" + } + }, + "description": "" + }, + "RewardPointsBalanceCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTORewardPointsBalanceDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/RewardPointsBalanceDTO" + } + } + } + }, + "RewardPointsBalanceDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "pId": { + "type": "string", + "description": "Public identifier of the item." + }, + "language": { + "$ref": "#/components/schemas/NameDescriptionDTO" + }, + "availables": { + "type": "array", + "description": "", + "items": { + "$ref": "#/components/schemas/RewardPointsBalanceAvailableDTO" + } + }, + "earned": { + "type": "integer", + "description": "", + "format": "int32" + }, + "redeemed": { + "type": "integer", + "description": "", + "format": "int32" + }, + "pending": { + "type": "integer", + "description": "", + "format": "int32" + } + }, + "description": "Items returned by the resource." + }, + "PaginationDTOSaveForLaterListRowDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "SaveForLaterListPaginationDTO": { + "type": "object", + "properties": { + "products": { + "type": "array", + "description": "Information for each product referenced from any of the returned rows.", + "items": { + "$ref": "#/components/schemas/ProductDTO" + } + }, + "bundles": { + "type": "array", + "description": "Information for each bundle referenced from any of the returned rows.", + "items": { + "$ref": "#/components/schemas/BundleGroupingDTO" + } + }, + "pagination": { + "$ref": "#/components/schemas/PaginationDTOSaveForLaterListRowDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/SaveForLaterListRowDTO" + } + } + } + }, + "BasketParam": { + "type": "object", + "properties": { + "basketToken": { + "type": "string" + } + } + }, + "PaginationDTOShoppingListDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "ShoppingListCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOShoppingListDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/ShoppingListDTO" + } + } + } + }, + "PaginationDTOShoppingListRowDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "ShoppingListRowFrontPaginationDTO": { + "type": "object", + "properties": { + "products": { + "type": "array", + "description": "Information for each product referenced from any of the returned rows.", + "items": { + "$ref": "#/components/schemas/ProductDTO" + } + }, + "bundles": { + "type": "array", + "description": "Information for each bundle referenced from any of the returned rows.", + "items": { + "$ref": "#/components/schemas/BundleGroupingDTO" + } + }, + "pagination": { + "$ref": "#/components/schemas/PaginationDTOShoppingListRowDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/ShoppingListRowDTO" + } + } + } + }, + "PaginationDTOStockAlertDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "ProductCombinationDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "codes": { + "$ref": "#/components/schemas/ProductCodesDTO" + }, + "combinationValues": { + "type": "array", + "description": "Information about the option values ​​that make up the combinations.", + "items": { + "$ref": "#/components/schemas/ProductCombinationValueDTO" + } + } + }, + "description": "Information about the combinations of option values that a product can have." + }, + "ProductCombinationValueDTO": { + "type": "object", + "properties": { + "optionId": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "optionName": { + "type": "string", + "description": "Name of the product option for the returned language." + }, + "valueId": { + "type": "integer", + "description": "Internal identifier of the item.", + "format": "int32" + }, + "valueName": { + "type": "string", + "description": "Option value for the returned language." + } + }, + "description": "Information about the option values ​​that make up the combinations." + }, + "ProductStockAlertDTO": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Item name." + }, + "images": { + "$ref": "#/components/schemas/MediaDTO" + }, + "url": { + "type": "string", + "description": "URL of the item." + }, + "productCombination": { + "$ref": "#/components/schemas/ProductCombinationDTO" + } + }, + "description": "Information about the subscribed product." + }, + "StockAlertCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOStockAlertDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/StockAlertDTO" + } + } + } + }, + "StockAlertDTO": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Internal identifier of the product combination to which you have subscribed.", + "format": "int32" + }, + "email": { + "type": "string", + "description": "Email linked to the stock alert subscription." + }, + "subscriptionDate": { + "type": "string", + "description": "Subscription date for the stock alert.", + "format": "date-time" + }, + "product": { + "$ref": "#/components/schemas/ProductStockAlertDTO" + } + }, + "description": "Items returned by the resource." + }, + "UserExistsDTO": { + "type": "object", + "properties": { + "exists": { + "type": "boolean" + } + } + }, + "LoginParam": { + "required": [ + "password", + "username" + ], + "type": "object", + "properties": { + "username": { + "type": "string", + "description": "User identifier. Depending on the configuration, this can be the user's email address or public identifier (pId)." + }, + "password": { + "type": "string", + "description": "Password." + } + } + }, + "RecoverPasswordParam": { + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "Email address." + }, + "pid": { + "type": "string" + } + } + }, + "ResendVerifyUserParam": { + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "Email address.", + "deprecated": true + }, + "userIdentifier": { + "type": "string", + "description": "User identifier." + } + } + }, + "ListRowReferenceUpdateBody": { + "type": "object", + "properties": { + "productOptions": { + "type": "array", + "description": "Parameter block to set the required product options. The 'option-value' pairs sent for this parameter must match the options you want to set for the product. If an empty array is specified then it will be left with no options set. Only applicable for Product references.", + "items": { + "$ref": "#/components/schemas/BasketProductOptionParam" + } + }, + "bundleOptions": { + "type": "array", + "description": "Parameter block to set the required options of the bundle's items. For each pack's item you want to set options, you need to specify the identifier of the pack's item and as many 'option-value' pairs as options you want to set for that item of the pack. If an empty array is specified then it will be left with no options set. Only applicable for Bundle references.", + "items": { + "$ref": "#/components/schemas/BasketBundleOptionParam" + } + }, + "typeEnum": { + "type": "string", + "enum": [ + "PRODUCT", + "GIFT", + "BUNDLE", + "BUNDLE_ITEM", + "LINKED", + "SELECTABLE_GIFT" + ] + }, + "id": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "string" + } + }, + "description": "Information about the referenced item." + }, + "ListRowUpdateBody": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/components/schemas/ListRowReferenceUpdateBody" + }, + "comment": { + "type": "string", + "description": "Comment of the shopping list row." + }, + "priority": { + "type": "integer", + "description": "Specifies the order of presentation of this shopping list row in relation to the rest of shopping list rows of the shopping list. It must be a value between 1 and the total quantity of shopping list rows of the shopping list.", + "format": "int32" + }, + "quantity": { + "type": "integer", + "description": "Required quantity of the shopping list row. It must be greater or equal to 1.", + "format": "int32" + }, + "importance": { + "type": "string", + "description": "Specifies the importance of this shopping list row over the rest.", + "enum": [ + "LOWEST", + "LOW", + "MEDIUM", + "HIGH", + "HIGHEST" + ] + }, + "shoppingListId": { + "type": "integer", + "description": "Specifies the internal identifier of the shopping list this row belongs to. It must be one of the registered user.", + "format": "int32" + } + } + }, + "SetUserParam": { + "type": "object", + "properties": { + "pId": { + "type": "string", + "writeOnly": true + }, + "nick": { + "type": "string", + "description": "Nickname of the user." + }, + "gender": { + "type": "string", + "description": "User gender", + "enum": [ + "UNDEFINED", + "MALE", + "FEMALE" + ] + }, + "birthday": { + "type": "string", + "description": "Date of birth.", + "format": "date" + }, + "useShippingAddress": { + "type": "boolean", + "description": "Specifies that a shipping address is used to receive an order." + }, + "subscribed": { + "type": "boolean", + "description": "Specifies that the user is subscribed to a newsletter." + }, + "image": { + "type": "string", + "description": "Path of the user image file." + }, + "email": { + "type": "string", + "description": "Email address." + }, + "password": { + "type": "string", + "description": "Password." + }, + "createAccount": { + "type": "boolean", + "description": "Specifies that the user must register." + }, + "customTags": { + "type": "array", + "description": "Parameter block for custom tags. The tag - value pairs for that tag must match the required tags.", + "items": { + "$ref": "#/components/schemas/CustomTagParam" + } + }, + "groupPId": { + "type": "string", + "description": "Public identifier of user group." + }, + "pid": { + "type": "string" + }, + "billingAddress": { + "$ref": "#/components/schemas/BillingUserAddressParam" + }, + "shippingAddress": { + "$ref": "#/components/schemas/ShippingUserAddressParam" + } + } + }, + "PaginationDTOVoucherDTO": { + "type": "object", + "properties": { + "page": { + "type": "integer", + "description": "Return page number.", + "format": "int32" + }, + "perPage": { + "type": "integer", + "description": "Number of items per page.", + "format": "int32" + }, + "totalItems": { + "type": "integer", + "description": "Total number of items.", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "description": "Total number of pages.", + "format": "int32" + } + }, + "description": "Information about the pagination of the items." + }, + "VoucherCollectionDTO": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationDTOVoucherDTO" + }, + "items": { + "type": "array", + "description": "Items returned by the resource.", + "items": { + "$ref": "#/components/schemas/VoucherDTO" + } + } + } + }, + "WishlistParam": { + "required": [ + "comment", + "productIdList", + "toEmail", + "toName" + ], + "type": "object", + "properties": { + "productIdList": { + "type": "string", + "description": "List of the internal identifiers of the products that belong to the wish list that you want to send." + }, + "toName": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "Name of the user who will receive the wish list." + }, + "toEmail": { + "maxLength": 50, + "minLength": 0, + "type": "string", + "description": "Email address of the recipient of the communication." + }, + "comment": { + "maxLength": 4000, + "minLength": 0, + "type": "string", + "description": "Comment to add to the communication." + } + } + }, + "AuthDTO": { + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "Unique access identifier." + } + } + }, + "VersionDTO": { + "type": "object", + "properties": { + "version": { + "type": "string" + } + } + } + } + } +} diff --git a/logicommerce/utils/transform.ts b/logicommerce/utils/transform.ts new file mode 100644 index 000000000..4149cdbe9 --- /dev/null +++ b/logicommerce/utils/transform.ts @@ -0,0 +1,192 @@ +import type { + OptionDTO, + ProductDTO, +} from "../utils/openapi/api.openapi.gen.ts"; +import type { + ImageObject, + ItemAvailability, + Product, + ProductLeaf, + PropertyValue, +} from "../../commerce/types.ts"; + +const productAvailability = { + AVAILABLE: "https://schema.org/InStock", + RESERVE: "https://schema.org/PreOrder", + UNAVAILABLE: "https://schema.org/OutOfStock", +} as Record; + +function optionToHasVariant(p: ProductDTO, o: OptionDTO): ProductLeaf[] { + const values = o.values ?? []; + const stock = p.combinations + ?.find((c) => + c.values?.find((v) => + o.values?.map((v) => v.id)?.includes(v.productOptionValueId) + ) + ) + ?.stocks?.sort((a, b) => (b.units ?? 0) - (a.units ?? 0))[0]; + + const combinationDataOption = p.combinationData?.options?.find(({ id }) => + id === o.id + ); + const combinationDataOptionValues = (combinationDataOption?.values ?? []) + .reduce( + (acc, v) => { + if (v.id) { + acc[v.id] = { + selected: v.selected ?? false, + available: v.available ?? false, + }; + } + + return acc; + }, + {} as Record, + ); + + return values.map((value) => { + const image = value.images?.largeImage ?? value.images?.mediumImage ?? + value.images?.smallImage; + + const additionalProperty: PropertyValue[] = []; + + additionalProperty.push({ + "@type": "PropertyValue", + name: o.language?.filterName, + value: value.language?.value, + }); + + additionalProperty.push({ + "@type": "PropertyValue", + name: "optionType", + value: o.type, + }); + + // Origin will not be used + const url = new URL( + p.language?.urlSeo ?? "", + "https://www.logicommerce.com.br", + ); + url.searchParams.set("skuId", value.id?.toString() ?? ""); + + return { + "@type": "Product", + productID: value.id?.toString() ?? "", + sku: value.id?.toString() ?? "", + name: o.language?.name, + description: value.language?.longDescription ?? + value.language?.shortDescription, + image: image ? [{ "@type": "ImageObject", url: image }] : [], + additionalProperty, + url: url.href.replace(url.origin, ""), + offers: { + "@type": "AggregateOffer", + priceCurrency: "BRL", + highPrice: value.prices?.prices?.retailPrice ?? 0, + lowPrice: value.prices?.prices?.basePrice ?? 0, + offerCount: 1, + offers: [ + { + "@type": "Offer", + price: value.prices?.prices?.basePrice ?? 0, + priceCurrency: "BRL", + availability: combinationDataOptionValues[value.id ?? 0]?.available + ? productAvailability.AVAILABLE + : productAvailability.UNAVAILABLE, + inventoryLevel: { value: stock?.units ?? 0 }, + priceSpecification: [], + }, + ], + }, + }; + }); +} + +export const toProduct = (p: ProductDTO, skuId?: string): Product => { + const image = p.mainImages?.largeImage ?? p.mainImages?.mediumImage ?? + p.mainImages?.smallImage; + const images = (p.additionalImages ?? []).map( + ({ smallImage, largeImage }) => + ({ + "@type": "ImageObject", + url: largeImage ?? smallImage, + }) as ImageObject, + ); + + if (image) { + images.push({ "@type": "ImageObject", url: image }); + } + + const additionalProperty: PropertyValue[] = []; + + if (p.mainImages?.smallImage) { + additionalProperty.push({ + "@type": "PropertyValue", + name: "smallImage", + value: p.mainImages?.smallImage, + }); + } + + if (p.mainImages?.mediumImage) { + additionalProperty.push({ + "@type": "PropertyValue", + name: "mediumImage", + value: p.mainImages?.mediumImage, + }); + } + + if (p.mainImages?.largeImage) { + additionalProperty.push({ + "@type": "PropertyValue", + name: "largeImage", + value: p.mainImages?.largeImage, + }); + } + + // Origin will not be used + const url = new URL( + p.language?.urlSeo ?? "", + "https://www.logicommerce.com.br", + ); + url.searchParams.set("skuId", skuId ?? ""); + + return { + "@type": "Product", + productID: p.id?.toString() ?? "", + sku: p.codes?.sku ?? "", + name: p.language?.name, + description: p.language?.longDescription ?? p.language?.shortDescription, + url: url.href.replace(url.origin, ""), + additionalProperty, + isVariantOf: { + "@type": "ProductGroup", + additionalProperty, + description: p.language?.longDescription ?? p.language?.shortDescription, + name: p.language?.name, + image: images, + url: p.language?.urlSeo, + hasVariant: p.options?.flatMap((o) => optionToHasVariant(p, o)) ?? [], + productGroupID: p.id?.toString() ?? "", + }, + image: images, + offers: { + "@type": "AggregateOffer", + priceCurrency: "BRL", + highPrice: p.prices?.prices?.retailPrice ?? 0, + lowPrice: p.prices?.prices?.basePrice ?? 0, + offerCount: 1, + offers: [ + { + "@type": "Offer", + price: p.prices?.prices?.basePrice ?? 0, + priceCurrency: "BRL", + availability: productAvailability[ + p.combinationData?.status ?? productAvailability.UNAVAILABLE + ], + inventoryLevel: { value: p.combinationData?.stock?.units ?? 0 }, + priceSpecification: [], + }, + ], + }, + }; +};