Информация о том, как получить IATA-код, название ближайшего от пользователя города по IP-адресу.
Описание
Запрос к API возвращает IATA-код, название ближайшего от пользователя города и другую информацию по переданному IP-адресу.
Запрос
http://www.travelpayouts.com/whereami?locale=ru&ip=185.127.225.123
Параметры запроса
- locale — язык, на котором возвращается название города (доступны все основные языки. Полный список может посмотреть в статье Список поддерживаемых языков. По умолчанию установлен русский);
- ip — ip-aдрес пользователя (поддерживаются IPv4 и IPv6 типы адресов).
Ответ
iata: "MOW"
name: "Москва"
country_name: "Россия"
country_code: "RU"
coordinates: "37.617634:55.755787"
accuracy: "city"Параметры ответа
- iata — код города;
- name — название города;
- country_name — название страны;
- country_code — код страны;
- coordinates — координаты города в формате долгота:широта;
-
accuracy — точность определения местоположения. Показывает, насколько можно доверять возвращённому городу:
- city — город определён по IP-адресу;
- nearest_city — город из базы IP нам неизвестен, возвращён ближайший к координатам пользователя город с аэропортом (в радиусе до 1000 км);
- country — по IP известна только страна, возвращена её столица;
- default — местоположение определить не удалось, возвращён самый популярный город для указанного языка.
Запрос всегда возвращает город, даже если определить местоположение не удалось, поэтому перед тем, как подставлять его в форму поиска, проверяйте accuracy.
Значениям city и nearest_city можно доверять: местоположение пользователя известно по IP. Значения country и default означают, что город — это запасной вариант, а не место, где находится пользователь: так бывает с IP-адресами дата-центров, VPN и мобильных операторов. В этих случаях лучше оставить поле поиска пустым и дать пользователю выбрать город самому.