Перенос автоматизации Zapier или Make на новый хост геокодирования
No-code автоматизации с шагом геокодирования требуют иного подхода к миграции, чем собственный код. Вот как провести такой переход.
Google Maps Platform часто становится первым API геокодирования, который подключает команда, в основном потому, что это самое громкое имя на рынке. Его модель аутентификации уже знакома большинству разработчиков: API-ключ, привязанный к платёжному аккаунту в проекте Google Cloud и передаваемый как параметр запроса в каждом обращении. Ответы геокодирования возвращаются в виде JSON-объекта с массивом results, полем status, строкой formatted_address и вложенным объектом geometry.location с широтой и долготой.
Больше всего при переходе команды обычно беспокоит код разбора, построенный вокруг именно этого формата. Компоненты адреса, границы области просмотра, идентификаторы мест: всё это читают функции, разбросанные по кодовой базе, а переписывание этих функций представляет собой как раз ту задачу, которую никто не хочет ставить в план. Именно эту проблему и призван устранить совместимый хост.
My Geocode поддерживает совместимый хост Google Maps, который воспроизводит собственный формат запросов и ответов геокодирования Google поле в поле. Единственный текст в ответе, который принадлежит нам, это формулировки об авторских правах, условиях и конфиденциальности, а всё остальное, включая названия полей и вложенность, совпадает с тем, что уже ожидает ваш код. На практике миграция означает замену имени хоста и ключа, а не правку парсера. Подробности на странице /compatibility/google-maps/.
Что остаётся прежним:
Что меняется:
Поскольку ключ можно передать в заголовке X-API-Key, в заголовке Authorization: Bearer, через HTTP Basic auth или в параметре запроса, клиентская библиотека, которая уже аутентифицируется своим особым способом, обычно продолжает работать без изменений. Эта гибкость важнее, чем может показаться, ведь на практике много проблем при миграции возникает из-за библиотек, рассчитанных на один конкретный способ передачи учётных данных.
Модель цен простая: 2 500 запросов в день бесплатны с любого адреса без ключа, и каждый ключ дополнительно получает 2 500 бесплатных запросов в день с учётом по сети. Сверх этого действует предоплаченный баланс по 0,0001 € за запрос или пакет Unlimited за 50 € в месяц, и все эндпоинты, включая все совместимые хосты, стоят одинаково. Нет отдельных тарифов, о которых нужно договариваться в зависимости от того, какой продукт вы вызываете.
Дополнительные поля (высота рельефа, признаки угроз для IP и сведения о сети) доступны на любом совместимом хосте при добавлении mg_extras=1 или заголовка X-MG-Extras, не нарушая формат, от которого зависит остальной ваш код. Это даёт возможность позже получить более богатые данные без второй миграции.
Если ваша интеграция также использует обратное геокодирование, автодополнение или поиск почтовых индексов, та же замена хоста и ключа применяется и к ним, хотя точный формат запроса и ответа этих эндпоинтов стоит сверить с вашим текущим кодом перед переключением, поскольку соглашения о форматировании адресов различаются по странам. Разумный способ убедиться, что формат соответствует ожиданиям: перед полным переходом протестировать на новом хосте часть рабочего трафика. Полный справочник полей для всех совместимых хостов на странице /docs/compatibility/.