Статті на: Розробникам
Ця стаття також доступна на:

ТЗ на розробку фіду для передачі каталогу в Pricer24

Призначення документа


Ця стаття описує технічні вимоги до JSON-фіду (файлу), через який ваш каталог товарів передається в Pricer24.

Загальні принципи роботи з фідами, підтримувані формати даних та способи передачі описані в цій статті.


Загальні вимоги


Ви надаєте URL фіду, а Pricer24 регулярно завантажує за цим посиланням файл із вашим каталогом товарів.


  • Стиснення: не обов’язкове. За необхідності - gzip.
  • Ліміт розміру: відсутній


Фід (файл) має містити повний і актуальний каталог товарів. Після завантаження файла, Pricer24 автоматично порівняє його із поточним каталогом і оновить лише необхідне.

Актуальними вважаються лише ті товари, які присутні у фіді (файлі) на момент його завантаження.


Приклад JSON-фіду:


Тут наведений приклад, як може виглядати фід. Детальна структура і вимоги до полів фіду описані нижче.


 {
  "categories": [
    { "id": "1000", "parent_id": null, "name": "Бакалея" },
    { "id": "1001", "parent_id": "1000", "name": "Кондитерські вироби" },
    { "id": "1002", "parent_id": "1001", "name": "Цукерки" }
  ],
  "price_types": [
    { "id": "1", "name": "Магазин Київ 1" },
    { "id": "2", "name": "Магазин Київ 2" },
    { "id": "3", "name": "Магазин Харків 1" },
    { "id": "4", "name": "Онлайн" }
  ],
  "products": [
    {
      "id": "153",
      "category_id": "1002",
      "name": "Цукерки Bonjour Десерт 500г",
"vendor": "Konti",
"vendor_code": "08013914",      
"barcode": "4820000356848",
      "link": "https://example.com/products/konti-bonjour-dessert-500",
"image_link": "https://example.com/products/konti-bonjour-dessert-500.jpg",
      "availability": "+",
      "prices": [
        { "price_type_id": "1", "price": 189.90, "currency": "UAH" },
        { "price_type_id": "2", "price": 189, "currency": "UAH" }
      ]
    },
    {
      "id": "154",
      "category_id": "1002",
      "name": "Шоколад Milka Oreo 100г",
      "vendor": "Milka",
"vendor_code": "7622210578266",
"barcode": "7622210951182",
      "link": "https://example.com/products/milka-oreo-100",
"image_link": "https://example.com/products/milka-oreo-100.jpg",
      "availability": "-",
      "prices": [
        { "price_type_id": "3", "price": 178.00, "currency": "UAH" },
        { "price_type_id": "4", "price": 150, "currency": "UAH" }
      ]
    }
  ]
}


Структура фіду


На верхньому рівні JSON-фід складається з трьох масивів: категорій, типів цін і товарів.


  • categories: структура категорій товарів
  • price_types: довідник типів цін, на які посилаються ціни товарів 
  • products: детальний каталог товарів


{
"categories": [ ... ],
"price_types": [ ... ],
"products": [ ... ]
}


Масив categories[ ]:


Масив categories[ ] потрібен для передачі всіх товарних категорій у тій ієрархії, у якій вони існують у вашому каталозі, наприклад: Корм для тварин → Корм для котів → Сухий корм для котів → … 

Глибина вкладеності - як у вашому власному каталогу.

Зв’язок між категоріями різних рівнів задається через parent_id.


Формат даних масиву categories[ ]:

Поле

Тип даних

Обов’язкове

Опис

id

string

Так

Код (ідентифікатор) категорії товару. Унікальний у межах масиву. Має залишатися незмінним у кожному наступному фіді.

parent_id

string / null

Так

Ідентифікатор батьківської категорії. Для кореневої категорії значення має бути null

name

string

Так

Назва категорії товару



Приклад масиву categories[ ]:

"categories": 
[
  { "id": "1000", "parent_id": null, "name": "Бакалея" },
  { "id": "1001", "parent_id": "1000", "name": "Кондитерські вироби" },
  { "id": "1002", "parent_id": "1001", "name": "Торти" },
    ...
    ...
  { "id": "100Х", "parent_id": "100(Х-1)", "name": "Каштан"},
  { "id": "100(Х+1)", "parent_id": "100Х", "name": "Каштан 500 г пластик" }
]


Масив price_types[ ]:


У масиві price_types[ ] ви визначаєте типи цін, які ви хочете синхронізувати з нашою системою.

