Інтеграція контрактингу з системами електронного документообігу

КОНТЕКСТ в якому ми вирішуємо задачу/приймаємо рішення

Системи електронного документообігу вже широко використовутся для підписання контрактів. Мають великий досвід, служби підтримки і клієнтську базу. Для Прозорро в першу чергу важливо отримувати інформацію для публікації на порталі, тому функціональності взаємодії між користувачами і зручність користування часто вирішуєтся в останню чергу. Для користувачів було б зручніше використовувати надійні перевірені продукти, а для Прозорро - отримувати необхідну інформацію від таких продуктів. A win-win situation.

ПРОБЛЕМА яка вирішується

Існє декілька систем електронного документообігу, а вибір однієї з них надав би їй перевагу над іншими. Однією з фанкцій Прозорро є також забезпечення чесної конкуренції серед майданчиків. Отже необхідно забезпечити можливість користувачу користуватися будь-якою (або декількома) системами електронного документообігу, що забажали інтегруватися з Прозорро. Також сама інтеграція має бути простою і надійною.

Драйвери прийняття рішення

  • Підтримка і розвиток “електронного контрактингу” в Прозорро. Покращення якості даних.

  • Зменшення навантаження на команди розробки Прозорро і майданчиків.

  • Залучення нових партнерів і клієнтів (систем документообігу і їх клієнтів).

  • Репутаційний плюс для Прозорро за вклад в “електронізацію” держави.

  • Не всі дані обміну між системами можуть бути публічними.

Розглянуті варіанти

В будь-якому варіанті Прозорро буде надавати сервіс для систем документообігу, який дозволить публікувати документи контрактів. Ці контракти можуть бути на різних стадіях свого життєвого циклу. Інші системи зможуть побачити такі документи і передати на перегляд/підписання своїм користувачам. Дані контрактингу (з “електронними” полями) мають бути опубліковані на порталі Прозорро.

Зараз користувачі через майданчик створюють, редагують, підписують договори і завантажуть в апі ЦБД. АПІ валідує можливість і порядок дій користувача. Будь-яка функціональність пов’язана з контрактами в на майданчиках або системах електронного документобігу, спершу реалізуєтся на стороні апі: поля, валідації, ендпоінти. Це забезпечує однаковий і очікуваний життєвий цикл документа.

Користувач може спробувати опублікувати драфт контракту зі свого майданчика, потім з першої системи документообігу, потім - з другої. Наприклад, щоб порівняти зручність.

Використання існуючого публічного апі контрактингу

В прозорро існує апі для створення/редагування контрактів

https://prozorro-api-docs.readthedocs.io/uk/latest/contracting/index.html

На зараз робота з контрактами доступна майданчикам, з яких було створено тендер або подано накращу пропозицію. Інший майданчик не може створити контракт тим більше системах електронного документобігу.

Тож скоріш за все доробка буде включати можливість створення контрактів з будь-яких акредитованих сервісів-партнерів, і обробку усіх можливих сценаріїв, які з цього випливають.

../_images/api.png

Створнення “шини обміну документами”

Інсуюче апі вже надає можливості публікувати документи контрактів і електронні поля до них. Однак системи документообігу не зацікавлені в публікації даних в Прозорро. Більш цікавим для них буде варіант з сервісом, що дозволить різним системам документообігу (і майданчикам) обмінюватися документами. У випадку контрактів для публічних закупівель, цей сервіс сам може підтягувати необхідні дані в Прозорро.

Сервіс обміну документами має так само визначати “електронні поля” необхідні для публікації даних в Прозорро.

../_images/document_data_bus_detailed.png

Аналогічно до роботи майданчиків з АПІ ЦБД, системи документобігу можуть бачити “усі” документи і зміни через feed. Авторизація кінцевих користувачів є відповідальністю майданчиків.

../_images/doc_bus_sequence.png

АПІ ЦБД Прозорро виконує також валідації щодо життєвого циклу контракту і тендеру. Це не характерно для систем документообігу. Але вимоги залишаються, тому доведется робити синхронну інтеграцію “шини” з АПІ ЦБД, яка провалідує “електронні поля” на етапі публікації документа.

../_images/doc_bus_and_cdb_sequence.png

Плюси і мінуси описаних варіантів

АПІ контрактингу

Плюси:
  • працюючий звичний для майданчиків підхід

  • мінімальні необхідні доробки

  • можливість валідувати кожнен запит кодом АПІ ЦБД

Мінуси:
  • усі дані для обміну - публічні

  • можна обмінюватися лише контрактами для існуючих в системі тенедрів

  • низька вирогідність інтеграції систем документообігу

АПІ “шини обміну документами”

Плюси:
  • можна обмінюватися будь-якими документами між будь-якими користувачами

  • сервіс не має бути публічним

Мінуси:
  • необхідна розробка і ресурси під додатковий сервіс

  • необхідна розробка-інтеграція зі сторони майданчиків

  • скалдніше робити валідацію процедури

Обґрунтування рішення