Paloma API Docs

Updated: 16.12.2024 07:41

Welcome to the Paloma Shop API Docs. Paloma is a digital commerce platform featuring a headless web shop API.

Headless web shops allow decoupling of the user interface (the web shop front-end) from back-end processes and business logic.

Authentication

To access the Paloma API you need two things:

  • The API base URL for your Paloma environment
  • An API key

If you are missing one of those, contact us.

Once you have your API key, you can access the API by sending it with each request in the x-api-key header:

GET https://example.paloma.one/api/...
x-api-key: 1DDqL4L2KWNsusY3feGfcedGyaYt89iN

Channels

You can operate multiple web shops via the same Paloma environment by using channels. Each Channel can have its own catalog (products and categories), prices, languages, shipping methods and payment settings.

For example, there can be separate channels for B2C and B2B or a channel for each country or region.

For this reason most of the API endpoints come with a channel parameter. Your web shop front-end needs to know which channel to access, e.g. via configuration or by using a URL property (domain name, path segment).

Localization

All API endpoints that return content (localized data) come with a locale parameter (in the form [language]_[country], for example de_CH or en_US). You can pass any valid locale (usually the current UI locale) and Paloma will deliver the most fitting content for this locale.

For example, if you pass "de_CH" as locale but Paloma only has content for "de", it will return content for "de". Or if you pass "de" as locale but Paloma only has content for "en", it will return content for "en".

Naming

The Paloma API uses the following naming styles:

  • kebab-case for URL segments and query parameters
  • camelCase for JSON data

Example:

POST /b2c/en/products/by-sku # <- kebab-case
{
  "skus": ["123", "234"],
  "includeInactiveProducts": true # <- camelCase
}

Custom Data

Some API models contain a customData property. The model for this property can be configured on a per-project basis. This is useful to support advanced use-cases where special data is needed in a web shop or while integrating with 3rd party systems.

Currently, the following API models support custom data:

Next: Catalog