...
| Field name | Required for publishing | Type | readOnly | x-legalNameUa | x-legalNameEn | comment |
|---|
| 1 | owner | - | string | true | Ідентифікатор майданчика | Broker Name |
|
| 2 | ownerToken | - | string($uuid) | true |
|
| x-default: hex |
| 3 | _id | - | string
| true | Внутрішній ідентифікатор | ID | x-default: object_id x-serialize_when_none: false x-format: object-id |
| 4 | datePublished | - | string($date-time)
| true | Дата публікації | Published date | x-default: now |
| 5 | dateModified | - | string($date-time)
| true | Остання дата зміни | Date modified |
|
| 6 | objectId | - | string
| true | Ідентифікатор ланцюжка | Chain ID | example: SAC001-UA-20260217-12345 |
| 7 | status | - | string | true | Статус процедури | Procedure status | enum: - pending
- active
- sold
- dissolved
|
| 8 | pipelineMethod | +
| string | false | Тип | Chain type | enum: - sanctionedAuctionChain
- sanctionedAuctionChain-fast
- sanctionedAuctionChain-manual
- sanctionedAuctionChain-ultrafast
- sanctionedAuctionChain-fast-prod
- sanctionedAuctionChain-fast-prod-fast-first
|
| 9 | initialProps | + | object | false | Загальна інформація про процедури | Procedure informantion |
|
| 10 | extraSpecs | + | list[ ] of objects | false | Інформація для базових специфікацій | Base information |
|
| 11 | producedEntities | - | list[ ] of objects | true | Створені обʼєкти | Produced entities | base.ProducedEntity{| type | string readOnly: true default: procedure Тип зв'язку | | _id | string readOnly: true x-legalNameUa: Внутрішній ідентифікатор створеної сутності x-legalNameEn: ID x-default: object_id x-serialize_when_none: false x-format: object-id | | objectId | string readOnly: true example: SAE001-UA-20260320-12345 x-legalNameUa: идентифікатор створеної сутності x-legalNameEn: produced entity idЛюдиночитаємий идентифікатор створеної сутності | | ownerToken | string($uuid) readOnly: true x-default: hexToken used for get access to produced entity | | url | string readOnly: trueDirect url to produced entity. |
|
| 12 | _specs | - | object | true | Розрахункові дані | Calculated data | |
| 13 | _meta | - | | | | | Використовується стандартна логіка |
| 14 | additionalInformation | - | | | | | Використовується стандартна логіка |
| 15 | metaInfo | - | | | | | Використовується стандартна логіка |
...
| field name | required for publishing | type | readOnly | x-legalNameUa | x-legalNameEn | comment |
|---|
| periods | + | base.PeriodSpec | false | Інформація про періоди аукціонів | Periods info | | field name | type | name | comment |
|---|
| periodName | string | x-legalNameUa: Назва періода x-legalNameEn: Period name | enum: - auctionPeriod
- tenderPeriod
| | startDate | string($date-time)
| x-legalNameUa: Дата та час початку x-legalNameEn: Start date |
| | endDate | string($date-time)
| x-legalNameUa: Дата та час завершення x-legalNameEn: End date |
| | duration | base.Duration | x-legalNameUa: Тривалість періоду x-legalNameEn: Period duration | | name | type | comment |
|---|
| unit | string | Enum:- b_day
- c_day
- hour
- minute
- second
| | quantity | integer($int64)
| minimum: 1
|
|
При публікації "ланцюжка", ЦБД очікує, що в extraSpecs обовʼязково буде передано обʼєкт для кожної процедури. Тобто, всього три обʼєкта в extraSpecs, бо процедур в ланцюжку три. Валідації На рівні ЦБД необхідно встановити валідації для pipelineMethod: sanctionedAuctionChain: Для першої процедури приймається значення: extraSpecs.[0].periods.periodName=="auctionPeriod" extraSpecs.[0].periods.startDate == if value.amount < 250 000 000 (двісті п'ятдесят мільйонів) then ЦБД має приймати тільки значення для extraSpecs.[0].periods[0].startDate в діапазоні currentDate+25 c_day <= startDate <= currentDate+35 c_day ЦБД повинна відхилити запит, якщо знчення extraSpecs.[0].periods[0].startDate, яке передають в запиті на публікацію SAC знаходиться поза цим діапазоном. else if value.amount >= 250 000 000 (двісті п'ятдесят мільйонів) then ЦБД має приймати тільки значення для auctionPeriod.startDate в діапазоні currentDate+60 c_day <= startDate <= currentDate+90 c_day ЦБД повинна відхилити запит, якщо знчення extraSpecs.[0].periods[0].startDate, яке передають в запиті на публікацію SAC знаходиться поза цим діапазоном. При цьому дата початку аукціону не може припадати на святковий чи вихідний день! | Для другої процедури приймається значення: extraSpecs.[1].periods.periodName=="tenderPeriod" extraSpecs.[1].periods.duration == if value.amount < 250 000 000 (двісті п'ятдесят мільйонів) then ЦБД має приймати тільки значення для extraSpecs.[1].periods[0].duration в діапазоні 20 c_day <= duration <= 35 c_day ЦБД повинна відхилити запит, якщо знчення duration, яке передають в запиті на публікацію SAC знаходиться поза цим діапазоном. else if value.amount >= 250 000 000 (двісті п'ятдесят мільйонів) then ЦБД має приймати тільки значення для extraSpecs.[1].periods[0].duration в діапазоні 30 c_day <= startDate <= 90 c_day ЦБД повинна відхилити запит, якщо знчення duration, яке передають в запиті на публікацію SAC знаходиться поза цим діапазоном. | Для третьої процедури приймається значення: extraSpecs.[1].periods.periodName=="tenderPeriod" extraSpecs.[1].periods.duration == if value.amount < 250 000 000 (двісті п'ятдесят мільйонів) then ЦБД має приймати тільки значення для extraSpecs.[2].periods[0].duration в діапазоні 20 c_day <= duration <= 35 c_day ЦБД повинна відхилити запит, якщо знчення duration, яке передають в запиті на публікацію SAC знаходиться поза цим діапазоном. else if value.amount >= 250 000 000 (двісті п'ятдесят мільйонів) then ЦБД має приймати тільки значення для extraSpecs.[2].periods[0].duration в діапазоні 30 c_day <= startDate <= 90 c_day ЦБД повинна відхилити запит, якщо знчення duration, яке передають в запиті на публікацію SAC знаходиться поза цим діапазоном. |
Приклад для value.amount < 250 000 000 (двісті п'ятдесят мільйонів): | Code Block |
|---|
"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
}
}
] |
|
| dutchStep | + | base.DutchStep | false | Крок голландського раунду | Dutch step | Поля dutchStepPercent та dutchStepValue автогенеруються на рівні ЦБД, без можливості внесення змін Організатором Для поля dutchStepQuantity ЦБД формує дефолтне значення згідно процедури, Організатор має можливість змінити дефолтне значення. | field name | type | name | comment |
|---|
| dutchStepQuantity | integer($int64) | x-legalNameUa: Кількість кроків x-legalNameEn: Dutch steps quantity | default: 99 maximum: 99 minimum: 1 | | dutchStepPercent | integer($int64) | x-legalNameUa: Відсоток зниження, % x-legalNameEn: Percentage reduction, % | default: 1 readOnly: true | | dutchStepValue | base.Value | x-legalNameUa: Розмір кроку голландського раунду, грн x-legalNameEn: Dutch step value | автогеровано, розраховується як 1 % від стартової ціни | currency | string default: UAH x-legalNameUa: Валюта x-legalNameEn: CurrencyEnum: enum: UAH, USD, EUR | | amount | number($float) example: 10 minimum: 0 x-format: decimal-float x-legalNameUa: Сума x-legalNameEn: Amount |
|
|
_specs1. Коли тільки створено ланцюжок (status: pending), відповідь на запит має містити:
...