В разі виникнення необхідності перенести обʼєкт ЦБД з одного Майданчика на інший, на Prozorro.Sale надходить пиьсмове звернення.
В процесі виконання операції переносу обʼєкта, адміністратор ЦБД виконує команду.
В результаті виконання команди в обʼєкті в модель _meta{} додається масив transfer[] зі значенням owner name майданчика, на який переносять обʼєкт.
| name | type | mandatory |
| ownerTransfer | string | false |
Дане поле заповнюється значенням, яке вказав виконавець заявки в Адмінці в полі Owner
Приклад структури _meta{} з масивом transfer[]:
|
де,
_id - технічний ідентифікатор обʼєкта, для якого змінюють owner-а. Наприклад, _id процедури або біда
objType - тип обʼєкта, для якого змінюють owner. Може приймати одне із значень:
| procedure |
| bid |
| asset |
| largeAsset |
| execution |
| largeExecution |
| registry |
| lease_request |
| action |
| announcement |
| largeAnnouncement |
| redemption |
| largeRedemption |
ownerTo - це owner name майданчика, на який переносять обʼєкт (майданчик-реціпієнт)
Команда має виконуватись повторно для обʼєкта, навіть якщо в transfer[] вже присутній _id цього обʼєкта. В такому випадку значення поля ownerTo заміняється на нове.
Видалити обʼєкт із масива transfer[] неможливо, якщо його вже додали командою.
Можна замінити значення в полях обʼєкта в масиві transfer[] повторним виконанням команди Change procedure owner commands.
Обʼєкт масиву transfer[] має зникнути після отримання Майданчиком-реціпієнтом токену. Тобто, поля в transfer[] відображаються з моменту успішного виконання команди і до моменту успішного запиту майданчиком-реціпієнтом.
ВАЖЛИВО! Токен до обʼєкта процедури на цьому етапі не змінюється! Навіть при наявності в обʼєкті поля _meta.trasfer[] попередній owner обʼєкта може виконувати дії над обʼєктом використовуючи свій токен.
Перевірити успішність виконання команди, зокрема, можна переглянувши JSON обʼєкта.
Після виконання команди в обʼєкті має бути масив transfer[] в якому буде обʼєкт з полем ownerTo, де має бути записано owner name майданчика на який переносили обʼєкт.
в масиві transfer[] може бути декілька обʼєктів, якщо, наприклад, виконати дві команди в адмінці: на зміну owner-а для процедури та на зміну owner-а біда
|
В результаті виконання команди в обʼєкті для якого виконували команду має бути присутній масив transfer[] в якому присутні поля _id, objType та ownerTo
На цьому етапі Токен до процедури не змінився, Майданчик-донор може виконувати дії над Процедурою використовуючи свій токен.
Для фактичної зміни токена до процедури Майданчику-реціпієнту потрібно зробити виклик API-запиту
Необхідно розробити команду за допомогою якої Майданчик-реціпієнт отримує токен до обʼєкта, який на нього хочуть перенести.
Ознакою того, що на Майданчик хочуть перенести обʼєкт є наявність в обʼєкті поля _meta{} масиву transfer[] з полями _id, objType та поля ownerTo в якому записано значення owner name майданчика-реціпієнта.
Наприклад, якщо в Адмінці була виконана команда на переніс обʼєкта на Майданчик "test_broker_1", то в обʼєкті, який переносять буде:
|
Щоб отримати токен до обʼєкту, Майданчику-реціпієнту необхідно виконати запит
| HTTP метод | GET | |
| Header | Authorization | {{broker_token}} |
Приклад запиту:
GET {{host}}/api/transfer/{{object_id}}/getObjectToken
params:
host -
| Dev | |
| Sandbox | |
| Prod | https://procedure.prozorro.sale |
object_id - технічний ідентифікатор обʼєкта "_id". Приклад: 67f3889fe820f82002c07a04
Відповідь 200 ОК:
|
Запит обовʼязково має бути аутентифікований (відпрацьовує тільки з використанням унікального токену Майданчика)
ВАЖЛИВО! Результатом успішного виконання запиту має бути видача токена новому власнику, а також прибирання із обʼєкта, для якого виконувався переніс, полів _id, objType та ownerTo в масиві transfer[]
Тобто, поля в transfer[] відображаються з моменту успішного виконання команди в Адмінці і до моменту успішного GET запиту майданчиком-реціпієнтом.
Відповідь 403 Forbidden:
|
Якщо обʼєкт ще не передано (відсутнє поле metaInfo.ownerTransfer), то повертаємо 403
Відповідь 404 Not Found:
|
В системі має відбуватись логування дій отримання токену Майданчиком-реціпієнтом.