Initask API

Тендери компанії на JavaScript: блок «Держзакупівлі» в інтерфейсі

Оновлено 26.09.2026

Картка контрагента в CRM, сервіс перевірки компаній чи кабінет менеджера з тендерів виграють від блоку «Держзакупівлі». Людина відкриває компанію і бачить: скільки тендерів вона оголосила як замовник, скільки виграла як учасник, на які суми, і останні закупівлі списком. Initask API повертає ці дані за кодом ЄДРПОУ запитом `GET https://dani.initask.com/v1/company/{edrpou}/tenders`. Нижче приклад на JavaScript і поради щодо інтерфейсу.

Приклад

```javascript const r = await fetch("https://dani.initask.com/v1/company/42062483/tenders?role=buyer&limit=3", { headers: { Authorization: `Bearer ${process.env.INITASK_KEY}` }, }); const { ok, data, error } = await r.json(); console.log(r.headers.get("X-RateLimit-Remaining"), data); ```

Запит робить сервер з ключем у змінній середовища. Браузер отримує готові дані для блоку, ключ Initask API у код сторінки не потрапляє.

Верх блоку: чотири числа

Підсумок у відповіді дає чотири числа, які варто показати великим шрифтом: кількість тендерів як замовник, їхня очікувана сума в гривнях, кількість перемог як учасник і сума перемог. Для коду з прикладу це вісім тендерів замовника на 294448 гривень і нуль перемог. Поруч з числами посилання на сторінки замовника і учасника на tender.initask.com для тих, кому потрібні деталі.

Перемикач ролі

Під числами перелік тендерів. Параметр `role` визначає, що в ньому: `buyer` дає тендери, оголошені компанією як замовником, `winner` тендери, які вона виграла. Зручно зробити перемикач із двох вкладок. Друга вкладка робить окремий запит на сервер. Поле `total` у відповіді показує, скільки всього тендерів у вибраній ролі, і його варто вивести в назві вкладки.

Кожен рядок переліку містить номер тендера в Prozorro, назву закупівлі, статус, суму, валюту, дату і посилання. У прикладі це закупівлі послуг із соціально-психологічної адаптації ветеранів по 33460 гривень зі статусом `complete`. Назви закупівель бувають довгими, тому в рядку показуйте перші слова і повну назву в підказці.

Форматування сум і дат

Суми в тендерах приходять числами в гривнях, і їх варто форматувати з розділенням розрядів, щоб великі суми читалися з першого погляду. Дата тендера містить час і часовий пояс, а людині зазвичай досить дня: обріжте час при показі. Для підсумкових сум корисно скорочення на кшталт «тис.» і «млн» у великих числах, але в підказці варто показати точне значення.

Скільки рядків

Параметр `limit` задає кількість тендерів від 1 до 200, без нього 50. Для картки контрагента досить пʼяти-десяти останніх, для сторінки аналітики більше. Не просіть 200 для блоку, який показує кілька рядків: відповідь буде важчою без жодної користі.

Три стани порожнечі

Інтерфейс має розрізняти три випадки, і кожен показувати по-своєму.

Перший: нулі в підсумку, назва null і порожній перелік. Компанія в завантажених тендерах не була ні замовником, ні переможцем. Показуйте «Участі в держзакупівлях не знайдено».

Другий: підсумок є, але в обраній ролі перелік порожній, наприклад замовник без перемог. Показуйте порожню вкладку з поясненням.

Третій: поле `items` дорівнює null. Перелік тимчасово недоступний, і це треба сказати прямо: «Перелік тендерів тимчасово недоступний, спробуйте пізніше». Підсумок при цьому можна показати.

Коди, помилки і 429

Параметр `edrpou` приймає код ЄДРПОУ з 8 цифр або РНОКПП підприємця з 10 цифр. Відповідь 400 приходить, коли довжина коду відмінна від 5-8 або 10 цифр, `role` поза buyer і winner або `limit` поза межами 1-200. Після вичерпання ліміту приходить 429 з заголовком `Retry-After`, і блок має показати, що дані тимчасово недоступні.

ПланЗапитівЦіна, грн на місяць
Безкоштовний100 на добу0
Старт10000 на місяць990
Про100000 на місяць2990

Відповідь кешується шлюзом на 10 хвилин. На своєму сервері зберігайте результат для картки контрагента довше, наприклад добу: історія закупівель змінюється повільно.

Що робити

  1. Перенесіть запит на сервер і віддавайте блоку підсумок і перелік.
  2. Покажіть чотири числа підсумку і перемикач ролей з кількістю тендерів.
  3. Обробіть три стани порожнечі окремими повідомленнями.
  4. Поруч розмістіть картку компанії за ЄДРПОУ, а для пошуку за назвою підключіть пошук компаній.
  5. Опис полів у документації тендерів, тарифи на сторінці Ціни і ліміти.

Питання і відповіді

Як показати тендери компанії на сайті?

Запит fetch з сервера до https://dani.initask.com/v1/company/{edrpou}/tenders повертає підсумок замовника і переможця і перелік тендерів обраної ролі.

Як переключитися між тендерами замовника і перемогами?

Параметр role=buyer дає тендери, оголошені компанією, role=winner її перемоги. Без параметра береться buyer.

Що означає items: null?

Перелік тимчасово недоступний. Покажіть підсумок і повідомте, що перелік можна подивитися пізніше.

Джерела даних

Корисні сторінки

Читайте також

Отримати ключ API

Ключ прийде листом, 100 запитів на добу безкоштовно.

Потрібен AI-агент під вашу задачу?

Агент, що збирає дані з відкритих реєстрів у ваші системи і готує звіти без ручного копіювання.

Описати задачу