Подсказки: подключение к сервису

Подключите jQuery-плагин jquery.suggestions:

  1. Зарегистрируйтесь и получите API-ключ.
  2. Вставьте код jQuery-плагина на страницу.
  3. Profit!

<input id="fullname" name="fullname" type="text" size="100"/>
<link href="https://cdn.jsdelivr.net/npm/suggestions-jquery@17.10.0/dist/css/suggestions.min.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<!--[if lt IE 10]>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.1/jquery.xdomainrequest.min.js"></script>
<![endif]-->
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/suggestions-jquery@17.10.0/dist/js/jquery.suggestions.min.js"></script>
<script type="text/javascript">
    $("#fullname").suggestions({
        token: "${API_KEY}",
        type: "NAME",
        count: 5,
        /* Вызывается, когда пользователь выбирает одну из подсказок */
        onSelect: function(suggestion) {
            console.log(suggestion);
        }
    });
</script>

Параметр token — это API-ключ.

Аргумент suggestion функции onSelect выглядит так:

НазваниеОписание
valueФИО одной строкой (как показывается в списке подсказок)
unrestricted_valueФИО одной строкой (полное)
data.surnameФамилия
data.nameИмя
data.patronymicОтчество
data.genderПол
  • MALE — мужской;
  • FEMALE — женский;
  • UNKNOWN — не удалось однозначно определить.
data.qcКод проверки (не заполняется)

Частые вопросы

Как сделать всякое

Как сделать отдельные подсказки по имени?

Как сделать гранулярные подсказки по ФИО? Чтобы отдельно фамилия, имя, отчество?

Почему не так, как ожидалось

Подсказки не работают: ошибка 403 Forbidden

Скорее всего, вы не подтвердили адрес эл. почты. Проверьте почтовый ящик и папку «спам» — там должно быть письмо от Дадаты. Пройдите по ссылке в письме, и вы в игре.

Прочее

Что будет, если превысить 10 000 бесплатных запросов в день?

Подсказки перестанут подсказывать :–) До начала нового дня, затем снова заработают.

10 000 запросов считаются суммарно по всем видам подсказок: адреса, ФИО, организации, банки и емейлы.

Как защитить API-ключ от злоумышленников?

Если вы используете jQuery-плагин Подсказок, то API-ключ виден в исходном коде страниц вашего сайта. Чтобы злоумышленник не мог воспользоваться вашим ключом, можно привязать его к конкретному домену.

Например, если вы владелец интернет-магазина myshop.ru, то привязка ключа к этому домену запретит пользоваться им на всех остальных сайтах.

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

<input id="address" name="address" type="text" size="100"/>
<link href="https://cdn.jsdelivr.net/npm/suggestions-jquery@17.10.0/dist/css/suggestions.min.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<!--[if lt IE 10]>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.1/jquery.xdomainrequest.min.js"></script>
<![endif]-->
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/suggestions-jquery@17.10.0/dist/js/jquery.suggestions.min.js"></script>
<script type="text/javascript">
    $("#address").suggestions({
        token: "${API_KEY}",
        type: "ADDRESS",
        count: 5,
        /* Вызывается, когда пользователь выбирает одну из подсказок */
        onSelect: function(suggestion) {
            console.log(suggestion);
        }
    });
</script>

Параметр token — это API-ключ.

Аргумент suggestion функции onSelect выглядит так:

