API курсу НБУ для CRM: валютні угоди у звітах у гривні
Оновлено 26.09.2026
Відділ продажів, що працює з іноземними клієнтами, веде угоди в доларах і євро, а керівник хоче бачити воронку і план у гривні. Якщо кожен менеджер перераховує суму за курсом, який побачив у новинах, звіт перестає сходитися. Initask API дає офіційний курс гривні НБУ на будь-яку дату запитом `GET https://dani.initask.com/v1/rates`, і CRM може перераховувати суми сама, однаково для всіх угод.
Який курс брати
Перше рішення не технічне, і його варто ухвалити разом з фінансистом: на яку дату брати курс.
- Дата створення угоди підходить для аналізу воронки: сума в гривні фіксується, коли угода зʼявилась, і не стрибає разом з курсом.
- Сьогоднішня дата підходить для оцінки поточної вартості відкритих угод у гривні.
- Дата оплати потрібна для фактичної виручки, і тут CRM має збігатися з бухгалтерією.
API повертає курс на будь-яку дату від 1996-01-06 до завтра, тож кожен із цих варіантів реалізується одним параметром `date`.
Запит
``` curl -H "Authorization: Bearer $INITASK_KEY" "https://dani.initask.com/v1/rates?date=2026-09-25&cur=USD,EUR" ```
Параметр `cur` обмежує відповідь потрібними валютами, до 20 кодів ISO 4217 через кому. Для CRM зазвичай вистачає двох-трьох валют. Без параметра `date` береться сьогоднішній день за Києвом.
Що приходить у відповіді
| Поле | Що означає | Приклад на 2026-09-25 |
|---|---|---|
| date | дата курсу | 2026-09-25 |
| base | базова валюта, завжди UAH | UAH |
| rates[].cc | код валюти | USD |
| rates[].name | назва валюти | Долар США |
| rates[].rate | гривень за одну одиницю | 44.9729 |
| rates[].r030 | цифровий код валюти | 840 |
Курс подано за одну одиницю валюти для всіх валют. Сума угоди в доларах множиться на `rate`, і виходить сума в гривні. Для євро на ту саму дату курс 51.122.
Зверніть увагу на поле `date` у відповіді: це дата встановлення курсу, і вона може відрізнятися від дати угоди. Зберігайте в картці обидві дати, щоб потім було зрозуміло, за яким курсом рахували.
Звіти продажів у гривні
Коли кожна угода має суму в гривні за погодженою датою, звіти стають чесними. План відділу в гривні порівнюється з фактом у гривні, і курсові коливання не маскують результат менеджера. Корисно мати в звіті і валютну, і гривневу суму: якщо в гривні план виконано лише завдяки курсу, керівник має це бачити.
Для прогнозу відкритих угод за сьогоднішнім курсом зручно показувати окремою колонкою різницю між сумою на дату створення і поточною. Великі розбіжності підкажуть, де варто переглянути ціну в пропозиції.
Комерційні пропозиції у валюті
Якщо менеджер виставляє пропозицію в гривні з привʼязкою до валюти, CRM може підставляти в шаблон офіційний курс на дату пропозиції. Клієнт бачить, за яким курсом рахували, а пропозиція містить посилання на офіційне джерело. Це знімає суперечки про «чий курс правильний».
Кеш і ліміти
Курс на минулу дату не змінюється, і шлюз тримає його в кеші добу, на сьогодні і завтра 10 хвилин. CRM варто робити так само: курс минулої дати зберігати у своїй таблиці назавжди, сьогоднішній оновлювати раз на кілька хвилин. Тоді навіть велика база угод витрачає кілька запитів на день.
| План | Запитів | Ціна, грн на місяць |
|---|---|---|
| Безкоштовний | 100 на добу | 0 |
| Старт | 10000 на місяць | 990 |
| Про | 100000 на місяць | 2990 |
Курс на завтра
НБУ встановлює курс на наступний робочий день близько 15:30 за Києвом. Після цього запит із завтрашньою датою повертає новий курс, а до того відповідає 404. Для CRM це означає, що нічне оновлення сум за завтрашнім курсом має запускатися після публікації, інакше воно отримає помилку.
Помилки
| Код | Помилка | Коли |
|---|---|---|
| 400 | bad_request | дата у форматі, відмінному від YYYY-MM-DD, або поза межами |
| 404 | not_found | на дату немає курсів або серед них немає запитаних валют |
Що робити
- Узгодьте з фінансистом, на яку дату CRM перераховує угоди.
- Додайте в картку угоди поля суми в гривні, курсу і дати курсу.
- Налаштуйте збереження курсів минулих дат у своїй таблиці.
- Для валютних платежів перевіряйте реквізити через API перевірки IBAN, клієнтів-юросіб через картку за ЄДРПОУ.
- Опис полів у документації курсу НБУ, тарифи на сторінці Ціни і ліміти.
Питання і відповіді
Як перерахувати суму угоди в CRM у гривню за курсом НБУ?
Запитайте курс на потрібну дату через GET https://dani.initask.com/v1/rates з параметрами date і cur і помножте суму на поле rate: курс подано за одну одиницю валюти.
На яку дату брати курс для угоди в CRM?
Для аналізу воронки на дату створення угоди, для оцінки відкритих угод на сьогодні, для фактичної виручки на дату оплати, як у бухгалтерії.
Коли зʼявляється курс на завтра?
НБУ встановлює курс на наступний робочий день близько 15:30 за Києвом, після цього API повертає його для завтрашньої дати.