
Были добавлены ОКАТО коды для городов и регионов России, КОАТУУ для Украины и СОАТО для Беларуси.
Технические подробности
Алгоритм работы Sypex Geo значительно не изменился, были исправлены небольшие ошибки, которые возникали при сильной неравномерности распределения IP диапазонов.
Основные изменения коснулись справочников.
- Добавился справочник стран, позволяющий сохранянь более подробную информацию о стране.
- Внедрен универсальный формат упаковщика данных, благодаря чему можно сохранять в базу любые данные, без изменений в API.
- Формат упаковки сохраняется в файле базы данных, после заголовка.
Подробнее о формате данных можно почитать в спецификации формата SxGeo 2.2.
REST API
Вместе с новой версией Sypex Geo был запущен сервис REST API. Где с помощью простого запроса по HTTP или HTTPS можно получить наиболее актуальную и расширенную информацию об IP, используя самую свежую базу данных Sypex Geo Max.
Результаты могут выдаваться в 3 форматах: JSON, JSONP и XML. Поддерживается пакетная обработка, до 100 IP в запросе.
Простейший запрос к API выглядит так:
api.sypexgeo.net
В результате будет получена информация о вашем IP в формате JSON.
{
"ip":"123.45.67.89", // Запрашиваемый IP
"city":{ // Информация о городе
"id":1835848, // ID города в GeoNames
"lat":37.566, // Широта города
"lon":126.9784, // Долгота города
"name_ru":"Сеул", // Название на русском
"name_en":"Seoul", // Название на английском
"okato":"" // ОКАТО коды для городов России, КОАТУУ для Украины и СОАТО для Беларуси
},
"region":{ // Информация о регионе
"id":1835847, // ID региона в GeoNames
"lat":37.58, // Широта региона
"lon":127, // Долгота региона
"name_ru":"Сеул", // Название на русском
"name_en":"Seoul", // Название на английском
"iso":"KR-11", // ISO3166-2 геокод региона
"timezone":"Asia/Seoul", // Часовой пояс региона
"okato":"" // ОКАТО код для регионов России, КОАТУУ для Украины и СОАТО для Беларуси
},
"country":{ // Информация о стране
"id":119, // ID страны
"iso":"KR", // ISO3166-1 геокод страны
"continent":"AS", // Код континента
"lat":36.5, // Широта центра страны
"lon":127.75, // Долгота центра страны
"name_ru":"Южная Корея", // Название на русском
"name_en":"South Korea", // Название на английском
"timezone":"Asia/Seoul" // Часовой пояс столицы
}}
Те же данные в xml можно получить выполнив
api.sypexgeo.net/xml
Чтобы получить информацию об произвольном IP нужно выполнить запрос:
api.sypexgeo.net/json/123.45.67.89
Если нужно проверить сразу несколько IP, нужно их просто перечислить через запятую или точку с запятой
api.sypexgeo.net/json/123.45.67.89;222.22.22.22
Чтобы получить данные в формате JSONP нужно выполнить запрос:
api.sypexgeo.net/jsonp/123.45.67.89&callback=alert
Допускаются и POST запросы, в таком случае IP указываются в параметре ip.
Ссылки по теме
- Демо для проверки IP
- Скачать SxGeo API версии 2.2 и базы данных можно здесь.
- Ознакомиться с GeoNames.