НазваниеОписание
valueАдрес одной строкой (как показывается в списке подсказок)
unrestricted_valueАдрес одной строкой (полный, от региона)
data.postal_codeИндекс
data.countryСтрана
data.region_fias_idКод ФИАС региона
data.region_kladr_idКод КЛАДР региона
data.region_with_typeРегион с типом
data.region_typeТип региона (сокращенный)
data.region_type_fullТип региона
data.regionРегион
data.area_fias_idКод ФИАС района в регионе
data.area_kladr_idКод КЛАДР района в регионе
data.area_with_typeРайон в регионе с типом
data.area_typeТип района в регионе (сокращенный)
data.area_type_fullТип района в регионе
data.areaРайон в регионе
data.city_fias_idКод ФИАС города
data.city_kladr_idКод КЛАДР города
data.city_with_typeГород с типом
data.city_typeТип города (сокращенный)
data.city_type_fullТип города
data.cityГород
data.city_areaАдминистративный округ (только для Москвы)
data.city_district_fias_idКод ФИАС района города (заполняется, только если район есть в ФИАС)
data.city_district_kladr_idКод КЛАДР района города (не заполняется)
data.city_district_with_typeРайон города с типом
data.city_district_typeТип района города (сокращенный)
data.city_district_type_fullТип района города
data.city_districtРайон города
data.settlement_fias_idКод ФИАС нас. пункта
data.settlement_kladr_idКод КЛАДР нас. пункта
data.settlement_with_typeНаселенный пункт с типом
data.settlement_typeТип населенного пункта (сокращенный)
data.settlement_type_fullТип населенного пункта
data.settlementНаселенный пункт
data.street_fias_idКод ФИАС улицы
data.street_kladr_idКод КЛАДР улицы
data.street_with_typeУлица с типом
data.street_typeТип улицы (сокращенный)
data.street_type_fullТип улицы
data.streetУлица
data.house_fias_idКод ФИАС дома
data.house_kladr_idКод КЛАДР дома
data.house_typeТип дома (сокращенный)
data.house_type_fullТип дома
data.houseДом
data.block_typeТип корпуса/строения (сокращенный)
data.block_type_fullТип корпуса/строения
data.blockКорпус/строение
data.flat_typeТип квартиры (сокращенный)
data.flat_type_fullТип квартиры
data.flatКвартира
data.flat_areaПлощадь квартиры (не заполняется)
data.square_meter_priceРыночная стоимость м² (не заполняется)
data.flat_priceРыночная стоимость квартиры (не заполняется)
data.postal_boxАбонентский ящик
data.fias_id Код ФИАС:
  • HOUSE.HOUSEGUID, если дом найден в ФИАС по точному совпадению;
  • HOUSEINT.INTGUID, если дом найден в ФИАС как часть интервала;
  • ADDROBJ.AOGUID в противном случае.
data.fias_levelУровень детализации, до которого адрес найден в ФИАС:
  • 0 — страна;
  • 1 — регион;
  • 3 — район;
  • 4 — город;
  • 5 — район города;
  • 6 — населенный пункт;
  • 7 — улица;
  • 8 — дом;
  • 65 — планировочная структура;
  • 90 — доп. территория;
  • 91 — улица в доп. территории;
  • -1 — иностранный или пустой.
data.kladr_idКод КЛАДР
data.capital_markerПризнак центра района или региона:
  • 1 — центр района (Московская обл, Одинцовский р-н, г Одинцово)
  • 2 — центр региона (Новосибирская обл, г Новосибирск);
  • 3 — центр района и региона (Томская обл, г Томск);
  • 4 — центральный район региона (Тюменская обл, Тюменский р-н);
  • 0 — ничего из перечисленного (Московская обл, г Балашиха).
data.okatoКод ОКАТО
data.oktmoКод ОКТМО
data.tax_officeКод ИФНС для физических лиц
data.tax_office_legalКод ИФНС для организаций (не заполняется)
data.timezoneЧасовой пояс (не заполняется)
data.geo_latКоординаты: широта
data.geo_lonКоординаты: долгота
data.beltway_hitВнутри кольцевой? (не заполняется)
data.beltway_distanceРасстояние от кольцевой в км (не заполняется)
data.qc_geoКод точности координат
data.qc_completeКод пригодности к рассылке (не заполняется)
data.qc_houseКод проверки дома (не заполняется)
data.qcКод проверки (не заполняется)
data.unparsed_partsНераспознанная часть адреса (не заполняется)

Подсказки заполняют поля geo_*, city_district, city_area после того, как пользователь выбрал конкретный адрес. До этого они пустые.

Частые вопросы

Как сделать всякое

Как сделать гранулярные подсказки по адресу? Чтобы отдельно город, улица, дом?

Как разложить адрес по полям? Индекс, регион, город, улица, дом, квартира?

Как подсказывать только внутри конкретного города или области?

Как заставить подсказки учитывать местонахождение пользователя?

Подсказки делают это «из коробки»: определяют город пользователя по IP-адресу и подсказывают ближайшие варианты.

Как отключить геолокацию?

Передайте параметр geoLocation = false.

Как подсказывать только город?

Пример: подсказки по городам

Пример: подсказки по городам и населенным пунктам

Почему не так, как ожидалось

Почему индекс неправильный — не такой, как у Почты России?

Если получили от Дадаты неправильный индекс — отправьте адрес через специальную форму. Мы исправляем ошибки ежемесячно.

