Перенос автоматизации Zapier или Make на новый хост геокодирования
No-code автоматизации с шагом геокодирования требуют иного подхода к миграции, чем собственный код. Вот как провести такой переход.
MapQuest Geocoding существует достаточно давно, и многие интеграции, построенные на нём, появились раньше значительной части нынешней волны картографических API. Его ключ, создаваемый в аккаунте разработчика MapQuest, передаётся как параметр запроса, а ответы возвращают массив results с вложенным массивом locations, каждый элемент которого содержит объект latLng и разбитую на части структуру адреса с полями вроде adminArea5 для города и postalCode для zip-кода или почтового индекса.
Настолько старые интеграции иногда несут особый вид технического долга: код, вызывающий MapQuest, мог быть написан человеком, которого уже нет в команде, с комментариями, ссылающимися на решения, которые никто не помнит. Это не повод отказываться от миграции, но это повод тщательно тестировать, а не считать, что тот, кто проводит миграцию сейчас, хорошо понимает существующий код.
Совместимый хост My Geocode для MapQuest воспроизводит структуру массивов results и locations вместе с полями latLng и адреса, меняя только тексты об авторских правах, условиях и конфиденциальности. Подробности находятся по адресу /compatibility/mapquest/. В большинстве случаев обновление хоста и ключа и есть всё изменение: вложенный путь доступа results[0].locations[0].latLng должен по-прежнему возвращать данные в той же форме.
Разумный порядок действий для такой старой интеграции:
Аутентификация на новой стороне принимает заголовок X-API-Key, заголовок Authorization: Bearer, HTTP Basic auth или параметр запроса, поэтому как бы ни передавался старый ключ MapQuest, здесь найдётся подходящий вариант.
Цены фиксированные и не требуют выбора уровня аккаунта: 2 500 запросов в день бесплатно без ключа, ещё 2 500 бесплатных на каждый ключ в день с учётом по сети, затем предоплаченный баланс по 0,0001 € за запрос или ключ Unlimited за 50 € в месяц. Каждый эндпоинт, включая этот совместимый хост, стоит одинаково, что убирает переменную, которую старые контракты иногда содержали в виде скачков между уровнями в зависимости от объёма.
Для интеграции с MapQuest, которая годами тихо работала без особого внимания, цель такой миграции в том, чтобы и после неё она оставалась такой же тихой: та же форма ответа, тот же код, другой хост и ключ за кулисами.