Интеграция с Dadata.ru

Интеграцию с Dadata.ru вы ждали давно. Ждали ее и мы, поэтому я сегодня себя чувствую в роли конферансье, объявляющего новый номер, а это очень волнительно 🙂

Dadata — это сервис, в котором хранятся данные компаний и банков, работающих на территории России. Суть интеграции в том, чтобы задавая или меняя значения в поле контакта или задачи в ПланФиксе, получать актуальную информацию о компаниях и банках от Dadata. Работа над интеграцией растянулась на достаточно долгий период, нам хотелось ее сначала обкатать-потестировать, а уже потом запускать в космос на широкую аудиторию. И вот ее час настал 🙂

Настройка интеграции

Для работы с Dadata нужно зарегистрироваться по ссылке, а потом вернуться в ПланФикс. С этого дня в ваших аккаунтах в разделе «Управление аккаунтом» — «Интеграции» — появился новый пункт меню — «Сервисы автозаполнения данных». В нем и находится нужная интеграция:

Где найти интеграцию с Dadata? Dadata тут.
Где найти интеграцию с Dadata? Dadata тут.
По клику картинка откроется в новом окне и большем размере.

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

Тут можно создать новые интеграции.
Тут можно создать новые интеграции.
По клику картинка откроется в новом окне и большем размере.

Добавляем ее:

Окно настройки интеграции.
Окно настройки интеграции.

Подробнее рассмотрим блоки, которые нужно заполнить для работы. Название интеграции вы указываете самостоятельно, оно должно быть таким, чтобы при одном взгляде было понятно, что это за интеграция. Для себя я выбрала вариант давать названия с привязкой к справочнику Dadata, по которому интеграция будет искать данные.

Ключ API нужно скопировать из личного кабинета на сайте Dadata после регистрации:

Ключ API копируем тут и несем в ПланФикс.
Ключ API копируем тут и несем в ПланФикс.

Дальше определяем, к контакту или к задаче будет применяться автоматическое заполнение данных. Чаще это бывает нужно для контактов.

В «Ключевом поле» указывается поле ПланФикса, при изменении значения которого интеграция начнет работу. Количество ключевых полей может быть более одного (у Dadata одно или два) и зависит от выбранного справочника. Если ключевых полей более одного, интеграция запустится в работу при изменении любого из них.

Блок «Соответствие полей для заполнения» указывает на то, какие данные найденные в Dadata должны быть сопоставлены с полями ПланФикса. Источник данных — поле справочника Dadata. Поле для заполнения — поле задачи или контакта в ПланФиксе, в которое должны быть определены данные из справочника Dadata. Вроде по теории все, основные определения вы уже знаете, перейдем к практике.

Примеры настройки интеграции

Для начала в качестве примера создадим интеграцию для объекта «Контакт». Контактом выступит компания. Выбираем для нее справочник «Организация по ИНН или ОГРН». В качестве ключевого поля в ПланФиксе можно использовать и системное и пользовательское поле. Поля, по которым будет производиться сопоставление, также могут быть как пользовательскими, так и системными. Только не забудьте их добавить в карточку контакта. Итак, настройки интеграции:

Настройки интеграции с автозаполением контакта.
Настройки интеграции с автозаполением полей контакта.

Ключевым у меня является поле ОГРН, но можно выбрать и ИНН, в этом случае именно оно указывается в настройках интеграции. Заполнять данные нужно у контакта, его и выбрала.

Сопоставление нужных полей из Dadata (Источник данных) делаю с полями ПланФикса (Поле для заполнения). Все, интеграция настроена.

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

Легким движением руки поля контакта заполняются данными.
Легким движением руки поля контакта заполняются данными.
Анимацию можно посмотреть в соседней вкладке после клика.

Классно, правда? Это похоже на взмах волшебной палочки — вжух — и данные контакта волшебным образом появляются в ПланФиксе. Мне очень нравится, я примерно на час залипла, проверяя работу интеграции на разных ключевых полях и перетасовывая сопоставляющиеся поля.

А если кто-то случайно изменил данные контакта, достаточно нажать на кнопку обновления данных рядом с ключевым полем — и данные обновятся. Сделать это можно во вкладке «Детали» контакта (для задач еще не реализовано ручное обновление данных):

Чтобы обновить данные вручную — кликните на этот значок.
Чтобы обновить данные вручную — кликните на этот значок.
По клику картинка откроется в новом окне и большем размере.

Обратите внимание, обновить данные можно и по полю «ИНН компании». Это потому, что условия поиска для интеграции определяет именно справочник Dadata, а у меня он задан «Организация по ИНН или ОГРН».

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