Дадата работает по объединенному справочнику налоговой службы (ФИАС) и Почты России. В нем исправлены более 7 000 некорректных и отсутствующих индексов.

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

Почему подсказки не возвращают геокоординаты и район города?

Подсказки возвращают геокоординаты и район после того, как человек выбрал конкретный адрес из списка.

В API это запрос с параметром count = 1.

Почему подсказки не возвращают часовой пояс и коды качества?

Подсказки возвращают только базовую информацию по адресу. Полная информация об адресе — в стандартизации.

Почему на картах дом есть, а в подсказках — нет?

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

Почему вернулся неправильный КЛАДР-код дома?

Подсказки работают по справочнику адресов налоговой службы (ФИАС).
В ФИАС нет кодов КЛАДР для домов.

Поэтому код дома (последние четыре цифры в коде КЛАДР) подсказки берут из поля «Счетчик записей домов для КЛАДР 4» (COUNTER). Эти коды часто отличаются от указанных в КЛАДРе.

Впрочем, в самом КЛАДРе с каждым обновлением базы коды домов меняются, поэтому использовать их в качестве «постоянного» идентификатора адреса невозможно.

Мы рекомендуем для идентификации адреса использовать код ФИАС до улицы + дом + квартиру.

Подробности в статье на Хабре

Подсказки не работают: ошибка 403 Forbidden

Скорее всего, вы не подтвердили адрес эл. почты. Проверьте почтовый ящик и папку «спам» — там должно быть письмо от Дадаты. Пройдите по ссылке в письме, и вы в игре.

Прочее

Что будет, если превысить 10 000 бесплатных запросов в день?

Подсказки перестанут подсказывать :–) До начала нового дня, затем снова заработают.

10 000 запросов считаются суммарно по всем видам подсказок: адреса, ФИО, организации, банки и емейлы.

Как защитить API-ключ от злоумышленников?

Если вы используете jQuery-плагин Подсказок, то API-ключ виден в исходном коде страниц вашего сайта. Чтобы злоумышленник не мог воспользоваться вашим ключом, можно привязать его к конкретному домену.

Например, если вы владелец интернет-магазина myshop.ru, то привязка ключа к этому домену запретит пользоваться им на всех остальных сайтах.

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

Есть ли подсказки по адресам Украины, Белоруссии и Казахстана?

Пока нет. Возможно, в будущем появятся, но сроков пока нет.

Как часто обновляется справочник адресов (ФИАС)?

В течение двух дней после выхода обновления в налоговой. При условии, что в налоговой ничего не разломали (это случается).

<input id="party" name="party" type="text" size="100"/>
<link href="https://cdn.jsdelivr.net/npm/suggestions-jquery@17.10.0/dist/css/suggestions.min.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<!--[if lt IE 10]>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.1/jquery.xdomainrequest.min.js"></script>
<![endif]-->
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/suggestions-jquery@17.10.0/dist/js/jquery.suggestions.min.js"></script>
<script type="text/javascript">
    $("#party").suggestions({
        token: "${API_KEY}",
        type: "PARTY",
        count: 5,
        /* Вызывается, когда пользователь выбирает одну из подсказок */
        onSelect: function(suggestion) {
            console.log(suggestion);
        }
    });
</script>

Параметр token — это API-ключ.

Аргумент suggestion функции onSelect выглядит так:

НазваниеОписание
valueНаименование компании одной строкой (как показывается в списке подсказок)
unrestricted_valueНаименование компании одной строкой (полное)
data.address.valueАдрес одной строкой:
  • адрес организации для юридических лиц;
  • город проживания для индивидуальных предпринимателей.
data.address.unrestricted_valueАдрес одной строкой (полный, от региона)
data.address.dataГранулярный адрес. Может отсутствовать
data.branch_countКоличество филиалов
data.branch_typeТип подразделения
  • MAIN — головная организация;
  • BRANCH — филиал.
data.innИНН
data.kppКПП
data.management.nameФИО руководителя
data.management.postДолжность руководителя
data.name.full_with_opfПолное наименование с ОПФ
data.name.short_with_opfКраткое наименование с ОПФ
data.name.latinНаименование на латинице
data.name.fullПолное наименование
data.name.shortКраткое наименование
data.ogrnОГРН
data.okpoКод ОКПО (не заполняется)
data.okvedКод ОКВЭД
data.opf.codeКод ОКОПФ
data.opf.fullПолное название ОПФ
data.opf.shortКраткое название ОПФ
data.state.actuality_dateДата актуальности сведений
data.state.registration_dateДата регистрации
data.state.liquidation_dateДата ликвидации
data.state.statusСтатус организации
  • ACTIVE — действующая;
  • LIQUIDATING — ликвидируется;
  • LIQUIDATED — ликвидирована.
