Визначення

Цей сервіс надає API для завантаження та отримання файлів. Сервіс роботи з документами генерує токени доступу до файлів за допомогою яких інші сервіси отримують доступ до них (до їх відображення). 


Всі документи, які необхідно додати до Обʼєктів в ЦБД спочатку завантажуються у Документ.Сервіс.

Із цього визначається різниця:

Файл - це цифровий обʼєкт, що може містити будь-який вид даних. Файли можуть мати різні формати, такі як текстові файли (.txt), документи Microsoft Word (.docx), зображення (.jpg, .png), відео (.mp4), аудіо (.mp3), архіви (.zip), та багато інших. Формат файлу вказує на тип та структуру даних, які він містить, і визначає, як програми повинні їх інтерпретувати.

На Документ.Сервіс завантажуються Файли.

В термінології ЦБД "Файл" - це обʼєкт що завантажено на Документ.Сервіс.

При завантаженні Файлу на Документ.Сервіс (form-data request) вказуються обовʼязкові атрибути:

  • _scope: pubilc OR private (URL: /api/documents/public OR /api/documents/private)
  • documentType (які існують - тут)
  • file - фізичний файл на носії інсформації.

В термінології ЦБД "Документ" - це Файл, який додано до Обʼєкта (Процедури, обʼєкта реєстру тощо). Після завантаження Файлу у Документ.Сервіс є можливість додати цей Файл у documents[] обʼєкта.

В певних статусах Обʼєкта є можливість замінити Файл у Документі обʼєкта (тобто, у Документ.Сервіс завантажується новий Файл. Отримано новий token. Після цього PATCH-иться Документ у Обʼєкта, де в запиті вказується новий token. В результаті у Процедурі залишається той самий Документ (змінений), але у Документі інший Файл)


В запиті до створення Обʼєкта додаються отримані від документ сервісу токени доступу до цих документів. Документи можуть публікуватися з типом (scope) public або private.  Для доступу до завантаження документів на сервіс потрібно використовувати Токен Майданчика.

Для скачування документів типу private необхідно мати дійсьний токен документа (тобто приватні документи відображаюся тільки в кабінеті Організатора, Учасника та менеджера майданчика через який цей учасник подав заяву на участь).

Загальна інформація про типи документів, які публікуються в ЦБД тут.

Для публікації документів в інших сервісах ЦБД  використовується токен доступу, який надсилає документ сервіс користувачеві після публікації документу




  1. Завантажив public документ в ДС. Отримав Токен
    1. Будь хто може скачати public документ по https://procedure-dev.prozorro.sale/api/documents/public/{{id}}
      1. де {{id}} - отриманий із Токена за допомогою сервісу https://jwt.io/
      2. або {{id}} також можна побачити, якщо Процедура опублікована з вказаним документом
    2. Будь хто може скачати public документ по endpoint https://procedure-dev.prozorro.sale/api/procedures/{{procedure_id}}/documents/{{doc_id}}/download
  2. Завантажив private документ в ДС. Отримав Токен
    1. Не можу скачати private документ по посиланню https://procedure-dev.prozorro.sale/api/documents/private/{{id}}
      1. Отримую помилку "No token provided"
    2. Не можу скачати private документ по посиланню https://procedure-dev.prozorro.sale/api/documents/public/{{id}}
      1. Отримую помилку "File not found"
    3. Не можу скачати private документ використовуючи token процедури по endpoint https://procedure-dev.prozorro.sale/api/documents/private/{{id}}?token={{procedure_token}}
    4. Можу скачати private документ по endpoint https://procedure-dev.prozorro.sale/api/documents/private/{{id}}?token={{jwt token}}
    5. Можу скачати private документ по endpoint https://procedure-dev.prozorro.sale/api/procedures/{{procedure_id}}/documents/{{doc_id}}/download?acc_token={{procedure_token}}


Якщо через Адмінку змінити scope документа з public на private, то оновлюється його ds_id і в Адмінці можна побачити token оновленого документа і, відповідно, його скачати.

  • No labels