Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Для формування API запитів, за допомогою яких Майданчик буде взаємодіяти взаємодії Майданчика з ЦБД рекомендуємо орієнтуватися на використовувати Swagger Prozorro.Sale

В У цьому документі розглянемо розглядаємо загальні правила роботи з API, які що допоможуть правильно взаємодіяти з обʼєктами об'єктами ЦБД.


Публікація обʼєкта (POST)

Для публікації обʼєкта в ЦБД необхідно передати запит з правильною структурою (body) із заповненими всіма обовʼязковими полями.

Щоб опублікувати об'єкт у ЦБД, потрібно надіслати API-запит із правильною структурою body, заповнивши всі обов’язкові поля.

Якщо хоча б одне обов'язкове поле відсутнєЯкщо в запиті НЕ передано одне чи декілька обовʼязкових полів, ЦБД поверне помилку:

Для публікації невистачає одного обовʼязкового поля:

...

Не вистачає декількох обовʼязкових полів:


Додавання об'єкта у вкладений масив

Якщо потрібно додати новий елемент до вкладеного масиву (наприклад, items[] у Процедурі)Якщо існує потреба опублікувати вкладений в масив обʼєкт, необхідно використовувати також POST, а не PATCH.

Наприклад, в раніше опублікованій Процедурі необхідно додати в items[] ще один item

Потрібно використати запит запит:

Цей запит НЕ змінюючи інші поля Процедури, а також не змінюючи вже існуючі в items[] обʼєкти item, додасть ще один item до items[]Для даної ситуації бажано НЕ використовувати PATCH всієї Процедури або PATCH , де в запиті передати поля, які не змінюються додає новий item без зміни інших полів Процедури чи існуючих об'єктів у items[]

Note
titleНЕ рекомендується:

Використовувати PATCH, якщо в тілі запиту передаються всі поля Процедури (зокрема, ті, що не змінюються).


Інші приклади використання:

...

Якщо виникає потреба змінити значення в полях раніше опублікованої процедури, необхідно використовувати PATCHРедагувати

можна як весь обʼєкт повністю, так і вкладені підобʼєктиВ запиті на редагування необхідно передавати тільки поля, в яких змінюється значення. Якщо значення змінюється в полі вкладеного обʼєкта, а користувач використовує PATCH запит редагування батьківського обʼєкта, то передавати потрібно всі поля вкладеного обʼєкта: ті, що змінюють значення а також ті, які значення не змінюють.

Приклад 1:

В опублікованій процедурі необхідно редагувати ТІЛЬКИ guarantee, необхідно передавати всі вкладені в guarantee поля: currency та amount

...

але немає потреби надсилати в запиті весь обʼєкт Процедури разом з полями в яких не змінюється значення.

...