data.typeТип организации
  • LEGAL — юридическое лицо;
  • INDIVIDUAL — индивидуальный предприниматель.

Частые вопросы

Как сделать всякое

Как разложить компанию по полям? Наименование, ИНН, КПП, адрес?

Как подсказывать компании, зарегистрированные в конкретном городе или области?

Как подсказывать только индивидуальных предпринимателей?

Как подсказывать ликвидированные компании?

Как заставить подсказки учитывать местонахождение пользователя?

Подсказки делают это «из коробки»: определяют город пользователя по IP-адресу и подсказывают ближайшие варианты.

Как отключить геолокацию?

Передайте параметр geoLocation = false.

Почему не так, как ожидалось

Почему не находится организация? Я точно знаю, она должна быть

Скорее всего, организация недавно зарегистрирована в ФНС, и мы еще не успели получить информацию о ней из налоговой. Отставание Дадаты от сайта налоговой (egrul.nalog.ru) не более 3 дней, так что организация скоро появится.

Подсказки не работают: ошибка 403 Forbidden

Скорее всего, вы не подтвердили адрес эл. почты. Проверьте почтовый ящик и папку «спам» — там должно быть письмо от Дадаты. Пройдите по ссылке в письме, и вы в игре.

Прочее

Что будет, если превысить 10 000 бесплатных запросов в день?

Подсказки перестанут подсказывать :–) До начала нового дня, затем снова заработают.

10 000 запросов считаются суммарно по всем видам подсказок: адреса, ФИО, организации, банки и емейлы.

Как защитить API-ключ от злоумышленников?

Если вы используете jQuery-плагин Подсказок, то API-ключ виден в исходном коде страниц вашего сайта. Чтобы злоумышленник не мог воспользоваться вашим ключом, можно привязать его к конкретному домену.

Например, если вы владелец интернет-магазина myshop.ru, то привязка ключа к этому домену запретит пользоваться им на всех остальных сайтах.

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

Как часто обновляется справочник компаний (ЕГРЮЛ)?

По мере поступления обновлений от налоговой службы. Отставание от сайта налоговой (egrul.nalog.ru) не более 3 дней.

<input id="bank" name="bank" type="text" size="100"/>
<link href="https://cdn.jsdelivr.net/npm/suggestions-jquery@17.10.0/dist/css/suggestions.min.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<!--[if lt IE 10]>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.1/jquery.xdomainrequest.min.js"></script>
<![endif]-->
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/suggestions-jquery@17.10.0/dist/js/jquery.suggestions.min.js"></script>
<script type="text/javascript">
    $("#bank").suggestions({
        token: "${API_KEY}",
        type: "BANK",
        count: 5,
        /* Вызывается, когда пользователь выбирает одну из подсказок */
        onSelect: function(suggestion) {
            console.log(suggestion);
        }
    });
</script>

Параметр token — это API-ключ.

Аргумент suggestion функции onSelect выглядит так:

НазваниеОписание
valueНаименование банка одной строкой (как показывается в списке подсказок)
unrestricted_valueНаименование банка одной строкой (полное)
data.address.valueАдрес регистрации одной строкой
data.address.unrestricted_valueАдрес одной строкой (полный, от региона)
data.address.dataГранулярный адрес. Может отсутствовать
data.bicБанковский идентификационный код (БИК) ЦБ РФ
data.correspondent_accountКорреспондентский счет в ЦБ РФ
data.name.paymentПлатежное наименование
data.name.fullПолное наименование
data.name.shortКраткое наименование
data.okpoКод ОКПО
data.opf.typeТип кредитной организации
  • BANK — банк;
  • BANK_BRANCH — филиал банка;
  • NKO — небанковская кредитная организация (НКО);
  • NKO_BRANCH — филиал НКО;
  • RKC — расчетно-кассовый центр;
  • OTHER — другой.
data.opf.fullТип кредитной организации (на русском)
data.opf.shortТип кредитной организации (на русском, сокращенный)
data.phoneНе заполняется
data.registration_numberРегистрационный номер в ЦБ РФ
data.rkcРасчетно-кассовый центр. Объект такой же структуры, как сам банк.
data.state.actuality_dateДата актуальности сведений
data.state.registration_dateДата регистрации
data.state.liquidation_dateДата ликвидации
data.state.statusСтатус организации
  • ACTIVE — действующая;
  • LIQUIDATING — ликвидируется;
  • LIQUIDATED — ликвидирована.