А теперь перейдем к задачам. Принцип работы с задачами точно такой же, как с контактами. Настраиваем интеграцию, только в этот раз автозаполнять будем задачу. Задача у меня про расчеты с банком, его данные и будет получать интеграция. Ключевое поле — ИНН. Сначала создаю пользовательское поле «ИНН банка», а потом указываю, какие поля интеграция будет сопоставлять:

Настройки интеграции с автозаполнением полей задачи.
Настройки интеграции с автозаполнением полей задачи.

Поле «ИНН банка» добавляю в шаблон, по шаблону создаю задачу, сразу указываю ИНН и нужные данные:

Указываем нужные данные на этапе создания задачи
Указываем нужные данные на этапе создания задачи.
По клику картинка откроется в новом окне и большем размере.

После создания задачи все нужные поля автоматически заполняются:

Поля задачи автоматически заполнились методом «вжуха».
Поля задачи автоматически заполнились методом «вжуха».
По клику картинка откроется в новом окне и большем размере.

И это как раз то, что ожидается от интеграции.

Если запрос в Dadata не принес никаких результатов, значит данных по компании или банку в Dadata просто нет, такое случается. Еще такое может быть, если задано неправильное значение в ключевом поле.

И раз уж я взяла на себя роль конферансье, то не могу не объявить о том, что у нас в планах интеграции и с другими сервисами автозаполнения данных не только РФ, но и Украины, Беларуси, Казахстана. Сейчас эти интеграции в работе, а, значит, в скором времени я снова будут представлять вам новый «номер» 🙂


А ещё не забывайте о наших социальных сетях: Facebook, ВКонтакте, Telegram, Twitter и YouTube-канале. Там периодически появляются новости о доработках и новинках. Подпишитесь, чтобы ничего не пропустить.

29 Comments

    1. Аватар

      Заполняйте в задачу, а потом post в виде xml на вебхук Планфикса. Недавно Кирилл Киреев давал в энтузиастах ссылку на видео как передать данные в справочник.

  1. Аватар

    Отличная новость!
    Есть только один момент. У некоторых юрлиц есть обособленные подразделения или филиалы, реквизиты которых отличаются от головных организаций КПП. Например есть НПО Микроген ИНН/КПП 7722422237/772201001, и есть Филиал Пермское НПО Биомед, которое самостоятельного ИНН не имеет, но имеет свой КПП 590443001.
    В итоге правильно определить их можно только по сочетанию двух параметров ИНН и КПП. У одного это будет 7722422237/772201001, а другой 7722422237/590443001.

    Как-то предусматривает интеграция такой кейс?

    1. Ольга Тимошенко

      Здравствуйте, Евгений. Попробуйте выбрать справочник в настройках интеграции «Организация по ИНН или ОГРН и КПП».

      1. Аватар

        Добрый день, Ольга. Пока не очень понятно как это работает.
        Система будет ждать пока не будет заполнено оба поля?
        Сделал тестовый вариант, в контакте (контрагенте) заполнил поле ОГРН, но КПП не заполнял и сразу обновились данные.
        Но как писал Евгений, в данном случае нельзя делать запрос сразу пока не внесено оба поля, иначе карточка филиала затрется карточкой основной организации.

  2. Аватар

    Уведу дискуссию немного в сторону, попробовали использовать эти возможности пока сыровато и есть неопределенности, как быть если хотим не обновлять данные пока не заполнили два поля ИНН и КПП…. Как вызвать обновление сценарием.
    Поэтому пока используем альтернативные варианты.
    На скриншоте установки значений полей есть установка поля Дата выдачи ОГРН. Так вот DaData возвращает это поле в формате UNIX TIMESTAMP, но вот оказывается что в планфикс присвоить это поле в поле типа Дата или Дата и время не просто (точнее пока не получается).
    То есть в этой интеграции данный вопрос как-то решен, а вот для других сервисов у которых пока нет интеграции нет возможности присвоить UNIX TIMESTAMP в поле типа Дата (или Дата и время).
    Пришлось даже создать тему по этому поводу.
    https://forum.planfix.ru/viewtopic.php?f=46&t=6166

    1. Ольга Тимошенко

      Здравствуйте, Илья.

      Поставьте, пожалуйста, задачу в Службу поддержки. Если проблема еще существует — сразу по ходу действия пьесы все нюансы и проясним.

      1. Аватар

        Ольга, обратился «починили» пока бе добавления спец функции просто переданные данные в формате UNIXTIMESTAMP стали корректно присваиваться в поле типа Дата.

  3. Аватар

    Добрый день!
    В Dadata есть классный сервис по вводу адресов. Планируется ли сделать эту интеграцию? В частности вот эти два для начала:)
    — Автодополнение при вводе («подсказки»)
    — Разбор адреса из строки («стандартизация»)

Добавить комментарий