Перейти к содержанию

DaData и n8n: чистые телефоны, адреса, ИНН и лиды в CRM

Обновлено: 2026-05-29

Открыть мой план

DaData в связке с n8n полезна там, где заявки приходят из форм, рекламы, мессенджеров и CRM с разным качеством данных. n8n принимает событие, приводит поля к единому контракту, обращается к DaData через HTTP Request и только после этого записывает результат в Битрикс24, amoCRM, Google Sheets, Postgres или внутреннюю систему.

Не стоит отправлять в CRM всё, что ввёл пользователь. Сначала нужно отделить “сырой ввод” от “нормализованного значения”: телефон в одном формате, email без опечаток, компания по ИНН, адрес с регионом и индексом. Тогда менеджеры меньше исправляют вручную, а автоматические правила CRM работают предсказуемо.

Где DaData даёт быстрый эффект

ЗадачаЧто проверятьКак использовать в n8n
Лид из формытелефон, email, ФИОисправить формат до создания контакта
B2B-заявкаИНН, КПП, название компанииподтянуть юридическое лицо и регион
Доставкаадрес, индекс, городвыделить структурные поля перед логистикой
Дедупликация CRMтелефон/email/ИННсравнивать нормализованные значения, а не сырой текст
Скоринг лидатип компании, регион, полнота данныхдобавить баллы перед маршрутизацией менеджеру

Подсказки и стандартизация: не путайте сценарии

Подсказки нужны во время ввода: пользователь набирает адрес, компанию или банк, а сервис предлагает варианты. В n8n такой сценарий встречается реже, потому что n8n обычно обрабатывает уже отправленную заявку.

Стандартизация подходит для автоматической обработки полученных данных: телефон, email, ФИО, адрес, компания. Именно этот вариант чаще всего нужен workflow, который принимает форму Tilda, VK Lead Form, Telegram-заявку или выгрузку из CRM.

Поток “заявка → чистый лид”

  1. Webhook принимает заявку и сохраняет исходный payload без изменений.
  2. Set/Edit Fields выделяет raw_phone, raw_email, raw_name, raw_inn, raw_address.
  3. HTTP Request вызывает нужный endpoint DaData.
  4. IF/Switch проверяет качество результата: найдено ли значение, есть ли код качества, заполнены ли обязательные поля.
  5. n8n собирает нормализованный объект для CRM.
  6. Перед созданием лида workflow ищет дубли по phone_e164, email_normalized или inn.

Какие поля отдавать в CRM

ПолеОткуда берётсяЗачем нужно
raw_phoneформа/ботистория исходного ввода
phone_e164результат нормализациипоиск дублей и звонки
email_normalizedemail-cleanпоиск контакта
company_innDaData по организацииB2B-идентификатор
company_name_shortDaDataназвание в CRM
regionадрес или компаниямаршрутизация на филиал
quality_flagsрезультат проверкипонимать, что проверялось автоматически

Пример вызова через HTTP Request

Для n8n проще держать токены в credentials или env-переменных, а в ноду передавать только endpoint, headers и массив данных.

POST https://cleaner.dadata.ru/api/v1/clean/phone
Authorization: Token {{$env.DADATA_TOKEN}}
X-Secret: {{$env.DADATA_SECRET}}
Content-Type: application/json

["+7 999 123-45-67"]

В ответе не надо брать первое попавшееся поле и сразу писать в CRM. Сначала проверьте, есть ли нормализованное значение и подходит ли качество результата для автоматического действия. Сомнительные данные лучше отправлять менеджеру с пометкой, а не исправлять молча.

Дедупликация после нормализации

Дубли появляются, когда один и тот же клиент вводит телефон как 89991234567, +7 999 123 45 67 и 8 (999) 123-45-67. Сравнивать такие строки напрямую нельзя. Сначала получите нормализованный телефон, затем ищите контакт в CRM по единому формату.

Для B2B заявок основной ключ — ИНН. Название компании может отличаться: ООО “Ромашка”, Ромашка, romashka, но ИНН должен вести к одной карточке.

Персональные данные и безопасность

  • Не логируйте полный payload с паспортными или лишними персональными данными без необходимости.
  • Храните токен и secret в закрытых credentials или env-переменных.
  • Передавайте в CRM только нужные поля, а не весь ответ API.
  • Добавьте fallback: если DaData недоступна, заявка всё равно должна попасть в CRM с пометкой “требует проверки”.

Готовые материалы

Официальные источники

FAQ

Когда вызывать DaData: до или после CRM?

Лучше до создания или обновления контакта. Тогда CRM получает уже нормализованные ключи для поиска дублей и маршрутизации.

Нужно ли хранить исходные значения?

Да, но отдельно от нормализованных. Исходный ввод помогает разбирать спорные случаи, а нормализованные поля используются для автоматических правил.

Что делать, если API временно недоступен?

Не терять лид. Запишите заявку в CRM с флагом “данные не проверены”, отправьте событие в retry/DLQ и повторите enrichment позже.