Служба поддержки DaData.ru
Если чего-то не хватает, или вы столкнулись с проблемой — оставьте сообщение, и мы ответим в течение 24 часов. Работаем с понедельника по пятницу, с 10 до 19 по Москве.
Подсказки работают только когда указано "region": "Москва", но не "region": "г Москва" в свойстве "locations"
Однако, нам в ответ ничего не приходит. Вот пример запроса:
$ curl -s -d '{"query":"тве","count":2,"locations":[{"region":"г Москва"}],"restrict_value":true}' -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: Token ...' 'https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address'
{"suggestions":[]}
То есть, 0 подсказок. Если же мы укажем "Москва" вместо "г Москва" (т.е. указано только название города, без типа), то всё неожиданно начинает работать:
$ curl -s -d '{"query":"тве","count":2,"locations":[{"region":"Москва"}],"restrict_value":true}' -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: Token ...' 'https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address'
{"suggestions":[{"value":"ул Тверская", ...
Аналогично происходит с другими полями (region, area, settlement). Мы хотим использовать подсказки адреса в мобильном приложении, поэтому ввод поля адрес, как единого поля, нам не подходит, потому что пользователю полный адрес вводить будет неудобно. Также, мы не хотим использовать kladr_id в подсказке, потому что пользователь может не выбрать ни одну из подсказок при вводе города и области из-за того, что у него может быть медленный интернет.
Есть ли какая-то возможность ограничивать подсказки, не используя kladr_id и передавая введенный пользователем текст «как есть»?
Есть ли какая-то возможность ограничивать подсказки, не используя kladr_id и передавая введенный пользователем текст «как есть»?
Да, можно добавить конкатенацию значений из вышестоящих строк в начало запроса по улице. Например:
1. Пользователь ввёл в город: г Москва. 2. Вводит в улицу: тве → отправить запрос подсказок: "г Москва тве".
или
1. Пользователь ввёл в область: Самарская область. 2. Ввёл в город: Тольятти. 3. Вводит в улицу: ав → отправить запрос подсказок: "Самарская область Тольятти ав".
Вам подойдёт такое решение?
Как исключить конкретный город из поиска
Красноярский край (кроме Норильска) - делать подсказки везде кроме Норильска
Попробуйте отсеивать адреса Норильска после получения списка подсказок.
Не нахожу банк по БИК 044525205
Не могу найти банк по БИК 044525205
Хотя на сайте ЦБ данный БИК находит
БИК 044525205 принадлежит ликвидированному банку, поэтому подсказки его не показывают. Чтобы ликвидированные банки были в подсказках, их можно настроить по примеру.
С 8 декабря произошли изменения в Справочнике БИК в связи с реорганизацией ПАО «МДМ Банк» в форме присоединения к нему ПАО «БИНБАНК» и АО «БИНБАНК Мурманск». Изменились платежные реквизиты, в том числе БИК 044525117.
Зачем гранулярные поля адреса в API?
Использую API подсказок адресов. Зачем у вас если город, то он в одном параметре, если АО он в другом, село в третьем и .т.д. К чему такие сложности?
Подскажите, пожалуйста, как вы используете подсказки и ответ от них?
Использование адресных объектов в разных параметрах позволяет настраивать подсказки под себя. Вот лишь несколько примеров таких настроек:
- сделать гранулярные подсказки по адресу;
- разложить адрес по полям;
- подсказывать только внутри конкретного города или области;
- подсказывать только город или город и населенный пункт.
locations по городу с типом
Если поместить "г Пермь" в строку поиска при поиске улицы, то отрабатывает нормально, если поместить в фильтр "locations": [{ "city": "г Пермь" }], то улицу не находит
Да, вы правы. Если в locations указывать адресный объект с типом, подсказки возвращают пустой ответ.
Попробуйте выполнить запрос с "locations": [{ "city": "Пермь" }].
Примеры на 1С
Добрый день!
У Вас на сайте (https://dadata.ru/api/suggest/) есть примеры работы, написанные на 1С, но Вы их выложили на сайт http://infostart.ru/, а там необходима регистрация (причем регистрация там стоит денег). Чтобы не лепить свой велосипед, не могли бы Вы выложить свои примеры в другое место, более доступное для всех - как пример https://github.com/
Заранее благодарен!
Добрый день! Примеры написаны не нашими сотрудниками, поэтому я не имею права без разрешения авторов выложить их на гитхаб. Я запрошу у них, и если не будет возражений, то выложу.
Принудительно исправлять опечатки в подсказках по email
Подсказки по емейлам предлагают исправить опечатки (yadex.ru → yandex.ru). Но не исправляют их принудительно, если человек ушел из текстового поля, не выбрав подсказку. Хорошо бы исправлять их принудительно, чтобы уменьшить количество ошибок.
в г. Оренбург подсказка не видит ул Пролетарская
yandex.ru/maps/48/orenburg/?text=Россия%2C%20Оренбург%2C%20Пролетарская%20улица
Фильтр для отсечения неактивных фирм?
Нужен функционал фильтрации активных/неактивных компаний.
Что бы в подсказке выводились только активные.
Такая возможность уже есть :)
Чтобы искать только действующие компании, укажите параметр status = ACTIVE
.
Чтобы посмотреть пример подсказок активных компаний, выберите в списке ограничений "только действующие".
Жилой комплекс Андреевский квартал, как правильно задавать адрес?
Добрый день!
Есть адрес:
жилой комплекс Андреевский квартал
Как его правильно задавать, чтобы DaData его правильно распознавала?
Добрый день!
Дадата использует справочник адресов налоговой службы (ФИАС), в котором нет типа "жилой комплекс".
Поэтому адрес с названием комплекса "рп Андреевка жк Андреевский квартал" будет помечен "на ручную проверку" и распознан как рп Андреевка:
Дома, входящие в комплекс, в справочнике ФИАСа относятся к рабочему посёлку Андреевка.
Чтобы адрес был распознан уверенно (код качества qc: 0), достаточно указать рп Андреевка и номер дома, например:
Для правильного распознавания адрес может быть написан разными способами, это не единственный вариант.
Если с обработкой адреса возникли проблемы, пришлите, пожалуйста, конкретные примеры исходных адресов. Попробуем разобраться :-)
Сервис поддержки клиентов работает на платформе UserEcho