data.swiftБанковский идентификационный код в системе SWIFT

Частые вопросы

Как сделать всякое

Как разложить информацию о банке по полям? Наименование, БИК, SWIFT, адрес?

Как подсказывать ликвидированные банки

Как заставить подсказки учитывать местонахождение пользователя?

К сожалению, подсказки по банкам не умеют этого делать.

Почему не так, как ожидалось

Почему не находится банк? Я точно знаю, он должен быть

Скорее всего, он ликвидирован. Настройте подсказки для поиска по ликвидированным банкам и проверьте.

Подсказки не работают: ошибка 403 Forbidden

Скорее всего, вы не подтвердили адрес эл. почты. Проверьте почтовый ящик и папку «спам» — там должно быть письмо от Дадаты. Пройдите по ссылке в письме, и вы в игре.

Прочее

Что будет, если превысить 10 000 бесплатных запросов в день?

Подсказки перестанут подсказывать :–) До начала нового дня, затем снова заработают.

10 000 запросов считаются суммарно по всем видам подсказок: адреса, ФИО, организации, банки и емейлы.

Как защитить API-ключ от злоумышленников?

Если вы используете jQuery-плагин Подсказок, то API-ключ виден в исходном коде страниц вашего сайта. Чтобы злоумышленник не мог воспользоваться вашим ключом, можно привязать его к конкретному домену.

Например, если вы владелец интернет-магазина myshop.ru, то привязка ключа к этому домену запретит пользоваться им на всех остальных сайтах.

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

Как часто обновляется справочник банков?

Каждый день. Мы берем его с сайта Банка России.

<input id="email" name="email" type="text" size="100"/>
<link href="https://cdn.jsdelivr.net/npm/suggestions-jquery@17.10.0/dist/css/suggestions.min.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<!--[if lt IE 10]>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.1/jquery.xdomainrequest.min.js"></script>
<![endif]-->
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/suggestions-jquery@17.10.0/dist/js/jquery.suggestions.min.js"></script>
<script type="text/javascript">
    $("#email").suggestions({
        token: "${API_KEY}",
        type: "EMAIL",
        count: 5,
        /* Вызывается, когда пользователь выбирает одну из подсказок */
        onSelect: function(suggestion) {
            console.log(suggestion);
        }
    });
</script>

Параметр token — это API-ключ.

Аргумент suggestion функции onSelect выглядит так:

НазваниеОписание
valueEmail одной строкой (как показывается в списке подсказок)
unrestricted_valueEmail одной строкой (полный)
data.localИменная часть
data.domainДоменная часть
data.qcКод проверки (не заполняется)

Частые вопросы

Как сделать всякое

Как подсказывать только по доменной части емейла (которая после «собачки»)?

Установите параметр suggest_local = false

Подсказки не работают: ошибка 403 Forbidden

Скорее всего, вы не подтвердили адрес эл. почты. Проверьте почтовый ящик и папку «спам» — там должно быть письмо от Дадаты. Пройдите по ссылке в письме, и вы в игре.

Прочее

Что будет, если превысить 10 000 бесплатных запросов в день?

Подсказки перестанут подсказывать :–) До начала нового дня, затем снова заработают.

10 000 запросов считаются суммарно по всем видам подсказок: адреса, ФИО, организации, банки и емейлы.

Как защитить API-ключ от злоумышленников?

Если вы используете jQuery-плагин Подсказок, то API-ключ виден в исходном коде страниц вашего сайта. Чтобы злоумышленник не мог воспользоваться вашим ключом, можно привязать его к конкретному домену.

Например, если вы владелец интернет-магазина myshop.ru, то привязка ключа к этому домену запретит пользоваться им на всех остальных сайтах.

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

Ограничения

Количество запросов в день — в соответствии с тарифным планом.

Длина запроса — не более 300 символов.

Количество условий (параметр locations) — не более 100.


Примеры настройки подсказок

Подробная документация

Служба поддержки

ajax-spinner

Зарегистрируйтесь, чтобы подключить подсказки

до 10 тыс запросов бесплатно

чтобы обращаться к вам в письмах

Регистрируясь, вы принимаете публичную оферту

Уже зарегистрированы? Войти