API Model Reference
Overview of all Paloma Shop API models.
Catalog
AttributeGroup
Property | Type | Description |
---|---|---|
name
|
string
|
Min: 1
Unique group name |
label
|
string
|
Localized label |
position
|
integer[int32]
|
AttributeType
Property | Type | Description |
---|---|---|
name
|
string
|
Min: 1
Unique attribute type name |
locale
|
string
|
|
channel
|
string
|
Min: 1
|
catalog
|
string
|
Min: 1
|
group
|
AttributeGroup
|
Related attribute types are grouped together |
position
|
integer[int32]
|
Position of the attribute type within its group |
dataType
|
string
|
Values: text, text_multiline, html, integer, decimal, date, datetime, bool, currency, choice, code
|
label
|
string
|
Localized label |
values
|
array[AttributeTypeValue]
|
If the attribute type has dataType=choice, all available choice values are listed here |
measurement
|
string
|
Values: none, weight, volume
|
multiple
|
boolean
|
Whether attributes of this type can have multiple values |
display
|
string
|
Values: none, product
The display target of this attribute. 'None' means not intended to be displayed in a UI. 'product' means to be displayed on a product detail view. |
created
|
string[date-time]
|
|
modified
|
string[date-time]
|
{
"name": "description",
"locale": "de_CH",
"channel": "astina",
"catalog": "CH",
"group": {
"name": "default",
"label": "Standard"
},
"position": 12,
"dataType": "html",
"label": "Beschreibung",
"measurement": "none",
"multiple": false,
"created": "2020-03-11T13:17:42.216Z",
"modified": "2020-03-11T13:17:42.216Z"
}
AttributeTypeValue
Choice value for attribute types with dataType=choice
Property | Type | Description |
---|---|---|
name
|
string
|
Min: 1
Unique name within the attribute type |
label
|
string
|
Localized label |
position
|
integer[int32]
|
Brand
Property | Type | Description |
---|---|---|
code
|
string
|
Brand code |
locale
|
string[locale]
|
|
name
|
string
|
|
slug
|
string
|
{
"code": "adidas",
"catalog": "B2C_CH",
"locale": "en",
"name": "Adidas",
"slug": "adidas"
}
BrandsPage
Property | Type | Description |
---|---|---|
content
|
array[Brand]
|
|
size
|
integer[int32]
|
Page size |
number
|
integer[int32]
|
Page number, starting from 0 |
totalElements
|
integer[int64]
|
Total number of results for the search |
totalPages
|
integer[int32]
|
|
last
|
boolean
|
|
first
|
boolean
|
|
sort
|
string
|
Sort property |
order
|
string
|
Values: asc, desc
Sort order |
CatalogPrice
Property | Type | Description |
---|---|---|
currency
|
string
|
Min: 1
Formatted currency, usually the currency code. |
unit
|
string
|
Min: 1
Localized name of the unit this price is valid for. |
unitCode
|
string
|
Code of the unit this price is valid for. |
unitDecimals
|
integer[int32]
|
The number of decimals in which the unit can be defined. E.g. 2 means values like 1.25 or 2.95 are possible, 0 means integer values like 1 or 2. |
unitPrice
|
string
|
Min: 1
The price of one unit. Check |
originalUnitPrice
|
string
|
The price before possible discounts. This price will be missing, if it's the same as |
unitMsrp
|
string
|
The manufacturer's suggested retail price. This price will be missing, if it's the same as |
tax
|
string
|
The formatted tax rate. |
taxIncluded
|
boolean
|
Whether the |
individual
|
boolean
|
Whether this price is specific for the given price group. |
scaling
|
array[PriceScaling]
|
For scaled prices, this lists the scaling increments. If this is not a scaled price, the property will be missing. |
{
"currency": "CHF",
"unit": "St\u00fcck",
"unitPrice": "16.68",
"tax": "7.7 %",
"taxIncluded": true
}
CatalogPriceWithQuantity
Property | Type | Description |
---|---|---|
currency
|
string
|
Min: 1
Formatted currency, usually the currency code. |
unit
|
string
|
Min: 1
Localized name of the unit this price is valid for. |
unitCode
|
string
|
Code of the unit this price is valid for. |
unitDecimals
|
integer[int32]
|
The number of decimals in which the unit can be defined. E.g. 2 means values like 1.25 or 2.95 are possible, 0 means integer values like 1 or 2. |
unitPrice
|
string
|
Min: 1
The price of one unit. Check |
quantity
|
number
|
|
price
|
string
|
Min: 1
The price for the given quantity. Check |
originalUnitPrice
|
string
|
The price before possible discounts. This price will be missing, if it's the same as |
unitMsrp
|
string
|
The manufacturer's suggested retail price. This price will be missing, if it's the same as |
tax
|
string
|
The formatted tax rate. |
taxIncluded
|
boolean
|
Whether the |
individual
|
boolean
|
Whether this price is specific for the given price group. |
{
"currency": "CHF",
"unit": "St\u00fcck",
"unitCode": "piece",
"unitPrice": "16.68",
"quantity": "2",
"price": "33.36",
"tax": "7.7 %",
"taxIncluded": true
}
Category
Property | Type | Description |
---|---|---|
code
|
string
|
Min: 1
Unique category identifier within a collection |
channel
|
string
|
Min: 1
|
catalog
|
string
|
Min: 1
|
locale
|
string[locale]
|
|
name
|
string
|
Min: 1
|
slug
|
string
|
SEO friendly name to be used for category URLs (together with the category code) |
pageTitle
|
string
|
|
metaDescription
|
string
|
|
h1Title
|
string
|
|
footerText
|
string
|
|
aliases
|
string
|
|
parent
|
string
|
Parent category code |
position
|
integer[int32]
|
Position within the parent category |
level
|
integer[int32]
|
Level inside the category tree |
image
|
ProductImage
|
|
status
|
string
|
Values: active, unlisted, inactive
|
ancestors
|
array[ProductCategoryReference]
|
|
subCategories
|
array[Category]
|
|
filterAggregates
|
array[FilterAggregate]
|
|
created
|
string[date-time]
|
|
modified
|
string[date-time]
|
{
"code": "123",
"channel": "astina",
"catalog": "ch",
"locale": "de",
"name": "Ladies",
"slug": "ladies",
"parent": "12",
"position": 0,
"level": 1,
"subCategories": [
{
"code": "234",
"name": "Shoes",
"slug": "shoes",
"level": 2
}
],
"filterAggregates": [
{
"property": "variants.options.color.value",
"label": "Color",
"values": [
{
"value": "blue",
"count": 3
},
{
"value": "green",
"count": 4
},
{
"value": "yellow",
"count": 1
}
]
},
{
"property": "variants.options.size.value",
"label": "Size",
"values": [
{
"value": "41",
"count": 12
},
{
"value": "42",
"count": 2
},
{
"value": "43",
"count": 4
},
{
"value": "43 1\/2",
"count": 20
}
]
}
]
}
CategorySuggestion
Property | Type | Description |
---|---|---|
code
|
string
|
Category code |
name
|
string
|
|
slug
|
string
|
Channel
A channel is a virtual store front. Each channel can have its own catalog (products and categories), prices, languages, shipping methods and payment settings.
Property | Type | Description |
---|---|---|
name
|
string
|
Channel name |
catalog
|
string
|
The product catalog assigned to this channel. The same catalog can be assigned to multiple channels. |
currencies
|
array[string]
|
Supported currencies by this channel (ISO 4217) |
locales
|
array[string]
|
Supported locales by this channel |
origins
|
array[string]
|
Known order origins by this channel |
[
{
"name": "b2c_ch",
"catalog": "b2c_default",
"currencies": [
"CHF"
],
"locales": [
"de_CH",
"en_CH",
"fr_CH"
]
},
{
"name": "b2c_de",
"catalog": "b2c_default",
"currencies": [
"EUR"
],
"locales": [
"de_DE",
"en_DE"
]
},
{
"name": "b2b_ch",
"catalog": "b2b_ch",
"currencies": [
"CHF",
"EUR"
],
"locales": [
"de_CH",
"en_CH",
"fr_CH"
]
}
]
ExportProductsRequest
Property | Type | Description |
---|---|---|
sheets
|
array[ExportProductsRequestSheet]
|
|
pricingContext
|
PricingContext
|
{
"sheets": [
{
"name": "name",
"items": [
{
"quantity": 0,
"sku": "sku"
},
{
"quantity": 0,
"sku": "sku"
}
]
},
{
"name": "name",
"items": [
{
"quantity": 0,
"sku": "sku"
},
{
"quantity": 0,
"sku": "sku"
}
]
}
],
"pricingContext": {
"date": "date",
"currency": "currency",
"priceGroups": [
"priceGroups",
"priceGroups"
]
}
}
ExportProductsRequestSheet
Property | Type | Description |
---|---|---|
name
|
string
|
|
items
|
array[ExportProductsRequestSheetItem]
|
{
"name": "name",
"items": [
{
"quantity": 0,
"sku": "sku"
},
{
"quantity": 0,
"sku": "sku"
}
]
}
ExportProductsRequestSheetItem
Property | Type | Description |
---|---|---|
sku
|
string
|
|
quantity
|
number
|
|
unit
|
string
|
|
portions
|
integer[int32]
|
{
"quantity": 0,
"sku": "sku"
}
ExportResponse
Property | Type | Description |
---|---|---|
id
|
string
|
Process ID |
created
|
string[date-time]
|
|
modified
|
string[date-time]
|
|
status
|
string
|
Values: waiting, started, finished, failed
|
downloadLink
|
string
|
|
filename
|
string
|
{
"downloadLink": "downloadLink",
"created": "2000-01-23T04:56:07.000+00:00",
"modified": "2000-01-23T04:56:07.000+00:00",
"id": "id",
"status": "waiting",
"filename": "File.xlsx"
}
ExportSearchRequest
Property | Type | Description |
---|---|---|
category
|
string
|
Category code |
query
|
string
|
Search keywords |
filters
|
array[ExportSearchRequestFilter]
|
Search filters; will be applied using AND operations. |
sort
|
string
|
Accepts 'name', 'price', 'position', 'relevance' as well as any
attribute in the form |
order
|
string
|
Values: asc, desc
Sort order |
context
|
PricingContext
|
|
params
|
object
|
Generic params for the export search request. |
{
"query": "query",
"context": {
"date": "date",
"currency": "currency",
"priceGroups": [
"priceGroups",
"priceGroups"
]
},
"filters": [
{
"values": [
"values",
"values"
],
"lessThan": "lessThan",
"property": "property",
"match": "any",
"greaterThan": "greaterThan"
},
{
"values": [
"values",
"values"
],
"lessThan": "lessThan",
"property": "property",
"match": "any",
"greaterThan": "greaterThan"
}
],
"sort": "sort",
"category": "category",
"order": "asc"
}
ExportSearchRequestFilter
Property | Type | Description |
---|---|---|
property
|
string
|
Full property path (e.g. attributes.material.value, master.pricing.grossPrice, variants.options.size.value) |
values
|
array[string]
|
Multiple filter values are applied using OR. |
greaterThan
|
string
|
Greater-than or equal to. Only applicable for numeric values |
lessThan
|
string
|
Less-than or equal to. Only applicable for numeric values |
match
|
string
|
Default: any
Values: any, all, none
Determines how the filter values of this filter are to be applied.
|
{
"values": [
"values",
"values"
],
"lessThan": "lessThan",
"property": "property",
"match": "any",
"greaterThan": "greaterThan"
}
FieldChoice
Property | Type | Description |
---|---|---|
value
|
string
|
|
label
|
string
|
|
disabled
|
boolean
|
FieldOptions
Property | Type | Description |
---|---|---|
required
|
boolean
|
|
acceptedFiles
|
array[string]
|
|
maxLength
|
integer
|
|
minLength
|
integer
|
|
pattern
|
string
|
|
max
|
string
|
|
min
|
string
|
|
choices
|
array[FieldChoice]
|
FilterAggregate
Property | Type | Description |
---|---|---|
property
|
string
|
Full property path (e.g. attributes.material.value, master.pricing.grossPriceFormatted, variants.options.size.value) |
name
|
string
|
Internal name for the filter |
label
|
string
|
Localized filter label |
type
|
string
|
Values: text, bool, number, currency
Filter type: text, boolean, number or currency |
values
|
array[FilterAggregateValue]
|
|
min
|
number
|
Minimum value (for numeric properties) |
max
|
number
|
Maximum value (for numeric properties) |
{
"property": "variants.options.color.value",
"label": "Color",
"values": [
{
"value": "blue",
"count": 3,
"total": 27
},
{
"value": "green",
"count": 4,
"total": 31
},
{
"value": "yellow",
"count": 1,
"total": 15
}
]
}
FilterAggregateValue
Property | Type | Description |
---|---|---|
value
|
string
|
Value for which the aggregation was calculated. |
valueCode
|
string
|
If applicable, this field contains the 'machine-readable' value for this aggregate. |
count
|
number
|
Number of occurrences of this value for the current search. |
total
|
number
|
Total overall occurrence of this value. Those totals are only calculated when requested ( |
{
"value": "blue",
"count": 3,
"total": 29
}
LifecycleInfo
Property | Type | Description |
---|---|---|
phase
|
string
|
Values: active, phase_out, end_of_life
The current lifecycle phase of the product. |
nextPhase
|
string
|
Values: active, phase_out, end_of_life
The next lifecycle phase of the product. |
startOfNextPhase
|
string[date-time]
|
OrderingUnit
An ordering unit is a unit of a product variant which can be purchased.
Property | Type | Description |
---|---|---|
unit
|
string
|
Min: 1
Localized name of the unit of this ordering unit. |
unitCode
|
string
|
Code of the unit of this ordering unit. |
unitDecimals
|
integer[int32]
|
The number of decimals in which the unit can be defined. E.g. 2 means values like 1.25 or 2.95 are possible, 0 means integer values like 1 or 2. |
portioning
|
string
|
Values: none, optional, required
Defines whether and how the product variant can be split into portions using this ordering unit.
|
portioningUnit
|
string
|
Localized unit name the portion quantity should be entered with. |
portioningUnitCode
|
string
|
Code of the unit the portion quantity should be entered with. |
portioningNumerator
|
integer[int32]
|
Numerator to be applied to convert from the portioning unit into the ordering unit (e.g. 1000 if unit is kilogram and portioning unit is gram). |
portioningDenominator
|
integer[int32]
|
Denominator to be applied to convert from the portioning unit into the ordering unit (e.g. 100 if unit is milliliter and portioning unit is deciliter). |
minimumQuantity
|
string[decimal-string]
|
The minimum quantity that can be ordered using this ordering unit. |
quantityIncrement
|
string[decimal-string]
|
When using this ordering unit, the line quantity must be divisible by this amount. |
price
|
CatalogPrice
|
The price information valid for this ordering unit. |
{
"unit": "MP",
"unitDecimals": 2,
"portioning": "none",
"minimumQuantity": "0.05",
"price": {
"currency": "CHF",
"unit": "MP",
"unitPrice": "16.68",
"tax": "7.7 %",
"taxIncluded": true
}
}
ParameterField
Property | Type | Description |
---|---|---|
name
|
string
|
|
label
|
string
|
|
type
|
string
|
Values: text, textarea, html, number, currency, choice, bool, date, datetime, time, email, url, file, section, country, password
|
formOptions
|
FieldOptions
|
|
position
|
integer
|
PriceScaling
Property | Type | Description |
---|---|---|
scaleQuantity
|
integer[int32]
|
Min: 1
|
unitPrice
|
string
|
Min: 1
|
originalUnitPrice
|
string
|
|
unitMsrp
|
string
|
Pricing
Deprecated: Use CatalogPrice
instead.
Property | Type | Description |
---|---|---|
_deprecated
|
string
|
Deprecated: Use |
currency
|
string
|
Currency code |
grossPrice
|
number
|
This is the price the customer has to pay. |
netPrice
|
number
|
Net price (before taxes) |
originalGrossPrice
|
number
|
If the current gross price is reduced, this property holds the original price. |
grossPriceFormatted
|
string
|
Formatted gross price. |
netPriceFormatted
|
string
|
Formatted net price. |
originalGrossPriceFormatted
|
string
|
Formatted original price. |
taxes
|
TaxInfo
|
{
"currency": "CHF",
"grossPrice": 10.8,
"netPrice": 10,
"grossPriceFormatted": "10.80",
"netPriceFormatted": "10.00",
"taxes": {
"vat": {
"rate": 0.08,
"name": "MWST",
"amount": 0.8,
"rateFormatted": "8 %",
"amountFormatted": "0.80"
}
}
}
PricingContext
Property | Type | Description |
---|---|---|
currency
|
string
|
The currency to get product data. |
date
|
string
|
An optional date/time to get product data for a specific date (e.g. to get future prices). Can be either in date-time (RFC 3339, e.g. '2020-07-21T17:32:28Z') or date format (e.g. '2020-07-21'). If only a date is provided, 12:00 UTC is assumed as time. |
priceGroups
|
array[string]
|
Optional pricing groups active for the customer. Pricing groups may affect the catalog's price evaluation. These should be taken from the logged-in customer's attribute with the same name. |
preferredUnit
|
string
|
Optional preferred price unit. The price unit will affect to price evaluation. If no price with the preferred price unit is available, or if the preferred price unit is not set, the articles default price unit will be returned. |
{
"currency": "CH",
"date": "2018-03-01T23:00:00.000Z",
"priceGroups": [
"GroupA",
"GroupB"
]
}
Product
Contains product attributes, images, assets as well as all product variants with their respective prices, stocks and attributes.
Property | Type | Description |
---|---|---|
itemNumber
|
string
|
Min: 1
Product item number (unique within the channel) |
channel
|
string
|
Min: 1
The channel of the product |
catalog
|
string
|
Min: 1
The catalog of the product |
locale
|
string[locale]
|
Locale of the localized data within this product (e.g. name, description, prices, attribute values) |
name
|
string
|
Min: 1
Localized product name |
slug
|
string
|
SEO friendly name to be used for product URLs (together with the product item number) |
description
|
string
|
Localized product description |
shortDescription
|
string
|
Short, localized product description |
badge
|
string
|
Deprecated: use attributes for product badges |
status
|
string
|
Default: active
Values: active, inactive
|
master
|
ProductVariant
|
The master variant. This variant can also be listed in the variants list and is referenced here for convenience. If for instance the images of the product is needed, product.master.images can be used. |
options
|
ProductOptionsSummary
|
Summary of options of all the variants. E.g. all colors and sizes. |
variants
|
array[ProductVariant]
|
Min: 1
Max: 100
Available variants (or articles) for this product. Note that this property can be |
categories
|
array[ProductCategory]
|
Min: 1
Max: 100
Product categories |
lifecycleInfo
|
LifecycleInfo
|
Lifecycle information of the product. E.g. used for end-of-life products |
associations
|
ProductAssociations
|
Different types of associated product numbers |
created
|
string[date-time]
|
|
modified
|
string[date-time]
|
{
"itemNumber": "10704-820",
"channel": "astina",
"catalog": "ch",
"locale": "de",
"name": "Absatzsandale",
"slug": "absatzsandale",
"description": "Verspielte Absatzsandale aus feinem Lackleder. Das zarte Riemchenspiel schmeichelt der Silhouette Ihres Fusses und setzt ihn stilsicher in Szene. Zudem schenkt er Ihnen endlos lange Beine und funktioniert edel zum Cocktail oder l\u00e4ssig zum Denim Look.",
"shortDescription": "Verspielte Absatzsandale aus feinem Lackleder.",
"badge": "sale",
"master": {
"sku": "10704-820-1",
"name": "Absatzsandale Dunkelblau",
"taxCategory": "default",
"price": {
"currency": "CHF",
"unit": "piece",
"unitPrice": "100.00",
"unitDecimals": 0,
"tax": "8 %",
"taxIncluded": true
},
"options": [
{
"option": "size",
"label": "Gr\u00f6sse",
"value": "36"
},
{
"option": "color",
"label": "Farbe",
"value": "dunkelblau"
}
],
"images": [
{
"name": "10704_820a.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a_overview.jpg"
}
]
},
{
"name": "10704_820c.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820c.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820c.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820c.jpg"
}
]
}
],
"availability": {
"available": true,
"stocks": [
{
"inventory": "chzh01",
"stock": 12
}
],
"availableFrom": "2015-12-02"
}
},
"options": {
"color": {
"option": "color",
"label": "Farbe",
"values": [
{
"value": "dunkelblau",
"label": "Dunkelblau",
"image": {
"name": "10704_820a.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a_overview.jpg"
}
]
},
"skus": [
"10704-820-1",
"10704-820-2",
"10704-820-3"
]
},
{
"value": "dunkelgr\u00fcn",
"label": "Dunkelgr\u00fcn",
"image": {
"name": "10704_820a.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a_overview.jpg"
}
]
},
"skus": [
"10704-830-1",
"10704-830-2",
"10704-830-3"
]
}
]
},
"size": {
"option": "size",
"label": "Gr\u00f6sse",
"values": []
}
},
"variants": [
{
"sku": "10704-820-1",
"name": "Absatzsandale Dunkelblau",
"taxCategory": "default",
"price": {
"currency": "CHF",
"unit": "piece",
"unitPrice": "99.00",
"unitDecimals": 0,
"tax": "8 %",
"taxIncluded": true
},
"options": [
{
"option": "size",
"label": "Gr\u00f6sse",
"value": "36"
},
{
"option": "color",
"label": "Farbe",
"value": "dunkelblau"
}
],
"assets": [
{
"name": "432_567.jpg",
"source": "http:\/\/example.org\/files\/image_main_jpg_cmyk.jpg",
"title": "Hauptbild (JPG CMYK)",
"set": "image_main_jpg_cmyk",
"size": 69870
}
],
"images": [
{
"name": "10704_820a.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a_overview.jpg"
}
]
},
{
"name": "10704_820c.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820c.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820c.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820c.jpg"
}
]
}
],
"availability": {
"available": true,
"stocks": [
{
"inventory": "chzh01",
"stock": 12
},
{
"inventory": "chzh02",
"stock": 4
}
]
}
},
{
"sku": "10704-820-2",
"name": "Absatzsandale Dunkelgr\u00fcn",
"taxCategory": "default",
"price": {
"currency": "CHF",
"unit": "piece",
"unitPrice": "100.00",
"unitDecimals": 0,
"tax": "8 %",
"taxIncluded": true
},
"options": [
{
"option": "size",
"label": "Gr\u00f6sse",
"value": "36"
},
{
"option": "color",
"label": "Farbe",
"value": "dunkelgr\u00fcn"
}
],
"assets": [
{
"name": "432_567.jpg",
"source": "http:\/\/example.org\/files\/image_main_jpg_cmyk.jpg",
"title": "Hauptbild (JPG CMYK)",
"set": "image_main_jpg_cmyk",
"size": 69870
}
],
"images": [
{
"name": "10704_820a.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a_overview.jpg"
}
]
},
{
"name": "10704_820c.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820c.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820c.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820c.jpg"
}
]
}
],
"availability": {
"available": false,
"stocks": [
{
"inventory": "chzh01",
"stock": 0
},
{
"inventory": "chzh02",
"stock": 0
}
]
}
}
],
"categories": [
{
"code": "100",
"name": "Shoes",
"slug": "shoes",
"level": 0
},
{
"code": "101",
"name": "Hiking Boots",
"slug": "shoes\/hiking-boots",
"level": 1
}
]
}
ProductAsset
Property | Type | Description |
---|---|---|
name
|
string
|
|
source
|
string
|
|
title
|
string
|
|
caption
|
string
|
|
set
|
string
|
|
size
|
integer
|
Asset file size in bytes |
{
"name": "432_567.jpg",
"source": "http:\/\/example.org\/files\/image_main_jpg_cmyk.jpg",
"title": "Hauptbild (JPG CMYK)",
"set": "image_main_jpg_cmyk",
"size": 69870
}
ProductAssociations
{
"recommended": [
"9781502878618",
"3940562348948"
],
"similar": [
"0846502832118"
]
}
ProductAttribute
Attributes consist of a type, label and one or multiple values. The type can be used as an identifier in case some logic needs to be applied for certain attributes. Attributes can also be used to filter product search results.
Property | Type | Description |
---|---|---|
type
|
string
|
Attribute type |
dataType
|
string
|
Values: text, text_multiline, html, integer, decimal, date, datetime, bool, currency, choice, code
Data type of this attribute |
label
|
string
|
Localized attribute label |
value
|
string
|
Localized attribute value. If the attribute has multiple values, those are listed here as well (e.g. "a, b, c") |
values
|
array[string]
|
|
valueCode
|
string
|
Optional: language-independent identifier for this attribute value |
valueCodes
|
array[string]
|
|
group
|
AttributeGroup
|
|
position
|
integer[int32]
|
The attribute's position within its group |
display
|
string
|
Values: product, none
Whether the attribute should be displayed on the product detail page |
{
"label": "ISBN Number",
"type": "isbn_number",
"value": "9781502878618",
"values": [
"9781502878618"
],
"display": "product"
}
ProductAvailability
Property | Type | Description |
---|---|---|
available
|
boolean
|
Available for purchase |
totalStock
|
number
|
Total number of available products |
availableStock
|
number
|
Number of available products minus reservations. If this number is zero, the product can't be added to the cart. |
stocks
|
array[ProductStock]
|
|
availableFrom
|
string[date-time]
|
Release date |
availableTo
|
string[date-time]
|
The product will no longer available after this timestamp |
interruptions
|
array[ProductAvailabilityInterruption]
|
|
nextPossibleDeliveryDate
|
DeliveryDate
|
Describes the next possible date this item may be delivered at |
inventoryMode
|
string
|
Values: managed, non_managed
Inventory mode:
|
unavailabilityReasons
|
array[string]
|
If the above |
{
"available": true,
"stocks": [
{
"inventory": "chzh01",
"stock": 12
}
],
"availableFrom": "2015-12-02"
}
ProductAvailabilityInterruption
Property | Type | Description |
---|---|---|
interruptedFrom
|
string[date-time]
|
|
interruptedTo
|
string[date-time]
|
ProductCategory
Category information for a product. Contains only basic data about the category (e.g. to render a link to the category) as well as the product's position within the category.
Property | Type | Description |
---|---|---|
code
|
string
|
Category code |
name
|
string
|
Category name |
slug
|
string
|
Category slug |
level
|
integer[int32]
|
Level in the category tree |
productPosition
|
integer[int32]
|
The position of the product within this category |
categoryPosition
|
integer[int32]
|
The position of the category within its parent category |
ProductCategoryReference
Reference to a category. Contains only basic data about the category (e.g. to render a link to the category).
Property | Type | Description |
---|---|---|
code
|
string
|
Category code |
name
|
string
|
Category name |
slug
|
string
|
Category slug |
level
|
integer[int32]
|
Level in the category tree |
ProductImage
Property | Type | Description |
---|---|---|
name
|
string
|
Min: 1
|
title
|
string
|
|
caption
|
string
|
|
set
|
string
|
|
sources
|
array[ProductImageSource]
|
{
"name": "123_123.jpg",
"sources": [
{
"size": "large",
"url": "http:\/\/example.org\/images\/example-large.jpg"
},
{
"size": "medium",
"url": "http:\/\/example.org\/images\/example-medium.jpg"
},
{
"size": "small",
"url": "http:\/\/example.org\/images\/example-small.jpg"
}
]
}
ProductImageSource
Property | Type | Description |
---|---|---|
size
|
string
|
Size name of the image source. Available sizes can be configured individually for each project. Default sizes are: 'small' (400 x 400), 'medium' (800 x 800), 'large' (1600 x 1600), 'full' (2000 x 2000). Note that resized images will keep their aspect ratio, so those sizes represent maximum width or height. |
url
|
string
|
Absolute URL for the resized image. |
{
"size": "large",
"url": "http:\/\/example.org\/images\/example.jpg"
}
ProductInfo
Contains basic product information.
Property | Type | Description |
---|---|---|
itemNumber
|
string
|
Min: 1
Product item number (unique within the channel) |
channel
|
string
|
Min: 1
The channel of the product |
catalog
|
string
|
Min: 1
The catalog of the product |
locale
|
string[locale]
|
|
name
|
string
|
Min: 1
|
slug
|
string
|
SEO friendly name to be used for product URLs (together with the product item number) |
description
|
string
|
|
shortDescription
|
string
|
|
categories
|
array[ProductCategory]
|
Min: 1
Max: 100
Product categories |
{
"itemNumber": "10704-820",
"channel": "astina",
"catalog": "ch",
"locale": "de",
"name": "Absatzsandale",
"slug": "absatzsandale",
"description": "Verspielte Absatzsandale aus feinem Lackleder. Das zarte Riemchenspiel schmeichelt der Silhouette Ihres Fusses und setzt ihn stilsicher in Szene. Zudem schenkt er Ihnen endlos lange Beine und funktioniert edel zum Cocktail oder l\u00e4ssig zum Denim Look.",
"shortDescription": "Verspielte Absatzsandale aus feinem Lackleder.",
"categories": [
{
"code": "100",
"name": "Shoes",
"slug": "shoes",
"level": 0
},
{
"code": "101",
"name": "Hiking Boots",
"slug": "shoes\/hiking-boots",
"level": 1
}
]
}
ProductOption
Property | Type | Description |
---|---|---|
option
|
string
|
|
label
|
string
|
|
value
|
string
|
{
"option": "size",
"label": "Size",
"value": "9"
}
ProductOptions
{
"size": {
"option": "size",
"label": "Size",
"value": "9"
}
}
ProductOptionsSummary
Summary of options of all the variants. E.g. all colors and sizes.
Property | Type | Description |
---|---|---|
key
|
string
|
|
value
|
ProductOptionsSummaryOption
|
{
"color": {
"option": "color",
"label": "Farbe",
"values": [
{
"value": "dunkelblau",
"label": "Dunkelblau",
"image": {
"name": "10704_820a.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a_overview.jpg"
}
]
},
"skus": [
"10704-820-1",
"10704-820-2",
"10704-820-3"
]
},
{
"value": "dunkelgr\u00fcn",
"label": "Dunkelgr\u00fcn",
"image": {
"name": "10704_820a.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a_overview.jpg"
}
]
},
"skus": [
"10704-830-1",
"10704-830-2",
"10704-830-3"
]
}
]
},
"size": {
"option": "size",
"label": "Gr\u00f6sse",
"values": []
}
}
ProductOptionsSummaryOption
Product option containing all values for this type
Property | Type | Description |
---|---|---|
option
|
string
|
The option type |
label
|
string
|
Localized option name |
values
|
array[ProductOptionsSummaryOptionValue]
|
{
"option": "color",
"label": "Farbe",
"values": [
{
"value": "dunkelblau",
"label": "Dunkelblau",
"image": {
"name": "10704_820a.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a_overview.jpg"
}
]
},
"skus": [
"10704-820-1",
"10704-820-2",
"10704-820-3"
]
},
{
"value": "dunkelgr\u00fcn",
"label": "Dunkelgr\u00fcn",
"image": {
"name": "10704_820a.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a_overview.jpg"
}
]
},
"skus": [
"10704-830-1",
"10704-830-2",
"10704-830-3"
]
}
]
}
ProductOptionsSummaryOptionValue
Product option value containing a list of SKUs that have this option value
Property | Type | Description |
---|---|---|
value
|
string
|
Option value code |
label
|
string
|
Localized option value |
image
|
ProductImage
|
Product option image |
skus
|
array[string]
|
List of product variant SKUs that have this option value |
{
"value": "dunkelblau",
"label": "Dunkelblau",
"image": {
"name": "10704_820a.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a_overview.jpg"
}
]
},
"skus": [
"10704-820-1",
"10704-820-2",
"10704-820-3"
]
}
ProductPage
Property | Type | Description |
---|---|---|
content
|
array[Product]
|
|
aggregates
|
array[FilterAggregate]
|
|
size
|
integer[int32]
|
Page size |
number
|
integer[int32]
|
Page number, starting from 0 |
totalElements
|
integer[int64]
|
Total number of results for the search |
totalPages
|
integer[int32]
|
|
last
|
boolean
|
|
first
|
boolean
|
|
sort
|
array[SortOrder]
|
Sort properties |
ProductStock
Property | Type | Description |
---|---|---|
inventory
|
string
|
Inventory code |
stock
|
integer[int32]
|
{
"inventory": "chzh01",
"stock": 130
}
ProductSuggestion
Property | Type | Description |
---|---|---|
itemNumber
|
string
|
Product item number |
name
|
string
|
|
slug
|
string
|
|
category
|
CategorySuggestion
|
Category where the product is located (or one of the categories, if there are multiple) |
mainCategory
|
CategorySuggestion
|
Relevant parent of the category. |
image
|
ProductImage
|
|
attributes
|
ProductAttributes
|
ProductUnit
A product unit contains information about packaging, weight and (informational) price. Not all units can be purchased as such. See OrderingUnit
for purchasable units.
Property | Type | Description |
---|---|---|
unit
|
string
|
Min: 1
Localized name of the unit. |
unitCode
|
string
|
Code of the unit. |
minimumQuantity
|
string[decimal-string]
|
|
quantityIncrement
|
string[decimal-string]
|
|
grossWeightKg
|
string
|
Gross weight in kg, localized and formatted. |
netWeightKg
|
string
|
Net weight in kg, localized and formatted. |
netDrainedWeightKg
|
string
|
Net drained weight in kg, localized and formatted. |
bundleUnit
|
ProductUnitBundleInfo
|
|
price
|
CatalogPrice
|
The price information for this unit. |
{
"unit": "Consumer Unit",
"unitCode": "CU",
"grossWeightKg": "0.95",
"netWeightKg": "0.8",
"bundleUnit": {
"unit": "Kg",
"unitCode": "kilogram",
"quantity": "0.8"
},
"price": {
"currency": "CHF",
"unitPrice": "16.68",
"tax": "7.7 %",
"taxIncluded": false
}
}
ProductUnitBundleInfo
Contains information about units bundled within another unit (e.g. kg in a can, or boxes on a pallet).
Property | Type | Description |
---|---|---|
unit
|
string
|
Min: 1
Localized name of the unit. |
unitCode
|
string
|
Code of the unit. |
quantity
|
string
|
How much of this unit is contained within the bundle. Localized and formatted. |
ProductVariant
A specific variant (or article) of a product.
Property | Type | Description |
---|---|---|
sku
|
string
|
Min: 1
Stock keeping unit (unique) |
name
|
string
|
Min: 1
Product variant name |
taxCategory
|
string
|
Min: 1
The tax category |
pricing
|
Pricing
|
Variant pricing. This field is deprecated and |
price
|
CatalogPrice
|
Resolved purchase price based on the given request parameters. |
baseOrderingUnit
|
string
|
Unit code of the base (or 'default') ordering unit. |
baseUnit
|
string
|
Unit code of the base (or 'default') unit. |
orderingUnits
|
array[OrderingUnit]
|
List of all available ordering units for this variant. |
units
|
array[ProductUnit]
|
List of all known units for this variant. |
informationalPrices
|
array[CatalogPrice]
|
Informational prices for this variant. For instance, the variant price might be for a 5 kg bag, and these prices might include one for 100 g. The variant cannot be bought in 100 g increments, but we might be legally required to the hypothetical price. This field is deprecated and |
options
|
ProductOptions
|
|
attributes
|
ProductAttributes
|
|
parameters
|
ParameterFields
|
Parameters are a way for the customer to specify special wishes when buying a product, such as adding a commentary, selecting a value for a coupon, selecting special ingredients "extra onions", "vegan cheese", configuring a computer or appliance with parts "Base configuration" "Extra 32 TB SSD", or other, similar endeavours. This fields specifies, which parameters this product accepts. A value for each parameter can (must) be sent when purchasing a variant. |
assets
|
array[ProductAsset]
|
|
images
|
array[ProductImage]
|
|
availability
|
ProductAvailability
|
[
{
"sku": "10704-820-1",
"name": "Absatzsandale Dunkelblau",
"price": {
"currency": "CHF",
"unitPrice": "99.00",
"originalUnitPrice": "219.00",
"tax": "8 %",
"taxIncluded": true
},
"product": {
"itemNumber": "10704-820",
"channel": "astina",
"catalog": "ch",
"locale": "de",
"name": "Absatzsandale",
"slug": "absatzsandale",
"description": "Verspielte Absatzsandale aus feinem Lackleder. Das zarte Riemchenspiel schmeichelt der Silhouette Ihres Fusses und setzt ihn stilsicher in Szene. Zudem schenkt er Ihnen endlos lange Beine und funktioniert edel zum Cocktail oder l\u00e4ssig zum Denim Look.",
"shortDescription": "Verspielte Absatzsandale aus feinem Lackleder.",
"categories": [
{
"code": "100",
"name": "Shoes",
"slug": "shoes",
"level": 0
},
{
"code": "101",
"name": "Hiking Boots",
"slug": "shoes\/hiking-boots",
"level": 1
}
]
},
"options": [
{
"option": "size",
"label": "Gr\u00f6sse",
"value": "36"
},
{
"option": "color",
"label": "Farbe",
"value": "dunkelblau"
}
],
"images": [
{
"name": "10704_820a.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a_overview.jpg"
}
]
},
{
"name": "10704_820c.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820c.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820c.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820c.jpg"
}
]
}
],
"availability": {
"available": true,
"stocks": [
{
"inventory": "chzh01",
"stock": 12
},
{
"inventory": "chzh02",
"stock": 4
}
]
}
}
]
ProductVariantPage
Property | Type | Description |
---|---|---|
content
|
array[ProductVariantWithProductInfo]
|
|
aggregates
|
array[FilterAggregate]
|
|
size
|
integer[int32]
|
Page size |
number
|
integer[int32]
|
Page number, starting from 0 |
totalElements
|
integer[int64]
|
Total number of results for the search |
totalPages
|
integer[int32]
|
|
last
|
boolean
|
|
first
|
boolean
|
|
sort
|
array[SortOrder]
|
Sort properties |
ProductVariantWithProductInfo
A specific variant (or article) of a product.
Property | Type | Description |
---|---|---|
sku
|
string
|
Min: 1
Stock keeping unit (unique) |
name
|
string
|
Min: 1
Product variant name |
taxCategory
|
string
|
Min: 1
The tax category |
price
|
CatalogPrice
|
Resolved purchase price based on the given request parameters. |
orderingUnits
|
array[OrderingUnit]
|
List of all available ordering units for this variant. |
informationalPrices
|
array[CatalogPrice]
|
Informational prices for this variant. For instance, the variant price might be for a 5 kg bag, and these prices might include one for 100 g. The variant cannot be bought in 100 g increments, but we might be legally required to the hypothetical price. |
product
|
ProductInfo
|
|
options
|
ProductOptions
|
|
attributes
|
ProductAttributes
|
|
assets
|
array[ProductAsset]
|
|
images
|
array[ProductImage]
|
|
availability
|
ProductAvailability
|
[
{
"sku": "10704-820-1",
"name": "Absatzsandale Dunkelblau",
"price": {
"currency": "CHF",
"unit": "piece",
"unitPrice": "99.00",
"tax": "8 %",
"taxIncluded": true
},
"options": [
{
"option": "size",
"label": "Gr\u00f6sse",
"value": "36"
},
{
"option": "color",
"label": "Farbe",
"value": "dunkelblau"
}
],
"images": [
{
"name": "10704_820a.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a_overview.jpg"
}
]
},
{
"name": "10704_820c.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820c.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820c.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820c.jpg"
}
]
}
],
"availability": {
"available": true,
"stocks": [
{
"inventory": "chzh01",
"stock": 12
},
{
"inventory": "chzh02",
"stock": 4
}
]
}
}
]
ProductsBySkuRequest
Property | Type | Description |
---|---|---|
skus
|
array[string]
|
Min: 1
|
omitOtherVariants
|
boolean
|
|
includeInactiveProducts
|
boolean
|
{
"skus": [
"123-987",
"123-988"
],
"omitOtherVariants": false,
"includeInactiveProducts": false
}
SearchFilter
Product search filter within a product search request.
Property | Type | Description |
---|---|---|
property
|
string
|
Full property path (e.g. attributes.material.value, master.pricing.grossPrice, variants.options.size.value) |
values
|
array[string]
|
Multiple filter values are applied using OR. |
greaterThan
|
number
|
Greater-than or equal to. Only applicable for numeric values |
lessThan
|
number
|
Less-than or equal to. Only applicable for numeric values |
match
|
string
|
Default: any
Values: any, all, none
Determines how the filter values of this filter are to be applied. |
or
|
SearchFilter
|
Add another filter with OR. |
{
"property": "variants.options.color.value",
"values": [
"green",
"blue"
]
}
SearchRequest
Product search request to retrieve paged product listings.
Property | Type | Description |
---|---|---|
category
|
string
|
Category code |
query
|
string
|
Search keywords |
filters
|
array[SearchFilter]
|
Search filters; will be applied using AND operations. |
filterAggregates
|
boolean
|
Whether to include aggregated option and attribute values over all search results. |
totalAggregates
|
boolean
|
Whether to include overall total counts in aggregated values. |
omitVariants
|
boolean
|
Whether to omit product variants in the response (may significantly reduce payload size) |
page
|
integer[int32]
|
Page number, starting from 0 |
size
|
integer[int32]
|
Default: 10
Min: 1
|
sort
|
string
|
Accepts 'name', 'price', 'base_unit_price', 'position', 'relevance' as well as any attribute in the form |
order
|
string
|
Default: asc
Values: asc, desc
Sort order |
context
|
PricingContext
|
{
"category": "123",
"query": "sports",
"filters": [
{
"property": "variants.options.size.value",
"values": [
"40"
]
}
],
"page": 2,
"sort": "price",
"order": "asc"
}
SearchSuggestions
Property | Type | Description |
---|---|---|
products
|
array[ProductSuggestion]
|
|
categories
|
array[CategorySuggestion]
|
{
"categories": [
{
"code": "123",
"name": "Sports Shoes",
"slug": "sports-shoes"
},
{
"code": "234",
"name": "Hiking Boots",
"slug": "hiking-boots"
}
],
"products": [
{
"itemNumber": "123",
"name": "Adidas Superstars Green\/9",
"slug": "adidas-superstars-green-9",
"category": "Sports Shoes",
"mainCategory": {
"code": "110",
"name": "Shoes",
"slug": "shoes"
}
}
]
}
SortOrder
Property | Type | Description |
---|---|---|
direction
|
string
|
Values: asc, desc
|
property
|
string
|
Tax
Property | Type | Description |
---|---|---|
type
|
string
|
Default: VAT
Values: VAT
|
rate
|
number[double]
|
Tax rate as decimal |
name
|
string
|
|
amount
|
number
|
Tax amount |
rateFormatted
|
string
|
Formatted tax rate |
amountFormatted
|
string
|
Formatted tax amount |
{
"tye": "VAT",
"rate": 0.08,
"name": "MWST",
"amount": 0.8,
"rateFormatted": "8 %",
"amountFormatted": "0.80"
}
TaxInfo
Property | Type | Description |
---|---|---|
vat
|
Tax
|
|
taxInclusion
|
string
|
Default: inclusive
Values: inclusive, exclusive, not_applicable
Defines whether the price amount includes taxes or not. |
{
"vat": {
"tye": "VAT",
"rate": 0.08,
"name": "MWST",
"amount": 0.8,
"rateFormatted": "8 %",
"amountFormatted": "0.80"
}
}
TaxSummary
Property | Type | Description |
---|---|---|
taxes
|
array[Tax]
|
Checkout
Address
Property | Type | Description |
---|---|---|
title
|
string
|
Max: 50
|
titleCode
|
string
|
Values: ms, mr, unknown
|
firstName
|
string
|
Max: 50
|
lastName
|
string
|
Max: 50
|
company
|
string
|
Max: 50
|
street
|
string
|
Max: 50
|
zipCode
|
string
|
Max: 50
|
city
|
string
|
Max: 50
|
country
|
string
|
Min: 2
Max: 2
Country code |
phoneNumber
|
string
|
Max: 50
|
emailAddress
|
string
|
Max: 255
|
remarks
|
string
|
Max: 255
|
{
"title": "Mr.",
"titleCode": "mr",
"firstName": "Hans",
"lastName": "Muster",
"street": "Musterweg 1",
"zipCode": "8000",
"city": "Zurich",
"country": "CH",
"phoneNumber": "0445007710",
"emailAddress": "test@astina.io",
"remarks": "This is a remark"
}
AvailablePaymentMethod
Property | Type | Description |
---|---|---|
name
|
string
|
Min: 1
|
type
|
string
|
Values: invoice, electronic, unknown
Payment methods with type 'electronic' require that the web shop performs a payment flow. See |
provider
|
string
|
Values: datatrans, postfinance, test
Only for type 'electronic': The payment provider that the web shop should use to perform the payment flow. |
paymentInstruments
|
array[PaymentInstrument]
|
Only for type 'electronic': Payment instruments are saved credit cards which can be used for payment. |
paymentMeans
|
array[PaymentMeans]
|
Only for type 'electronic': The payment means (e.g. credit card types) supported by the provider. |
{
"name": "creditcard",
"type": "electronic",
"provider": "datatrans",
"paymentInstruments": [
{
"id": "01E4V2JCC9T33QXEAXPHCJEC4F",
"type": "Mastercard",
"maskedCardNumber": "513659xxxxxx5354",
"expirationMonth": "12",
"expirationYear": "24"
}
],
"paymentMeans": [
{
"id": "visa",
"name": "Visa",
"providerCode": "VIS"
},
{
"id": "mastercard",
"name": "Mastercard",
"providerCode": "ECA"
}
]
}
AvailableShippingMethod
Property | Type | Description |
---|---|---|
name
|
string
|
|
pricing
|
Pricing
|
{
"name": "post_priority",
"pricing": {
"currency": "CHF",
"grossPrice": 10,
"grossPriceFormatted": "10.00",
"taxes": {
"vat": {
"type": "VAT",
"rate": 0.08,
"name": "MwSt.",
"amount": 22.14,
"rateFormatted": "8 %",
"amountFormatted": "22.14"
}
}
}
}
BrokerDto
Property | Type | Description |
---|---|---|
id
|
string
|
Min: 1
Max: 255
|
name
|
string
|
Min: 1
Max: 255
|
emailAddress
|
string
|
Min: 1
Max: 255
|
{
"id": "123",
"name": "Petra Musterfrau",
"emailAddress": "petra.musterfrau@example.com"
}
BulkDeleteDto
Property | Type | Description |
---|---|---|
itemIds
|
array[string]
|
Min: 1
Item ids denoting the items that need to be removed from the order. |
CartModification
Automatic modification to the cart that was not explicitly requested by the client.
Property | Type | Description |
---|---|---|
code
|
string
|
Values: item_removed, item_price_changed, item_not_added, shipping_target_date_removed, delivery_arrangement_removed, delivery_arrangement_modified, currency_changed
|
itemId
|
string
|
ID of the affected order item (may be null) |
params
|
object
|
Arbitrary key-value pairs with information about the modification (see example). |
{
"code": "item_price_changed",
"itemId": "1",
"params": {
"unit_price_before": "19.90",
"unit_price_after": "13.80",
"item_price_before": "39.80",
"item_price_after": "27.60"
}
}
CartModificationParams
Property | Type | Description |
---|---|---|
key
|
string
|
|
value
|
string
|
{
"unit_price_before": "19.90",
"unit_price_after": "13.80",
"item_price_before": "39.80",
"item_price_after": "27.60"
}
Channel
A channel is a virtual store front. Each channel can have its own catalog (products and categories), prices, languages, shipping methods and payment settings.
Property | Type | Description |
---|---|---|
name
|
string
|
Channel name |
currencies
|
array[string]
|
Supported currencies by this channel (ISO 4217) |
locales
|
array[string]
|
Supported locales by this channel |
origins
|
array[string]
|
Known order origins by this channel |
checkout
|
ChannelCheckoutSettings
|
Checkout settings for this channel |
[
{
"name": "b2c_ch",
"currencies": [
"CHF"
],
"locales": [
"de_CH",
"en_CH",
"fr_CH"
],
"checkout": {
"minItemsPrice": 50
}
},
{
"name": "b2c_de",
"currencies": [
"EUR"
],
"locales": [
"de_DE",
"en_DE"
],
"checkout": {
"minItemsPrice": 25
}
},
{
"name": "b2b_ch",
"currencies": [
"CHF",
"EUR"
],
"locales": [
"de_CH",
"en_CH",
"fr_CH"
],
"checkout": {
"maxItemsPrice": 10000,
"minItemCount": 3
}
}
]
ChannelCheckoutSettings
Checkout settings for a channel
Property | Type | Description |
---|---|---|
minItemsPriceSurchargeThreshold
|
number
|
Minimum value of all items in a shopping cart. If the price is below this number, a 'surcharge' adjustment is added to the order. |
minItemsPrice
|
number
|
Minimum value of all items in a shopping cart. If the price is below this number, purchase is not possible. |
maxItemsPrice
|
number
|
Maximum value of all items in a shopping cart. If the price is above this number, purchase is not possible. |
minOrderPrice
|
number
|
Minimum value of all items in a shopping cart. If the price is below this number, purchase is not possible. |
maxOrderPrice
|
number
|
Maximum value of all items in a shopping cart. If the price is above this number, purchase is not possible. |
minItemCount
|
integer[int32]
|
Minimum cumulated quantity of items in a shopping cart. If the number is below this value, purchase is not possible. |
maxItemCount
|
integer[int32]
|
Maximum cumulated quantity of items in a shopping cart. If the number is above this value, purchase is not possible. |
CustomDataUpdate
Property | Type | Description |
---|---|---|
path
|
string
|
|
value
|
|
{
"path": "example",
"value": "example"
}
Customer
Property | Type | Description |
---|---|---|
id
|
string
|
Min: 1
Max: 36
Paloma customer ID |
customerNumber
|
string
|
Min: 1
Max: 50
|
emailAddress
|
string
|
Min: 1
|
firstName
|
string
|
Min: 1
Max: 50
First name |
locale
|
string[locale]
|
Locale code (de, en, fr, de_CH, ...) |
lastName
|
string
|
Min: 1
Max: 50
Last name |
company
|
string
|
Min: 1
Max: 50
Company name |
gender
|
string
|
Values: male, female, unknown
|
dateOfBirth
|
string[date]
|
|
billingAddress
|
Address
|
|
shippingAddress
|
Address
|
|
userId
|
string
|
|
deliveryGroup
|
string
|
|
catalog
|
string
|
|
customerStatus
|
string
|
Values: enabled, disabled
|
priceGroups
|
array[string]
|
Pricing groups may affect the cart's price evaluation. These should be taken from the logged-in customer's attribute with the same name. |
{
"id": "43435-6565-6565",
"customerNumber": "989739",
"emailAddress": "test@astina.io",
"locale": "de_CH",
"firstName": "Hans",
"lastName": "Muster",
"company": "Muster AG",
"gender": "male",
"userId": "CH000350921",
"priceGroups": [
"12-45"
]
}
CustomerOrderNumberDto
Property | Type | Description |
---|---|---|
customerOrderNumber
|
string
|
{
"customerOrderNumber": "ORD-123456789"
}
DeliveryArrangement
Property | Type | Description |
---|---|---|
shippingMethodName
|
string
|
|
targetDate
|
string[date]
|
|
targetSlot
|
string
|
Null only if no delivery target slots are configured for this instance. |
override
|
boolean
|
If set to true, the delivery arrangement will be applied even if it is not valid for the given item. This is intended for internal users who "know better" and should not be called for web shop use. |
DeliveryDayOptions
Property | Type | Description |
---|---|---|
targetDate
|
string[date]
|
All delivery schemes in this object start on this date and slot. |
targetSlot
|
string
|
All delivery schemes in this object start on this date and slot. |
deliverable
|
string
|
Values: NO_DELIVERY, NO_DELIVERY_SCHEMES, DELIVERY_SCHEMES_AVAILABLE
Is a delivery possible on this day?
|
orderDateTime
|
string[date-time]
|
This field answers the question "When do I last have to order so I can get some or all articles for this day and deliver slot?". There are three cases, according to the deliverable field:
|
deliverySchemes
|
array[DeliveryScheme]
|
DeliveryOption
Property | Type | Description |
---|---|---|
itemId
|
integer[int32]
|
|
sku
|
string
|
|
deliveryArrangement
|
DeliveryArrangement
|
|
preparationDays
|
integer[int32]
|
|
forerunDays
|
integer[int32]
|
|
orderDateTime
|
string[date-time]
|
DeliveryScheme
Property | Type | Description |
---|---|---|
name
|
string
|
|
targetDate
|
string[date]
|
Date and slot of the first delivery of this delivery scheme. |
targetSlot
|
string
|
Date and slot of the first delivery of this delivery scheme. |
deliveryMethodName
|
string
|
This is set if all the items in the scheme have one, and only one deliveryMethodName. Otherwise this will be null. |
orderDateTime
|
string[date-time]
|
|
numberOfDeliveries
|
integer[int32]
|
|
itemOptions
|
array[DeliveryOption]
|
DeliverySchemeReference
Property | Type | Description |
---|---|---|
name
|
string
|
ExpectedDelivery
Property | Type | Description |
---|---|---|
deliveryArrangement
|
DeliveryArrangement
|
|
itemIds
|
array[string]
|
|
itemsPricing
|
Pricing
|
Total price of all items within this delivery tranche. |
quantities
|
array[ExpectedDeliveryQuantity]
|
ExpectedDeliveryQuantity
Property | Type | Description |
---|---|---|
unit
|
string
|
|
unitCode
|
string
|
|
quantity
|
number
|
ItemPriceOverride
Property | Type | Description |
---|---|---|
unitPrice
|
number
|
|
linePrice
|
number
|
NextPossibleDeliveryDate
Property | Type | Description |
---|---|---|
date
|
string[date]
|
ObjectOperationInfo
Property | Type | Description |
---|---|---|
name
|
string
|
Operation name |
available
|
boolean
|
Whether the operation is available for execution. If false, |
validation
|
ObjectOperationValidation
|
ObjectOperationValidation
Property | Type | Description |
---|---|---|
errors
|
array[ObjectOperationValidationError]
|
ObjectOperationValidationError
Property | Type | Description |
---|---|---|
property
|
string
|
|
code
|
string
|
|
message
|
string
|
ObjectValidationInfo
Property | Type | Description |
---|---|---|
properties
|
PropertyValidationInfos
|
OldDeliveryOption
Property | Type | Description |
---|---|---|
targetDate
|
string[date]
|
|
targetSlot
|
string
|
|
preparationDays
|
integer[int32]
|
|
forerunDays
|
integer[int32]
|
|
orderDateTime
|
string[date-time]
|
Order
Property | Type | Description |
---|---|---|
id
|
string
|
|
created
|
string[date-time]
|
|
modified
|
string[date-time]
|
|
orderNumber
|
string
|
|
channel
|
string
|
|
locale
|
string[locale]
|
|
status
|
string
|
Values: cart, finalized, purchased
|
origin
|
string
|
|
purchaseDate
|
string[date]
|
|
currency
|
string
|
|
taxIncluded
|
boolean
|
|
items
|
array[OrderItem]
|
|
itemsPricing
|
Pricing
|
Total of all item prices excluding adjustments. |
adjustments
|
array[OrderAdjustment]
|
|
orderPricing
|
Pricing
|
Total of all item prices plus adjustments. This is what the customer pays for the whole order. |
taxSummary
|
TaxSummary
|
|
customer
|
OrderCustomer
|
|
billingAddress
|
Address
|
|
shippingAddress
|
Address
|
|
paymentMethod
|
PaymentMethod
|
|
shippingMethod
|
ShippingMethod
|
|
payments
|
array[Payment]
|
|
expectedDeliveries
|
array[ExpectedDelivery]
|
|
coupons
|
array[string]
|
|
modifications
|
array[CartModification]
|
If an operation requires modification to the order that where not explicitly requested by the client, those modifications are listed here. Example: Prices of items changed because the customer was updated. |
broker
|
BrokerDto
|
|
comment
|
string
|
|
customerOrderNumber
|
string
|
|
customData
|
object
|
|
_validation
|
ObjectValidationInfo
|
|
_operations
|
array[ObjectOperationInfo]
|
{
"id": "123",
"created": "2020-01-23T10:56:23.432Z",
"modified": "2020-01-23T11:56:23.432Z",
"orderNumber": "CH00032",
"channel": "CH",
"locale": "en",
"status": "confirmed",
"currency": "CHF",
"items": [
{
"id": "234",
"quantity": 2,
"title": "Adidas Superstars",
"unitPricing": {
"currency": "CHF",
"grossPrice": 249.9,
"netPrice": 231.4,
"originalGrossPrice": 299.9,
"grossPriceFormatted": "249.90",
"netPriceFormatted": "231.40",
"originalGrossPriceFormatted": "299.90",
"taxes": {
"vat": {
"rate": 0.08,
"name": "MWST",
"amount": 18.5,
"rateFormatted": "8 %",
"amountFormatted": "18.50"
}
}
},
"itemPricing": {
"currency": "CHF",
"grossPrice": 499.8,
"netPrice": 462.8,
"originalGrossPrice": 599.8,
"grossPriceFormatted": "499.80",
"netPriceFormatted": "462.80",
"originalGrossPriceFormatted": "599.80",
"taxes": {
"vat": {
"rate": 0.08,
"name": "MWST",
"amount": 37,
"rateFormatted": "8 %",
"amountFormatted": "37.00"
}
}
},
"variant": {
"sku": "457",
"name": "Adidas Superstars Green\/10",
"taxCategory": "default",
"pricing": {
"currency": "CHF",
"grossPrice": 499.8,
"taxes": {
"vat": {
"rate": 0.08,
"name": "MWST",
"amount": 37,
"rateFormatted": "8 %",
"amountFormatted": "37.00"
}
}
},
"price": {
"currency": "CHF",
"unit": "piece",
"unitDecimals": 0,
"unitPrice": 499.8,
"tax": "8 %",
"taxIncluded": true
},
"availability": {
"available": true,
"stocks": [
{
"inventory": "chzh01",
"stock": 12
}
],
"availableFrom": "2015-12-02"
}
}
}
],
"itemsPricing": {
"currency": "CHF",
"grossPrice": 199.8,
"netPrice": 462.8,
"grossPriceFormatted": "499.80",
"netPriceFormatted": "462.80",
"taxes": {
"vat": {
"type": "VAT",
"rate": 0.08,
"name": "MwSt.",
"amount": 22.14,
"rateFormatted": "8 %",
"amountFormatted": "22.14"
}
}
},
"adjustments": [
{
"type": "shipping",
"description": "Post-Pack Economy",
"pricing": {
"currency": "CHF",
"grossPrice": 10,
"netPrice": 10,
"grossPriceFormatted": "10.00",
"netPriceFormatted": "10.00"
}
}
],
"taxSummary": {
"taxes": [
{
"type": "vat",
"rate": 0.08,
"name": "MWST",
"amount": 37,
"rateFormatted": "8 %",
"amountFormatted": "37.00"
}
]
},
"customer": {
"customerNumber": "989739",
"emailAddress": "test@astina.io",
"firstName": "Hans",
"lastName": "Muster",
"company": "Muster AG"
},
"billingAddress": {
"title": "Mr.",
"titleCode": "mr",
"firstName": "Hans",
"lastName": "Muster",
"street": "Musterweg 1",
"zipCode": 8000,
"city": "Zurich",
"country": "CH",
"phoneNumber": "0445007710",
"remarks": "This is a remark"
},
"shippingAddress": {
"title": "Mr.",
"titleCode": "mr",
"firstName": "Hans",
"lastName": "Muster",
"street": "Musterweg 1",
"zipCode": 8000,
"city": "Zurich",
"country": "CH",
"phoneNumber": "0445007710",
"remarks": "This is a remark"
},
"paymentMethod": {
"name": "cc_visa",
"type": "electronic",
"provider": "datatrans",
"paymentInstrumentId": "01E4V2JCC9T33QXEAXPHCJEC4F"
},
"shippingMethod": {
"name": "post_priority"
},
"payments": {
"order": "123",
"paymentMethod": "cc_visa",
"reference": "2865-397-349",
"currency": "CHF",
"amount": 199,
"status": "authorized"
},
"coupons": [
"XY12398472"
],
"broker": {
"id": "123",
"name": "Petra Musterfrau",
"emailAddress": "petra.musterfrau@example.com"
}
}
OrderAddressesDto
Set billing and shipping address for an order. Address data can either be sent directly or by referencing a customer address ID, but only if a customer ID is already set on the order.
Property | Type | Description |
---|---|---|
billingAddress
|
Address
|
|
billingAddressId
|
string
|
ID of one of the order's customer's billing address |
shippingAddress
|
Address
|
|
shippingAddressId
|
string
|
ID of one of the order's customer's shipping address |
OrderAdjustment
Property | Type | Description |
---|---|---|
type
|
string
|
Values: shipping, tax, discount, promotion, surcharge
|
description
|
string
|
|
pricing
|
Pricing
|
{
"type": "promotion",
"description": "Christmas Sale",
"pricing": {
"currency": "CHF",
"grossPrice": -20,
"netPrice": -20,
"grossPriceFormatted": "-20.00",
"netPriceFormatted": "-20.00"
}
}
OrderCommentDto
Property | Type | Description |
---|---|---|
comment
|
string
|
Max: 1000
|
{
"comment": "This is a comment for the order."
}
OrderCouponError
Property | Type | Description |
---|---|---|
errors
|
array[OrderCouponErrorItem]
|
{
"errors": [
{
"coupon": "TEST123",
"status": "redemptions_exceeded"
}
]
}
OrderCouponErrorItem
Property | Type | Description |
---|---|---|
coupon
|
string
|
The invalid coupon code |
status
|
string
|
Values: not_found, not_eligible, not_combinable, expired, redemptions_exceeded, service_unavailable, error
Reason why the coupon is invalid:
|
OrderCreateDto
Property | Type | Description |
---|---|---|
locale
|
string[locale]
|
|
channel
|
string
|
|
currency
|
string
|
|
origin
|
string
|
|
customer
|
Customer
|
|
broker
|
BrokerDto
|
{
"locale": "de"
}
OrderCustomer
Property | Type | Description |
---|---|---|
customerNumber
|
string
|
|
customerId
|
string
|
|
emailAddress
|
string
|
Email address |
firstName
|
string
|
First name |
lastName
|
string
|
Last name |
company
|
string
|
Company name |
deliveryGroup
|
string
|
Delivery group |
catalog
|
string
|
Catalog |
gender
|
string
|
Values: male, female, unknown
|
dateOfBirth
|
string[date]
|
|
userId
|
string
|
|
priceGroups
|
array[string]
|
{
"customerNumber": "1000234",
"emailAddress": "test@astina.io",
"firstName": "Hans",
"lastName": "Muster",
"company": "Muster AG",
"gender": "male"
}
OrderItem
Property | Type | Description |
---|---|---|
id
|
string
|
|
sku
|
string
|
Product variant SKU for this item |
itemNumber
|
string
|
Product item number for this item |
quantity
|
number
|
|
portions
|
integer[int32]
|
The number of portions the order item quantity will be split into. |
unit
|
string
|
Localized name of the unit for this item |
unitCode
|
string
|
Code of the unit for this item |
title
|
string
|
E.g. product name |
description
|
string
|
E.g. product description |
image
|
ProductImage
|
|
variant
|
ProductVariant
|
|
adjustments
|
array[OrderAdjustment]
|
|
parameters
|
array[ParameterValue]
|
|
unitPricing
|
Pricing
|
|
itemPricing
|
Pricing
|
|
deliveryArrangement
|
DeliveryArrangement
|
|
reservationExpires
|
string[date-time]
|
|
_operations
|
array[ObjectOperationInfo]
|
{
"id": "234",
"quantity": 2,
"unitPricing": {
"currency": "CHF",
"grossPrice": 5.4,
"netPrice": 5,
"grossPriceFormatted": "5.40",
"netPriceFormatted": "5.00",
"taxes": {
"vat": {
"rate": 0.08,
"name": "MWST",
"amount": 0.4,
"rateFormatted": "8 %",
"amountFormatted": "0.40"
}
}
},
"itemPricing": {
"currency": "CHF",
"grossPrice": 10.8,
"netPrice": 10,
"grossPriceFormatted": "10.80",
"netPriceFormatted": "10.00",
"taxes": {
"vat": {
"rate": 0.08,
"name": "MWST",
"amount": 0.8,
"rateFormatted": "8 %",
"amountFormatted": "0.80"
}
}
},
"title": "Adidas Superstars",
"variant": {
"sku": "457",
"name": "Adidas Superstars Green\/10"
}
}
OrderItemCreateDto
Property | Type | Description |
---|---|---|
sku
|
string
|
Min: 1
Product variant sku |
quantity
|
number
|
The number of items to add. If this is missing, the minimum allowable amount is added. Usually, this is |
onInvalidQuantity
|
string
|
Default: fail
Values: fail, increment_until_valid
How the application should behave if the requested quantity is not a valid quantity for the item due to the items minimumQuantity/quantityIncrement values (e.g. trying to add quantity 1 for an item with minimumQuantity 10). On invalid quantity:
|
unit
|
string
|
The unit you want to order. Optional. If left empty, the variant's default unit will be used. Note: use the |
portions
|
integer[int32]
|
Min: 1
The number of portions the provided quantity will be split into. |
allowedUnavailabilityReasons
|
array[string]
|
List of 'unavailability' reasons to be ignored when adding the item to the cart. Reasons for a variant being unavailable can be found at |
parameters
|
array[ParameterValue]
|
Parameters are a way for the customer to specify special wishes when buying a product, such as adding a commentary, selecting a value for a coupon, selecting special ingredients "extra onions", "vegan cheese", configuring a computer or appliance with parts "Base configuration" "Extra 32 TB SSD", or other, similar endeavours. The parameters on the product master specify which parameters (i.e. special wishes) the variants in the product accept. For each of the parameters, a value may (must, if required = true) be given when adding an item. |
{
"sku": "456",
"quantity": 1.5,
"portions": 2
}
OrderItemShippingMethodOptions
Property | Type | Description |
---|---|---|
shippingMethodName
|
string
|
|
itemId
|
integer[int32]
|
|
sku
|
string
|
|
delivery
|
array[OldDeliveryOption]
|
{
"shippingMethodName": "default",
"position": "1",
"sku": "item_no_1",
"delivery": [
{
"targetDate": "2021-01-21",
"targetSlot": "afternoon",
"preparationDays": 1,
"forerunDays": 0,
"orderDateTime": "2021-01-20T12:00:00+01:00"
},
{
"targetDate": "2021-01-22",
"targetSlot": "morning",
"preparationDays": 1,
"forerunDays": 0,
"orderDateTime": "2021-01-21T12:00:00+01:00"
}
]
}
OrderItemShippingOptions
Property | Type | Description |
---|---|---|
itemId
|
integer[int32]
|
|
sku
|
string
|
|
delivery
|
array[DeliveryOption]
|
OrderItemUpdateDto
Property | Type | Description |
---|---|---|
quantity
|
number
|
The number of items to set. |
onInvalidQuantity
|
string
|
Default: fail
Values: fail, increment_until_valid
How the application should behave if the requested quantity is not a valid quantity for the item due to the items minimumQuantity/quantityIncrement values (e.g. trying to add quantity 1 for an item with minimumQuantity 10). On invalid quantity:
|
portions
|
integer[int32]
|
Min: 1
The number of portions the provided quantity will be split into. |
parameters
|
array[ParameterValue]
|
Parameters are a way for the customer to specify special wishes when buying a product, such as adding a commentary, selecting a value for a coupon, selecting special ingredients "extra onions", "vegan cheese", configuring a computer or appliance with parts "Base configuration" "Extra 32 TB SSD", or other, similar endeavours. The parameters on the product master specify which parameters (i.e. special wishes) the variants in the product accept. For each of the parameters, a value may (must, if required = true) be given when adding an item. |
{
"quantity": 2.5,
"portions": 5
}
OrderItemsCreateDto
Property | Type | Description |
---|---|---|
orderItems
|
array[OrderItemCreateDto]
|
Min: 1
Order item create DTOs |
{
"orderItems": [
{
"sku": "456",
"quantity": 2
},
{
"sku": "963",
"quantity": 1
}
]
}
OrderPage
Property | Type | Description |
---|---|---|
content
|
array[Order]
|
|
size
|
integer
|
Page size |
number
|
integer[int32]
|
Page number, starting from 0 |
totalElements
|
integer[int64]
|
Total number of results for the search |
totalPages
|
integer[int32]
|
|
last
|
boolean
|
|
first
|
boolean
|
|
sort
|
string
|
Sort property |
order
|
string
|
Values: asc, desc
Sort order |
OrderingUnit
An ordering unit is a unit of a product variant which can be purchased.
Property | Type | Description |
---|---|---|
unit
|
string
|
Min: 1
Localized name of the unit of this ordering unit. |
unitCode
|
string
|
Code of the unit of this ordering unit. |
unitDecimals
|
integer[int32]
|
The number of decimals in which the unit can be defined. E.g. 2 means values like 1.25 or 2.95 are possible, 0 means integer values like 1 or 2. |
portioning
|
string
|
Values: none, optional, required
Defines whether and how the product variant can be split into portions using this ordering unit.
|
portioningUnit
|
string
|
Localized unit name the portion quantity should be entered with. |
portioningUnitCode
|
string
|
Code of the unit the portion quantity should be entered with. |
portioningNumerator
|
integer[int32]
|
Numerator to be applied to convert from the portioning unit into the ordering unit (e.g. 1000 if unit is kilogram and portioning unit is gram). |
portioningDenominator
|
integer[int32]
|
Denominator to be applied to convert from the portioning unit into the ordering unit (e.g. 100 if unit is milliliter and portioning unit is deciliter). |
minimumQuantity
|
string[decimal-string]
|
The minimum quantity that can be ordered using this ordering unit. |
quantityIncrement
|
string[decimal-string]
|
When using this ordering unit, the line quantity must be divisible by this amount. |
price
|
Price
|
The price information valid for this ordering unit. |
{
"unit": "St\u00fcck",
"unitDecimals": 2,
"portioning": "none",
"minimumQuantity": "0.05",
"price": {
"currency": "CHF",
"unit": "MP",
"unitPrice": "16.68",
"tax": "7.7 %",
"taxIncluded": true
}
}
ParameterValue
Property | Type | Description |
---|---|---|
name
|
string
|
|
value
|
object
|
Payment
Property | Type | Description |
---|---|---|
order
|
string
|
Order ID |
paymentProvider
|
string
|
|
paymentProviderType
|
string
|
Values: datatrans, postfinance, test
|
paymentMethod
|
string
|
|
reference
|
string
|
|
transactionId
|
string
|
|
currency
|
string
|
|
amount
|
number
|
|
status
|
string
|
Default: initiated
Values: initiated, pending, authorized, completed, failed, cancelled, unknown
|
paymentMeans
|
string
|
Default: initiated
Values: invoice, cas, voucher, // Gift or purchase voucher, creditcard, // If exact creditcard is not known, visa, mastercard, american_express, diners_club, maestro, postfinance_card, postfinance_efinance, paypal, twint, jcb, powerpay, other, unknown
|
maskedCardNumber
|
string
|
|
cardHolderCountry
|
string
|
|
providerRequest
|
PaymentProviderRequest
|
|
providerResponse
|
PaymentProviderResponse
|
|
created
|
string[date-time]
|
|
modified
|
string[date-time]
|
{
"order": "123",
"paymentMethod": "cc_visa",
"reference": "923843284",
"currency": "CHF",
"amount": 894.2,
"status": "authorized"
}
PaymentInitDto
Property | Type | Description |
---|---|---|
successUrl
|
string
|
Min: 1
|
cancelUrl
|
string
|
Min: 1
|
errorUrl
|
string
|
Min: 1
|
{
"successUrl": "https:\/\/example.org\/checkout\/success",
"cancelUrl": "https:\/\/example.org\/checkout\/cancel",
"errorUrl": "https:\/\/example.org\/checkout\/error"
}
PaymentInstrument
Property | Type | Description |
---|---|---|
id
|
string
|
Min: 1
|
type
|
string
|
|
maskedCardNumber
|
string
|
|
expirationMonth
|
string
|
|
expirationYear
|
string
|
{
"id": "01E4V2JCC9T33QXEAXPHCJEC4F",
"type": "Mastercard",
"maskedCardNumber": "513659xxxxxx5354",
"expirationMonth": "12",
"expirationYear": "24"
}
PaymentMeans
Property | Type | Description |
---|---|---|
id
|
string
|
Min: 1
|
name
|
string
|
Min: 1
|
providerCode
|
string
|
{
"id": "american_express",
"name": "American Express",
"providerCode": "AMX"
}
PaymentMethod
Property | Type | Description |
---|---|---|
name
|
string
|
Min: 1
|
type
|
string
|
Values: invoice, electronic, unknown
Payment methods with type 'electronic' require that the web shop performs a payment flow. See |
provider
|
string
|
Values: datatrans, postfinance, test
Only for type 'electronic': The payment provider that the web shop should use to perform the payment flow. |
paymentInstrumentId
|
string
|
{
"name": "creditcard",
"type": "electronic",
"provider": "datatrans",
"paymentInstrumentId": "01E4V2JCC9T33QXEAXPHCJEC4F"
}
PaymentProviderParam
Property | Type | Description |
---|---|---|
name
|
string
|
|
value
|
string
|
{
"name": "merchant-id",
"value": "1002323"
}
PaymentProviderRequest
Property | Type | Description |
---|---|---|
url
|
string
|
|
httpMethod
|
string
|
|
sent
|
string[date-time]
|
|
params
|
array[PaymentProviderParam]
|
|
payload
|
string
|
PaymentProviderResponse
Property | Type | Description |
---|---|---|
received
|
string[date-time]
|
|
params
|
array[PaymentProviderParam]
|
|
httpStatus
|
string
|
|
payload
|
string
|
Price
Property | Type | Description |
---|---|---|
currency
|
string
|
Formatted currency, usually the currency code. |
unit
|
string
|
Name of the unit this price is valid for. |
unitCode
|
string
|
Code of the unit this price is valid for. |
unitDecimals
|
integer[int32]
|
The number of decimals in which the unit can be defined. E.g. 2 means values like 1.25 or 2.95 are possible, 0 means integer values like 1 or 2. |
unitPrice
|
string
|
The price of one unit. Check |
originalUnitPrice
|
string
|
The price before possible discounts. This price will be missing, if it's the same as |
tax
|
string
|
The formatted tax rate. |
taxIncluded
|
boolean
|
Whether the |
individual
|
boolean
|
Whether this price is specific for the given price group. |
scaling
|
array[PriceScaling]
|
For scaled prices, this lists the scaling increments. If this is not a scaled price, the property will be missing. |
{
"currency": "CHF",
"unit": "St\u00fcck",
"unitPrice": "16.68",
"tax": "7.7 %",
"taxIncluded": true
}
PriceScaling
Property | Type | Description |
---|---|---|
scaleQuantity
|
integer[int32]
|
Min: 1
|
unitPrice
|
string
|
|
originalUnitPrice
|
string
|
Pricing
Property | Type | Description |
---|---|---|
currency
|
string
|
Currency code |
grossPrice
|
number
|
This is the price the customer has to pay. |
netPrice
|
number
|
Net price (before taxes) |
originalGrossPrice
|
number
|
If the current gross price is reduced, this property holds the original price. |
grossPriceFormatted
|
string
|
Formatted gross price. |
netPriceFormatted
|
string
|
Formatted net price. |
originalGrossPriceFormatted
|
string
|
Formatted original price. |
taxes
|
TaxInfo
|
{
"currency": "CHF",
"grossPrice": 10.8,
"netPrice": 10,
"grossPriceFormatted": "10.80",
"netPriceFormatted": "10.00",
"taxes": {
"vat": {
"rate": 0.08,
"name": "MWST",
"amount": 0.8,
"rateFormatted": "8 %",
"amountFormatted": "0.80"
}
}
}
ProductAvailabilityInterruption
Property | Type | Description |
---|---|---|
interruptedFrom
|
string[date-time]
|
|
interruptedTo
|
string[date-time]
|
ProductUnit
A product unit contains information about packaging, weight and (informational) price. Not all units can be purchased as such. See OrderingUnit
for purchasable units.
Property | Type | Description |
---|---|---|
unit
|
string
|
Min: 1
Localized name of the unit. |
unitCode
|
string
|
Code of the unit. |
minimumQuantity
|
string[decimal-string]
|
Minimum order quantity. |
quantityIncrement
|
string[decimal-string]
|
Order quantity must be divisible by this value. |
grossWeightKg
|
string
|
Gross weight in kg, localized and formatted. |
netWeightKg
|
string
|
Net weight in kg, localized and formatted. |
netDrainedWeightKg
|
string
|
Net drained weight in kg, localized and formatted. |
bundleUnit
|
ProductUnitBundleInfo
|
|
price
|
Price
|
The price information for this unit. |
{
"unit": "MP",
"unitCode": "MP",
"price": {
"currency": "CHF",
"unit": "MP",
"unitCode": "MP",
"unitPrice": "16.68",
"tax": "7.7 %",
"taxIncluded": false
}
}
ProductUnitBundleInfo
Contains information about units bundled within another unit (e.g. kg in a can, or boxes on a pallet).
Property | Type | Description |
---|---|---|
unit
|
string
|
Min: 1
Localized name of the unit. |
unitCode
|
string
|
Code of the unit. |
quantity
|
string
|
How much of this unit is contained within the bundle. Localized and formatted. |
ProductVariant
Property | Type | Description |
---|---|---|
sku
|
string
|
Min: 1
Stock keeping unit (unique) |
name
|
string
|
Min: 1
Product variant name |
taxCategory
|
string
|
Min: 1
The tax category |
pricing
|
Pricing
|
Variant pricing. This field is deprecated and |
price
|
Price
|
Variant price information. |
baseOrderingUnit
|
string
|
Unit code of the base (or 'default') ordering unit. |
baseUnit
|
string
|
Unit code of the base (or 'default') unit. |
orderingUnits
|
array[OrderingUnit]
|
List of all available ordering units for this variant. |
units
|
array[ProductUnit]
|
List of all known units for this variant. |
informationalPrices
|
array[Price]
|
Informational prices for this variant. For instance, the variant price might be for a 5 kg bag, and these prices might include one for 100 g. The variant cannot be bought in 100 g increments, but we might be legally required to the hypothetical price. This field is deprecated and |
options
|
ProductOptions
|
|
attributes
|
ProductAttributes
|
|
parameters
|
ParameterFields
|
Parameters are a way for the customer to specify special wishes when buying a product, such as adding a commentary, selecting a value for a coupon, selecting special ingredients "extra onions", "vegan cheese", configuring a computer or appliance with parts "Base configuration" "Extra 32 TB SSD", or other, similar endeavours. This fields specifies, which parameters this product accepts. A value for each parameter can (must) be sent when purchasing a variant. |
assets
|
array[ProductAsset]
|
|
images
|
array[ProductImage]
|
|
availability
|
ProductAvailability
|
[
{
"sku": "10704-820-1",
"name": "Absatzsandale Dunkelblau",
"pricing": {
"currency": "CHF",
"grossPrice": 99,
"netPrice": 91.65,
"originalGrossPrice": 219,
"grossPriceFormatted": "99.00",
"netPriceFormatted": "91.65",
"originalGrossPriceFormatted": "219.00",
"taxes": {
"vat": {
"rate": 0.08,
"name": "MWST",
"amount": 7.35,
"rateFormatted": "8 %",
"amountFormatted": "7.35"
}
}
},
"options": [
{
"option": "size",
"label": "Gr\u00f6sse",
"value": "36"
},
{
"option": "color",
"label": "Farbe",
"value": "dunkelblau"
}
],
"images": [
{
"name": "10704_820a.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a_overview.jpg"
}
]
},
{
"name": "10704_820c.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820c.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820c.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820c.jpg"
}
]
}
],
"availability": {
"available": true,
"stocks": [
{
"inventory": "chzh01",
"stock": 12
},
{
"inventory": "chzh02",
"stock": 4
}
]
}
}
]
SearchFilter
Property | Type | Description |
---|---|---|
attribute
|
string
|
Full attribute path (e.g. customer.customerId) |
operator
|
string
|
Values: eq, neq, contains, not_contains, contains_term, not_contains_term, gt, lt, gte, lte
|
values
|
array[string]
|
Multiple filter values are applied using OR. |
{
"attribute": "billing.paymentMethod",
"values": [
"electronic",
"invoice"
]
}
SearchRequest
Property | Type | Description |
---|---|---|
query
|
string
|
Search keywords |
filters
|
array[SearchFilter]
|
Search filters; will be applied using AND operations. |
{
"query": "loafers",
"filters": [
{
"attribute": "status",
"values": [
"shipped"
]
}
]
}
ShippingMethod
Property | Type | Description |
---|---|---|
name
|
string
|
Min: 1
|
deliverySchemeName
|
string
|
Min: 1
|
shippingZone
|
string
|
|
targetDate
|
string[date]
|
|
targetSlot
|
string
|
|
override
|
boolean
|
Indicates that the shipping method was set forcefully via the shipping-override endpoint and might not represent an otherwise valid combination of name, targetDate, targetSlot. |
{
"name": "post_priority"
}
ShippingMethodOptions
Property | Type | Description |
---|---|---|
shippingMethodName
|
string
|
|
delivery
|
array[OldDeliveryOption]
|
|
orderItemShippingMethodOptions
|
array[OrderItemShippingMethodOptions]
|
{
"shippingMethodName": "default",
"delivery": [
{
"targetDate": "2021-01-21",
"targetSlot": "afternoon",
"preparationDays": 1,
"forerunDays": 0,
"orderDateTime": "2021-01-20T12:00:00+01:00"
},
{
"targetDate": "2021-01-22",
"targetSlot": "morning",
"preparationDays": 1,
"forerunDays": 0,
"orderDateTime": "2021-01-21T12:00:00+01:00"
}
],
"orderItemShippingMethodOptions": [
{
"shippingMethodName": "default",
"position": "1",
"sku": "item_no_1",
"delivery": [
{
"targetDate": "2021-01-21",
"targetSlot": "afternoon",
"preparationDays": 1,
"forerunDays": 0,
"orderDateTime": "2021-01-20T12:00:00+01:00"
},
{
"targetDate": "2021-01-22",
"targetSlot": "morning",
"preparationDays": 1,
"forerunDays": 0,
"orderDateTime": "2021-01-21T12:00:00+01:00"
}
]
}
]
}
ShippingOptions
Property | Type | Description |
---|---|---|
deliveryDayOptions
|
array[DeliveryDayOptions]
|
|
orderItemShippingOptions
|
array[OrderItemShippingOptions]
|
ShippingOverride
Property | Type | Description |
---|---|---|
name
|
string
|
Min: 1
|
targetDate
|
string[date]
|
|
targetSlot
|
string
|
{
"name": "default",
"targetDate": "2022-05-01"
}
Tax
Property | Type | Description |
---|---|---|
type
|
string
|
Values: VAT
|
rate
|
number[double]
|
Tax rate as decimal |
name
|
string
|
|
amount
|
number
|
Tax amount |
rateFormatted
|
string
|
Formatted tax rate |
amountFormatted
|
string
|
Formatted tax amount |
{
"tye": "VAT",
"rate": 0.08,
"name": "MWST",
"amount": 0.8,
"rateFormatted": "8 %",
"amountFormatted": "0.80"
}
TaxInfo
Property | Type | Description |
---|---|---|
vat
|
Tax
|
|
taxInclusion
|
string
|
Values: inclusive, exclusive, not_applicable
|
{
"vat": {
"tye": "VAT",
"rate": 0.08,
"name": "MWST",
"amount": 0.8,
"rateFormatted": "8 %",
"amountFormatted": "0.80"
}
}
TaxSummary
Property | Type | Description |
---|---|---|
taxes
|
array[Tax]
|
Customers
AccessRequestAcceptDto
Property | Type | Description |
---|---|---|
acceptIntoCustomerId
|
string
|
Customer ID, of the customer to accept the user into. |
autoApprove
|
boolean
|
Approve the request automatically. If set to false, the customer admin still needs to approve of the request, if set to true, the user will be created and able to log-in instantly. Approval by customer admins will be implemented at a later time, so currently this field must be set to true. |
assignedRoles
|
array[string]
|
|
updatedFormData
|
AccessRequestDto
|
The admin will be able to edit the data entered by the user. |
AccessRequestDeclineDto
Property | Type | Description |
---|---|---|
reason
|
string
|
Customer ID, of the customer to accept the user into. |
AccessRequestDto
Property | Type | Description |
---|---|---|
firstName
|
string
|
First name of the prospective user. |
lastName
|
string
|
Last name of the prospective user. |
company
|
string
|
Company that the user wants to register or gain access to. |
phoneNumber
|
string
|
Phone number of the prospective user. The client (shop operator) may contact the prospective user using this telephone number, for instance, to screen the prospective user/customer or negotiate conditions. |
emailAddress
|
string[email]
|
Min: 1
E-mail address of the prospective user. Some organisations allow the user to be accepted automatically if the user applies with an organizational e-mail address. |
existingCustomerDto
|
AccessRequestDtoExistingCustomer
|
To be given if the user wants access to an existing customer. existingCustomerDto and newCustomerDto are mutually exclusive. |
newCustomerDto
|
AccessRequestDtoNewCustomer
|
To be given if the user become a new customer. existingCustomerDto and newCustomerDto are mutually exclusive. |
locale
|
string[locale]
|
Locale code (de, en, fr, de_CH, ...) |
confirmationBaseUrl
|
string
|
A confirmation token will be appended to this URL to be included in the confirmation email sent to the user. |
AccessRequestDtoExistingCustomer
Property | Type | Description |
---|---|---|
customerNumber
|
string
|
Customer number. May help match the user to a customer. If the user enters both customer number and request code, then both need to belong to the same customer. Neither customerNumber nor requestCode is required, but giving either or both will speed up the process. |
requestCode
|
string
|
A request code. Some organizations distribute request codes, with which new users can be accepted automatically. Neither customerNumber nor requestCode is required, but giving either or both will speed up the process. |
AccessRequestDtoNewCustomer
Property | Type | Description |
---|---|---|
street
|
string
|
Postal address of the prospective customer. |
zipCode
|
string
|
Postal address of the prospective customer. |
city
|
string
|
Postal address of the prospective customer. |
Address
Property | Type | Description |
---|---|---|
title
|
string
|
Max: 50
|
titleCode
|
string
|
Values: ms, mr, unknown
|
firstName
|
string
|
Max: 50
|
lastName
|
string
|
Max: 50
|
company
|
string
|
Max: 50
|
street
|
string
|
Max: 50
|
zipCode
|
string
|
Max: 50
|
city
|
string
|
Max: 50
|
country
|
string
|
Min: 2
Max: 2
Country code |
phoneNumber
|
string
|
Max: 50
|
emailAddress
|
string
|
Max: 255
|
remarks
|
string
|
Max: 255
|
{
"title": "Mr.",
"firstName": "Hans",
"lastName": "Muster",
"company": "Muster AG",
"street": "Musterweg 1",
"zipCode": "8000",
"city": "Zurich",
"country": "CH",
"phoneNumber": "0445007710",
"emailAddress": "test@astina.io",
"remarks": "This is a remark"
}
AuthenticationToken
Property | Type | Description |
---|---|---|
user
|
AuthenticationToken_User
|
|
customer
|
AuthenticationToken_Customer
|
{
"user": {
"username": "test@astina.io",
"id": "12324-3434-3434",
"confirmed": true
},
"customer": {
"customerNumber": "10001",
"emailAddress": "test@astina.io",
"locale": "de_CH",
"firstName": "Hans",
"lastName": "Muster",
"company": "Muster AG",
"gender": "male",
"id": "43435-6565-6565"
}
}
AuthenticationToken_Customer
Property | Type | Description |
---|---|---|
customerNumber
|
string
|
Customer number |
emailAddress
|
string
|
Primary email address |
locale
|
string[locale]
|
Locale code (de, en, fr, de_CH, ...) |
firstName
|
string
|
First name |
lastName
|
string
|
Last name |
company
|
string
|
Company name |
gender
|
string
|
Values: male, female, unknown
|
id
|
string
|
Paloma customer ID |
catalog
|
string
|
Customer catalog |
AuthenticationToken_User
Property | Type | Description |
---|---|---|
username
|
string
|
|
id
|
string
|
Paloma user ID |
confirmed
|
boolean
|
|
locale
|
string[locale]
|
Locale code (de, en, fr, de_CH, ...) |
firstName
|
string
|
First name |
lastName
|
string
|
Last name |
permissions
|
array[string]
|
User permissions |
AutocompleteAddress
Property | Type | Description |
---|---|---|
title
|
string
|
Max: 50
|
titleCode
|
string
|
Values: mr, ms
|
firstName
|
string
|
Max: 50
|
lastName
|
string
|
Max: 50
|
company
|
string
|
Max: 50
|
street
|
string
|
Max: 50
|
zipCode
|
string
|
Max: 50
|
city
|
string
|
Max: 50
|
country
|
string
|
Min: 2
Max: 2
Country code |
phoneNumber
|
string
|
Max: 50
|
emailAddress
|
string
|
Max: 255
|
remarks
|
string
|
Max: 255
|
{
"title": "Mr.",
"firstName": "Hans",
"lastName": "Muster",
"company": "Muster AG",
"street": "Musterweg 1",
"zipCode": "8000",
"city": "Zurich",
"country": "CH",
"phoneNumber": "0445007710",
"emailAddress": "test@astina.io",
"remarks": "This is a remark"
}
Billing
Property | Type | Description |
---|---|---|
address
|
Address
|
|
paymentMethod
|
string
|
|
accountNumber
|
string
|
{
"address": {
"firstName": "Hans",
"lastName": "Muster",
"street": "Musterstrasse 1",
"zipCode": "4321",
"city": "Musterstadt",
"country": "CH",
"phoneNumber": "098 765 43 21",
"emailAddress": "test@astina.ch",
"remarks": "This is a remark"
},
"paymentMethod": "invoice"
}
ChangeWatchlistNameRequest
Property | Type | Description |
---|---|---|
name
|
string
|
Min: 1
Max: 60
|
Channel
A channel is a virtual store front. Each channel can have its own catalog (products and categories), prices, languages, shipping methods and payment settings.
Property | Type | Description |
---|---|---|
name
|
string
|
Channel name |
currencies
|
array[string]
|
Supported currencies by this channel (ISO 4217) |
locales
|
array[string]
|
Supported locales by this channel |
origins
|
array[string]
|
Known order origins by this channel |
customers
|
ChannelCustomerSettings
|
Customer settings for this channel |
[
{
"name": "b2c_ch",
"currencies": [
"CHF"
],
"locales": [
"de_CH",
"en_CH",
"fr_CH"
],
"customers": {
"countries": [
"CH",
"LI"
]
}
},
{
"name": "b2c_de",
"currencies": [
"EUR"
],
"locales": [
"de_DE",
"en_DE"
],
"customers": {
"countries": [
"DE"
]
}
},
{
"name": "b2b_ch",
"currencies": [
"CHF",
"EUR"
],
"locales": [
"de_CH",
"en_CH",
"fr_CH"
]
}
]
ChannelCustomerSettings
Customer settings for a channel
Property | Type | Description |
---|---|---|
countries
|
array[string]
|
Countries allowed in customer addresses |
ConfirmationToken
Property | Type | Description |
---|---|---|
token
|
string
|
Min: 1
Max: 50
|
{
"token": "4eeatk85pQQB9Dd8aBAADwswHZTFtBqF"
}
Customer
Property | Type | Description |
---|---|---|
id
|
string
|
Paloma customer ID |
type
|
string
|
Values: individual, organization
|
customerNumber
|
string
|
|
emailAddress
|
string
|
|
channel
|
string
|
|
locale
|
string[locale]
|
Locale code (de, en, fr, de_CH, ...) |
firstName
|
string
|
First name |
lastName
|
string
|
Last name |
company
|
string
|
Company name |
gender
|
string
|
Values: male, female, unknown
|
dateOfBirth
|
string[date]
|
|
contactAddress
|
Address
|
|
billingAddress
|
Address
|
|
shippingAddress
|
Address
|
|
shippingPreferences
|
ShippingPreferences
|
|
deliveryGroup
|
string
|
|
catalog
|
string
|
|
customerStatus
|
string
|
Values: enabled, disabled
|
priceGroups
|
array[string]
|
|
orderLimits
|
CustomerOrderLimits
|
|
users
|
array[MinimalUser]
|
|
customData
|
object
|
|
_validation
|
ObjectValidationInfo
|
{
"id": "43435-6565-6565",
"type": "individual",
"channel": "example",
"customerNumber": "989739",
"emailAddress": "test@astina.io",
"locale": "de_CH",
"firstName": "Hans",
"lastName": "Muster",
"company": "Muster AG",
"gender": "male",
"priceGroups": [
"47\/11",
"premium++"
]
}
CustomerAddress
Property | Type | Description |
---|---|---|
id
|
string
|
Unique customer address ID |
type
|
string
|
Values: contact, billing, shipping
Address type |
address
|
Address
|
|
defaultAddress
|
boolean
|
True if this address is the default address for its type |
externalId
|
string
|
Optional ID, e.g. an account number |
CustomerAddressUpdate
Property | Type | Description |
---|---|---|
type
|
string
|
Values: contact, billing, shipping
Address type |
address
|
Address
|
|
defaultAddress
|
boolean
|
True if this address is the default address for its type |
externalId
|
string
|
Optional ID, e.g. an account number |
CustomerCreateDto
Property | Type | Description |
---|---|---|
type
|
string
|
Default: individual
Values: individual, organization
|
emailAddress
|
string
|
Primary email address |
locale
|
string[locale]
|
Locale code (de, en, fr, de_CH, ...) |
firstName
|
string
|
First name |
lastName
|
string
|
Last name |
company
|
string
|
Company name |
gender
|
string
|
Values: male, female, unknown
|
dateOfBirth
|
string[date]
|
In yyyy-MM-dd format (e.g. 1980-01-01) |
customerStatus
|
string
|
Values: enabled, disabled
|
user
|
CustomerCreateDto_User
|
|
contactAddress
|
Address
|
|
billingAddress
|
Address
|
|
shippingAddress
|
Address
|
|
deliveryGroup
|
string
|
|
confirmationBaseUrl
|
string
|
A confirmation token will be appended to this URL to be included in the confirmation email sent to the user. |
{
"type": "individual",
"emailAddress": "test@astina.io",
"user": {
"username": "hmuster",
"password": "123456"
},
"locale": "de",
"confirmationBaseUrl": "http:\/\/example.org\/users\/confirm"
}
CustomerCreateDto_User
Property | Type | Description |
---|---|---|
username
|
string
|
Min: 3
Max: 100
|
emailAddress
|
string
|
|
password
|
string
|
Min: 3
|
CustomerOrderLimits
Property | Type | Description |
---|---|---|
minItemsPrice
|
integer[int32]
|
Minimum order items value. |
maxItemsPrice
|
integer[int32]
|
Maximum order items value. |
CustomerPage
Property | Type | Description |
---|---|---|
content
|
array[Customer]
|
|
size
|
integer[int32]
|
Page size |
number
|
integer[int32]
|
Page number, starting from 0 |
totalElements
|
integer[int64]
|
Total number of results for the search |
totalPages
|
integer[int32]
|
|
last
|
boolean
|
|
first
|
boolean
|
|
sort
|
array[Sort]
|
Sort property |
{
"content": [
{
"id": "43435-6565-6565",
"channel": "CH",
"customerNumber": "989739",
"emailAddress": "test@astina.io",
"locale": "de_CH",
"firstName": "Hans",
"lastName": "Muster",
"company": "Muster AG",
"gender": "male",
"priceGroups": [
"47\/11",
"premium++"
]
},
{
"id": "43435-4523-1587",
"channel": "CH",
"customerNumber": "989191",
"emailAddress": "test2@astina.io",
"locale": "de_CH",
"firstName": "Petra",
"lastName": "Muster",
"company": "Beispiel AG",
"gender": "female",
"priceGroups": [
"48\/11",
"premium+"
]
}
],
"totalElements": 2,
"last": true,
"first": true,
"sort": [
{
"direction": "DESC",
"property": "customerNumber",
"ascending": true,
"descending": false
}
],
"size": 20,
"number": 0
}
CustomerUpdateDto
Property | Type | Description |
---|---|---|
type
|
string
|
Values: individual, organization
|
emailAddress
|
string
|
Primary email address |
locale
|
string[locale]
|
Locale code (de, en, fr, de_CH, ...) |
firstName
|
string
|
First name |
lastName
|
string
|
Last name |
company
|
string
|
Company name |
gender
|
string
|
Values: male, female, unknown
|
dateOfBirth
|
string[date]
|
In yyyy-MM-dd format (e.g. 1980-01-01) |
customerStatus
|
string
|
Values: enabled, disabled
|
confirmationToken
|
string
|
|
confirmationBaseUrl
|
string
|
A confirmation token will be appended to this URL to be included in the confirmation email sent to the user. |
{
"locale": "de_CH",
"firstName": "Peter",
"lastName": "Muster",
"dateOfBirth": "1979-01-16"
}
CustomersOrder
Property | Type | Description |
---|---|---|
id
|
string
|
|
orderNumber
|
string
|
|
channel
|
string
|
|
orderDate
|
string[date-time]
|
|
locale
|
string[locale]
|
|
status
|
string
|
Values: unknown, draft, incoming, payment_pending, purchased, processed, assembly, shipped, delivered, canceled, returned, returned_partial, refunded
|
origin
|
string
|
|
currency
|
string
|
|
taxIncluded
|
boolean
|
|
customer
|
OrderCustomer
|
|
billing
|
Billing
|
|
shipping
|
Shipping
|
|
items
|
array[OrderItem]
|
|
adjustments
|
array[OrderAdjustment]
|
|
deliveries
|
array[Delivery]
|
|
pointOfSale
|
PointOfSale
|
|
totals
|
OrderTotals
|
|
comment
|
string
|
{
"id": "f76885bf-e923-4924-a204-9c9943013cfc",
"orderNumber": "123",
"channel": "CH",
"orderDate": "2018-02-21T09:17:42.000+0000",
"locale": "de_CH",
"status": "processed",
"currency": "CHF",
"customer": {
"customerNumber": "6548",
"emailAddress": "test@astina.io",
"firstName": "Hans",
"lastName": "Muster",
"company": "Muster AG",
"gender": "unknown"
},
"billing": {
"address": {
"title": "Herr",
"firstName": "Hans",
"lastName": "Muster",
"street": "Musterstrasse 1",
"zipCode": "1234",
"city": "Musterhausen",
"country": "CH",
"phoneNumber": "012 345 67 89",
"emailAddress": "test@astina.ch",
"remarks": "This is a remark"
},
"paymentMethod": "invoice",
"accountNumber": "123"
},
"shipping": {
"address": {
"title": "Herr",
"firstName": "Hans",
"lastName": "Muster",
"street": "Musterstrasse 1",
"zipCode": "1234",
"city": "Musterhausen",
"country": "CH",
"phoneNumber": "012 345 67 89",
"emailAddress": "test@astina.ch",
"remarks": "This is a remark"
},
"addressReference": "321",
"deliveryMethod": "swiss_post",
"targetDate": "2018-02-27"
},
"items": [
{
"position": 1,
"sku": "300004233",
"name": "K\u00fcrbis-Curry-Cr\u00e8mesuppe",
"params": [],
"quantity": 1,
"unitPrice": "3.90",
"taxRate": "2.5 %",
"adjustmentsAmount": "0.00",
"image": {
"name": "168258ead73557d16e715488e8322a514aa42c8d_Kuerbis_Curry_Suppe_WEB.jpg",
"sources": [
{
"size": "full",
"url": "http:\/\/localhost:8193\/full\/1\/6\/8\/2\/168258ead73557d16e715488e8322a514aa42c8d_Kuerbis_Curry_Suppe_WEB.jpg"
},
{
"size": "large",
"url": "http:\/\/localhost:8193\/large\/1\/6\/8\/2\/168258ead73557d16e715488e8322a514aa42c8d_Kuerbis_Curry_Suppe_WEB.jpg"
},
{
"size": "medium",
"url": "http:\/\/localhost:8193\/medium\/1\/6\/8\/2\/168258ead73557d16e715488e8322a514aa42c8d_Kuerbis_Curry_Suppe_WEB.jpg"
},
{
"size": "small",
"url": "http:\/\/localhost:8193\/small\/1\/6\/8\/2\/168258ead73557d16e715488e8322a514aa42c8d_Kuerbis_Curry_Suppe_WEB.jpg"
}
]
},
"deliveryId": "200-72433811"
},
{
"position": 2,
"sku": "300003650",
"name": "Bircherm\u00fcesli",
"params": [],
"quantity": 1,
"unitPrice": "3.70",
"taxRate": "2.5 %",
"adjustmentsAmount": "0.00",
"deliveryId": "200-72433811"
},
{
"position": 3,
"sku": "130708200",
"name": "Multifrucht Saft",
"params": [],
"quantity": 1,
"unitPrice": "2.10",
"taxRate": "2.5 %",
"adjustmentsAmount": "0.00",
"deliveryId": "200-72433811"
},
{
"position": 4,
"sku": "300009716",
"name": "Fleischvogel",
"params": [],
"quantity": 1,
"unitPrice": "14.80",
"taxRate": "2.5 %",
"adjustmentsAmount": "0.00",
"deliveryId": "200-72433811"
},
{
"position": 5,
"sku": "300009719",
"name": "Lachsfilet",
"params": [],
"quantity": 1,
"unitPrice": "13.80",
"taxRate": "2.5 %",
"adjustmentsAmount": "0.00",
"deliveryId": "200-72433811"
},
{
"position": 6,
"sku": "300009727",
"name": "Ch\u00e4s-Chn\u00f6pfli",
"params": [],
"quantity": 1,
"unitPrice": "11.80",
"taxRate": "2.5 %",
"adjustmentsAmount": "0.00",
"deliveryId": "200-72433811"
},
{
"position": 7,
"sku": "300003763",
"name": "Cervelat-K\u00e4se-Salat",
"params": [],
"quantity": 1,
"unitPrice": "4.60",
"taxRate": "2.5 %",
"adjustmentsAmount": "0.00",
"deliveryId": "200-72433811"
},
{
"position": 8,
"sku": "300003808",
"name": "Mah-Mee",
"params": [],
"quantity": 1,
"unitPrice": "5.40",
"taxRate": "2.5 %",
"adjustmentsAmount": "0.00",
"deliveryId": "200-72433811"
}
],
"adjustments": [],
"deliveries": [
{
"id": "200-72433811",
"deliveryMethod": "swiss_post",
"sent": "2018-02-27T00:00:00.000+0000"
}
],
"totals": {
"itemsTotal": "60.10",
"shippingTotal": "0.00",
"orderTotal": "60.10",
"includedTaxes": [
{
"type": "vat",
"name": "MwSt.",
"rate": "2.5 %",
"amount": "1.52"
}
]
},
"comment": "This is a comment."
}
Delivery
Property | Type | Description |
---|---|---|
id
|
string
|
|
deliveryMethod
|
string
|
|
sent
|
string[date-time]
|
|
parcels
|
array[DeliveryParcel]
|
{
"id": "200-72433811",
"deliveryMethod": "swiss_post",
"sent": "2018-02-27T00:00:00.000+0000",
"parcels": [
{
"parcelNumber": "2",
"trackingCode": "9012844"
}
]
}
DeliveryDetails
Property | Type | Description |
---|---|---|
id
|
string
|
Delivery ID |
deliveryNumber
|
string
|
Delivery number |
status
|
string
|
Values: unknown, ready, shipped, delivered
Delivery status |
customerId
|
string
|
Customer ID |
deliveryMethod
|
string
|
|
targetDate
|
string[date]
|
Expected delivery date |
targetTime
|
string[time]
|
Expected delivery time on the delivery date |
sent
|
string[date-time]
|
|
delivered
|
string[date-time]
|
|
sender
|
PostalAddress
|
|
recipient
|
PostalAddress
|
|
orders
|
array[OrderInfo]
|
|
items
|
array[DeliveryItemDetails]
|
|
parcels
|
array[DeliveryParcel]
|
{
"id": "12345678-9012-3456-7890-123456789013",
"customerId": "66345678-7712-9956-4490-888856789013",
"deliveryMethod": "swiss_post",
"sent": "2020-01-20",
"sender": {
"salutation": "Mr.",
"name1": "Hans",
"name2": "Muster",
"name3": "Muster AG",
"street": "Musterweg 1",
"zipCode": "8000",
"city": "Zurich",
"country": "CH",
"phoneNumber": "0445007710",
"emailAddress": "test@astina.io",
"remarks": "This is a remark"
},
"recipient": {
"salutation": "Mr.",
"name1": "Hans",
"name2": "Muster",
"name3": "Muster AG",
"street": "Musterweg 1",
"zipCode": "8000",
"city": "Zurich",
"country": "CH",
"phoneNumber": "0445007710",
"emailAddress": "test@astina.io",
"remarks": "This is a remark"
},
"items": [
{
"sku": "300001234",
"orderId": "12345678-9012-3456-7890-123456789013",
"orderNumber": "66345678-7712-9956-4490-888856789013",
"position": 10,
"name": "Black Shoes",
"quantity": 12,
"quantityUnit": "PCE",
"customData": {
"customProperty1": "value1",
"customProperty2": "value2"
}
},
{
"sku": "300009876",
"orderId": "12345678-9012-3456-7890-123456789013",
"orderNumber": "66345678-7712-9956-4490-888856789013",
"position": 10,
"name": "Socks",
"quantity": 10,
"quantityUnit": "PCE",
"customData": {
"customProperty1": "value1",
"customProperty2": "value2"
}
}
],
"parcels": [
{
"parcelNumber": "1234",
"trackingCode": "8000123456",
"trackingUrl": "https:\/\/foo.bar\/8000123456"
},
{
"parcelNumber": "9876",
"trackingCode": "8000987654",
"trackingUrl": "https:\/\/foo.bar\/8000987654"
}
]
}
DeliveryItemDetails
Property | Type | Description |
---|---|---|
sku
|
string
|
|
orderId
|
string
|
|
orderNumber
|
string
|
|
position
|
integer[int32]
|
|
name
|
string
|
|
quantity
|
number[double]
|
|
quantityUnit
|
string
|
|
image
|
ProductImage
|
|
customData
|
object
|
{
"sku": "300001234",
"orderId": "12345678-9012-3456-7890-123456789013",
"orderNumber": "66345678-7712-9956-4490-888856789013",
"position": 10,
"name": "Black Shoes",
"quantity": 12,
"quantityUnit": "l",
"customData": {
"customProperty1": "value1",
"customProperty2": "value2"
}
}
DeliveryPage
Property | Type | Description |
---|---|---|
content
|
array[DeliveryDetails]
|
|
size
|
integer[int32]
|
Page size |
number
|
integer[int32]
|
Page number, starting from 0 |
totalElements
|
integer[int64]
|
Total number of results for the search |
totalPages
|
integer[int32]
|
|
last
|
boolean
|
|
first
|
boolean
|
|
sort
|
array[DeliveryPageSort]
|
Sort property |
{
"content": [
{
"id": "12345678-9012-3456-7890-123456789013",
"customerId": "66345678-7712-9956-4490-888856789013",
"deliveryMethod": "swiss_post",
"sent": "2020-01-20",
"sender": {
"salutation": "Mr.",
"name1": "Hans",
"name2": "Muster",
"name3": "Muster AG",
"street": "Musterweg 1",
"zipCode": "8000",
"city": "Zurich",
"country": "CH",
"phoneNumber": "0445007710",
"emailAddress": "test@astina.io",
"remarks": "This is a remark"
},
"recipient": {
"salutation": "Mr.",
"name1": "Hans",
"name2": "Muster",
"name3": "Muster AG",
"street": "Musterweg 1",
"zipCode": "8000",
"city": "Zurich",
"country": "CH",
"phoneNumber": "0445007710",
"emailAddress": "test@astina.io",
"remarks": "This is a remark"
},
"items": [
{
"sku": "300001234",
"orderId": "12345678-9012-3456-7890-123456789013",
"orderNumber": "66345678-7712-9956-4490-888856789013",
"position": 10,
"name": "Black Shoes",
"quantity": 12,
"quantityUnit": "PCE",
"customData": {
"customProperty1": "value1",
"customProperty2": "value2"
}
},
{
"sku": "300009876",
"orderId": "12345678-9012-3456-7890-123456789013",
"orderNumber": "66345678-7712-9956-4490-888856789013",
"position": 10,
"name": "Socks",
"quantity": 10,
"quantityUnit": "PCE",
"customData": {
"customProperty1": "value1",
"customProperty2": "value2"
}
}
],
"parcels": [
{
"parcelNumber": "1234",
"trackingCode": "8000123456",
"trackingUrl": "https:\/\/foo.bar\/8000123456"
},
{
"parcelNumber": "9876",
"trackingCode": "8000987654",
"trackingUrl": "https:\/\/foo.bar\/8000987654"
}
],
"deliverySlipUrl": "https:\/\/foo.bar\/delivery-slip"
}
],
"facets": [],
"totalPages": 1,
"totalElements": 1,
"last": true,
"first": true,
"numberOfElements": 1,
"sort": [
{
"direction": "ASC",
"property": "sent",
"ascending": true,
"descending": false
}
],
"size": 20,
"number": 0
}
DeliveryParcel
Property | Type | Description |
---|---|---|
parcelNumber
|
string
|
|
trackingCode
|
string
|
|
trackingUrl
|
string
|
{
"parcelNumber": "1234",
"trackingCode": "8000123456",
"trackingUrl": "https:\/\/foo.bar\/8000123456"
}
ImportResponse
Property | Type | Description |
---|---|---|
results
|
array[ImportSheet]
|
ImportRow
Property | Type | Description |
---|---|---|
row
|
integer[int32]
|
|
status
|
string
|
Values: ok, not_ok
Row processing status:
|
sku
|
string
|
Value from the SKU column, or from the product if the SKU column doesn't exist or is empty. |
quantity
|
number
|
Value from the quantity column. If this is missing, it'll assumed to
be |
unit
|
string
|
Defines in which unit the quantity is described |
portions
|
integer[int32]
|
The number of portions of the defined quantity. |
lookup
|
array[ImportRowLookup]
|
Detailed search order in the catalog. |
operation
|
string
|
Values: add, update_quantity, sum_quantity, identical, ignore_unspecific, ignore_missing_in_catalog, ignore_duplicate, ignore_invalid_quantity
Watchlist operation:
|
watchlistIndex
|
integer[int32]
|
Item index in the watchlist result. Available if |
ImportRowLookup
Property | Type | Description |
---|---|---|
cell
|
string
|
|
label
|
string
|
|
value
|
string
|
|
foundInCatalog
|
string
|
Values: not_applicable, not_found, unique, multiple
Catalog inquiry status:
|
ImportSheet
Property | Type | Description |
---|---|---|
sheetName
|
string
|
Min: 1
|
watchlistId
|
string
|
|
status
|
string
|
Values: ignored, created, updated
Sheet update status:
|
importRows
|
array[ImportRow]
|
|
removals
|
array[WatchlistItemRemoval]
|
IncludedTax
Property | Type | Description |
---|---|---|
type
|
string
|
Values: vat
|
name
|
string
|
|
rate
|
string
|
Tax rate with percent sign |
amount
|
string
|
Formatted tax amount without currency |
{
"type": "vat",
"name": "MwSt.",
"rate": "2.5 %",
"amount": "1.52"
}
MinimalUser
Property | Type | Description |
---|---|---|
id
|
string
|
|
username
|
string
|
|
emailAddress
|
string
|
|
firstName
|
string
|
|
lastName
|
string
|
{
"id": "43435-6565-6565",
"username": "hmuster",
"emailAddress": "testuser@astina.io"
}
ObjectValidationInfo
Property | Type | Description |
---|---|---|
properties
|
PropertyValidationInfos
|
OperationMetadata
Property | Type | Description |
---|---|---|
permitted
|
boolean
|
Order
Property | Type | Description |
---|---|---|
orderNumber
|
string
|
|
quantity
|
number
|
|
unit
|
string
|
|
validFrom
|
string[date-time]
|
OrderAdjustment
Property | Type | Description |
---|---|---|
position
|
integer[int32]
|
|
type
|
string
|
Values: shipping, tax, discount, surcharge
|
name
|
string
|
|
quantity
|
number
|
|
unitPrice
|
string
|
|
taxAmount
|
string
|
|
taxRate
|
string
|
Tax rate with percent sign |
grossItemTotal
|
string
|
|
netItemTotal
|
string
|
{
"position": 1,
"type": "promotion",
"name": "Christmas Sale",
"quantity": 1,
"unitPrice": "-5.40",
"taxAmount": "-0.14",
"taxRate": "2.5 %",
"grossItemTotal": "-5.40",
"netItemTotal": "-5.27"
}
OrderCustomer
Property | Type | Description |
---|---|---|
customerNumber
|
string
|
|
firstName
|
string
|
|
lastName
|
string
|
|
company
|
string
|
|
emailAddress
|
string
|
|
gender
|
string
|
Values: male, female, unknown
|
{
"customerNumber": "12345",
"emailAddress": "test@astina.io",
"firstName": "Hans",
"lastName": "Muster",
"company": "Muster AG",
"gender": "male"
}
OrderInfo
Property | Type | Description |
---|---|---|
orderId
|
string
|
|
orderNumber
|
string
|
|
orderDate
|
string[date-time]
|
OrderItem
Property | Type | Description |
---|---|---|
position
|
integer[int32]
|
|
sku
|
string
|
|
code
|
string
|
|
params
|
OrderItemParams
|
Arbitrary key-value pairs with additional parameters. |
name
|
string
|
|
quantity
|
number
|
|
portions
|
integer[int32]
|
The number of portions the order item quantity will be split into. |
unit
|
string
|
Localized name of the unit for this item |
unitCode
|
string
|
Code of the unit for this item |
unitPrice
|
string
|
|
linePrice
|
string
|
|
grossItemTotal
|
string
|
Deprecated: use |
originalPrice
|
string
|
|
originalLinePrice
|
string
|
|
adjustmentsTotal
|
string
|
|
taxRate
|
string
|
Tax rate with percent sign |
taxCategory
|
string
|
|
image
|
ProductImage
|
|
deliveryMethod
|
string
|
The projected delivery method |
deliveryTargetDate
|
string[date]
|
The projected delivery date |
deliveryTargetSlot
|
string
|
The projected delivery slot |
deliveryId
|
string
|
|
adjustments
|
array[OrderItemAdjustment]
|
|
customData
|
object
|
{
"position": 1,
"sku": "300004233",
"name": "K\u00fcrbis-Curry-Cr\u00e8mesuppe",
"params": [],
"quantity": 1,
"unitPrice": "3.90",
"taxRate": 0.025,
"adjustmentsTotal": "3.90",
"example": {
"name": "123_123.jpg",
"sources": [
{
"size": "large",
"url": "http:\/\/example.org\/images\/example-large.jpg"
},
{
"size": "medium",
"url": "http:\/\/example.org\/images\/example-medium.jpg"
},
{
"size": "small",
"url": "http:\/\/example.org\/images\/example-small.jpg"
}
]
}
}
OrderItemAdjustment
Property | Type | Description |
---|---|---|
type
|
string
|
Values: shipping, tax, discount, surcharge, promotion
|
description
|
string
|
|
amount
|
string
|
{
"type": "promotion",
"amount": "1.25"
}
OrderItemCodeOccurrence
Property | Type | Description |
---|---|---|
itemCode
|
string
|
|
count
|
integer[int64]
|
{
"itemCode": "206-365",
"count": 32
}
OrderPage
Property | Type | Description |
---|---|---|
content
|
array[CustomersOrder]
|
|
size
|
integer[int32]
|
Page size |
number
|
integer[int32]
|
Page number, starting from 0 |
totalElements
|
integer[int64]
|
Total number of results for the search |
totalPages
|
integer[int32]
|
|
last
|
boolean
|
|
first
|
boolean
|
|
sort
|
array[Sort]
|
Sort property |
{
"content": [
{
"id": "12345678-9012-3456-7890-123456789012",
"orderNumber": "123",
"channel": "CH",
"orderDate": "2018-03-14T10:07:26.000+0000",
"locale": "de_CH",
"status": "processed",
"currency": "CHF",
"customer": {
"customerNumber": "6548",
"emailAddress": "test@astina.io",
"firstName": "Hans",
"lastName": "Muster",
"company": "Muster AG",
"gender": "unknown"
},
"billing": {
"address": {
"title": "Herr",
"firstName": "Hans",
"lastName": "Muster",
"street": "Musterweg 1",
"zipCode": "8000",
"city": "Z\u00fcrich",
"country": "CH",
"emailAddress": "test@astina.io",
"remarks": "This is a remark"
},
"paymentMethod": "invoice",
"accountNumber": "123"
},
"shipping": {
"address": {
"title": "Herr",
"firstName": "Hans",
"lastName": "Muster",
"street": "Musterweg 1",
"zipCode": "8000",
"city": "Z\u00fcrich",
"country": "CH",
"emailAddress": "test@astina.io",
"remarks": "This is a remark"
},
"addressReference": "321",
"deliveryMethod": "swiss_post",
"targetDate": "2018-03-15"
},
"items": [
{
"position": 1,
"sku": "300009431",
"name": "Lachsfilet",
"params": {
"short_number": "401"
},
"quantity": 1,
"unitPrice": "13.80",
"taxRate": "2.5 %",
"adjustmentsAmount": "0.00",
"image": {
"name": "443c89024eac98732a037b535dc141ca6d8f7840_Lachsfilet_pochiert_UC_DL_WEB.jpg",
"sources": [
{
"size": "full",
"url": "https:\/\/localhost\/images\/full\/4\/4\/3\/c\/443c89024eac98732a037b535dc141ca6d8f7840_Lachsfilet_pochiert_UC_DL_WEB.jpg"
},
{
"size": "large",
"url": "https:\/\/localhost\/images\/large\/4\/4\/3\/c\/443c89024eac98732a037b535dc141ca6d8f7840_Lachsfilet_pochiert_UC_DL_WEB.jpg"
},
{
"size": "medium",
"url": "https:\/\/localhost\/images\/medium\/4\/4\/3\/c\/443c89024eac98732a037b535dc141ca6d8f7840_Lachsfilet_pochiert_UC_DL_WEB.jpg"
},
{
"size": "small",
"url": "https:\/\/localhost\/images\/small\/4\/4\/3\/c\/443c89024eac98732a037b535dc141ca6d8f7840_Lachsfilet_pochiert_UC_DL_WEB.jpg"
}
]
}
},
{
"position": 10001,
"sku": "300009402",
"name": "Trinkwasser",
"quantity": 1,
"unitPrice": "0.00",
"taxRate": "2.5 %",
"adjustmentsAmount": "0.00",
"image": {
"name": "7117ccd8da3cf7c8db6eee04a37201c3740105ea_Trinkwasser.jpg",
"sources": [
{
"size": "full",
"url": "https:\/\/localhost\/images\/full\/7\/1\/1\/7\/7117ccd8da3cf7c8db6eee04a37201c3740105ea_Trinkwasser.jpg"
},
{
"size": "large",
"url": "https:\/\/localhost\/images\/large\/7\/1\/1\/7\/7117ccd8da3cf7c8db6eee04a37201c3740105ea_Trinkwasser.jpg"
},
{
"size": "medium",
"url": "https:\/\/localhost\/images\/medium\/7\/1\/1\/7\/7117ccd8da3cf7c8db6eee04a37201c3740105ea_Trinkwasser.jpg"
},
{
"size": "small",
"url": "https:\/\/localhost\/images\/small\/7\/1\/1\/7\/7117ccd8da3cf7c8db6eee04a37201c3740105ea_Trinkwasser.jpg"
}
]
}
}
],
"adjustments": [
{
"position": 1,
"type": "surcharge",
"name": "Differenz zum Mindestbestellbetrag",
"quantity": 1,
"unitPrice": "11.20",
"taxAmount": "0.00",
"taxRate": "0 %",
"grossItemTotal": "11.20",
"netItemTotal": "11.20"
},
{
"position": 2,
"type": "shipping",
"name": "Versandkostenanteil",
"quantity": 1,
"unitPrice": "8.50",
"taxAmount": "0.70",
"taxRate": "7.7 %",
"grossItemTotal": "8.50",
"netItemTotal": "7.80"
}
],
"deliveries": [],
"totals": {
"itemsTotal": "13.80",
"shippingTotal": "8.50",
"surchargeTotal": "11.20",
"orderTotal": "33.50",
"includedTaxes": [
{
"type": "vat",
"name": "MwSt.",
"rate": "2.5 %",
"amount": "0.34"
},
{
"type": "vat",
"name": "MwSt.",
"rate": "7.7 %",
"amount": "0.70"
}
]
}
},
{
"id": "12345678-9012-3456-7890-123456789013",
"orderNumber": "124",
"channel": "CH",
"orderDate": "2018-03-14T12:01:56.000+0000",
"locale": "de_CH",
"status": "processed",
"currency": "CHF",
"customer": {
"customerNumber": "6548",
"emailAddress": "test@astina.io",
"firstName": "Hans",
"lastName": "Muster",
"company": "Muster AG",
"gender": "unknown"
},
"billing": {
"address": {
"title": "Herr",
"firstName": "Hans",
"lastName": "Muster",
"street": "Musterweg 1",
"zipCode": "8000",
"city": "Z\u00fcrich",
"country": "CH",
"emailAddress": "test@astina.io",
"remarks": "This is a remark"
},
"paymentMethod": "invoice",
"accountNumber": "123"
},
"shipping": {
"address": {
"title": "Herr",
"firstName": "Hans",
"lastName": "Muster",
"street": "Musterweg 1",
"zipCode": "8000",
"city": "Z\u00fcrich",
"country": "CH",
"emailAddress": "test@astina.io",
"remarks": "This is a remark"
},
"addressReference": "321",
"deliveryMethod": "swiss_post",
"targetDate": "2018-03-16"
},
"items": [
{
"position": 1,
"sku": "300009431",
"name": "Lachsfilet",
"params": {
"short_number": "401"
},
"quantity": 1,
"unitPrice": "13.80",
"taxRate": "2.5 %",
"adjustmentsAmount": "0.00",
"image": {
"name": "443c89024eac98732a037b535dc141ca6d8f7840_Lachsfilet_pochiert_UC_DL_WEB.jpg",
"sources": [
{
"size": "full",
"url": "https:\/\/localhost\/images\/full\/4\/4\/3\/c\/443c89024eac98732a037b535dc141ca6d8f7840_Lachsfilet_pochiert_UC_DL_WEB.jpg"
},
{
"size": "large",
"url": "https:\/\/localhost\/images\/large\/4\/4\/3\/c\/443c89024eac98732a037b535dc141ca6d8f7840_Lachsfilet_pochiert_UC_DL_WEB.jpg"
},
{
"size": "medium",
"url": "https:\/\/localhost\/images\/medium\/4\/4\/3\/c\/443c89024eac98732a037b535dc141ca6d8f7840_Lachsfilet_pochiert_UC_DL_WEB.jpg"
},
{
"size": "small",
"url": "https:\/\/localhost\/images\/small\/4\/4\/3\/c\/443c89024eac98732a037b535dc141ca6d8f7840_Lachsfilet_pochiert_UC_DL_WEB.jpg"
}
]
}
},
{
"position": 10001,
"sku": "300009402",
"name": "Trinkwasser",
"quantity": 1,
"unitPrice": "0.00",
"taxRate": "2.5 %",
"adjustmentsAmount": "0.00",
"image": {
"name": "7117ccd8da3cf7c8db6eee04a37201c3740105ea_Trinkwasser.jpg",
"sources": [
{
"size": "full",
"url": "https:\/\/localhost\/images\/full\/7\/1\/1\/7\/7117ccd8da3cf7c8db6eee04a37201c3740105ea_Trinkwasser.jpg"
},
{
"size": "large",
"url": "https:\/\/localhost\/images\/large\/7\/1\/1\/7\/7117ccd8da3cf7c8db6eee04a37201c3740105ea_Trinkwasser.jpg"
},
{
"size": "medium",
"url": "https:\/\/localhost\/images\/medium\/7\/1\/1\/7\/7117ccd8da3cf7c8db6eee04a37201c3740105ea_Trinkwasser.jpg"
},
{
"size": "small",
"url": "https:\/\/localhost\/images\/small\/7\/1\/1\/7\/7117ccd8da3cf7c8db6eee04a37201c3740105ea_Trinkwasser.jpg"
}
]
}
}
],
"adjustments": [
{
"position": 1,
"type": "surcharge",
"name": "Differenz zum Mindestbestellbetrag",
"quantity": 1,
"unitPrice": "11.20",
"taxAmount": "0.00",
"taxRate": "0 %",
"grossItemTotal": "11.20",
"netItemTotal": "11.20"
},
{
"position": 2,
"type": "shipping",
"name": "Versandkostenanteil",
"quantity": 1,
"unitPrice": "8.50",
"taxAmount": "0.70",
"taxRate": "7.7 %",
"grossItemTotal": "8.50",
"netItemTotal": "7.80"
}
],
"deliveries": [],
"totals": {
"itemsTotal": "13.80",
"shippingTotal": "8.50",
"surchargeTotal": "11.20",
"orderTotal": "33.50",
"includedTaxes": [
{
"type": "vat",
"name": "MwSt.",
"rate": "2.5 %",
"amount": "0.34"
},
{
"type": "vat",
"name": "MwSt.",
"rate": "7.7 %",
"amount": "0.70"
}
]
}
}
],
"totalPages": 1,
"totalElements": 2,
"last": true,
"first": true,
"sort": [
{
"direction": "ASC",
"property": "orderDate",
"ascending": true,
"descending": false
}
],
"size": 20,
"number": 0
}
OrderStatus
Property | Type | Description |
---|---|---|
orderNumber
|
string
|
|
status
|
string
|
Values: unknown, pending, shipped, delivered
|
deliveryMethod
|
string
|
Values: swiss_post, dhl
|
trackingCode
|
string
|
|
language
|
string
|
|
trackingInfos
|
array[ShipmentsTrackingInfo]
|
OrderTotals
Property | Type | Description |
---|---|---|
itemsTotal
|
string
|
|
shippingTotal
|
string
|
|
taxTotal
|
string
|
|
discountTotal
|
string
|
|
surchargeTotal
|
string
|
|
orderTotal
|
string
|
|
netOrderTotal
|
string
|
|
includedTaxes
|
array[IncludedTax]
|
PasswordResetToken
Property | Type | Description |
---|---|---|
user
|
string
|
User ID |
emailAddress
|
string
|
|
token
|
string
|
Token for the password confirmation URL |
expires
|
string[date-time]
|
PasswordResetTokenCreateDto
Property | Type | Description |
---|---|---|
emailAddress
|
string
|
|
confirmationBaseUrl
|
string
|
Min: 1
A confirmation token will be appended to this URL to be included in the confirmation email sent to the user. |
{
"emailAddress": "test@astina.io",
"confirmationBaseUrl": "http:\/\/example.org\/users\/confirm"
}
PasswordResetTokenPasswordDto
Property | Type | Description |
---|---|---|
password
|
string
|
Min: 1
|
{
"password": "jahI&\/g4s86.KDs"
}
PasswordUpdate
Property | Type | Description |
---|---|---|
username
|
string
|
Min: 1
|
currentPassword
|
string
|
Min: 1
|
newPassword
|
string
|
Min: 1
|
{
"username": "test@astina.ch",
"currentPassword": "123456",
"newPassword": "jahI&\/g4s86.KDs"
}
PaymentInstrumentDto
Property | Type | Description |
---|---|---|
id
|
string
|
|
type
|
string
|
Localized payment means |
maskedCardNumber
|
string
|
|
expirationMonth
|
string
|
|
expirationYear
|
string
|
|
expired
|
boolean
|
{
"id": "01E4TDTA7W5GPZ06FJBCJZVZJ9",
"type": "Mastercard",
"maskedCardNumber": "510000xxxxxx0008",
"expirationMonth": "12",
"expirationYear": "24",
"expired": false
}
PointOfSale
Property | Type | Description |
---|---|---|
code
|
string
|
PostalAddress
Property | Type | Description |
---|---|---|
salutation
|
string
|
|
name1
|
string
|
|
name2
|
string
|
|
name3
|
string
|
|
street
|
string
|
|
zipCode
|
string
|
|
city
|
string
|
|
country
|
string
|
Country code |
phoneNumber
|
string
|
|
emailAddress
|
string
|
|
remarks
|
string
|
{
"salutation": "Mr.",
"name1": "Hans",
"name2": "Muster",
"name3": "Muster AG",
"street": "Musterweg 1",
"zipCode": "8000",
"city": "Zurich",
"country": "CH",
"phoneNumber": "0445007710",
"emailAddress": "test@astina.io",
"remarks": "This is a remark"
}
ProductPage
Property | Type | Description |
---|---|---|
content
|
array[Product]
|
|
size
|
integer[int32]
|
Page size |
number
|
integer[int32]
|
Page number, starting from 0 |
totalElements
|
integer[int64]
|
Total number of results for the search |
totalPages
|
integer[int32]
|
|
last
|
boolean
|
|
first
|
boolean
|
|
sort
|
array[Sort]
|
Sort property |
ProductVariant
Property | Type | Description |
---|---|---|
sku
|
string
|
Stock keeping unit (unique) |
name
|
string
|
|
pricing
|
Pricing
|
|
options
|
array[ProductOption]
|
|
images
|
array[ProductImage]
|
|
availability
|
ProductAvailability
|
[
{
"sku": "10704-820-1",
"name": "Absatzsandale Dunkelblau",
"pricing": {
"currency": "CHF",
"grossPrice": 99,
"netPrice": 91.65,
"originalGrossPrice": 219,
"grossPriceFormatted": "99.00",
"netPriceFormatted": "91.65",
"originalGrossPriceFormatted": "219.00",
"taxes": {
"vat": {
"rate": 0.08,
"name": "MWST",
"amount": 7.35,
"rateFormatted": "8 %",
"amountFormatted": "7.35"
}
}
},
"options": [
{
"option": "size",
"label": "Gr\u00f6sse",
"value": "36"
},
{
"option": "color",
"label": "Farbe",
"value": "dunkelblau"
}
],
"images": [
{
"name": "10704_820a.jpg",
"sources": [
{
"size": "large",
"url": "http:\/\/navy-dev.astina.io\/images\/examples\/10704_820a.jpg"
},
{
"size": "medium",
"url": "http:\/\/navy-dev.astina.io\/images\/examples\/10704_820a.jpg"
},
{
"size": "small",
"url": "http:\/\/navy-dev.astina.io\/images\/examples\/10704_820a_overview.jpg"
}
]
},
{
"name": "10704_820c.jpg",
"sources": [
{
"size": "large",
"url": "http:\/\/navy-dev.astina.io\/images\/examples\/10704_820c.jpg"
},
{
"size": "medium",
"url": "http:\/\/navy-dev.astina.io\/images\/examples\/10704_820c.jpg"
},
{
"size": "small",
"url": "http:\/\/navy-dev.astina.io\/images\/examples\/10704_820c.jpg"
}
]
}
],
"availability": {
"available": true,
"stocks": [
{
"inventory": "chzh01",
"stock": 12
},
{
"inventory": "chzh02",
"stock": 4
}
]
}
}
]
SearchFilter
Property | Type | Description |
---|---|---|
attribute
|
string
|
Full attribute path (e.g. customer.customerId) |
operator
|
string
|
Values: eq, neq, contains, not_contains, contains_term, not_contains_term, gt, lt, gte, lte
|
values
|
array[string]
|
Multiple filter values are applied using OR. |
{
"attribute": "billing.paymentMethod",
"values": [
"electronic",
"invoice"
]
}
SearchRequest
Property | Type | Description |
---|---|---|
query
|
string
|
Search keywords |
filters
|
array[SearchFilter]
|
Search filters; will be applied using AND operations. |
{
"query": "loafers",
"filters": [
{
"attribute": "status",
"values": [
"shipped"
]
}
]
}
ShipmentsTrackingEvent
Property | Type | Description |
---|---|---|
date
|
string[date]
|
|
description
|
string
|
|
location
|
string
|
ShipmentsTrackingInfo
Property | Type | Description |
---|---|---|
status
|
string
|
|
events
|
array[ShipmentsTrackingEvent]
|
Shipping
Property | Type | Description |
---|---|---|
address
|
Address
|
|
addressReference
|
string
|
|
deliveryMethod
|
string
|
|
targetDate
|
string[date]
|
{
"address": {
"title": "Herr",
"firstName": "Hans",
"lastName": "Muster",
"street": "Musterstr. 1",
"zipCode": "1234",
"city": "Musterhausen",
"country": "CH",
"phoneNumber": "012 345 67 89",
"emailAddress": "test@astina.ch",
"remarks": "This is a remark"
},
"deliveryMethod": "swiss_post",
"targetDate": "2018-02-27"
}
ShippingPreferences
Property | Type | Description |
---|---|---|
preferredShippingMethod
|
string
|
Sort
Property | Type | Description |
---|---|---|
direction
|
string
|
Values: ASC, DESC
|
property
|
string
|
|
ignoreCase
|
boolean
|
|
ascending
|
boolean
|
|
descending
|
boolean
|
StreetAndHouseResponse
List of matched street and house entries
Property | Type | Description |
---|---|---|
content
|
array[string]
|
Tax
Property | Type | Description |
---|---|---|
type
|
string
|
Values: VAT
|
rate
|
number[double]
|
Tax rate as decimal |
name
|
string
|
|
amount
|
number
|
Tax amount |
rateFormatted
|
string
|
Formatted tax rate |
amountFormatted
|
string
|
Formatted tax amount |
{
"tye": "VAT",
"rate": 0.08,
"name": "MWST",
"amount": 0.8,
"rateFormatted": "8 %",
"amountFormatted": "0.80"
}
TaxInfo
Property | Type | Description |
---|---|---|
vat
|
Tax
|
{
"vat": {
"tye": "VAT",
"rate": 0.08,
"name": "MWST",
"amount": 0.8,
"rateFormatted": "8 %",
"amountFormatted": "0.80"
}
}
TaxSummary
Property | Type | Description |
---|---|---|
taxes
|
array[Tax]
|
User
Property | Type | Description |
---|---|---|
id
|
string
|
|
username
|
string
|
|
emailAddress
|
string
|
|
enabled
|
boolean
|
|
confirmed
|
boolean
|
|
firstName
|
string
|
|
lastName
|
string
|
|
locale
|
string[locale]
|
|
timeZone
|
string
|
|
roles
|
array[UserRoleInfo]
|
{
"id": "43435-6565-6565",
"username": "hmuster",
"emailAddress": "testuser@astina.io",
"enabled": false,
"confirmed": false
}
UserAccessRequest
Property | Type | Description |
---|---|---|
id
|
string
|
|
created
|
string[date-time]
|
|
modified
|
string[date-time]
|
|
emailAddress
|
string
|
|
channel
|
string
|
|
formData
|
AccessRequestDto
|
|
state
|
string
|
Values: PENDING, INVALID, PROCESSING_ERROR, ACCEPTED, APPROVED, DECLINED
|
assignedRoles
|
array[string]
|
|
acceptedIntoCustomerId
|
string
|
|
createdUserId
|
string
|
UserAccessRequestPage
Property | Type | Description |
---|---|---|
content
|
array[UserAccessRequest]
|
|
size
|
integer[int32]
|
Page size |
number
|
integer[int32]
|
Page number, starting from 0 |
totalElements
|
integer[int64]
|
Total number of results for the search |
totalPages
|
integer[int32]
|
|
last
|
boolean
|
|
first
|
boolean
|
|
sort
|
array[Sort]
|
Sort property |
UserCreateDto
Property | Type | Description |
---|---|---|
username
|
string
|
Min: 3
Max: 255
|
emailAddress
|
string
|
Min: 3
Max: 255
|
enabled
|
boolean
|
Default: 1
|
firstName
|
string
|
Min: 1
Max: 255
|
lastName
|
string
|
Min: 1
Max: 255
|
locale
|
string[locale]
|
|
sendInvitation
|
boolean
|
|
timeZone
|
string
|
|
roles
|
array[string]
|
{
"emailAddress": "testuser@astina.io",
"username": "testuser",
"enabled": false,
"firstName": "Hans",
"lastName": "Muster",
"locale": "de_CH",
"timeZone": "Europe\/Zurich",
"roles": [
{
"name": "ROLE_BUYER",
"description": "Buyer",
"permissions": [
"CATALOG_VIEW",
"ORDERS_VIEW",
"ORDERS_CREATE"
]
}
]
}
UserCredentials
Property | Type | Description |
---|---|---|
username
|
string
|
Min: 1
|
password
|
string
|
Min: 1
|
{
"username": "test@astina.io",
"password": "123456"
}
UserRef
Property | Type | Description |
---|---|---|
userId
|
string
|
|
username
|
string
|
|
emailAddress
|
string
|
|
name
|
string
|
Full name of the user (if available) |
UserRole
User role
Property | Type | Description |
---|---|---|
id
|
string
|
|
name
|
string
|
Unique role name |
label
|
string
|
Localized role label |
category
|
string
|
|
defaultRole
|
boolean
|
True if new users will get this role assigned by default. |
permissions
|
array[UserRolePermission]
|
UserRoleInfo
Property | Type | Description |
---|---|---|
name
|
string
|
|
label
|
string
|
|
category
|
string
|
|
permissions
|
array[string]
|
List of permission codes (e.g. 'ROLE_PERM_PORTAL_USERS_MANAGE') |
{
"name": "ROLE_BUYER",
"description": "Buyer",
"permissions": [
"ROLE_PERM_PORTAL_CATALOG_VIEW",
"ROLE_PERM_PORTAL_ORDERS_VIEW",
"ROLE_PERM_PORTAL_ORDERS_CREATE"
]
}
UserUpdateDto
Property | Type | Description |
---|---|---|
username
|
string
|
Min: 3
Max: 255
|
emailAddress
|
string
|
Min: 3
Max: 255
|
enabled
|
boolean
|
|
firstName
|
string
|
Min: 1
Max: 255
|
lastName
|
string
|
Min: 1
Max: 255
|
locale
|
string[locale]
|
|
timeZone
|
string
|
|
roles
|
array[string]
|
{
"username": "testuser",
"emailAddress": "test@astina.ch",
"enabled": true
}
ValidationResponse
Property | Type | Description |
---|---|---|
valid
|
boolean
|
Whether the address validation was a success. |
errors
|
array[ValidationResponseError]
|
ValidationResponseError
Property | Type | Description |
---|---|---|
code
|
string
|
Values: address.validate.zipCodeNotFound, address.validate.cityNotFound, address.validate.zipCodeNotInCountry, address.validate.houseMissingFromStreet, address.validate.streetNotFound, address.validate.houseNotFoundInStreet
Unique code per failure reason. |
property
|
string
|
Path to the request property that failed validation. |
message
|
string
|
Readable failure reason. Not localized. |
Watchlist
Property | Type | Description |
---|---|---|
watchlistId
|
string
|
|
channel
|
string
|
The channel to which this watchlist belongs. |
customerId
|
string
|
The ID of the customer to which this watchlist belongs. |
customerName
|
string
|
The name of the customer to which this watchlist belongs. |
name
|
string
|
|
createdAt
|
string[date-time]
|
|
createdBy
|
UserRef
|
|
modifiedAt
|
string[date-time]
|
|
modifiedBy
|
UserRef
|
|
sharedAt
|
string[date-time]
|
|
sharedBy
|
UserRef
|
|
itemCount
|
integer[int32]
|
|
type
|
string
|
Values: manual, auto
|
shareStatus
|
string
|
Values: enabled, disabled
Turn sharing on/off. If 'enabled', an access token is provided for the watchlist. |
accessToken
|
string
|
If set, this token can be used to create sharing links for this watchlist. |
accessTokenExpires
|
string[date-time]
|
Access token expiration date/time. |
publicName
|
string
|
Optional public name which should be used instead of |
items
|
array[WatchlistItem]
|
|
_operations
|
object
|
WatchlistItem
Property | Type | Description |
---|---|---|
id
|
string
|
|
sku
|
string
|
|
quantity
|
number
|
|
unit
|
string
|
Localized name of the unit for this item |
unitCode
|
string
|
Code of the unit for this item |
createdAt
|
string[date-time]
|
|
createdBy
|
UserRef
|
|
modifiedAt
|
string[date-time]
|
|
modifiedBy
|
UserRef
|
|
title
|
string
|
|
description
|
string
|
|
image
|
object
|
|
variant
|
object
|
|
successors
|
array[string]
|
List of successor articles |
portions
|
integer[int32]
|
The number of portions the provided quantity will be split into. |
portionSize
|
number
|
The size of an individual portion. This value is calculated from the |
{
"id": 123456,
"sku": "10704-820-1",
"title": "Absatzsandale Dunkelblau",
"description": "Verspielte Absatzsandale aus feinem Lackleder.",
"variant": {
"sku": "10704-820-1",
"name": "Absatzsandale Dunkelblau",
"price": {
"currency": "CHF",
"unitPrice": "99.00",
"unit": "piece"
},
"options": [
{
"option": "size",
"label": "Gr\u00f6sse",
"value": "36"
},
{
"option": "color",
"label": "Farbe",
"value": "dunkelblau"
}
],
"attributes": {
"heel": {
"type": "heel",
"label": "Absatz",
"value": "2 cm",
"values": [
"2 cm"
]
}
},
"images": [
{
"name": "10704_820a.jpg",
"sources": [
{
"size": "large",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "medium",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a.jpg"
},
{
"size": "small",
"url": "https:\/\/paloma.one\/images\/examples\/10704_820a_overview.jpg"
}
]
}
],
"availability": {
"available": true,
"stocks": [
{
"inventory": "chzh01",
"stock": 12
},
{
"inventory": "chzh02",
"stock": 4
}
]
}
},
"successors": [],
"createdAt": "2000-01-23T04:56:07.000+00:00",
"createdBy": {
"emailAddress": "test@astina.io",
"userId": 123456,
"username": "hmuster"
},
"modifiedAt": "2000-01-23T04:56:07.000+00:00",
"modifiedBy": {
"emailAddress": "test@astina.io",
"userId": 123456,
"username": "hmuster"
}
}
WatchlistItemCreateDto
Property | Type | Description |
---|---|---|
sku
|
string
|
Product variant SKU |
unit
|
string
|
Product variant unit code |
quantity
|
number
|
Default: 1
|
portions
|
integer[int32]
|
WatchlistItemRemoval
An item that has been removed from the watchlist.
Property | Type | Description |
---|---|---|
sku
|
string
|
|
quantity
|
number
|
WatchlistItemUpdateDto
Property | Type | Description |
---|---|---|
unit
|
string
|
Product variant unit code |
quantity
|
number
|
Default: 1
|
portions
|
integer[int32]
|
WatchlistList
Property | Type | Description |
---|---|---|
items
|
array[WatchlistRef]
|
WatchlistRef
Property | Type | Description |
---|---|---|
watchlistId
|
string
|
|
channel
|
string
|
The channel to which this watchlist belongs. |
customerId
|
string
|
The ID of the customer to which this watchlist belongs. |
customerName
|
string
|
The name of the customer to which this watchlist belongs. |
name
|
string
|
|
createdAt
|
string[date-time]
|
|
createdBy
|
UserRef
|
|
modifiedAt
|
string[date-time]
|
|
modifiedBy
|
UserRef
|
|
sharedAt
|
string[date-time]
|
|
sharedBy
|
UserRef
|
|
itemCount
|
integer[int32]
|
|
type
|
string
|
Values: manual, auto
|
shareStatus
|
string
|
Values: enabled, disabled
|
accessToken
|
string
|
If set, this token can be used to create sharing links for this watchlist. |
accessTokenExpires
|
string[date-time]
|
Access token expiration date/time. |
publicName
|
string
|
Optional public name which should be used instead of |
_operations
|
object
|
WatchlistSharingSettings
Sharing settings for this watchlist
Property | Type | Description |
---|---|---|
shareStatus
|
string
|
Values: enabled, disabled
Turn sharing on/off. If 'enabled', an access token is provided for the watchlist. |
cycleAccessToken
|
boolean
|
If set to true, the access token will be re-created (invalidating the current access token). |
publicName
|
string
|
Optional name to use when sharing this watchlist. If empty, the watchlist name will be used. |
shareUntil
|
string[date-time]
|
Optional expiration date. After this date, the watchlist will not be accessible using the access token. |
ZipResponse
Property | Type | Description |
---|---|---|
content
|
array[ZipResponseZip]
|
ZipResponseZip
Property | Type | Description |
---|---|---|
zipCode
|
string
|
|
city
|
string
|