Менеджер вводит ИНН, а сценарий n8n сам заполняет карточку компании в CRM и помечает рискованных контрагентов. Ниже настройка на API DaData.
Что понадобится
- Аккаунт на dadata.ru и API-ключ из личного кабинета.
- n8n на своём сервере.
- CRM с API, например amoCRM или Битрикс24.
Шаг 1. Создать доступ в n8n
Для поиска по ИНН нужен только API-ключ. В n8n откройте Credentials и создайте доступ типа Header Auth:
- Name:
Authorization - Value:
Token ВАШ_API_КЛЮЧ
Слово Token и пробел перед ключом обязательны.
Шаг 2. Отправить запрос
Узел HTTP Request:
- Method:
POST - URL:
https://suggestions.dadata.ru/suggestions/api/4_1/rs/findById/party - Authentication: Generic Credential Type → Header Auth → созданный доступ
- Send Body: JSON
{
"query": {{ JSON.stringify(String($json.inn)) }},
"branch_type": "MAIN",
"count": 1
}
В query можно передать ИНН или ОГРН. branch_type: MAIN оставляет только головную организацию без филиалов. Тот же запрос через curl:
curl -X POST https://suggestions.dadata.ru/suggestions/api/4_1/rs/findById/party \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Token ВАШ_API_КЛЮЧ" \
-d '{"query": "7707083893", "branch_type": "MAIN"}'
Если компания не найдена, массив suggestions придёт пустым. Поставьте после запроса узел If с условием {{ $json.suggestions.length > 0 }}.
Шаг 3. Взять нужные поля
Все данные лежат в suggestions[0].data. В выражениях n8n путь начинается с $json.suggestions[0].data.
| Что | Поле | Тариф |
|---|---|---|
| Название с ОПФ | name.short_with_opf |
все |
| ИНН, КПП, ОГРН | inn, kpp, ogrn |
все |
| Статус | state.status |
все |
| Дата регистрации | state.registration_date |
все |
| Адрес | address.value |
все |
| Руководитель и должность | management.name, management.post |
все |
| Основной ОКВЭД | okved |
все |
| Все ОКВЭД, численность | okveds, employee_count |
«Расширенный», «Максимальный» |
| Недостоверность сведений и адреса | invalid, address.invalidity |
«Максимальный» |
| Финансы | finance |
«Максимальный» |
Значения статуса:
ACTIVEдействующая;LIQUIDATINGликвидируется;LIQUIDATEDликвидирована;BANKRUPTбанкротство;REORGANIZINGприсоединяется к другому юрлицу с последующей ликвидацией.
Дата регистрации приходит числом, это Unix-время в миллисекундах. В привычный вид её переводит выражение:
{{ DateTime.fromMillis($json.suggestions[0].data.state.registration_date).toFormat('dd.MM.yyyy') }}
Адрес DaData стандартизует, поэтому он может отличаться от записи в ЕГРЮЛ.
Шаг 4. Посчитать флаги риска
Добавьте узел Code в режиме Run Once for Each Item:
const d = $json.suggestions[0].data;
const flags = [];
if (d.state.status !== 'ACTIVE') flags.push('Статус: ' + d.state.status);
const ageDays = (Date.now() - d.state.registration_date) / 86400000;
if (ageDays < 180) flags.push('Компания моложе 6 месяцев');
if (d.invalid === true) flags.push('Недостоверные сведения в ЕГРЮЛ');
if (d.address && d.address.invalidity) flags.push('Недостоверный адрес');
return { json: { ...$json, flags, risk: flags.length > 0 } };
Порог в 6 месяцев здесь условный, подберите свой. Поля invalid и address.invalidity заполняются только на тарифе «Максимальный». На других тарифах эти проверки просто не сработают.
Шаг 5. Записать данные в CRM
Типовая схема сценария:
- CRM сообщает о новой компании через вебхук, либо менеджер присылает ИНН боту.
- n8n запрашивает DaData и считает флаги.
- n8n обновляет карточку компании в CRM.
- Если
riskравенtrue, ответственный получает задачу в CRM.
В amoCRM компания обновляется запросом PATCH /api/v4/companies/{id}. Поля карточки передаются в custom_fields_values по их ID, а метку риска можно поставить через tags_to_add. Как подключить amoCRM, описано в отдельной инструкции.
В Битрикс24 подойдёт метод crm.item.update с entityTypeId: 4 для компаний. Подробнее в статье про Битрикс24 и n8n.
Если уведомляете о рисках в Telegram, отправляйте ID компании и ссылку на карточку. ФИО индивидуального предпринимателя относится к персональным данным, а серверы Telegram находятся за рубежом. Подробнее в статье про 152-ФЗ.
Когда нужен Контур.Фокус или Saby
DaData показывает сведения из реестров. Этого хватает, чтобы заполнить карточку и отсеять ликвидированные и совсем новые компании. Перед крупной предоплатой, отсрочкой платежа или тендером обычно нужна более глубокая проверка.
- Контур.Фокус. У API есть конструктор из 100 маркеров риска, наблюдение за списками контрагентов с оповещениями об изменениях и данные о задолженности перед ФНС. Условия на странице API.
- Saby, сервис «Все о компаниях». Тоже проверка контрагентов с API. Условия доступа к API уточните у Saby.
Оба сервиса платные. Связка такая же: n8n отправляет ИНН и записывает результат в CRM.
Сколько стоит
По странице тарифов DaData на дату публикации:
| Тариф | Цена за год | Запросов в день |
|---|---|---|
| Бесплатный | 0 ₽ | 10 000 |
| «Легкий» | 14 000 ₽ | 50 000 |
| «Расширенный» | 28 000 ₽ | 100 000 |
| «Максимальный» | 56 000 ₽ | от 200 000 |
Дневной лимит общий для всех сервисов подписки. Когда он заканчивается, сервисы отключаются до полуночи. Отдельно действует ограничение 30 запросов в секунду с одного IP-адреса. Проверьте актуальные цены перед покупкой.
Частые ошибки
- Ошибка авторизации. В заголовке нет слова
Tokenили ключ скопирован с пробелом. - Пустой
suggestions. Опечатка в ИНН. У компании 10 цифр, у ИП 12. - Странная дата регистрации. Число в миллисекундах выведено как есть. Переведите его через
DateTime.fromMillis. - Поля
okvedsилиinvalidпустые. Эти поля не входят в ваш тариф. - Ошибки при массовой проверке. Включите в HTTP Request Options → Batching с паузой между пачками.
Частые вопросы
Сколько стоит DaData для поиска по ИНН?
Поиск организации по ИНН есть на всех тарифах, включая бесплатный с лимитом 10 000 запросов в день. Платные тарифы оплачиваются за год и открывают дополнительные поля, например численность сотрудников и финансы.
Хватит ли DaData для проверки контрагента?
DaData даёт сведения из реестров, этого хватает для заполнения карточки и базового фильтра. Суды, долги и маркеры риска показывают платные сервисы, например Контур.Фокус или Saby.
Это персональные данные?
Сведения о юрлицах обычно к ним не относятся. В карточке ИП есть ФИО предпринимателя, с ним работайте по правилам 152-ФЗ.