Совместное использование "count" и "location"
Описание про "уверенность" системы при count=1 прочитал.
Почему при
{
}
система "уверена" в адресе и выдает результат
, а при:
{
}
система "не уверена" и выдает пустой ответ.
Контекст: передаем данные об адресе с сайта в 1С и на стороне 1С проверяю есть ли данный адрес в системе.
Проверку на fias_level планирую сделать.
Ответ
Александр,
дело в том, что запрос c count = 1 выполняется для получения дополнительной информации по адресу. Он эквивалентен выбору конкретной Подсказки в jQuery-плагине. Ограничения выборки подсказок для него не требуется, поэтому при count = 1 нужно отправлять запрос с полным адресом (взять значение из unrestricted_value выбранной подсказки):
{"query": "Пермский край, г Пермь, ул Белозерская, д 3 ","count": 1}
"query": "Пермский край, г Пермь, ул Белозерская, д 3 "
и
"query": "д 3", "locations": [{ "street_fias_id": "52af30c9-9801-44b7-be6a-ee93446618c9" }], "from_bound": {"value": "house"}
на Ваш взгляд не эквивалентны?
Если подставить "query": "д 32", без count, то выводится одна запись с гео.
Я работаю с API, вопрос по нему, запрос без локации был взят из jQuery реализации.
Я активно использую гранулярные подсказки:
https://confluence.hflabs.ru/pages/viewpage.action?pageId=466681932
Непонятна "уверенность" алгоритма, при том что на улице есть еще несколько 30-х домов.
Про unrestricted_value понятно, но гранулы начал применять из за того что "парсер" с вашей стороны неточно разбирал Лихачевские переулки в г. Москва с домами и корпусами.
Запросы из примера не эквивалентны, т.к. первый запрашивает д 3 (после номера стоит пробел), а во втором запросе осуществляется поиск всех домов, начинающихся с 3.
Нормальная, недокументированная фича, задокументируйте пожалуйста.
Получается count=1 ставить необязательно, просто проверю количество записей в ответе. С location отрабатывает нормально.
С Лихачевскими переулками протестирую, думаю будет норм, проблема была в том что при сборе строки запроса "Лихачевский 3-й, д 2 " он мог выдать и адреса по ""Лихачевский 2-й", а этого в списке выбора поля ввода номера дома не видно. Проблему решил с помощью location.
Возможно ошибки были из за того что строку собирал без разделителей "," , проверю.
Благодарю за информацию.
Александр, уточните, пожалуйста, вы используете подсказки только для номеров домов? Откуда появляется информация об улице?
В типовой 1С УТ 10 используется набор полей, по структуре похожих на https://dadata.ru/suggestions/#address-granular.
1. При вводе нового адреса последовательно заполняются поля с использованием подсказок, с сохранением в кеше структуры _fias_id.
2. С сайта приходит информация о адресе, транслируется ваша структура, которую нужно проверить, так же ориентир на street_fias_id + номер дома строения.
Сервис поддержки клиентов работает на платформе UserEcho
Александр,
дело в том, что запрос c count = 1 выполняется для получения дополнительной информации по адресу. Он эквивалентен выбору конкретной Подсказки в jQuery-плагине. Ограничения выборки подсказок для него не требуется, поэтому при count = 1 нужно отправлять запрос с полным адресом (взять значение из unrestricted_value выбранной подсказки):