Приклад для угоди ----------------- Зміна власника угоди ~~~~~~~~~~~~~~~~~~~~ Переглянемо приклад зміни власника для угоди. Отримання доступу до угоди ^^^^^^^^^^^^^^^^^^^^^^^^^^ Спочатку отримаємо доступ до угоди: .. http:example:: tutorial/get-agreement-credentials.http :code: Майданчик `broker` є поточним власником ``owner`` угоди. Зверніть увагу, що секція відповіді `access` містить ключ ``transfer``, який використовується для зміни власника угоди. Після отрімання доступу до угоди майданчик повинен довести ключ ``transfer`` до відома клієнта. Ініціація зміни власника ^^^^^^^^^^^^^^^^^^^^^^^^ Перш за все, необхідно знати ID угоди, власника якого ви хочете змінити. Майданчик, що стане новим власником угоди, повинен створити об'єкт `Transfer`. .. http:example:: tutorial/create-agreement-transfer.http :code: Об'єкт `Transfer` містить новий ключ доступу ``token`` та новий ключ ``transfer`` для об'єкта, власник якого буде змінений. Зміна власника угоди ^^^^^^^^^^^^^^^^^^^^ Можливість зміни власника угоди залежить від статусу угоди: +-----------+--------------+ | Дозволено | Не дозволено | +-----------+--------------+ | active | pending | | | | | | terminated | +-----------+--------------+ Щоб змінити власника угоди новий майданчик повинен надіслати POST запит на відповідний `/agreements/id/` з секцією `data`, що міститиме ідентифікатор ``id`` для `Transfer` та ключ ``transfer`` отриманий від клієнта: .. http:example:: tutorial/change-agreement-ownership.http :code: Оновлене значення властивості ``owner`` вказує, що власник був успішно змінений. Зверніть увагу, що новий майданчик повинен довести до відома клієнта новий ключ ``transfer`` (згенерований в об'єкті `Transfer`). Можна перевірити чи після застосування об'єкта `Transfer` шлях до угоди зберігається у властивості ``usedFor``. .. http:example:: tutorial/get-used-agreement-transfer.http :code: Спробуємо змінити угоду за допомогою ключа ``token``, отриманого при створенні об'єкта `Transfer`. .. http:example:: tutorial/modify-agreement.http :code: Зверніть увагу, що тільки майданчик з відповідним рівнем акредитації може стати новим власником. В іншому випадку майданчику така дія буде заборонена. .. http:example:: tutorial/change-agreement-ownership-forbidden.http :code: Зміна власника дозволена тільки якщо поточний власник тендера має спеціальний рівень акредетації, що дозволяє зміну: .. http:example:: tutorial/change-agreement-ownership-forbidden-owner.http :code: