Omnia 2.0 API (0.0.7168)

This is the API powering Omnia 2.0 and Pricemonitor, containing operations that can also be used directly by customers from their own systems.

The Omnia 2.0 API is RESTful and provides access to the backend of Omnia 2.0 and Pricemonitor. It is used to manage products, offers, contracts, and more.

This API supports both public endpoints for customer integration and internal endpoints for platform management. All endpoints are authenticated using either Basic Authentication or JWT Bearer tokens.

Download OpenAPI description
Languages
Servers
Mock server

https://api-docs.omniaretail.dev/_mock/api/omnia/

Production API

https://api.patagona.de/

Overview

Overview, explanation and pointers to the API documentation.

Products Management

Operations to manage your products.

Operations

Price Recommendations

Operations to get price recommendations calculated by our system.

Operations

Price recommendations and multiple domains

Note:

  1. Internally the system calculates a price recommendation for every domain
  2. As aggregation the system then provides the cheapest price recommendation

Within the price recommendations we are providing a field called relevantDomain. This field contains from which domain the price recommendation originates.

Retrieve price recommendations

Getting all price recommendations

You can get all price recommendations via this operation.

It's a paginated endpoint, so you have to request multiple pages. See pagination. Recommended page size is 1000.

It's important that you define a timerange (by providing startTime and endTime parameters) in order to guarantee a stable pagination. This endpoint returns the most recent price recommendations per product and domain: This means that price recommendations from older price calculation runs within the provided timerange are ignored.

Get price recommendations for time range

Request

Retrieves all price recommendations for a contract within the specified time range.

This endpoint returns algorithmic pricing recommendations based on market analysis, competitor pricing, and configured pricing strategies. Only the most recent recommendations are returned when multiple recommendations exist for the same product.

Key Features:

  • Paginated results for efficient data retrieval
  • Optional product tag inclusion
  • Configurable time range filtering
  • Real-time market-based recommendations
Security
BasicAuth or BearerAuth
Path
contractIdstringnon-emptyrequired

Unique identifier of the contract

Example: qbcxvb
Query
startTimestring(date-time)required

Start of time range for price recommendation retrieval.

Format: ISO 8601 date-time in UTC (e.g., 2024-01-15T10:30:00Z)

Example: startTime=2024-01-15T00:00:00Z
endTimestring(date-time)required

End of time range for price recommendation retrieval.

Format: ISO 8601 date-time in UTC (e.g., 2024-01-16T10:30:00Z)

Example: endTime=2024-01-16T23:59:59Z
startinteger(int32)>= 0required

Starting index for pagination (0-based)

limitinteger(int32)[ 1 .. 1000 ]

Maximum number of price recommendations to return per page

Default 100
Example: limit=100
includeTagsboolean

Whether to include product tags in the response

Default true
Example: includeTags=true
curl -i -X GET \
  -u <username>:<password> \
  'https://api-docs.omniaretail.dev/_mock/api/omnia/api/2/v/contracts/qbcxvb/result/pricerecommendations?endTime=2024-01-16T23%3A59%3A59Z&includeTags=true&limit=100&start=0&startTime=2024-01-15T00%3A00%3A00Z'

Responses

Paginated list of price recommendations for the specified time range.

Each recommendation includes the product information, recommended price, delivery costs, position data, and strategy information that determined the recommendation. Only the newest recommendations are returned when multiple exist for the same product.

Bodyapplication/json
dataArray of objects(com.patagona.pricemonitor.share.api.ApiPriceRecommendation)required
data[].​oldPricenumber

The price of the cheapest offer of the own shop(s) on the relevant domain

data[].​deliveryCostsnumber

The delivery costs which were considered for the recommended price

data[].​timestampstring(date-time)required

The timestamp when the price recommendation has been calculated

data[].​oldDeliveryCostsnumber

The delivery costs corresponding to oldPrice

data[].​tagsArray of objects(com.patagona.pricemonitor.share.api.ExtendedTag)required

Additional information on this product

data[].​tags[].​doubleValuenumber

The double value depends on the decimal separator which has been provided during product import.

data[].​tags[].​integerValueinteger

