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

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

0
Отвечен

Тип данных для полей email / телефон

Eremenko Stanislav 7 лет назад обновлен Арина Пушкина 3 года назад 3

Привет!
В ответе на запрос к API подсказок приходят поля "phones" и "emails". Судя по названию - в данных  этих полей может содержаться несколько значений. 
Какой для них тип данных? Строка? Массив? JS объект? Не нашел примеров компаний, где эти данные есть.
Вообще, было бы здорово добавить типы для полей в документацию по API (https://confluence.hflabs.ru/pages/viewpage.action?pageId=592412794)

Ответ
Антон Жиянов 7 лет назад

Станислав, привет! Пока в phones и emails всегда пусто, а будет массив объектов.

0
Не ошибка

Павловский Посад препятствует распознаванию

Пользователь 10218 7 лет назад обновлен Валерия Таныгина 7 лет назад 1

Нас атаковали адресами в Павлово-Посадском районе, которые распознаются некорректно:
Евсеево, гор. округ Павловский Посад, Московская область;

Гаврино, гор. округ Павловский Посад, Московская область;

Заозерье, гор. округ Павловский Посад, Московская область;

и так далее.


Добавление почтовых индексов не помогает.


Все они начинают распознаваться, если "гор. округ Павловский Посад" заменить на "Павлово-Посадский".


Было бы здорово с этим разобраться.

Ответ
Валерия Таныгина 7 лет назад

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


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

0
Не ошибка

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

Сергей Александрович 7 лет назад обновлен Валерия Таныгина 7 лет назад 1

Здравствуйте. 

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

Спасибо

Ответ
Валерия Таныгина 7 лет назад

Сергей, добрый день!


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


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



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


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


0
Отвечен

Где мои 100 бесплатных запросов?)

Анонимный 7 лет назад обновлен Валерия Таныгина 7 лет назад 1

Почему у меня сразу начали списываться деньги за запросы стандартизации через API?

И второй вопрос, 100 бесплатных запросов это в день или в месяц?


Спасибо.

Ответ
Валерия Таныгина 7 лет назад

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



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


100 бесплатных записей вы можете использовать только один раз. 

0
Исправлен

jQuery плагин - ошибка при обходе массива через for key in и расширенными прототипами Array

Кирилл Егоренков 7 лет назад обновлен Антон Жиянов 7 лет назад 4

Доброго времени суток.


В проекте используем 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;
    },


Спасибо.




Ответ
Антон Жиянов 7 лет назад

Исправлено в 18.3.3

0
Отвечен

Юр адрес

sergey belikov 7 лет назад обновлен Валерия Таныгина 7 лет назад 1
Добрый день! Подскажите, пожалуйста, вы передаете юридический адрес организации по ИНН? ИП?
Ответ
Валерия Таныгина 7 лет назад

Добрый день!

Подсказки отдают адрес организации из официального справочника налоговой службы (ЕГРЮЛ).


Адрес юридического лица содержится в поле suggestion.data.address. Это объект. У него всегда есть поле «адрес одной строкой» (address.value). И дополнительно, если Дадате удалось уверенно распознать адрес, есть набор гранулярных полей (address.data). 


Если Дадата уверенно распознала адрес компании, индекс лежит в отдельном поле address.data.postal_code. Если нет — индекс вместе с остальным адресом лежит одной строкой в поле address.value


0
Отвечен

В подсказках ввода адреса отсутствуют литеры зданий

Георгий 7 лет назад обновлен Валерия Таныгина 7 лет назад 1

Например при вводе адреса: г Санкт-Петербург, ул Магнитогорская, д 30

подсказки выдают только 30 дом, хотя в том же фиасе по 30 дому есть еще 5 литер.


как можно получать подсказки по литерам и корпусам в полном обьеме?

Ответ
Валерия Таныгина 7 лет назад

В ФИАС очень много несуществующих адресов с литерами, которые ничем не отличаются от реальных. 


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


К сожалению, сейчас нет возможности разделять реально существующие дома и те, которые есть только в ФИАС. 


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

0
Не ошибка

Разный результат при работе через java и rest

Станислав 7 лет назад обновлен Антон Жиянов 7 лет назад 2

Используем javascript при вводе адреса на фронтэнде и REST при вводе на бекэнде.

Например запрос "ленинский 17 4 9":


Результат javascript как и ожидается, "г Москва, Ленинский пр-кт, д 17 к 4, кв 9"


REST API при аналогичном запросе выдает "Респ Башкортостан, Куюргазинский р-н, с/с Ленинский", а при ограничении поиска по Москве вообще никаких результатов

Ответ
Антон Жиянов 7 лет назад

Плагин использует геолокацию по IP-адресу. Через REST её тоже можно использовать:

  1. Сначала вызываете detectAddressByIp.
  2. Из ответа берёте kladr_id и подставляете в параметр locations_boost.

Если ограничить поиск по Москве, тоже будет корректный результат, только надо указать параметр restrict_value = true. Запрос в этом случае будет выглядеть так:

{
    "query":"ленинский 17 4 9",
    "locations": [{
        "kladr_id": "7700000000000"
    }],
    "restrict_value": true
}
0
Отвечен

код кладра

Руслан1 7 лет назад обновлен Антон Жиянов 7 лет назад 1

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

Ответ
Антон Жиянов 7 лет назад

Руслан, добрый день!


Дадата работает по справочнику адресов налоговой службы (ФИАС).


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


В ФИАС COUNTER для дома 34 на улице Гоглоля равен именно 115.


Что касается самого справочника КЛАДР, то он доживает последний месяц. С 2018 года останется только ФИАС.

0
Отвечен

Надпись "выберите вариант или продолжите ввод"?

Александр586 7 лет назад обновлен Антон Жиянов 7 лет назад 3

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

Ответ
Антон Жиянов 7 лет назад

Добрый день! Да, просто передайте параметр hint = false:

$("#id").suggestions({
  ...
  hint: false,
  ...
});

Сервис поддержки клиентов работает на платформе UserEcho