# Автозаполнение данных по ИНН

## 1. **Введение**

Бипиум позволяет автоматически заполнять данные организации через ввод ИНН. По ИНН можно автоматически получать следующие данные:

* Полное наименование организации
* Краткое наименование организации
* КПП
* Форматированный адрес организации
* Информацию о сотрудниках

Для получения информации по ИНН Бипиум использует сторонний сервис «[DaData](https://dadata.ru/)». Полный перечень данных, которые можно получить, описан в [документации к API сервиса](https://dadata.ru/api/find-party/).

Автоматическое получение данных по ИНН избавляет от ручного заполнения и форматирует заполняемые данные единым образом, позволяя избавиться от возможных опечаток.

## **2. Принцип работы**

<figure><img src="https://1283378397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LACZmmM2xUWbZxyRr4s%2Fuploads%2FUce0ti2vxzY3LkAa2ffV%2Ftemp%20-%20Frame%2013.jpg?alt=media&#x26;token=402a7c01-2d08-4490-8302-9cc5b5e95f13" alt=""><figcaption></figcaption></figure>

При заполнении поля с ИНН сценарий Бипиума обращается за данными по организации к сервису «[DaData](https://dadata.ru/)». При наличии в базе, сервис возвращает Бипиуму компанию с заданным ИНН со [следующим перечнем данных](https://dadata.ru/api/find-party/). Полученные данные обрабатываются сценарием и записываются в создаваемую запись каталога.

## **3. Реализация**

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

<figure><img src="https://1283378397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LACZmmM2xUWbZxyRr4s%2Fuploads%2Fmv88rm5dqXVtVadPCEjn%2F1.png?alt=media&#x26;token=e72e2413-3587-4c6d-acdc-5da0a3c88527" alt=""><figcaption></figcaption></figure>

* **Краткое наименование** (текст)\
  Описание: Краткое наименование компании. Заполняется автоматически по ИНН.\
  Настройки: Текст.
* **Полное наименование** (текст)\
  Описание: Полное наименование компании. Заполняется автоматически по ИНН.\
  Настройки: Многострочный текст.
* **ИНН** (текст)\
  Описание: ИНН организации. Используется для поиска компании, задается вручную.\
  Настройки: Текст по маске, маска ввода: 1111111111.
* **КПП** (текст)\
  Описание: КПП организации. Заполняется автоматически по ИНН.\
  Настройки: Текст.
* **Адрес** (адрес)\
  Описание: Адрес организации. Заполняется автоматически по ИНН.\
  Настройки: Вставьте в текстовое поле ваш API токен сервиса «DaData». [Как получить?](https://docs.bpium.ru/integrations/integration/cases/integraciya-s-servisom-dadata#2.1.-poluchenie-tokena-servisa-dadata.ru)

### **3.1. Событие для запуска автозаполнения**

Для запуска сценария по автозаполнению данных используется событие с типом «Изменено поле во время редактирования», которое отслеживает изменение поля с ИНН. Пример события:

<figure><img src="https://1283378397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LACZmmM2xUWbZxyRr4s%2Fuploads%2FmkDY1qMBArD40wWWF7W2%2F2.png?alt=media&#x26;token=6a489c8b-bdd9-45cf-b187-0b83ddf38456" alt=""><figcaption></figcaption></figure>

При изменении поля с ИНН в карточке каталога событие запускает [сценарий автозаполнения](https://drive.google.com/file/d/1lMRzJ7DWHhmd8KOalvyMA2jqvwLnZa5Z/view?usp=sharing).

### **3.2. Сценарий автозаполнения**

Сценарий для автозаполнения записи данными по организации выглядит следующим образом:

<figure><img src="https://1283378397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LACZmmM2xUWbZxyRr4s%2Fuploads%2FYPolasrJvnnOfcRQ7IoM%2F3.png?alt=media&#x26;token=5f1f8a74-b59e-4660-848d-48c1892e2481" alt=""><figcaption></figcaption></figure>

Сценарий выполняет:

* Проверку на введенный ИНН. Если поле с ИНН не заполнено, то сценарий завершится.
* Проверку введенного значения ИНН. Если введенное значении ИНН некорректно (длина не равна 10 символам), то сценарий сообщит об этом сотруднику и завершит работу.
* Получение данных по компании. Компонентом «Запрос к API dadata.ru» сценарий обращается к сервису «DaData» и пытается получить данные о компании по ИНН. Формат получаемых данных – JSON. [Описание](https://dadata.ru/api/find-party/).
* Если сервис смог найти компанию по ИНН, то происходит дальнейшая обработка полученного JSON (сопоставление его атрибутов с id полей каталога). Если сервис не смог найти компанию или вернул ошибочный ответ, то сценарий завершается.
* После обработки полученного JSON сценарий записывает необходимые значения в текущую запись.

В сценарии необходимо изменить следующие компоненты:

* Компонент params. Замените тестовые id полей в переменной «fields» на id полей вашего каталога согласно описанию компонента. В переменной «token» после слова «Token» через пробел укажите ваш API токен сервиса «DaData». [Как получить?](https://docs.bpium.ru/integrations/integration/cases/integraciya-s-servisom-dadata#2.1.-poluchenie-tokena-servisa-dadata.ru)

## **4.1. Тестирование**

Создайте новую запись в созданном (измененном) каталоге и введите корректный ИНН. Кликните за пределы поля ввода или нажмите на «молнию». Если все сделано верно, то поля каталога автоматически заполнятся данными по компании:

<figure><img src="https://1283378397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LACZmmM2xUWbZxyRr4s%2Fuploads%2FNgZ5s0ohzCGvWLInj4AJ%2F4.png?alt=media&#x26;token=0f0f6856-3224-47ae-8d4e-70e45ab33d3e" alt=""><figcaption></figcaption></figure>
