Статьи по: Разработчикам

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

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


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


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



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


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

Контракт


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

Пример запроса:
{
	"Data": [
		{
			"EntityType": "product",
			"EntityId": "273555",
			"Entity": {
				"Id": "2db16c12-40a6-4e6c-848d-0f139bd8ef54",
				"ExternalId": "273555",
				"Name": "1stPlayer B7-R1 Color LED без БП Black",
				"Availability": {
					"Id": "eda9817f-9c2a-4aa1-9caa-5a12fa90cfcc",
					"UnifiedName": "in_stock",
					"IsAvailable": true
				},
				"Tags": [
					{
						"Id": "de71e492-b4dd-4d97-b88a-372358a1ed8f",
						"Name": "new",
						"Color": "#000000"
					}
				],
				"Prices": [
					{
						"Id": "500aea54-e841-4778-9777-9c2b39236291",
						"Name": "Главная",
						"UnifiedName": "price",
						"IsMain": true,
						"Price": 1328.0,
						"Currency": "UAH"
					},
					{
						"Id": "1bd3c67f-de03-482b-a507-b852053000dd",
						"Name": "TEST_PRICE",
						"UnifiedName": "test",
						"IsMain": false,
						"Price": 52.0,
						"Currency": "USD"
					}
				]
			}
		}
	],
	"Secret": ""
}


Информация об изменениях содержится в массиве Data.
EntityType - тип объекта, который был изменен
EntityId - код объекта (товара) в системе клиента
Entity - информация о самом объекте (товаре)

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

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

Объект Entity


Id - код товара в Pricer24
ExternalId - код товара в системе клиента
Name - название товара
Availability - наличие товара
Tags - массив тегов товара
Prices - массив цен товара


Объект Availability

Id - код наличия в Pricer24
UnifiedName - псевдоним наличия
IsAvailable - товар в наличии или нет


Объект Tag

Id - Код тега в Pricer24
UnifiedName - псевдоним тега
Color - цвет тега в формате HEX


Объект Price

Id - код типа цены в Pricer24
Name - название типа цены в Pricer24
UnifiedName - псевдоним типа цены
IsMain - является ли тип цены основным
Price - цена (nullable)
Currency - ISO-код валюты цены (nullable)

Обновлено на: 19/08/2022

Была ли эта статья полезна?

Поделитесь своим отзывом

Отменить

Спасибо!