The integer value of the tag. It's only defined when the stringValue consists solely of digits.

data[].​tags[].​labelstringrequired

The name of the tag. It can't be empty.

data[].​tags[].​stringValuestringrequired

The text value of the tag.

data[].​tags[].​booleanValueboolean

The boolean value of the tag. It's only set to true when the stringValue is "1" or "true".

data[].​pricenumberrequired

The recommended price of the relevant domain

data[].​oldPositioninteger

The old position on the relevant domain

data[].​gtinnumber

GTIN of the product

data[].​relativePriceChangePercentagenumber

Absolute percentage how the recommended price changed compared to the oldPrice e.g. 200 stands for 200% which means the recommended price has doubled

data[].​newPositioninteger

The new position on the relevant domain

data[].​decisiveStrategyBranchNamestring

The strategy branch name that calculated the price. This is only filled if the Strategy branch that calculated the price was given a name in the strategy tree. It will have the name that was active at the time the price was calculated (see timestamp)

data[].​customerProductIdstring

The customer's id of the product

data[].​originalMaxPriceBoundarynumberrequired

Max price boundary during the time when the price was calculated

data[].​relevantDomainstring

The decisive domain of the price recommendation. It's been determined by the cheapest price recommendation.

data[].​originalMinPriceBoundarynumberrequired

Min price boundary during the time when the price was calculated

data[].​currencystringrequired

The currency of the price recommendation.

data[].​productIdstringrequired

The internal product id of the pricemonitor

data[].​originalTagsArray of objects(com.patagona.pricemonitor.share.api.ExtendedTag)required

List of tags which were set during the time when the price has been calculated. ATTENTION: These are historic tags which are maybe outdated or incomplete.

data[].​originalTags[].​doubleValuenumber

The double value depends on the decimal separator which has been provided during product import.

data[].​originalTags[].​integerValueinteger

The integer value of the tag. It's only defined when the stringValue consists solely of digits.

data[].​originalTags[].​labelstringrequired

The name of the tag. It can't be empty.

data[].​originalTags[].​stringValuestringrequired

The text value of the tag.

data[].​originalTags[].​booleanValueboolean

The boolean value of the tag. It's only set to true when the stringValue is "1" or "true".

data[].​decisiveStrategyTreeLeafNodeIdintegerrequired

The leaf node of the strategy branch that calculated the price. This id references the node in the strategy branch that was active at the time the price was calculated (see timestamp)

metaobject(com.patagona.pricemonitor.share.api.PaginationResponse)

This model describes the information passed to the user for a paginated request.

Response
application/json
{ "data": { "recommendations": [ … ], "pagination": { … } } }

Get price recommendations for one product

Request

This endpoint returns all price recommendations for one product within a given time range.

Security
BasicAuth or BearerAuth
Path
contractIdstringnon-emptyrequired

Unique identifier of the contract

Example: qbcxvb
productIdstringnon-emptyrequired

Internal product identifier in the pricemonitor system

Example: 862342
Query
startDatestring(date-time)

Start of time range for data retrieval.

Format: ISO 8601 date-time in UTC (e.g., 2024-01-15T10:30:00Z)

Default behavior:

  • If omitted and endDate is provided: startDate = endDate - 48 hours
  • If both omitted: range is NOW - 48 hours to NOW
Example: startDate=2024-01-15T00:00:00Z
endDatestring(date-time)

End of time range for data retrieval.

Format: ISO 8601 date-time in UTC (e.g., 2024-01-16T10:30:00Z)

Default behavior:

  • If omitted and startDate is provided: endDate = startDate + 48 hours
  • If both omitted: range is NOW - 48 hours to NOW
Example: endDate=2024-01-16T23:59:59Z
curl -i -X GET \
  -u <username>:<password> \
  'https://api-docs.omniaretail.dev/_mock/api/omnia/api/v3/vendor/contracts/qbcxvb/products/862342/pricerecommendationhistory?endDate=2024-01-16T23%3A59%3A59Z&startDate=2024-01-15T00%3A00%3A00Z'

Responses

A list of price recommendations

