Загальна інформація
З метою автоматичного перевиставлення лотів, що відповідає Постанові №75 від 21 січня 2026 в системі Prozorro.Sale на сервісі Jobber реалізовано нову сутність з pipelineMethod: sanctionedAuctionChain
Сервіс, який вже вміє публікувати Процедури за певною логікою - Jobber. Саме на ньому реалізовані Інформаційні Повідомлення, які використовуємо в процесі Малої і Великої Приватизації. Тому для "ланцюжків" санкційного також використовуємо існуючий сервіс - Jobber.
Swagger можна знайти ТУТ на табі з відповідною назвою "Jobber"
Шлях Організатора на Майданчику
Публікація ланцюжка
Бізнесово: У Організатора повинна бути можливість запустити Процес реалізації санкційного активу (ланцюжок аукціонів) шляхом публікації в ЦБД першого аукціону.
Технічно: Від Майданчика ЦБД буде очікувати запит на публікації обʼєкта jobber.sanctionedAuctionChain
Обовʼязкові поля
Бізнесово: Оголосити електронний аукціон має право виключно організатор аукціону після затвердження стартових цін реалізації активу для всіх аукціонів.
Необхідно надати можливість Організатору заповнити поля, які вимагаються для публікації Першої процедури (перший англієць):
| Назва поля | field | Коментар | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Інформація про організатора аукціону | initialProps.sellingEntity | Якщо якісь дані по організатору заповнюються автоматично або вручну Майданчиком, то це дозволяється | ||||||||||||
| Номер лоту | initialProps.lotId | |||||||||||||
| Назва аукціону | initialProps.title | |||||||||||||
| Опис аукціону | initialProps.description | |||||||||||||
| Наявність умов продажу | initialProps.saleConditions | |||||||||||||
| Стартова ціна лота | initialProps.value | |||||||||||||
| На фінальну суму нараховується ПДВ | initialProps.valueAddedTaxCharged | Організатор може не передати це значення і тоді ЦБД автоматично проставить, що НЕ нараховується (false) | ||||||||||||
| Розмір кроку аукціону | initialProps.minimalStep | В Постанові крок (мінімальний крок) аукціону, що встановлюється на рівні 1 відсотка стартової ціни активів для кожного аукціону; ЦБД не валідує значення, яке передає Майданчик.
Це передане значення буде враховуватись для Першої процедури в ланцюжку. Для другої і третьої процедур ЦБД розрахує значення автоматично, як 1% від Стартової відповідного аукціону Деталі розрахунку описані в ТЗ до Ланцюжків санкційного | ||||||||||||
| Розмір гарантійного внеску | initialProps.guarantee | В Постанові гарантійний внесок - сума коштів
яка вноситься потенційним покупцем активу для забезпечення виконання його зобов’язання щодо участі в аукціоні у вигляді грошових коштів або банківської гарантії. Значення, яке вкаже Організатор, - на ЦБД не валідується. Використовуватись буде тільки для першої Процедури. Для другої і третьої - ЦБД автоматично розрахує значення і авто-опублікує Процедуру з розрахованим значенням. Деталі розрахунку описані в ТЗ до Ланцюжків санкційного | ||||||||||||
| Розмір реєстраційного внеску | initialProps.registrationFee | В Постанові реєстраційний внесок - плата за реєстрацію заяви про участь в аукціоні, що вноситься особою, яка має намір взяти участь в аукціоні, на відповідний рахунок оператора, у розмірі
Поле не обовʼязкове для публікації Ланцюжка! Процедури можуть існувати без цього поля. Майданчик може залишити право розрахувати значення автоматично без участі Організатора. Значення, яке передається на ЦБД в запиті - не валідується. Використовуватись буде для першої Процедури. Для другої і третьої - ЦБД скопіює значення із попередньої процедури і авто-опублікує Процедуру зі скопійованим значенням. | ||||||||||||
| Банківські рахунки | initialProps.bankAccounts | Обов'язково один банківський рахунок з типом guarantee і валютою UAH. | ||||||||||||
| Склад лота | initialProps.items | Використовується стандартна логіка (можна взяти із вже розробленої Процедури SAE) | ||||||||||||
| Інформація про дати і періоди аукціонів | extraSpecs.periods | Організатору необхідно заповнити образу декілька параметрів про Періоди. Для кожної із трьох процедур ланцюжка окремо:
Ми не диктуємо назви полів. Вище інформація для прикладу. Можна використовувати свої назви, якщо це виглядає з Вашої точки зору більш логіно Приклад для < 250млн, як це передавати в запиті: "extraSpecs": [
{
"periods": [
{
"periodName": "auctionPeriod",
"startDate": "2026-03-20T10:00:00.000000Z"
}
]
},
{
"periods": [
{
"periodName": "tenderPeriod",
"duration": [
{
"unit": "c_day",
"quantity": 25
}
]
}
]
},
{
"periods": [
{
"periodName": "tenderPeriod",
"duration": [
{
"unit": "c_day",
"quantity": 35
}
]
}
],
"dutchStep": {
"dutchStepQuantity": 99
}
}
]
| ||||||||||||
| Крок голландського раунду | extraSpecs.dutchStep | Кількість кроків в голландському аукціоні, який авто-створюється на ЦБД третім в ланцюжку Постанова Загальна кількість кроків, на які знижується стартова ціна на аукціоні за методом покрокового зниження стартової ціни та подальшого подання цінових пропозицій, - становить 99 кроків. ЦБД прийме будь-яке значення. Згідно постанови потрібно передавати 99 кроків. В Прикладі вище останнім параметром приклад для dutchStep |
Важливо
Поля можуть передзаповнюватись представниками Майданчика, автоматично підтягуватись із кабінету Організатора, розраховуватись в якості допомоги Організатору.
На інтерфейсі Майданчика їх можна структурувати та розмістити поля для вводу логічно для зручності Організатора.
Основне - щоб в запиті на публікацію обʼєкта ЦБД були передані всі обовʼязкові поля вказані вище в таблиці
Не обовʼязкові поля
| Назва поля | field | Коментар |
|---|---|---|
| Документи аукціону та пов'язані додатки | initialProps.documents | Використовується стандартна логіка Обовʼязкові документи для публікації ланцюжка відсутні. Описано в ТЗ |
| Мінімальна кількість заяв | initialProps.minNumberOfQualifiedBids | Поле не обовʼязкове для заповнення Організатор може передати явно 1 або 2 за необхідності Якщо не заповнює, то ЦБД автоматично проставить 1 |
| Порядок ознайомлення з майном, час і місце проведення огляду об’єкта | initialProps.accessDetails | |
| Додаткові відомості | initialProps.x_additionalInformation |
Технічні поля, які необхідно передати невидимо для Організатора
| Назва | field | Коментар |
|---|---|---|
| Метод | pipelineMethod | Необхідно передати "pipelineMethod": "sanctionAuctionChain" |
Авто-створення першої процедури в ланцюжку
Коли Організатор заповнив всі обовʼязкові поля і Опублікував "ланцюжок", протягом 5-ти хвилин буде автоматично створено першу процедуру.
Власником (owner) обʼєкта стає Майданчик, який опублікував ланцюжок.
Редагування полів, які заповнив Організатор в "ланцюжку", до створення першої процедури - неможливо.
Майданчик має реалізувати логіку, яка буде окремим запитом, з використанням токена створеного ланцюжка, забрати id і токен автоматично створеної Процедури.
Можна робити перший запит через 10 секунд після публікації "ланцюжка". Якщо повернувся пустий масив[], то повторний запит через 30 секунд і далі з інтервалом в 1 хв.
Як варіант, отримання токену не автоматизовувати, а надати можливість Організатору отримувати по кнопці і переходити на Аукціон.
Можна завʼязатися на Mirror і "відловлювати" обʼєкт там. Фільтр - по полю "owner".
Ця реалізація на розсуд Майданчика, тут описані лише можливі варіанти.
Головне, щоб Організатор мав можливість працювати з авто-створеною процедурою аналогічно як з тою, яка публікується "руками".
Приклад запиту для отримання id і токену процедури:
{{baseUrl}}/api/jobber/sanctionedAuctionChain/jsc/{{object_id}}/produced_entities?acc_token={{object_acc_token}}
Отримавши id і токен першої створеної процедури необхідно надати можливість Організатору переглянути обʼєкт.
Організатор має можливість редагувати поля процедури згідно стандартних правил, які описані в ТЗ по процедурі
Відбувається стандартна робота з процедурою, яка не відрізняється від існуючого процесу.
Особливості
Редагування полів
В інтерфейсі необхідно дати можливість Організатору побачити дані щодо запланованих другого і третього аукціонів.
Технічно можна отримати цю інформацію з запиту до обʼєкта JSC в полі _specs. Деталі тут в ТЗ
З моменту створення першої процедури "ланцюжок" набуває статусу active.
В цьому статусі "ланцюжка" Організатор може редагувати поля:
- період експозиції для другої процедури (в днях) до моменту створення другої процедри в ланцюжку
- період експозиції для третьої процедури (в днях) до моменту створення третьої процедри в ланцюжку
В JSC редагуються тільки два вищевказані параметри.
Авто-створення першої процедури в ланцюжку
Якщо перша процедура в ланцюжку отримала статус unsuccessful, то протягом 5 хвилин створюється друга процедура, в яку копіюються значення полів із першої процедури + встановлюється дата auctionPeriod.startDate відповідно до періода експозиції із "ланцюжка".
Обʼєкт "ланцюжка" не змінює статус і залишаєтсья у статусі active
Деталі і приклади розрахунку стартової ціни описані в розділі "Поля що розраховуються автоматично при створенні другої і третьої процедури"
Важливо
Такі поля, як
- Інформація про організатора аукціону
title
description
lotId