We use cookies in order to give you the optimal experience of our website. Some of them are required for the operation of this site (e.g. in order to use the shopping cart). Others allow us to enhance our online offers and to display them efficiently. You can use the settings to determine which cookies you will permit. Further details can be found in our privacy policy.
Settings
  • Required
    These cookies are required for the functionality of this site, e.g. by making it possible to add products to the shopping cart. Furthermore, this type of cookie guarantees that you can log into your account and that you can stay logged in, in order to maintain access to your order details. Required cookies are exclusively used on this Website. No data is transferred to third parties.
  • Comfort
    These cookies allow the custom tailoring of certain features in order to enhance the user experience and simplify the use of our site.For instance, they make it easier to search for and find suitable products. Cookies used to enhance the user experience are exclusively used on this site and no data is passed on to third parties.
  • External Media
    We provide you additional media, e.g. videos or maps. This media is provided by third parties, who are using cookies.Cookies for external media is used by third parties or publishers. We do not have any control about this cookie usage.
  • Statistics
    In order to further improve our Website, we collect anonymous data for statistics and analysis. These cookies enable us to keep track of traffic which helps us improve the site systematically. For these purposes, only anonymous data is passed on to third parties.
  • Marketing
    This setting controls whether advertising cookies may be stored on your device. If activated, we can track your activities on our site and display relevant advertising. If deactivated, no advertising cookies are set and the displayed advertising may be less relevant to you.
  • Personalization
    We may use the data and information we have about you to show you personalized content and advertising. Third parties may use this data to display personalized ads.
  • Profile Creation
    This setting concerns the use of your data for advertising purposes. If activated, we may analyze and use your data to show you targeted advertising based on your user behavior and preferences. If deactivated, your data will not be used for these purposes.

Product Management in TYRIOS pim

Questions:

  • Product management using TYRIOS PIM

Description:

TYRIOS PIM is the central point of information for all your product-related data. It provides data for your POS system, your online shop and webpage, your offline advertisement, your digital signage system, your newsletters, and a lot more. To fulfill all these different requirements, it provides a very complex data structure to manage products with additional information like price offers, supplier linkage, image, and media information. 

Authentication

The API endpoints of TYRIOS are only available for authorized users. Therefore, the user must be authenticated. There are two different authentication types:

  • Authentication by BASIC authentication. The user account must have an activated REST API token. You need to send an appropriate BASIC authentication header.
  • Authentication by mobile app registration. You need to send a valid app registration token.

Required rights

You need to have user credentials with product management rights to use this API. If you don't have these rights, you will get a 403 error code. The API is not available for external users without credentials.

Data structure

To manage products, you typically have to deal with the following data structures

  • product data 
  • ShopCategoryData
  • MediahelperFile
  • ProductDataOffer

Due to the aspect-oriented nature of TYRIOS, it might be possible that you have to deal with other classes. All data structures have an upper case first character.

Listing products

To request a product, you need to call the GET endpoint

https://[instance]/service/ProductManagement/products

The request supports several GET parameters:

  • offset: offset of the product list, default 0
  • length: number of products provided, default 20,
  • filter: JSON object to filter for specific fields. All product data fields are supported.
  • sorting: JSON object with field: ASC/DESC sorting definition

A request to filter based on material number will look like this:

https://[instance]/service/ProductManagement/products/?offset=0&length=5&filter={%22materialNumber%22:%221%22}&sorting={%22name_de%22:%22ASC%22}

You will retrieve the following data structure.

{
	"products": [
		{
    		"id": 90,
    		"name_de": "Neuer Name De",
			"shortDescription_de": "Kurzbeschreibung",
    		"description_de": "Beschreibung",
			"price": 1.33,
			"ShopCategoryData": [
				{
					"id": 1,
					....
				}
			],
    		"mainMediaFile": {id: 136,...},
   			"MediahelperFile": [
				{id: 136,...}
			]
			....
		}
	],
	"count":20
}

The products are in the products fields; the count field gives you how many items are found.

Please note that the concrete data structure depends on the instance as TYRIOS is an aspect-oriented system.

get one specific product

You can request a specific product by using the GET endpoint

https://[instance]/service/ProductManagement/product/[productID]

You will, if the product exists, get a full data object for the product data

{
    "id": 90,
    "name_de": "Neuer Name De",
	"shortDescription_de": "Kurzbeschreibung",
    "description_de": "Beschreibung",
	"price": 1.33,
	"ShopCategoryData": [1,14],
    "mainMediaFile": 129,
    "MediahelperFile": [136,129]
	....
}

 

Create/update a product

You can create and update products using the same endpoint. You need to send a POST request.

https://[instance]/service/ProductManagement/product

If the id is not null, the system assumes that it needs to update an existing product. Else it creates a new one.

As payload, you only need to send a complete product object. If you update an existing product, not provided fields are assumed to be empty.

{
    "id": 90,
    "name_de": "Neuer Name De",
	"shortDescription_de": "Kurzbeschreibung",
    "description_de": "Beschreibung",
	"price": 1.33,
	"ShopCategoryData": [1,14],
    "mainMediaFile": 129,
    "MediahelperFile": [136,129]
	....
}

Reference objects can be provided as objects or by id.

Please keep in mind that the available fields depend on the instance. So it is not possible to describe the complete structure in this documentation.

Save a partial product.

If you want only to update some specific fields, you can update a product partially using a PUT request to the endpoint:

https://[instance]/service/ProductManagement/product

As payload, you only need to send these fields that need to be updated in addition to the product ID. Mediahelper files can be provided as IDs or MediahelperFile objects.

{
      "id": 90,
      "name_de": "Neuer Name De",
      "mainMediaFile": 129,
      "MediahelperFile": [136,129]
}

Delete a product

If you want to delete a product, you need to send a DELETE request to the endpoint

https://[instance]/service/ProductManagement/product/[productID]

Solution:

Tips und Tricks:

Subscribe to our newsletter

Stay informed at all times. We will gladly inform you about product news and offers.