Інтеграція підказок ІПН/ОГРН/БІК через DaData на сайті

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.
Розробка та обслуговування будь-яких видів сайтів:
Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

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

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Інтеграція підказок ІПН/ОГРН/БІК через DaData на сайті
Проста
від 4 годин до 2 робочих днів
Часті питання
Наші компетенції:
Етапи розробки
Останні роботи
  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Інтеграція підсказок ІНН/ОГРН/БІК через DaData на сайті

DaData — де-факто стандарт для автопідстановки реквізитів організацій на російських сайтах. Сервіс вміє за неповним ІНН або назвою організації повернути список компаній з повними реквізитами: ОГРН, КПП, юрадрес, ФІО директора, статус (дійсна/ліквідована). Аналогічно для банків — за БІК повертає наймення банку, кореспондентський рахунок, адресу.

Отримання токена

Реєстрація на dadata.ru, розділ «Особистий кабінет» → «API-ключі». Два ключі: Token (для запитів) та Secret (для деяких методів, наприклад стандартизації). Для підсказок достатньо тільки Token.

Безплатний тариф: 10 000 запитів на день. Для більшості форм реєстрації/заявок достатньо.

Підсказки по організаціям

Ендпоінт: POST https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/party

function suggestParty(string $query): array
{
    $response = Http::withHeaders([
        'Authorization' => 'Token ' . config('services.dadata.token'),
        'Content-Type'  => 'application/json',
    ])->post('https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/party', [
        'query'  => $query,
        'count'  => 5,
        'status' => ['ACTIVE'], // тільки дійсні
    ]);

    return $response->json('suggestions', []);
}

Відповідь для однієї організації:

{
  "value": "ООО \"ЯНДЕКС\"",
  "unrestricted_value": "ООО \"ЯНДЕКС\"",
  "data": {
    "inn": "7736207543",
    "kpp": "770401001",
    "ogrn": "1027700229193",
    "name": {
      "full_with_opf": "ТОВАРИСТВО З ОБМЕЖЕНОЮ ВІДПОВІДАЛЬНІСТЮ \"ЯНДЕКС\""
    },
    "management": {
      "name": "ВОЛОЖ АРКАДІЙ ЮРІЙОВИЧ",
      "post": "ГЕНЕРАЛЬНИЙ ДИРЕКТОР"
    },
    "address": {
      "value": "г Москва, ул Лева Толстого, д 16"
    },
    "state": {
      "status": "ACTIVE"
    }
  }
}

При виборі компанії зі списку форма автозаповнюється: ІНН, КПП, ОГРН, юрадрес, ФІО директора — все з одної відповіді.

Пошук за точним ІНН або ОГРН

Коли користувач вводить цифри (ІНН — 10 або 12 знаків, ОГРН — 13), DaData розпізнає тип автоматично. Для точного запиту за ІНН:

$response = Http::withHeaders([
    'Authorization' => 'Token ' . config('services.dadata.token'),
    'Content-Type'  => 'application/json',
])->post('https://suggestions.dadata.ru/suggestions/api/4_1/rs/findById/party', [
    'query' => '7736207543', // точний ІНН
]);

$party = $response->json('suggestions.0.data');

Метод findById повертає розширену відповідь — включаючи історію зміни директора, всі КПП для головної організації тощо.

Підсказки по банках (БІК)

Ендпоінт аналогічний: /suggest/bank або /findById/bank.

$response = Http::withHeaders([
    'Authorization' => 'Token ' . config('services.dadata.token'),
    'Content-Type'  => 'application/json',
])->post('https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/bank', [
    'query' => '044525225',
]);

$bank = $response->json('suggestions.0.data');
// $bank['bic']           => '044525225'
// $bank['correspondent_account'] => '30101810400000000225'
// $bank['name']['payment']       => 'Ощебанк'

Фронтенд без бекенд-проксі

DaData підтримує прямі запити з браузера. Для цього в налаштуваннях кабінету потрібно додати домен у список дозволених джерел. Тоді запит йде напрямку з JS:

import { DaDataSuggestions } from 'react-dadata';
import 'react-dadata/dist/react-dadata.css';

<DaDataSuggestions
  token="ВАШ_ТОКЕН"
  type="party"
  onChange={(suggestion) => {
    setInn(suggestion?.data?.inn ?? '');
    setKpp(suggestion?.data?.kpp ?? '');
    setOgrn(suggestion?.data?.ogrn ?? '');
  }}
/>

Бібліотека react-dadata — готовий компонент для React, не потрібно писати UI з нуля. Аналоги існують для Vue та ванільного JS.

Мінус прямих запитів з браузера: токен видимий у клієнтському коді. Якщо це неприйнятливо — робимо проксі на бекенді (контролер з кешуванням), який не розкриває ключ.

Кеширування

Підсказки по ІНН має смисл кешувати — дані організації змінюються рідко. Простий варіант на Laravel:

$data = Cache::remember("party_{$inn}", now()->addHours(24), function () use ($inn) {
    return $this->fetchFromDadata($inn);
});

Кеш знижує витрату лімітів та прискорює повторні запити. Термін зберігання 24 години — розумний компроміс.

Типовий сценарій внедрення

Форма реєстрації юрлиці на сайті: поле «ІНН або назва компанії» з підсказками DaData. При виборі з списку інші поля (КПП, ОГРН, адреса, директор) заповняються автоматично. Це усуває помилки введення та скорочує час заповнення форми з 3–5 хвилин до 30 секунд.

Інтеграція займає 2–4 години: отримання токена, написання проксі-контролера, підключення компонента на фронтенді, тестування граничних випадків (ООО vs ІП, ліквідовані компанії).