Миграция

Переход с ipinfo.io

У ipinfo.io характерный стиль ответа: поле loc объединяет широту и долготу в одну строку через запятую вместо двух отдельных чисел, а поле org объединяет номер автономной системы и название организации, например «AS15169 Google LLC» в одной строке. Аутентификация выполняется по токену, а в остальном ответ остаётся компактным и в основном плоским, с полями city, region, country и postal рядом с этими двумя объединёнными полями.

На такое форматирование объединённых строк стоит обратить особое внимание, потому что код, который разбирает loc, разделяя строку по запятой, или разбирает org, разделяя её по первому пробелу, выполняет реальную работу, которая должна продолжать корректно работать после миграции. Это именно та мелкая деталь разбора, которую легко упустить, пока рабочий запрос не вернёт что-то, чего логика разделения не ожидает.

Совместимый хост ipinfo в My Geocode воспроизводит ту же компактную структуру, включая объединённую строку loc и строку org с префиксом номера AS, и отличается только текст об авторских правах, условиях и конфиденциальности. Справочник на странице /compatibility/ipinfo/. Логика разбора, построенная на разделении loc и org, должна продолжить работать точно так, как написана.

Определение IP относится к тем эндпоинтам, для которых можно описать реальные результаты, а не только формат. Запрос по конкретному адресу возвращает город, регион, страну, объединённую строку координат и объединённую строку организации в реальном времени, а не из устаревшего кэша, поскольку данные IP-геолокации в My Geocode поддерживаются актуальными с помощью слоя кэширования, который обновляется, а не устаревает.

Особенности миграции, которые стоит спланировать:

  • Аутентификация по токену соответствует нашим четырём поддерживаемым способам: заголовок X-API-Key, заголовок Authorization: Bearer, HTTP Basic auth или параметр запроса
  • Дополнительные данные (признаки угроз для IP, более подробные сведения о сети) добавляются рядом со стандартной компактной структурой при запросе с mg_extras=1 или заголовком X-MG-Extras, не нарушая поля, которые уже читает ваш код
  • Расход квоты виден в заголовках ответа при каждом вызове, включая X-Quota-Used и X-Credits-Remaining, что полезно, если ваша текущая интеграция отслеживает использование вручную

Цены: 2 500 бесплатных запросов в день без ключа, ещё 2 500 бесплатных в день на каждый ключ с учётом по сети, затем предоплаченный баланс по 0,0001 € за запрос или ключ Unlimited за 50 € в месяц, причём все эндпоинты, включая этот совместимый хост, стоят одинаково. Для приложений, построенных вокруг особого компактного формата ipinfo для логирования, аналитики или решений о доступе, цель этой миграции в том, чтобы сам формат никогда не пришлось менять, а менялся только тот, кто его отдаёт.