Це можуть бути стандартні типи цін або ціни в окремих торгових точках чи каналах продажу. 

Наприклад:

  • роздрібна
  • рекомендована роздрібна
  • акційна
  • оптова 
  • закупівельна
  • ціна окремого каналу продажу


Формат даних масиву price_types[ ]:

Поле

Тип даних

Обов’язкове

Опис

id

string

Так

Код (ідентифікатор) типу ціни. Унікальний у межах масиву. Має залишатися незмінним у кожному наступному фіді.

name

string

Так

Назва типу ціни. Наприклад: "Роздрібна ціна", "Акційна ціна", "РРЦ", "Магазин Київ", "Онлайн"


Приклади масиву price_types[ ]:


[ { "id": "1", "name": "Моя ціна" } ]


[ { "id": "1", "name": "Роздрібна ціна" }, 
{ "id": "2", "name": "Акційна ціна" },
{ "id": "3", "name": "РРЦ" } ]


[ { "id": "XXXX", "name": "Магазин Харків" }, 
{ "id": "YYYY", "name": "Онлайн" } ]



Масив products[ ]:


Масив products[ ] є основною частиною фіду: саме тут передаються всі ваші товари, їхні характеристики, наявність і ціни.


Формат даних масиву products[ ]:

Поле

Тип даних

Обов’язкове

Опис

id

string

Так

Код (ідентифікатор) товару. Є ключовим для оновлення товару в Pricer24. Має бути унікальним і постійним для одного й того самого товару. Pricer24 використовує його, щоб оновлювати той самий товар у наступних версіях фіду.

category_id

string

Так

Код (ідентифікатор) категорії, до якої належить товар. Має відповідати одному з id у масиві **categories[] **

name

string

Так

Назва товару

vendor

string

Ні

Назва виробника товару

vendor_code

string

Ні

Артикул товару (код виробника). Передається за наявності

barcode

string

Ні

Штрих-код товару (EAN/UPC)

link

string (URL)

Ні

Посилання на сторінку товару на вашому сайті

image_link

string (URL)

Ні

Посилання на зображення товару

availabilty

boolean / string

Ні

Поточний стан наявності товару

prices

array<object>

Ні

Масив цін товару (тип ціни, значення ціни, валюта)


⚠ ВАЖЛИВО ! : Ідентифікатори товарів та категорій (id) мають залишатися незмінними у кожному наступному фіді протягом усього часу роботи з Pricer24.


Саме за id Pricer24 розуміє, чи потрібно оновити вже наявний запис, чи створити новий.

Назву товару можна уточнювати, перекладати або доповнювати, але id не потрібно змінювати, якщо товар залишається тим самим.


Зміна id для вже переданого товару або категорії може призвести до втрати попередніх зіставлень ваших товарів з пропозиціями конкурентів.

У такому випадку налаштування доведеться виконувати повторно, що призведе до фінансових витрат, яких можна уникнути


Масив prices[ ] всередині об'єкту product:


Масив product.prices[ ] містить усі ціни, які ви передаєте для одного конкретного товару.

Кожна ціна має посилатися на один із типів цін, описаних у кореневому масиві price_types[ ].

Спочатку ви описуєте всі типи цін у кореневому масиві price_types[ ], а потім у кожному товарі (у product.prices[ ] ) передаєте ціни з посиланням на відповідний id з довідника price_types[ ].


product.prices.price_type_idprice_types.id



Формат даних масиву product.prices[ ]:

Поле

Тип даних

Обов’язкове

Опис

price_type_id

string

Так

Ідентифікатор типу ціни. Має відповідати одному з id у масиві price_types[]

price

number

Так

Ціна товару для цього типу ціни. Значення має бути числом. Для дробової частини використовуйте крапку, наприклад 189.99

currency

string

Так

Валюта ціни згідно зі стандартом ISO 4217  ("UAH", "PLN", "USD", "EUR" … )

 

Поле availability - правила передачі


availability показує, чи є товар у наявності. Значення можна передавати у форматі, який уже використовується у вашому каталозі.


Приклади:

Формат

Товар в наявності

Товар не в наявності

boolean

true

false

string

"+"

"-"

string

"1"

"0"

string

"yes", "in_stock", “Х”, "В наявності" …

"no", "out_of_stock", "Не в наявності"…



Оновлено: 21/05/2026

Чи була ця стаття корисною?

Поділіться своїм відгуком

Скасувати

Дякуємо!