Миграция

Отказ от интеграции с автоподсказками HERE

Эндпоинт автоподсказок HERE возвращает подсказки адресов и мест по мере ввода текста пользователем в виде массива items, где каждый элемент содержит title, поле resultType, указывающее, является ли подсказка полным адресом, местом или категорией, и часто объект подсветки, отмечающий, какие символы совпали с вводом. Такая смешанная типизация результатов (адреса, места и категории вместе в одном ответе) одна из самых характерных черт подхода HERE, и её стоит внимательно разобрать, прежде чем считать, что автодополнение другого провайдера работает точно так же.

Интеграции автоподсказок обычно глубоко встроены в конкретный фронтенд-компонент, поле адреса с выпадающим списком, и детали взаимодействия (как быстро появляются подсказки, как отображается подсветка, что происходит, когда пользователь игнорирует подсказки и просто продолжает печатать) обычно важнее для конечных пользователей, чем любые детали реализации на бэкенде. Поэтому миграция отчасти задача для бэкенда, а отчасти проверка UX.

My Geocode предоставляет автодополнение адресов, описанное по адресу /docs/address-autocomplete/, со своей собственной формой запроса и ответа. Поскольку смешивание результатов и поведение ранжирования действительно зависят от реализации каждого провайдера, этот эндпоинт стоит протестировать напрямую на типичных запросах ваших собственных пользователей, а не предполагать, что структура результатов смешанных типов из HERE переносится без изменений. Разные провайдеры по-разному проводят границу между тем, что считается подсказкой адреса, и тем, что считается местом.

Шаги, которые обычно хорошо работают при такой миграции:

  • Составьте перечень конкретных значений resultType, по которым сейчас ветвится ваш фронтенд-код, поскольку именно эта логика ветвления, скорее всего, потребует доработки
  • Проверьте поведение подсветки или совпавших подстрок, которое сейчас отображает ваш интерфейс, и выясните, предоставляет ли новый эндпоинт эквивалент или эту деталь интерфейса нужно переделать
  • Прогоните новый эндпоинт на выборке реальных исторических запросов из ваших журналов, а не на синтетических тестовых адресах, поскольку реальные особенности ввода пользователей (опечатки, неполные слова, сокращения) выявляют различия в ранжировании, которые чистые тестовые данные не покажут

Аутентификация выполняется по ключу, передаваемому в виде X-API-Key, Authorization: Bearer, HTTP Basic auth или параметра запроса. Цены: 2 500 бесплатных запросов в день без ключа, ещё 2 500 бесплатных на каждый ключ в день с учётом по сети, затем предоплаченный баланс по 0,0001 € за запрос или ключ Unlimited за 50 € в месяц, по одной ставке для всех эндпоинтов платформы.

Учитывая, как часто срабатывают автоподсказки по сравнению с типичным вызовом геокодирования (почти каждое нажатие клавиши может вызвать запрос), стоит оценить объём относительно вашей бесплатной дневной квоты и цены за запрос до полного запуска, а не узнавать реальную картину использования только после выхода в продакшен.