sap-commerce-sdk
Version:
A TypeScript SDK for SAP Commerce Cloud storefront integration.
1,996 lines (1,878 loc) • 144 kB
text/typescript
/* eslint-disable */
/* tslint:disable */
/*
* ---------------------------------------------------------------
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
* ## ##
* ## AUTHOR: acacode ##
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
* ---------------------------------------------------------------
*/
/** Account summary of an organizational unit. */
export interface AccountSummary {
/** Reference to organizational unit. */
orgUnit?: OrgUnitReference;
/** Account balance details. */
amountBalance?: AmountBalance;
/** Address object */
billingAddress?: Address;
/**
* Credit limit amount, formatted as per the selected currency.
* @example "$15,000.00"
*/
creditLimit?: string;
/**
* Name of the account manager.
* @example "Elke Vogel"
*/
accountManagerName?: string;
/**
* Email of the account manager.
* @example "elke.vogel@rustic.com"
*/
accountManagerEmail?: string;
}
export interface AddToCartParams {
productCode?: string;
/** @format int64 */
quantity?: number;
storeId?: string;
/** @uniqueItems true */
entryGroupNumbers?: number[];
}
/** Address object */
export interface Address {
/** Unique id value of the address which is optional while creating new address. While performing other address operations this value is the key */
id?: string;
/**
* Title of the address person
* @example "Mr."
*/
title?: string;
/**
* Code of the title
* @example "MR"
*/
titleCode: string;
/**
* First name of the address person
* @example "John"
*/
firstName: string;
/**
* Last name of the address person
* @example "Doe"
*/
lastName: string;
/**
* Company Name
* @example "Global Corp."
*/
companyName?: string;
/**
* First line of the address
* @example "123 Main Street"
*/
line1: string;
/**
* Second line of the address
* @example "Garden Level"
*/
line2?: string;
/**
* Town, field required
* @example "New York City"
*/
town: string;
/** Response body fields which will be returned while fetching the list of country's regions. */
region?: Region;
/**
* District name
* @example "8th"
*/
district?: string;
/**
* Postal code of the address
* @example "10001"
*/
postalCode: string;
/**
* Phone number
* @example "+1 (123) 456-7890"
*/
phone?: string;
/**
* Cellphone number
* @example "+1 (123) 456-7890"
*/
cellphone?: string;
/**
* Email address
* @example "johndoe@domain.com"
*/
email?: string;
/** Response body fields which will be returned while fetching the list of countries. The DTO is in XML or .json format */
country?: Country;
/** Boolean flag if address is for shipping */
shippingAddress?: boolean;
/** Boolean flag if address is default */
defaultAddress?: boolean;
/** Boolean flag if address is visible in the Address Book */
visibleInAddressBook?: boolean;
/** Boolean flag if address is formatted */
formattedAddress?: string;
}
/** Representation of an Address list */
export interface AddressList {
/** List of addresses */
addresses?: Address[];
}
/** Representation of an Address Validation */
export interface AddressValidation {
/** List of errors */
errors?: ErrorList;
/** Decision */
decision?: string;
/** List of suggested addresses */
suggestedAddresses?: Address[];
}
/** Account balance details. */
export interface AmountBalance {
/**
* Open balance as the sum of all open transactional documents, including documents that are past the payment due date.
* @example "$430.45"
*/
openBalance?: string;
/**
* Past due balance as the sum of all open transactional documents that are past the payment due date.
* @example "$130.45"
*/
pastDueBalance?: string;
/**
* Current balance as the sum of all open transactional documents that are not past the payment due date.
* @example "$300.00"
*/
currentBalance?: string;
/** Balance due for each of the defined day ranges. For example, $100 due in 1-30 days, $200 due in 31-60 days, $300 due in 61-90 days, $400 due in 91+ days. */
dueBalances?: DueBalanceRange[];
}
export interface AnnualExpensesSummary {
monthlySummary?: MonthExpensesSummary[];
/** @format double */
annualAmountSpent?: number;
currencySymbol?: string;
}
/** Representation of supplementary info, warning messages, even when the business APIs successfully execute their operations. */
export interface ApiMessage {
/** Type of message, e.g. info, warning */
kind?: string;
/** A unique identifier for the message */
code?: string;
/** A human-readable description of the message */
message?: string;
/** Reference(s) to the specific part(s) of the cart that the message pertains to */
target?: string;
}
export interface ApplePayLineItem {
type?: string;
label?: string;
amount?: string;
}
export interface ApplePayPaymentContact {
phoneNumber?: string;
emailAddress?: string;
givenName?: string;
familyName?: string;
phoneticGivenName?: string;
phoneticFamilyName?: string;
addressLines?: string[];
subLocality?: string;
locality?: string;
postalCode?: string;
subAdministrativeArea?: string;
administrativeArea?: string;
country?: string;
countryCode?: string;
}
export interface ApplePayPaymentMethod {
displayName?: string;
network?: string;
type?: string;
paymentPass?: ApplePayPaymentPass;
}
export interface ApplePayPaymentPass {
primaryAccountIdentifier?: string;
primaryAccountNumberSuffix?: string;
deviceAccountIdentifier?: string;
deviceAccountNumberSuffix?: string;
activationState?: string;
}
export interface ApplePayPaymentRequest {
merchantCapabilities?: string[];
supportedNetworks?: string[];
countryCode?: string;
requiredBillingContactFields?: string[];
billingContact?: ApplePayPaymentContact;
requiredShippingContactFields?: string[];
shippingContact?: ApplePayPaymentContact;
applicationData?: string;
supportedCountries?: string[];
total?: ApplePayLineItem;
lineItems?: ApplePayLineItem[];
currencyCode?: string;
shippingType?: string;
shippingMethods?: ApplePayShippingMethod[];
}
export interface ApplePayPaymentTokenHeader {
ephemeralPublicKey?: string;
publicKeyHash?: string;
transactionId?: string;
}
export interface ApplePayPaymentToken {
paymentMethod?: ApplePayPaymentMethod;
transactionIdentifier?: string;
paymentData?: ApplePayPayment;
}
export interface ApplePayPayment {
token?: ApplePayPaymentToken;
billingContact?: ApplePayPaymentContact;
shippingContact?: ApplePayPaymentContact;
version?: string;
data?: string;
signature?: string;
header?: ApplePayPaymentTokenHeader;
}
export interface ApplePayShippingMethodUpdate {
newTotal?: ApplePayLineItem;
newLineItems?: ApplePayLineItem[];
newShippingMethods?: ApplePayShippingMethod[];
}
export interface ApplePayShippingMethod {
label?: string;
detail?: string;
amount?: string;
identifier?: string;
}
export interface Article {
url?: string;
name?: string;
images?: Image[];
}
/** Representation of an organizational approval process */
export interface B2BApprovalProcess {
/**
* Code of the Organizational Approval Process
* @example "accApproval"
*/
code: string;
/**
* Name of the Organizational Approval Process
* @example "Escalation Approval with Merchant Check"
*/
name?: string;
}
/** Representation of an organizational approval process list */
export interface B2BApprovalProcessList {
/** List of Organizational Approval Process */
approvalProcesses: B2BApprovalProcess[];
}
/** Cost center object. */
export interface B2BCostCenter {
/**
* The original code of the cost center. Deprecated since 2005.
* @deprecated
* @example "Custom_Retail"
*/
originalCode?: string;
/**
* The name of the cost center
* @example "Custom Retail"
*/
name?: string;
/**
* Indication of whether the cost center is active. Deprecated since 2005. Read-only, used for display purposes.
* @deprecated
* @example "true"
*/
active?: string;
/**
* Boolean flag of whether the cost center is active.
* @example true
*/
activeFlag?: boolean;
/**
* The code of the cost center
* @example "Custom_Retail"
*/
code?: string;
/** Representation of a Currency */
currency?: Currency;
/** Organizational unit object. */
unit?: B2BUnit;
/** Budgets assigned to this cost center */
assignedBudgets?: BudgetShallow[];
}
/** Representation of a cost center list */
export interface B2BCostCenterList {
/** List of cost centers */
costCenters?: B2BCostCenter[];
/** List of sorts */
sorts?: Sort[];
/** Representation of a search results pagination */
pagination?: DeprecatedPagination;
}
/** Representation of a cost center. This bean is shallow, which means its potential relationship fields to other Org Unit fields are simple ids. No Org Unit WsDTO fields should be declared in this bean to avoid circular references. */
export interface B2BCostCenterShallow {
/**
* The original code of the cost center. Deprecated since 2005.
* @deprecated
* @example "Custom_Retail"
*/
originalCode?: string;
/**
* The name of the cost center
* @example "Custom Retail"
*/
name?: string;
/**
* Indication of whether the cost center is active. Deprecated since 2005. Read-only, used for display purposes.
* @deprecated
* @example "true"
*/
active?: string;
/**
* Boolean flag of whether the cost center is active.
* @example true
*/
activeFlag?: boolean;
/**
* The code of the cost center
* @example "Custom_Retail"
*/
code?: string;
/** Representation of a Currency */
currency?: Currency;
}
export interface B2BPaymentTypeData {
code?: string;
displayName?: string;
}
export interface B2BPaymentTypeList {
paymentTypes?: B2BPaymentType[];
}
export interface B2BPaymentType {
code?: string;
displayName?: string;
}
/** Representation of object selection data */
export interface B2BSelectionData {
/**
* The ID of the selected object
* @example "Retail_2K"
*/
id?: string;
/**
* If the this object was selected
* @example true
*/
selected?: boolean;
/**
* If this object is active
* @example false
*/
active?: boolean;
/** roles */
roles?: string[];
/** display roles */
displayRoles?: string[];
/** The normalized code */
normalizedCode?: string;
}
/** Organizational unit object. */
export interface B2BUnit {
/**
* Boolean flag of whether Organizational Unit is active
* @example true
*/
active?: boolean;
/**
* Identifier of the organizational unit
* @example "Pronto"
*/
uid: string;
/**
* Name of the organizational unit
* @example "Pronto"
*/
name?: string;
/** Organizational unit object. */
parentOrgUnit?: B2BUnit;
/** Representation of an organizational approval process */
approvalProcess?: B2BApprovalProcess;
/** Addresses of the organizational unit node */
addresses?: Address[];
/** Approvers of the organizational unit node */
approvers?: User[];
/** Managers of the organizational unit node */
managers?: User[];
/** Administrators of the organizational unit node */
administrators?: User[];
/** Customers of the organizational unit node */
customers?: User[];
/** The cost centers of the organizational unit node */
costCenters?: B2BCostCenterShallow[];
}
/** Representation of an organizational unit node */
export interface B2BUnitNode {
/**
* Identifier of the organizational unit represented by the node
* @example "Pronto_Retail"
*/
id: string;
/**
* Name of the organizational unit represented by the node
* @example "Pronto Retail"
*/
name?: string;
/**
* Unique identifier of organizational unit node's parent unit
* @example "Pronto"
*/
parent?: string;
/**
* Boolean flag of whether organizational unit represented by the node is active
* @example true
*/
active?: boolean;
/** Child nodes of the organizational unit node */
children?: B2BUnitNode[];
}
/** Representation of an organizational unit node list */
export interface B2BUnitNodeList {
/** List of Unit Nodes */
unitNodes: B2BUnitNode[];
}
/** Representation of a Base Option */
export interface BaseOption {
/** Variant type of base option */
variantType?: string;
/** List of all variant options */
options?: VariantOption[];
/** Representation of a Variant Option */
selected?: VariantOption;
}
/** Representation of a Base Site */
export interface BaseSite {
/** Unique identifier of Basesite */
uid?: string;
/** Name of Basesite */
name?: string;
/** List of Basestores */
stores?: BaseStore[];
/** Theme of Basesite */
theme?: string;
/** Representation of a Language */
defaultLanguage?: Language;
/** Locale data for Basesite */
locale?: string;
/** Channel */
channel?: string;
/** List of url encoding attributes */
urlEncodingAttributes?: string[];
/** List of url patterns */
urlPatterns?: string[];
/** Default preview catalog id */
defaultPreviewCatalogId?: string;
/** Default preview category code */
defaultPreviewCategoryCode?: string;
/** Default preview product code */
defaultPreviewProductCode?: string;
/** Indicates whether customer data isolation is enabled for this site. If true, customer can get site information after registration, For example registerd username is name@sap.com, returned uid will be name@sap.com|baseSiteUid */
isolated?: boolean;
/** Configuration information of captcha */
captchaConfig?: CaptchaConfig;
/**
* Indicates if the website supports registration
* @example true
*/
registrationEnabled?: boolean;
/**
* Indicates if the BaseSite requires authentication prior to use it
* @example true
*/
requiresAuthentication?: boolean;
defaultUrl?: string;
active?: boolean;
}
/** Representation of a Base Site List */
export interface BaseSiteList {
/** List of basesites */
baseSites?: BaseSite[];
}
/** Representation of a Base Store */
export interface BaseStore {
/** Base store name */
name?: string;
/** Flag defining is external tax is enabled */
externalTaxEnabled?: boolean;
/** Payment provider */
paymentProvider?: string;
/** Create return process code */
createReturnProcessCode?: string;
/**
* Maximum radius for searching point of service
* @format double
*/
maxRadiusForPosSearch?: number;
/** Submit order process code */
submitOrderProcessCode?: string;
/** List of currencies */
currencies?: Currency[];
/** Representation of a Currency */
defaultCurrency?: Currency;
/** Representation of a Point of service */
defaultDeliveryOrigin?: PointOfService;
/** Representation of a Language */
defaultLanguage?: Language;
/** List of delivery countries */
deliveryCountries?: Country[];
/** Representation of a Delivery mode list */
deliveryModes?: DeliveryModeList;
/** List of languages */
languages?: Language[];
/** List of points of service */
pointsOfService?: PointOfService[];
/** Flag specifying whether the express checkout option is enabled */
expressCheckoutEnabled?: boolean;
}
/** Basic notification preference */
export interface BasicnotificationPreference {
/**
* preference channel
* @example "email, sms, site_message"
*/
channel?: string;
/** if true, the channel is on; if false, the channel is off */
enabled?: boolean;
}
/** Notification preference list */
export interface BasicnotificationPreferenceList {
/** Basic notification preferences */
preferences?: BasicnotificationPreference[];
}
/** Representation of a Breadcrumb */
export interface Breadcrumb {
/** Code of the facet */
facetCode?: string;
/** Name of the facet */
facetName?: string;
/** Value code of the facet */
facetValueCode?: string;
/** Value name of the facet */
facetValueName?: string;
/** Representation of a Search State */
removeQuery?: SearchState;
/** Representation of a Search State */
truncateQuery?: SearchState;
}
/** Budget. */
export interface Budget {
/** Boolean flag of whether the Budget is active */
active?: boolean;
/**
* Value of Budget
* @example 50000
*/
budget?: number;
/**
* Code of the Budget
* @example "Monthly_50K_USD"
*/
code?: string;
/**
* The name of the Budget
* @example "Monthly 50K USD"
*/
name?: string;
/** Representation of a Currency */
currency?: Currency;
/**
* The start date of the Budget
* @format date-time
*/
startDate?: string;
/**
* The end date of the Budget
* @format date-time
*/
endDate?: string;
/**
* Boolean flag whether the budget is selected for a cost center
* @example true
*/
selected?: boolean;
/** Organizational unit object. */
orgUnit?: B2BUnit;
/** List of Cost Centers */
costCenters?: B2BCostCenter[];
}
/** Representation of a Budget List */
export interface BudgetList {
/** List of Budgets */
budgets?: Budget[];
/** List of sorts */
sorts?: Sort[];
/** Representation of a search results pagination */
pagination?: DeprecatedPagination;
}
/** Request body fields required and optional to operate on Budget data. This bean is shallow, which means its potential relationship fields to other Org Unit fields are simple ids. No Org Unit WsDTO should be declared in this bean to avoid circular references. */
export interface BudgetShallow {
/** Boolean flag of whether the Budget is active */
active?: boolean;
/**
* Value of Budget
* @example 50000
*/
budget?: number;
/**
* Code of the Budget
* @example "Monthly_50K_USD"
*/
code?: string;
/**
* The name of the Budget
* @example "Monthly 50K USD"
*/
name?: string;
/** Representation of a Currency */
currency?: Currency;
/**
* The start date of the Budget
* @format date-time
*/
startDate?: string;
/**
* The end date of the Budget
* @format date-time
*/
endDate?: string;
/**
* Boolean flag whether the budget is selected for a cost center
* @example true
*/
selected?: boolean;
}
export interface CDSConfiguration {
tenant?: string;
baseUrl?: string;
profileTag?: ProfileTagConfiguration;
}
export interface CMSPageList {
page?: CMSPage[];
}
export interface CMSPage {
uid?: string;
uuid?: string;
title?: string;
template?: string;
typeCode?: string;
name?: string;
description?: string;
robotTag?: string;
defaultPage?: boolean;
contentSlots?: ContentSlotList;
catalogVersionUuid?: string;
otherProperties?: Record<string, object>;
}
/** Representation of a cancellation request entry input for an order */
export interface CancellationRequestEntryInput {
/**
* Order entry number of the cancelled product
* @format int32
* @example 1
*/
orderEntryNumber: number;
/**
* Quantity of the product which belongs to the order entry and is requested to be cancelled
* @format int64
* @example 5
*/
quantity: number;
}
/** Cancellation request input list for the current order. */
export interface CancellationRequestEntryInputList {
/** Cancellation request entry inputs which contain information about the order entries which are requested to be cancelled */
cancellationRequestEntryInputs: CancellationRequestEntryInput[];
}
/** Configuration information of captcha */
export interface CaptchaConfig {
/**
* Indicates if the captcha is enabled or not
* @example true
*/
enabled?: boolean;
/**
* The public key used in captcha validation
* @example "6LdeF6tgAAAAAE_T55TB0nmg--qmbnkwqC4LPQbg"
*/
publicKey?: string;
}
/** Representation of a Card Type */
export interface CardType {
/** Card type code */
code?: string;
/** Card type name */
name?: string;
}
/** Representation of a Card Type List */
export interface CardTypeList {
/** List of card types */
cardTypes?: CardType[];
}
/** Representation of a Cart. Note that sapBillingAddress is mutually exclusive with paymentInfo.billingAddress, which is used when the billing address is created concurrently with the paymentInfo. sapBillingAddress is used when there is a need to save the billing address, but the related paymentInfo has not been created yet. */
export interface Cart {
/** Code number of order */
code?: string;
/** Flag stating iv value is net-value */
net?: boolean;
/** Representation of a Price */
totalPriceWithTax?: Price;
/** Representation of a Price */
totalPrice?: Price;
/** Representation of a Price */
totalTax?: Price;
/** Representation of a Price */
subTotal?: Price;
/** Representation of a Price */
deliveryCost?: Price;
/** List of order entries */
entries?: OrderEntry[];
/** List of entry groups */
entryGroups?: EntryGroup[];
/** @format int32 */
totalItems?: number;
/** Representation of a Delivery mode */
deliveryMode?: DeliveryMode;
/** Address object */
deliveryAddress?: Address;
/** Payment details object */
paymentInfo?: PaymentDetails;
/** List of applied order promotions */
appliedOrderPromotions?: PromotionResult[];
/** List of applied product promotions */
appliedProductPromotions?: PromotionResult[];
/** Representation of a Price */
productDiscounts?: Price;
/** Representation of a Price */
orderDiscounts?: Price;
/** Representation of a Price */
totalDiscounts?: Price;
/** Site */
site?: string;
/** Store */
store?: string;
/** Guest user id identifier */
guid?: string;
/** Flag showing if order is calculated */
calculated?: boolean;
/** List of applied vouchers */
appliedVouchers?: Voucher[];
/** Representation of a Principal webservice DTO used for defining User data types */
user?: Principal;
/** List of pickup order entry group */
pickupOrderGroups?: PickupOrderEntryGroup[];
/** List of delivery order entries group */
deliveryOrderGroups?: DeliveryOrderEntryGroup[];
/**
* Quantity of pickup items
* @format int64
*/
pickupItemsQuantity?: number;
/**
* Quantity of delivery items
* @format int64
*/
deliveryItemsQuantity?: number;
/** Customer requested date for order retrieval */
requestedRetrievalAt?: string;
/** Address object */
sapBillingAddress?: Address;
/**
* Email of customer.
* @example "xxx.yy@zz.com"
*/
sapCustomerEmail?: string;
giftCardPayments?: GiftCardPayment[];
ppsLoyaltyCard?: PPSLoyaltyCard;
promotionNameList?: string[];
promotionRecommendationList?: string[];
/** Representation of a Price */
totalPriceWithoutDiscount?: Price;
placedBy?: string;
shipSeparately?: boolean;
/** Representation of a Point of service */
returnStore?: PointOfService;
/**
* Total unit count
* @format int32
*/
totalUnitCount?: number;
/** List of potential order promotions for cart */
potentialOrderPromotions?: PromotionResult[];
/** List of potential product promotions for cart */
potentialProductPromotions?: PromotionResult[];
/** Name of the cart */
name?: string;
/** Description of the cart */
description?: string;
/**
* Date of cart expiration time
* @format date-time
*/
expirationTime?: string;
/**
* Date of saving cart
* @format date-time
*/
saveTime?: string;
/** Representation of a Principal webservice DTO used for defining User data types */
savedBy?: Principal;
/** Earliest possible retrieval date available for order */
earliestRetrievalAt?: string;
/** Messages about supplementary info, warning messages related to the cart */
_messages?: ApiMessage[];
/** Cost center object. */
costCenter?: B2BCostCenter;
paymentType?: B2BPaymentTypeData;
purchaseOrderNumber?: string;
/** Representation of the quote object. */
sapQuote?: Quote;
omsaInternalCost?: string;
omsaPickAndPackCost?: string;
}
export interface CartGeneratorParameter {
/** Currency */
currency: string;
/** Product Catalog */
productCatalog: string;
/** Start Date */
startDate: string;
/** End Date */
endDate: string;
/**
* Maximum number of Cart per day
* @format int32
*/
maxCartsPerDay: number;
/**
* Maximum quantity
* @format int32
*/
maxQuantity: number;
}
/** Representation of a Cart list */
export interface CartList {
/** List of carts */
carts?: Cart[];
}
/** Representation of a Cart modification */
export interface CartModification {
/** Status code of cart modification */
statusCode?: string;
/**
* Quantity added with cart modification
* @format int64
*/
quantityAdded?: number;
/**
* Total number of products to be created, added or updated during a cart modification. This value is always the quantity that has been requested.
* @format int64
*/
quantity?: number;
/**
* Request body parameter that contains details such as the quantity of product (quantity), and the pickup store name (deliveryPointOfService.name)
*
* The DTO is in XML or .json format.
*/
entry?: OrderEntry;
/** Delivery mode changed */
deliveryModeChanged?: boolean;
/** Status message */
statusMessage?: string;
}
/** Representation of a Cart modification list */
export interface CartModificationList {
/** List of cart modifications */
cartModifications?: CartModification[];
}
/** Representation of a Catalog */
export interface Catalog {
/** Identifier of abstract catalog item */
id?: string;
/**
* Date of last modification
* @format date-time
*/
lastModified?: string;
/** Name of abstract catalog item */
name?: string;
/** Url address of abstract catalog item */
url?: string;
/** List of versions of catalog */
catalogVersions?: CatalogVersion[];
}
/** Representation of a Catalog List */
export interface CatalogList {
/** List of catalog items */
catalogs?: Catalog[];
}
/** Representation of a Catalog Version */
export interface CatalogVersion {
/** Identifier of abstract catalog item */
id?: string;
/**
* Date of last modification
* @format date-time
*/
lastModified?: string;
/** Name of abstract catalog item */
name?: string;
/** Url address of abstract catalog item */
url?: string;
/** List of category hierarchies */
categories?: CategoryHierarchy[];
}
/** Representation of a Category */
export interface Category {
/** Code of the category */
code?: string;
/** Name of the category */
name?: string;
/** URL of the category */
url?: string;
/** Representation of an Image */
image?: Image;
images?: Image[];
}
/** Representation of a Category Hierarchy */
export interface CategoryHierarchy {
/** Identifier of abstract catalog item */
id?: string;
/**
* Date of last modification
* @format date-time
*/
lastModified?: string;
/** Name of abstract catalog item */
name?: string;
/** Url address of abstract catalog item */
url?: string;
/** List of subcategory hierarchies */
subcategories?: CategoryHierarchy[];
products?: Product[];
}
export interface CategorySpendSummary {
categories?: CategorySpend[];
/** Representation of a Price */
totalAmount?: Price;
}
export interface CategorySpend {
categoryId?: string;
categoryName?: string;
/** @format double */
percentageOfTotal?: number;
/** Representation of a Price */
amountSpent?: Price;
}
/** Representation of a Classification */
export interface Classification {
/** Code of the classification */
code?: string;
/** Name of the classification */
name?: string;
/** List of features for given classification */
features?: Feature[];
}
/** Object of the comment, which can be added to any Item in the commerce suite. */
export interface Comment {
/**
* Text of the comment.
* @example "Text of the comment"
*/
text: string;
/**
* Date when the comment was created.
* @format date-time
*/
creationDate: string;
/** Representation of a Principal webservice DTO used for defining User data types */
author?: Principal;
/**
* Flag showing if the current customer was the author of the comment.
* @example true
*/
fromCustomer: boolean;
}
/** List of component identifiers */
export interface ComponentIDList {
idList?: string[];
}
export interface ComponentList {
component?: Component[];
}
export interface Component {
uid?: string;
uuid?: string;
typeCode?: string;
/** @format date-time */
modifiedtime?: string;
name?: string;
otherProperties?: Record<string, object>;
}
/** Representation of a Configuration Info */
export interface ConfigurationInfo {
/** Type of configuration info */
configuratorType?: string;
/** Status of configuration info */
status?: string;
/** Label of configuration info */
configurationLabel?: string;
/** Value of configuration info */
configurationValue?: string;
}
/** Representation of a Consent */
export interface Consent {
/** Code of consent */
code?: string;
/**
* Date of consenting
* @format date-time
*/
consentGivenDate?: string;
/**
* Consent withdrawn date
* @format date-time
*/
consentWithdrawnDate?: string;
}
/** Representation of a Consent Template */
export interface ConsentTemplate {
/** Consent template identifier */
id?: string;
/** Consent template name */
name?: string;
/** Consent template description */
description?: string;
/**
* Consent template version
* @format int32
*/
version?: number;
/** Representation of a Consent */
currentConsent?: Consent;
}
/** Representation of a Consent Template List */
export interface ConsentTemplateList {
/** List of consent templates */
consentTemplates?: ConsentTemplate[];
}
/** Representation of a Consignment */
export interface Consignment {
/** Consignment code */
code?: string;
/** Consignment tracking identifier */
trackingID?: string;
/** Consignment status */
status?: string;
/** Consignment status display */
statusDisplay?: string;
/**
* Consignment status date
* @format date-time
*/
statusDate?: string;
/** List of consignment entries */
entries?: ConsignmentEntry[];
/** Address object */
shippingAddress?: Address;
/** Representation of a Point of service */
deliveryPointOfService?: PointOfService;
/** Records of item arrivals facilitate the tracking and management of item quantities, associated arrival times, and certainty levels. These records distinguish between guaranteed, estimated, and unknown arrival scenarios. */
arrivalSlot?: EntryArrivalSlot;
orderCode?: string;
/** @format date-time */
shippingDate?: string;
/** Representation of a Delivery mode */
deliveryMode?: DeliveryMode;
warehouseCode?: string;
/** Representation of a Packaging Information */
packagingInfo?: PackagingInfo;
}
/** Representation of a Consignment Entry */
export interface ConsignmentEntry {
/**
* Request body parameter that contains details such as the quantity of product (quantity), and the pickup store name (deliveryPointOfService.name)
*
* The DTO is in XML or .json format.
*/
orderEntry?: OrderEntry;
/**
* Quantity value of Consignment entry
* @format int64
*/
quantity?: number;
/**
* Shipped quantity
* @format int64
*/
shippedQuantity?: number;
/** @format int64 */
quantityDeclined?: number;
/** @format int64 */
quantityPending?: number;
/** @format int64 */
quantityShipped?: number;
}
export interface ConsumedDestinationData {
url?: string;
authUrl?: string;
clientId?: string;
clientSecret?: string;
}
export interface ContentSlotList {
contentSlot?: ContentSlot[];
}
export interface ContentSlot {
slotId?: string;
slotUuid?: string;
position?: string;
name?: string;
slotShared?: boolean;
slotStatus?: string;
components?: ComponentList;
otherProperties?: Record<string, object>;
}
/** Response body fields which will be returned while fetching the list of countries. The DTO is in XML or .json format */
export interface Country {
/**
* Country code in iso format
* @example "US"
*/
isocode?: string;
/**
* Name of the country
* @example "United States"
*/
name?: string;
}
/** List of countries */
export interface CountryList {
/** This is the list of Country fields that should be returned in the response body */
countries?: Country[];
}
export interface CouponData {
couponCode?: string;
couponId?: string;
name?: string;
active?: boolean;
/** @format date-time */
startDate?: string;
/** @format date-time */
endDate?: string;
}
export interface CouponRedemptionResponseList {
responses?: CouponRedemption[];
sorts?: Sort[];
/** Pagination info */
pagination?: Pagination;
}
/** Text of the comment */
export interface CreateComment {
/**
* Text of the comment.
* @example "Text of the comment"
*/
text: string;
}
/** Object contains information for obtaining a verification token. */
export interface CreateVerificationTokenInput {
/** Purpose for which the verification token is requested. */
purpose: "LOGIN" | "REGISTRATION";
/**
* User login identifier. Target to receive verification token code.
* @example "keenreviewer@sap.com"
*/
loginId: string;
/**
* User password to authenticate the request. This field is required when the purpose is LOGIN.
* @example "mypwd!0"
*/
password?: string;
}
/** Representation of a Currency */
export interface Currency {
/** Code of the currency in iso format */
isocode?: string;
/** Name of the currency */
name?: string;
/** Boolean flag whether currency is active */
active?: boolean;
/** Symbol of the currency */
symbol?: string;
}
/** Representation of a Currency List */
export interface CurrencyList {
/** List of currencies */
currencies?: Currency[];
}
/** Customer coupon */
export interface CustomerCoupon {
/** Coupon identifier */
couponId?: string;
/** Name of the coupon */
name?: string;
/**
* Start date of the coupon
* @format date-time
*/
startDate?: string;
/**
* End date of the coupon
* @format date-time
*/
endDate?: string;
/**
* Status of the coupon
* @example "Effective"
*/
status?: string;
/** Description of the coupon */
description?: string;
/** Indicates if notification is enabled or disabled */
notificationOn?: boolean;
/** Indicates whether the coupon is applicable for all products */
allProductsApplicable?: boolean;
}
/** Customer coupon for customer */
export interface CustomerCoupon2Customer {
/** Customer coupon */
coupon?: CustomerCoupon;
/** User's object. */
customer?: User;
}
/** Customer coupon notification */
export interface CustomerCouponNotification {
/** Customer coupon */
coupon?: CustomerCoupon;
/** User's object. */
customer?: User;
/**
* Notification status
* @example "EFFECTIVESENT"
*/
status?: string;
}
/** Customer coupon search result */
export interface CustomerCouponSearchResult {
/** List of coupon */
coupons?: CustomerCoupon[];
/** Sorting information */
sorts?: Sort[];
/** Pagination info */
pagination?: Pagination;
}
export interface CxaiConfigData {
code?: string;
consumedDestinationId?: string;
active?: boolean;
catalogId?: string;
catalogVersion?: string;
authUrl?: string;
tenantUrl?: string;
clientId?: string;
clientSecret?: string;
askProductDestination?: ConsumedDestinationData;
/** @format int32 */
askProductContextMessageWindow?: number;
/** @format int32 */
askProductContextCharacterLimit?: number;
assistantDestination?: ConsumedDestinationData;
assistantConfigId?: string;
apiVersion?: string;
variantDuplicateFiltering?: boolean;
enableObjectDetection?: boolean;
enableMockProducts?: boolean;
/** @format int32 */
maxImageSize?: number;
allowStyleVariantSelection?: boolean;
/** @format int32 */
maxSetSuggestions?: number;
/** @format int32 */
maxSimilarProductSuggestions?: number;
/** @format double */
objectDetectionMinScore?: number;
/** @format double */
similarProductMinScore?: number;
/** @format double */
recommendationMinScore?: number;
/** @format int32 */
sessionStorageTimeoutSeconds?: number;
qrCodeUrl?: string;
}
/** Maximum and minimum limits of the day range. */
export interface DayRange {
/**
* Minimum day range.
* @format int32
* @example 31
*/
minBoundary: number;
/**
* Maximum day range. The value null is used for infinite ranges. For example, a minBoundary of 91 and a maxBoundary of null represents a 91+ day range.
* @format int32
* @example 60
*/
maxBoundary?: number;
}
export interface Declaration {
property?:
| "ALIGN_CONTENT"
| "ALIGN_ITEMS"
| "ALIGN_SELF"
| "ALL"
| "ANIMATION"
| "ANIMATION_DELAY"
| "ANIMATION_DIRECTION"
| "ANIMATION_DURATION"
| "ANIMATION_FILL_MODE"
| "ANIMATION_ITERATION_COUNT"
| "ANIMATION_NAME"
| "ANIMATION_PLAY_STATE"
| "ANIMATION_TIMING_FUNCTION"
| "BACKFACE_VISIBILITY"
| "BACKGROUND"
| "BACKGROUND_ATTACHMENT"
| "BACKGROUND_BLEND_MODE"
| "BACKGROUND_CLIP"
| "BACKGROUND_COLOR"
| "BACKGROUND_IMAGE"
| "BACKGROUND_ORIGIN"
| "BACKGROUND_POSITION"
| "BACKGROUND_REPEAT"
| "BACKGROUND_SIZE"
| "BORDER"
| "BORDER_BOTTOM"
| "BORDER_BOTTOM_COLOR"
| "BORDER_BOTTOM_LEFT_RADIUS"
| "BORDER_BOTTOM_RIGHT_RADIUS"
| "BORDER_BOTTOM_STYLE"
| "BORDER_BOTTOM_WIDTH"
| "BORDER_COLLAPSE"
| "BORDER_COLOR"
| "BORDER_IMAGE"
| "BORDER_IMAGE_OUTSET"
| "BORDER_IMAGE_REPEAT"
| "BORDER_IMAGE_SLICE"
| "BORDER_IMAGE_SOURCE"
| "BORDER_IMAGE_WIDTH"
| "BORDER_LEFT"
| "BORDER_LEFT_COLOR"
| "BORDER_LEFT_STYLE"
| "BORDER_LEFT_WIDTH"
| "BORDER_RADIUS"
| "BORDER_RIGHT"
| "BORDER_RIGHT_COLOR"
| "BORDER_RIGHT_STYLE"
| "BORDER_RIGHT_WIDTH"
| "BORDER_SPACING"
| "BORDER_STYLE"
| "BORDER_TOP"
| "BORDER_TOP_COLOR"
| "BORDER_TOP_LEFT_RADIUS"
| "BORDER_TOP_RIGHT_RADIUS"
| "BORDER_TOP_STYLE"
| "BORDER_TOP_WIDTH"
| "BORDER_WIDTH"
| "BOTTOM"
| "BOX_DECORATION_BREAK"
| "BOX_SHADOW"
| "BOX_SIZING"
| "BREAK_AFTER"
| "BREAK_BEFORE"
| "BREAK_INSIDE"
| "CAPTION_SIDE"
| "CARET_COLOR"
| "CHARSET"
| "CLEAR"
| "CLIP"
| "COLOR"
| "COLUMN_COUNT"
| "COLUMN_FILL"
| "COLUMN_GAP"
| "COLUMN_RULE"
| "COLUMN_RULE_COLOR"
| "COLUMN_RULE_STYLE"
| "COLUMN_RULE_WIDTH"
| "COLUMN_SPAN"
| "COLUMN_WIDTH"
| "COLUMNS"
| "CONTENT"
| "COUNTER_INCREMENT"
| "COUNTER_RESET"
| "CURSOR"
| "DIRECTION"
| "DISPLAY"
| "EMPTY_CELLS"
| "FILL"
| "FILTER"
| "FLEX"
| "FLEX_BASIS"
| "FLEX_DIRECTION"
| "FLEX_FLOW"
| "FLEX_GROW"
| "FLEX_SHRINK"
| "FLEX_WRAP"
| "FLOAT"
| "FONT"
| "FONT_FACE"
| "FONT_FAMILY"
| "FONT_FEATURE_SETTINGS"
| "FONT_FEATURE_VALUES"
| "FONT_KERNING"
| "FONT_LANGUAGE_OVERRIDE"
| "FONT_SIZE"
| "FONT_SIZE_ADJUST"
| "FONT_STRETCH"
| "FONT_STYLE"
| "FONT_SYNTHESIS"
| "FONT_VARIANT"
| "FONT_VARIANT_ALTERNATES"
| "FONT_VARIANT_CAPS"
| "FONT_VARIANT_EAST_ASIAN"
| "FONT_VARIANT_LIGATURES"
| "FONT_VARIANT_NUMERIC"
| "FONT_VARIANT_POSITION"
| "FONT_WEIGHT"
| "GRID"
| "GRID_AREA"
| "GRID_AUTO_COLUMNS"
| "GRID_AUTO_FLOW"
| "GRID_AUTO_ROWS"
| "GRID_COLUMN"
| "GRID_COLUMN_END"
| "GRID_COLUMN_GAP"
| "GRID_COLUMN_START"
| "GRID_GAP"
| "GRID_ROW"
| "GRID_ROW_END"
| "GRID_ROW_GAP"
| "GRID_ROW_START"
| "GRID_TEMPLATE"
| "GRID_TEMPLATE_AREAS"
| "GRID_TEMPLATE_COLUMNS"
| "GRID_TEMPLATE_ROWS"
| "HANGING_PUNCTUATION"
| "HEIGHT"
| "HYPHENS"
| "IMAGE_RENDERING"
| "IMPORT"
| "ISOLATION"
| "JUSTIFY_CONTENT"
| "KEYFRAMES"
| "LEFT"
| "LETTER_SPACING"
| "LINE_BREAK"
| "LINE_HEIGHT"
| "LIST_STYLE"
| "LIST_STYLE_IMAGE"
| "LIST_STYLE_POSITION"
| "LIST_STYLE_TYPE"
| "MARGIN"
| "MARGIN_BOTTOM"
| "MARGIN_LEFT"
| "MARGIN_RIGHT"
| "MARGIN_TOP"
| "MAX_HEIGHT"
| "MAX_WIDTH"
| "MEDIA"
| "MIN_HEIGHT"
| "MIN_WIDTH"
| "MIX_BLEND_MODE"
| "OBJECT_FIT"
| "OBJECT_POSITION"
| "OPACITY"
| "ORDER"
| "ORPHANS"
| "OUTLINE"
| "OUTLINE_COLOR"
| "OUTLINE_OFFSET"
| "OUTLINE_STYLE"
| "OUTLINE_WIDTH"
| "OVERFLOW"
| "OVERFLOW_WRAP"
| "OVERFLOW_X"
| "OVERFLOW_Y"
| "PADDING"
| "PADDING_BOTTOM"
| "PADDING_LEFT"
| "PADDING_RIGHT"
| "PADDING_TOP"
| "PAGE_BREAK_AFTER"
| "PAGE_BREAK_BEFORE"
| "PAGE_BREAK_INSIDE"
| "PERSPECTIVE"
| "PERSPECTIVE_ORIGIN"
| "POINTER_EVENTS"
| "POSITION"
| "QUOTES"
| "RESIZE"
| "RIGHT"
| "SRC"
| "TAB_SIZE"
| "TABLE_LAYOUT"
| "TEXT_ALIGN"
| "TEXT_ALIGN_LAST"
| "TEXT_COMBINE_UPRIGHT"
| "TEXT_DECORATION"
| "TEXT_DECORATION_COLOR"
| "TEXT_DECORATION_LINE"
| "TEXT_DECORATION_STYLE"
| "TEXT_INDENT"
| "TEXT_JUSTIFY"
| "TEXT_ORIENTATION"
| "TEXT_OVERFLOW"
| "TEXT_SHADOW"
| "TEXT_TRANSFORM"
| "TEXT_UNDERLINE_POSITION"
| "TOP"
| "TRANSFORM"
| "TRANSFORM_ORIGIN"
| "TRANSFORM_STYLE"
| "TRANSITION"
| "TRANSITION_DELAY"
| "TRANSITION_DURATION"
| "TRANSITION_PROPERTY"
| "TRANSITION_TIMING_FUNCTION"
| "UNICODE_BIDI"
| "USER_SELECT"
| "VERTICAL_ALIGN"
| "VISIBILITY"
| "WHITE_SPACE"
| "WIDOWS"
| "WIDTH"
| "WORD_BREAK"
| "WORD_SPACING"
| "WORD_WRAP"
| "WRITING_MODE"
| "Z_INDEX";
variable?: Variable;
expression?: string;
}
/** Representation of a Delivery mode */
export interface DeliveryMode {
/**
* Code of the delivery mode
* @example "premium-gross"
*/
code?: string;
/**
* Name of the delivery mode
* @example "Premium Delivery"
*/
name?: string;
/**
* Description of the delivery mode
* @example "1-2 business days"
*/
description?: string;
/** Representation of a Price */
deliveryCost?: Price;
}
/** Representation of a Delivery mode list */
export interface DeliveryModeList {
/** List of delivery modes */
deliveryModes?: DeliveryMode[];
}
/** Representation of a Delivery Order Entry Group */
export interface DeliveryOrderEntryGroup {
/** Representation of a Price */
totalPriceWithTax?: Price;
/** List of order entries */
entries?: OrderEntry[];
/**
* Quantity of order entries in a group
* @format int64
*/
quantity?: number;
/** Address object */
deliveryAddress?: Address;
}
/** Amount due in the specified day range. */
export interface DueBalanceRange {
/** Maximum and minimum limits of the day range. */
dayRange?: DayRange;
/**
* Amount due in the specified range.
* @example "$300.00"
*/
amount?: string;
}
export interface EmarsysConfig {
merchantId?: string;
contactFieldId?: string;
loyaltyConfig?: LoyaltyConfig;
webPushConfig?: WebPushConfig;
dataCollectingConsent?: string;
webPushNotificationConsent?: string;
}
/** Records of item arrivals facilitate the tracking and management of item quantities, associated arrival times, and certainty levels. These records distinguish between guaranteed, estimated, and unknown arrival scenarios. */
export interface EntryArrivalSlot {
/**
* Represents the number of items expected to arrive.
* @format double
* @example 12
*/
quantity?: number;
/**
* The date associated with the expected arrival slot.
* @format date-time
* @example "2024-01-18T17:40:46+05:30"
*/
at?: string;
/**
* The accuracy of the arrival slot as estimated, or unknown.
* @example "ESTIMATED"
*/
accuracy?: "ESTIMATED" | "UNKNOWN";
warehouse?: string;
}
/** Representation of an Entry Group */
export interface EntryGroup {
/** List of order entries */
entries?: OrderEntry[];
/** List of child entry groups */
entryGroups?: EntryGroup[];
/**
* Identifier of the entry group
* @format int32
* @example 1
*/
entryGroupNumber?: number;
/**
* Label for the entry group
* @example "Photo On The Go Package"
*/
label?: string;
/**
* Indicates if the entry group is in an error state
* @example true
*/
erroneous?: boolean;
/**
* Indicates type of the group, possible values are STANDALONE, CONFIGURABLEBUNDLE or any customer implemented type for any new provider
* @example "STANDALONE"
*/
type?: string;
}
export interface EnumData {
code?: string;
name?: string;
}
/** Representation of a Facet */
export interface Facet {
/** Name of the facet */
name?: string;
/**
* Priority value of the facet
* @format int32
*/
priority?: number;
/** Flag stating if facet is category facet */
category?: boolean;
/** Flag stating if facet is multiSelect */
multiSelect?: boolean;
/** Flag stating if facet is visible */
visible?: boolean;
/** List of top facet values */
topValues?: FacetValue[];
/** List of all facet values */
values?: FacetValue[];
}
/** Representation of a Facet Value */
export interface FacetValue {
/** Name of the facet value */
name?: string;
/**
* Count of the facet value
* @format int64
*/
count?: number;
/** Representation of a Search State */
query?: SearchState;
/** Flag stating if facet value is selected */
selected?: boolean;
images?: Image[];
isProductImage?: boolean;
}
/** Representation of a Feature */
export interface Feature {
/** Code of the feature */
code?: string;
/** Name of the feature */
name?: string;
/** Description of the feature */
description?: string;
/** Type of the feature */
type?: string;
/** Range number of the feature */
range?: boolean;
/** Flag defining it feature is comparable */
comparable?: boolean;
/** Representation of a Feature Unit */
featureUnit?: FeatureUnit;
/** List of feature values */
featureValues?: FeatureValue[];
pdpHidden?: boolean;
}
/** Representation of a Feature Unit */
export interface FeatureUnit {
/** Symbol of the feature unit */
symbol?: string;
/** Name of the feature unit */
name?: string;
/** Type of the feature unit */
unitType?: string;
}
/** Representation of a Feature Value */
export interface FeatureValue {
/** Value of the feature */
value?: string;
}
export interface FomoStats {
/** @format int32 */
currentlyLookingAtIt?: number;
/** @format int32 */
soldInLastMonth?: number;
message?: string;
}
/** Representation of a Future Stock */
export interface FutureStock {
/** Representation of a Stock */
stock?: Stock;
/**
* Date of future stock
* @format date-time
*/
date?: string;
/**
* Date of future stock expressed in text value
* @example "31/12/2056"
*/
formattedDate?: string;
}
export interface GTMConfig {
enabled?: boolean;
integrationKey?: string;
eventName?: string;
}
export interface GdmCdpConfiguration {
domain?: string;
businessUnitId?: string;
sdkApplicationId?: string;
enabled?: boolean;
}
/** Representation of a GeoPoint */
export interface GeoPoint {
/**
* Geopoint latitude
* @format double
*/
latitude?: number;
/**
* Geopoint longitude
* @format double
*/
longitude?: number;
}
export interface GiftCardList {
list?: GiftCard[];
}
export interface GiftCardPayment {
/** @format double */
maxAmount?: number;
/** Representation of a Price */
amount?: Price;
giftCard?: GiftCard;
}
export interface GiftCard {
code?: string;
/** Representation of a Price */
originalAmount?: Price;
/** Representation of a Price */
usedAmount?: Price;
/** Representation of a Price */
leftAmount?: Price;
userUid?: string;
boughtByUid?: string;
productCode?: string;
}
export interface GigyaConfig {
apiKey?: string;
dataCenter?: string;
siteUid?: string;
}
export interface GooglePayBillingAddressConfig {
phoneNumberRequired?: boolean;
format?: string;
}
export interface GooglePayConfig {
apiVersion?: string;
apiVersionMinor?: string;
googleMerchantId?: string;
googleMerchantName?: string;
environment?: string;
emailRequired?: boolean;
shippingAddressRequired?: boolean;
billingAddressRequired?: boolean;
shippingOptionRequired?: boolean;
shippingAddressConfig?: GooglePayShippingAddressConfig;
billingAddressConfig?: GooglePayBillingAddressConfig;
/** @uniqueItems true */
paymentMethodConfig?: GooglePayPaymentMethodConfig[];
transactionInfo?: GooglePayTransactionInfo;
transactionInfoString?: string;
shippingAddressConfigString?: string;
billingAddressConfigString?: string;
callbackIntents?: string;
}
export interface GooglePayIntermediateAddress {
administrativeArea?: string;
countryCode?: string;
locality?: string;
postalCode?: string;
}
export interface GooglePayIntermediateShippingOption {
id?: string;
}
export interface GooglePayPaymentMethodConfig {
paymentType?: string;
tokenType?: string;
/** @uniqueItems true */
allowedAuthMethodsSet?: string[];
/** @uniqueItems true */
allowedCardNetworkSet?: string[];
allowedAuthMethods?: string;
allowedCardNetwork?: string;
paymentProcessor?: string;
paymentProcessorMerchantId?: string;
billingAddressRequired?: boolean;
}
export interface GooglePayResponseAddress {
name?: string;
postalCode?: string;
countryCode?: string;
phoneNumber?: string;
address1?: string;
address2?: string;
address3?: string;
loc