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]
Example
{
  "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
Example
{
  "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 taxIncluded to know whether this is the net or the gross price. Does not include the currency code or symbol.

originalUnitPrice string

The price before possible discounts. This price will be missing, if it's the same as unitPrice. Does not include the currency code or symbol.

unitMsrp string

The manufacturer's suggested retail price. This price will be missing, if it's the same as unitPrice. Does not include the currency code or symbol.

tax string

The formatted tax rate.

taxIncluded boolean

Whether the unitPrice includes taxes.

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.

Example
{
  "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 taxIncluded to know whether this is the net or the gross price. Does not include the currency code or symbol.

quantity number
price string Min: 1

The price for the given quantity. Check taxIncluded to know whether this is the net or the gross price. Does not include the currency code or symbol.

originalUnitPrice string

The price before possible discounts. This price will be missing, if it's the same as unitPrice. Does not include the currency code or symbol.

unitMsrp string

The manufacturer's suggested retail price. This price will be missing, if it's the same as unitPrice. Does not include the currency code or symbol.

tax string

The formatted tax rate.

taxIncluded boolean

Whether the unitPrice includes taxes.

individual boolean

Whether this price is specific for the given price group.

Example
{
  "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]
Example
{
  "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

Example
[
  {
    "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
Example
{
  "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]
Example
{
  "name": "name",
  "items": [
    {
      "quantity": 0,
      "sku": "sku"
    },
    {
      "quantity": 0,
      "sku": "sku"
    }
  ]
}

ExportProductsRequestSheetItem

Property Type Description
sku string
quantity number
unit string
portions integer[int32]
Example
{
  "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
Example
{
  "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 attribute.[type]. By default, sorting is done by 'relevance' except when a category code is specified in which case the default is 'position'.

order string Values: asc, desc

Sort order

context PricingContext
params object

Generic params for the export search request.

Example
{
  "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. none matches items containing none of the provided values. all only makes sense for multi-valued attributes when a) providing multiple filter values, and b) actually filtering on a multi-valued property, like an attribute's values or valueCodes.

Example
{
  "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)

Example
{
  "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 ("totalAggregates": true).

Example
{
  "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.

  • none: no portioning is possible : - optional: portioning is possible, but not required
    • required: portioning is required
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.

Example
{
  "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 CatalogPrice instead.

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
Example
{
  "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.

Example
{
  "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 null if the 'omit-variants' parameter has been set when requesting this resource.

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]
Example
{
  "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

Example
{
  "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

Example
{
  "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

Example
{
  "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:

  • managed - there is a finite stock which needs to be tracked
  • non_managed - the shop can assume infinite supply
unavailabilityReasons array[string]

If the above available flag is false, this field describes the reason(s) why.

Example
{
  "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]
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"
    }
  ]
}

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.

Example
{
  "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

Example
{
  "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
Example
{
  "option": "size",
  "label": "Size",
  "value": "9"
}

ProductOptions

Example
{
  "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
Example
{
  "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]
Example
{
  "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

Example
{
  "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]
Example
{
  "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.

Example
{
  "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 should be used, instead.

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 units should be used, instead.

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
Example
[
  {
    "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
Example
[
  {
    "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
Example
{
  "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. none matches items containing none of the provided values. all only makes sense for multi-valued attributes when a) providing multiple filter values, and b) actually filtering on a multi-valued property, like an attribute's values or valueCodes.

or SearchFilter

Add another filter with OR.

Example
{
  "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 attribute.[type]. By default, sorting is done by 'relevance' except when a category code is specified in which case the default is 'position'.

order string Default: asc Values: asc, desc

Sort order

context PricingContext
Example
{
  "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]
Example
{
  "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

Example
{
  "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.

Example
{
  "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
Example
{
  "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 /{channel}/orders/{id}/payments endpoint for information.

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.

Example
{
  "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
Example
{
  "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
Example
{
  "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).

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
Example
{
  "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

Example
[
  {
    "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
Example
{
  "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.

Example
{
  "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
Example
{
  "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?

  • NO_DELIVERY - No delivery day/slot. Normally there is no delivery for this customer for this day and slot. This can be distinguished from days/slots that are in the past or too far into the future, because for those dates Paloma does not return any DeliveryDaySlots.
  • NO_DELIVERY_SCHEMES - Delivery impossible. This day would be a delivery day/slot, but not for this order; no delivery schemes are available for this day, but for a different order with different items, a delivery on this day may be possible.
  • DELIVERY_SCHEMES_AVAILABLE - Delivery schemes available. There are delivery schemes that start 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:

  • NO_DELIVERY: orderDateTime is null
  • NO_DELIVERY_SCHEMES: orderDateTime gives last order date time for which an order would have to be made excluding any article-specific rules
  • DELIVERY_SCHEMES_AVAILABLE: the orderDateTime gives the last order date time for which the last of the schemes can be ordered
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 should contain details about why the operation is not available.

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]
Example
{
  "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
Example
{
  "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
Example
{
  "comment": "This is a comment for the order."
}

OrderCouponDto

Property Type Description
code string
Example
{
  "code": "CHJX97JS89"
}

OrderCouponError

Property Type Description
errors array[OrderCouponErrorItem]
Example
{
  "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:

  • not_found: No such coupon code exists
  • not_eligible: The coupon code cannot be applied to this order
  • not_combinable: The coupon code cannot be applied because it conflicts with another coupon code already applied to the order
  • expired: The coupon code has expired
  • redemptions_exceeded: The coupon code has already been used
  • service_unavailable: The coupon service is unavailable
  • error: Other error

OrderCreateDto

Property Type Description
locale string[locale]
channel string
currency string
origin string
customer Customer
broker BrokerDto
Example
{
  "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]
Example
{
  "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]
Example
{
  "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 1, but may be different based on minimumQuantity and/or quantityIncrement.

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:

  • fail - if the quantity provided is invalid, the operation will fail with the validation object containing additional information.
  • increment_until_valid - if the quantity provided is invalid, the quantity will be incremented until it's valid, if possible. Otherwise, the operation will fail with the validation object containing additional information.
unit string

The unit you want to order. Optional. If left empty, the variant's default unit will be used. Note: use the unitCode from the price object for this parameter (unit contains the localized name).

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 product.variants[].availability.unavailabilityReasons, for instance.

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.

Example
{
  "sku": "456",
  "quantity": 1.5,
  "portions": 2
}

OrderItemShippingMethodOptions

Property Type Description
shippingMethodName string
itemId integer[int32]
sku string
delivery array[OldDeliveryOption]
Example
{
  "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:

  • fail - if the quantity provided is invalid, the operation will fail with the validation object containing additional information.
  • increment_until_valid - if the quantity provided is invalid, the quantity will be incremented until it's valid, if possible. Otherwise, the operation will fail with the validation object containing additional information.
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.

Example
{
  "quantity": 2.5,
  "portions": 5
}

OrderItemsCreateDto

Property Type Description
orderItems array[OrderItemCreateDto] Min: 1

Order item create DTOs

Example
{
  "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.

  • none: no portioning is possible : - optional: portioning is possible, but not required
    • required: portioning is required
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.

Example
{
  "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]
Example
{
  "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
Example
{
  "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
Example
{
  "id": "01E4V2JCC9T33QXEAXPHCJEC4F",
  "type": "Mastercard",
  "maskedCardNumber": "513659xxxxxx5354",
  "expirationMonth": "12",
  "expirationYear": "24"
}

PaymentMeans

Property Type Description
id string Min: 1
name string Min: 1
providerCode string
Example
{
  "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 /{channel}/orders/{id}/payments endpoint for information.

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
Example
{
  "name": "creditcard",
  "type": "electronic",
  "provider": "datatrans",
  "paymentInstrumentId": "01E4V2JCC9T33QXEAXPHCJEC4F"
}

PaymentProviderParam

Property Type Description
name string
value string
Example
{
  "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 taxIncluded to know whether this is the net or the gross price.

originalUnitPrice string

The price before possible discounts. This price will be missing, if it's the same as unitPrice.

tax string

The formatted tax rate.

taxIncluded boolean

Whether the unitPrice includes taxes.

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.

Example
{
  "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
Example
{
  "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.

Example
{
  "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 should be used, instead.

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 units should be used, instead.

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
Example
[
  {
    "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.

Example
{
  "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.

Example
{
  "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.

Example
{
  "name": "post_priority"
}

ShippingMethodOptions

Property Type Description
shippingMethodName string
delivery array[OldDeliveryOption]
orderItemShippingMethodOptions array[OrderItemShippingMethodOptions]
Example
{
  "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
Example
{
  "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

Example
{
  "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
Example
{
  "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
Example
{
  "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
Example
{
  "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
Example
{
  "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
Example
{
  "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

Example
[
  {
    "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
Example
{
  "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
Example
{
  "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.

Example
{
  "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

Example
{
  "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.

Example
{
  "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
Example
{
  "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]
Example
{
  "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]
Example
{
  "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
Example
{
  "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

Example
{
  "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
Example
{
  "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:

  • ok - row was processed successfully
  • not_ok - something was wrong with the row, no changes have been applied
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 1 for the add operation.

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:

  • add - the item was added to the watchlist
  • update_quantity - the item already existed on the watchlist, but the quantity has been updated
  • sum_quantity - duplicate item on the same sheet: quantities were added
  • identical - the item is already on the watchlist, and the entry is identical
  • ignore_unspecific - row ignored because there was no SKU column, and no unique product could be found in the catalog.
  • ignore_missing_in_catalog - row ignored because it wasn't found in the catalog. watchlistIndex indicates, whether it's already on the list.
  • ignore_duplicate - duplicate import row has been ignored
  • ignore_invalid_quantity - row ignored because its quantity column had an invalid value
watchlistIndex integer[int32]

Item index in the watchlist result. Available if status is ok.

ImportRowLookup

Property Type Description
cell string
label string
value string
foundInCatalog string Values: not_applicable, not_found, unique, multiple

Catalog inquiry status:

  • not_applicable - cell/value wasn't used for product lookup (e.g. "quantity" columns and cells with no value aren't used. For other columns, this depends on the server's configuration).
  • not_found - no product found
  • unique - a unique product result was found, no further searching required
  • multiple - multiple products were found in the catalog, results have been discarded

ImportSheet

Property Type Description
sheetName string Min: 1
watchlistId string
status string Values: ignored, created, updated

Sheet update status:

  • ignored - the sheet has been ignored because there were no usable items in it
  • created - a new sheet has been created
  • updated - an existing sheet was updated
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

Example
{
  "type": "vat",
  "name": "MwSt.",
  "rate": "2.5 %",
  "amount": "1.52"
}

MinimalUser

Property Type Description
id string
username string
emailAddress string
firstName string
lastName string
Example
{
  "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
Example
{
  "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
Example
{
  "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 linePrice instead

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
Example
{
  "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
Example
{
  "type": "promotion",
  "amount": "1.25"
}

OrderItemCodeOccurrence

Property Type Description
itemCode string
count integer[int64]
Example
{
  "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

Example
{
  "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.

Example
{
  "emailAddress": "test@astina.io",
  "confirmationBaseUrl": "http:\/\/example.org\/users\/confirm"
}

PasswordResetTokenPasswordDto

Property Type Description
password string Min: 1
Example
{
  "password": "jahI&\/g4s86.KDs"
}

PasswordUpdate

Property Type Description
username string Min: 1
currentPassword string Min: 1
newPassword string Min: 1
Example
{
  "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
Example
{
  "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
Example
{
  "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
Example
[
  {
    "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.

Example
{
  "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.

Example
{
  "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]
Example
{
  "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]

StreetResponse

List of matched street 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

Example
{
  "tye": "VAT",
  "rate": 0.08,
  "name": "MWST",
  "amount": 0.8,
  "rateFormatted": "8 %",
  "amountFormatted": "0.80"
}

TaxInfo

Property Type Description
vat Tax
Example
{
  "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]
Example
{
  "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]
Example
{
  "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
Example
{
  "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')

Example
{
  "name": "ROLE_BUYER",
  "description": "Buyer",
  "permissions": [
    "ROLE_PERM_PORTAL_CATALOG_VIEW",
    "ROLE_PERM_PORTAL_ORDERS_VIEW",
    "ROLE_PERM_PORTAL_ORDERS_CREATE"
  ]
}

UserRolePermission

User role permission

Property Type Description
name string
label string

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]
Example
{
  "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 name when the watchlist is shared.

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

ProductImage from the Catalog API. See https://docs.paloma.one/api/models#catalog/ProductImage

variant object

ProductVariant from the Catalog API. See https://docs.paloma.one/api/models#catalog/ProductVariant

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 quantity and the portions

Example
{
  "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 name when the watchlist is shared.

_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