Bodyapplication/json
dataArray of objects(com.patagona.pricemonitor.share.api.ApiPriceRecommendation)required
data[].​oldPricenumber

The price of the cheapest offer of the own shop(s) on the relevant domain

data[].​deliveryCostsnumber

The delivery costs which were considered for the recommended price

data[].​timestampstring(date-time)required

The timestamp when the price recommendation has been calculated

data[].​oldDeliveryCostsnumber

The delivery costs corresponding to oldPrice

data[].​tagsArray of objects(com.patagona.pricemonitor.share.api.ExtendedTag)required

Additional information on this product

data[].​tags[].​doubleValuenumber

The double value depends on the decimal separator which has been provided during product import.

data[].​tags[].​integerValueinteger

The integer value of the tag. It's only defined when the stringValue consists solely of digits.

data[].​tags[].​labelstringrequired

The name of the tag. It can't be empty.

data[].​tags[].​stringValuestringrequired

The text value of the tag.

data[].​tags[].​booleanValueboolean

The boolean value of the tag. It's only set to true when the stringValue is "1" or "true".

data[].​pricenumberrequired

The recommended price of the relevant domain

data[].​oldPositioninteger

The old position on the relevant domain

data[].​gtinnumber

GTIN of the product

data[].​relativePriceChangePercentagenumber

Absolute percentage how the recommended price changed compared to the oldPrice e.g. 200 stands for 200% which means the recommended price has doubled

data[].​newPositioninteger

The new position on the relevant domain

data[].​decisiveStrategyBranchNamestring

The strategy branch name that calculated the price. This is only filled if the Strategy branch that calculated the price was given a name in the strategy tree. It will have the name that was active at the time the price was calculated (see timestamp)

data[].​customerProductIdstring

The customer's id of the product

data[].​originalMaxPriceBoundarynumberrequired

Max price boundary during the time when the price was calculated

data[].​relevantDomainstring

The decisive domain of the price recommendation. It's been determined by the cheapest price recommendation.

data[].​originalMinPriceBoundarynumberrequired

Min price boundary during the time when the price was calculated

data[].​currencystringrequired

The currency of the price recommendation.

data[].​productIdstringrequired

The internal product id of the pricemonitor

data[].​originalTagsArray of objects(com.patagona.pricemonitor.share.api.ExtendedTag)required

List of tags which were set during the time when the price has been calculated. ATTENTION: These are historic tags which are maybe outdated or incomplete.

data[].​originalTags[].​doubleValuenumber

The double value depends on the decimal separator which has been provided during product import.

data[].​originalTags[].​integerValueinteger

The integer value of the tag. It's only defined when the stringValue consists solely of digits.

data[].​originalTags[].​labelstringrequired

The name of the tag. It can't be empty.

data[].​originalTags[].​stringValuestringrequired

The text value of the tag.

data[].​originalTags[].​booleanValueboolean

The boolean value of the tag. It's only set to true when the stringValue is "1" or "true".

data[].​decisiveStrategyTreeLeafNodeIdintegerrequired

The leaf node of the strategy branch that calculated the price. This id references the node in the strategy branch that was active at the time the price was calculated (see timestamp)

Response
application/json
{ "data": [ { … } ] }

Offers

Operations to get and manage offers.

Operations

Feeds Management

Manage your data-feeds.

Operations

Logs Management

Operations to store log messages in the system.

You can integrate this API into your own system and publish integration logs to the system so that Omnia Retail can analyze them.

Operations

Company Management

Operations for managing company entities, including creation, retrieval, and contract management.

Operations

Orders Management

Operations for managing orders, including bulk order imports and order tracking.

Operations

Settings Management

Operations to manage the settings of contracts. Only a limited number of these operations are available to customers directly.

Operations

Tasks Management

Operations to view and manage the tasks running in the platform. Customers can only view tasks.

Operations

Strategies Management

Operations to view and manage pricing strategies.

Operations

Domains

Operations to view all supported domains.

A domain is an external datasource or website that contains information about offers for products for sale. Information like product characteristics and sales characterics like price, stock level and delivery times and costs.

Operations

Plugin Registration

Operations to view and manage registered plugins for system integration.

Operations