Служба поддержки DaData.ru
Если чего-то не хватает, или вы столкнулись с проблемой — оставьте сообщение, и мы ответим в течение 24 часов. Работаем с понедельника по пятницу, с 10 до 19 по Москве.

Павловский Посад препятствует распознаванию
Нас атаковали адресами в Павлово-Посадском районе, которые распознаются некорректно:
Евсеево, гор. округ Павловский Посад, Московская область;
Гаврино, гор. округ Павловский Посад, Московская область;
Заозерье, гор. округ Павловский Посад, Московская область;
и так далее.
Добавление почтовых индексов не помогает.
Все они начинают распознаваться, если "гор. округ Павловский Посад" заменить на "Павлово-Посадский".
Было бы здорово с этим разобраться.

Добрый день! Дадата честно сообщает, что она не уверена в разборе, и адрес надо проверить вручную (на это указывает код проверки).
Мы, со своей стороны, постараемся улучшить разбор таких адресов в будущем.

При вводе адреса отдельными полями не находится адрес "г Брянск, ул Вокзальная, д 150"
Здравствуйте.
При вводе адреса отдельными полями не находится адрес "г Брянск, ул Вокзальная, д 150". При вводе в свободной форме все работает.
Спасибо

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

Пока в ФИАС есть дублирование улиц мы не можем решить эту проблему в гранулярных подсказках.
Поскольку 100% покрытия домов добиться невозможно, рекомендуем всегда разрешать человеку ввести адрес, даже если его нет в Подсказках.

Где мои 100 бесплатных запросов?)
Почему у меня сразу начали списываться деньги за запросы стандартизации через API?
И второй вопрос, 100 бесплатных запросов это в день или в месяц?
Спасибо.

В файловой стандартизации для каждого загруженного файла Дадата бесплатно обрабатывает 100 первых записей и показывает результат.
В API-стандартизации после активации API-ключа дарим 10 рублей на счет. Этого хватит для обработки 100 записей через API.
100 бесплатных записей вы можете использовать только один раз.

jQuery плагин - ошибка при обходе массива через for key in и расширенными прототипами Array
Доброго времени суток.
В проекте используем jQuery плагин (suggestions-jquery) стабильной версии 17.10.1
При расширении прототипа объекта Array (методы для удаления элемента из массива по значению и др.), в поиске появляется ошибка на подсказках по адресам, связанная с тем, что данный метод (св-во) объекта Array перечисляется при обходе массива через цикл for(historyValueIndex in historyValues) в методе getFormattedHistoryValues. И для функций расширений пытается вызваться toLowerCase().
Так же подобный перебор происходит в методе findUnusedTokens.
Обход массива через данный цикл - плохой тон. Как правило, предлагается проверять наличие св-ва в массиве через .hasOwnProperty, но не хотелось бы лезть руками в плагин, ведь для него выходят более свежие версии.
Прилагаю код методов.
/**
* Возвращает исторические названия для слов запроса, для которых не найдено совпадения в основном значении
*/
getFormattedHistoryValues: function(unusedTokens, historyValues) {
var tokenIndex,
token,
historyValueIndex,
historyValue,
values = [],
formatted = '';
for(historyValueIndex in historyValues) {
historyValue = historyValues[historyValueIndex];
for(tokenIndex in unusedTokens) {
token = unusedTokens[tokenIndex];
if (historyValue.toLowerCase().indexOf(token) >= 0) {
values.push(historyValue);
break;
}
}
}
if (values.length > 0) {
formatted = ' (бывш. ' + values.join(', ') + ')';
}
return formatted;
},
Метод findUnusedTokens из плагина
/**
* Возвращает список слов в запросе для которых не найдено соответствующего слова в ответе
*/
findUnusedTokens: function(tokens, value) {
var tokenIndex,
token,
unused = [];
for(tokenIndex in tokens) {
token = tokens[tokenIndex];
if (value.indexOf(token) === -1) {
unused.push(token);
}
}
return unused;
},
Спасибо.

Юр адрес

Добрый день!
Подсказки отдают адрес организации из официального справочника налоговой службы (ЕГРЮЛ).
Адрес юридического лица содержится в поле suggestion.data.address. Это объект. У него всегда есть поле «адрес одной строкой» (address.value). И дополнительно, если Дадате удалось уверенно распознать адрес, есть набор гранулярных полей (address.data).
Если Дадата уверенно распознала адрес компании, индекс лежит в отдельном поле address.data.postal_code. Если нет — индекс вместе с остальным адресом лежит одной строкой в поле address.value

В подсказках ввода адреса отсутствуют литеры зданий
Например при вводе адреса: г Санкт-Петербург, ул Магнитогорская, д 30
подсказки выдают только 30 дом, хотя в том же фиасе по 30 дому есть еще 5 литер.
как можно получать подсказки по литерам и корпусам в полном обьеме?

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

Разный результат при работе через java и rest
Используем javascript при вводе адреса на фронтэнде и REST при вводе на бекэнде.
Например запрос "ленинский 17 4 9":
Результат javascript как и ожидается, "г Москва, Ленинский пр-кт, д 17 к 4, кв 9"
REST API при аналогичном запросе выдает "Респ Башкортостан, Куюргазинский р-н, с/с Ленинский", а при ограничении поиска по Москве вообще никаких результатов

Плагин использует геолокацию по IP-адресу. Через REST её тоже можно использовать:
- Сначала вызываете detectAddressByIp.
- Из ответа берёте kladr_id и подставляете в параметр locations_boost.
Если ограничить поиск по Москве, тоже будет корректный результат, только надо указать параметр restrict_value = true. Запрос в этом случае будет выглядеть так:
{ "query":"ленинский 17 4 9", "locations": [{ "kladr_id": "7700000000000" }], "restrict_value": true }

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

Руслан, добрый день!
Дадата работает по справочнику адресов налоговой службы (ФИАС).
В ФИАС нет кодов КЛАДР для домов. Поэтому код дома (последние четыре цифры в коде КЛАДР) Дадата берёт из поля «Счетчик записей для формирования классификационного кода» (COUNTER). Эти коды часто отличаются от указанных в КЛАДРе.
В ФИАС COUNTER для дома 34 на улице Гоглоля равен именно 115.
Что касается самого справочника КЛАДР, то он доживает последний месяц. С 2018 года останется только ФИАС.

Надпись "выберите вариант или продолжите ввод"?
Здравствуйте, а можно ли убрать из подсказки надпись "выберите вариант или продолжите ввод" и тд? Можно ли в отдельных случаях убрать, а некоторых оставить?

Добрый день! Да, просто передайте параметр hint = false:
$("#id").suggestions({ ... hint: false, ... });

Запрос идет, но подсказки не отображаются
Для тестирования просто скопировал текст примера со страницы https://dadata.ru/suggestions/usage/ со вставленным ключем без каких либо изменений. Запрос, видимо, делается, судя по анимации в правом углу поля ввода, но подсказки не отображаются.
Сервис поддержки клиентов работает на платформе UserEcho