> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.pricer24.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Синхронизация цен и наличия вашего сайта с Pricer24

Pricer24 имеет функционал, позволяющий уведомлять вашу систему об изменении цены товара.

| Для подключения услуги, Вам необходимо реализовать end-point, который будет обрабатывать запросы от Pricer24 и сообщить его адрес в нашу тех. поддержку.

# Принцип работы

* При изменении цены в Pricer24, система добавляет информацию об этом в очередь.
* По-умолчанию раз в 2 минуты запускается служба, которая группирует изменения по 100 штук и последовательно отправляет POST-запросы на end-point по протоколу HTTP/HTTPS.
* При получении кода ответа 200, изменения помечаются как обработанные и система отправляет следующий пакет с изменениям. В противном случае служба прерывается и при следующем запуске изменения будут отправлены повторно, и так до тех пор пока код ответа не будет 200.
* Лимит на обработку запроса - 1 минута, после чего служба будет остановлена, а обработка запроса будет считаться неуспешной.

# Контракт

Система формирует и отправляет POST-запросы на ваш end-point.

Пример запроса:

```json
{
	"secret": "secret",
	"data": [
		{
			"entityType": "ProductPrice",
			"entityId": "019bfb55-bf56-7100-9dd5-7346a86d6353_24c7164d-050b-4891-908b-58e61fc58400",
			"entity": {
				"externalId": "420087",
				"priceTypeId": "24c7164d-050b-4891-908b-58e61fc58400",
				"price": 1249,
				"currencyId": "UAH"
			}
		},
		{
			"entityType": "ProductPrice",
			"entityId": "019bfb55-bf57-7773-ae14-1be7cabfea28_24c7164d-050b-4891-908b-58e61fc58400",
			"entity": {
				"externalId": "420085",
				"priceTypeId": "24c7164d-050b-4891-908b-58e61fc58400",
				"price": 349,
				"currencyId": "UAH"
			}
		},
		{
			"entityType": "ProductPrice",
			"entityId": "019bfb55-bf59-726f-84f5-04eea8cb8acf_24c7164d-050b-4891-908b-58e61fc58400",
			"entity": {
				"externalId": "412464",
				"priceTypeId": "24c7164d-050b-4891-908b-58e61fc58400",
				"price": 699,
				"currencyId": "UAH"
			}
		},
		{
			"entityType": "ProductPrice",
			"entityId": "019bfb55-bf5b-7005-baef-8ade15664fce_24c7164d-050b-4891-908b-58e61fc58400",
			"entity": {
				"externalId": "409725",
				"priceTypeId": "24c7164d-050b-4891-908b-58e61fc58400",
				"price": null,
				"currencyId": null
			}
		}
	]
}
```

Информация об изменениях содержится в массиве Data.
* **entityType** - тип объекта, который был изменен
* **entityId** - код объекта в Pricer24
* **entity** - информация о самом объекте

**secret** - секретный ключ, для того, чтобы можно было валидировать запросы, которые принимает ваш end-point (чтобы быть уверенным, что запросы от нас).

|| В данной статье мы рассматриваем исключительно запросы для объекта ProductPrice (цена товара)

### Объект entity
* **externalId** – код товара в вашей системе
* **priceTypeId** – код типа цены в Pricer24
* **price** – цена (nullable)
* **currencyId** – ISO-код валюти цены (nullable)