Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 18 Следующий »

Геолокация определяет местоположение клиента по IP-адресу.

С версии 18.12 «Подсказок» поддерживается формат адреса IPv6.

Запрос

В версии 19.2 изменился формат запроса

Для пользователей подсказок DaData.ru:

curl -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Token ${API_KEY}" \
  https://suggestions.dadata.ru/suggestions/api/4_1/rs/iplocate/address?ip=213.180.193.3

Для пользователей standalone-подсказок:

curl -X GET \
  -H "Accept: application/json" \
  http://ВАШ_СЕРВЕР:ПОРТ/suggestions/api/4_1/rs/iplocate/address?ip=2a0d:e100::12

Для пользователей подсказок DaData.ru:

curl -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Token ${API_KEY}" \
  https://suggestions.dadata.ru/suggestions/api/4_1/rs/detectAddressByIp?ip=213.180.193.3

Для пользователей standalone-подсказок:

curl -X GET \
  -H "Accept: application/json" \
  http://ВАШ_СЕРВЕР:ПОРТ/suggestions/api/4_1/rs/detectAddressByIp?ip=2a0d:e100::12

Невозможно предоставить {include} Включенная страница не может быть найдена.

Параметры

ПараметрОбязательный?Описание
ipнетIP-адрес. Если не указан, используется IP-адрес из HTTP-запроса

Ответ (18.12 и раньше)

Объект вида:

{
    "location": {
        "value": "83.220.54.223",
        "unrestricted_value": null,
        "data": { ... }
    }
}

Где location.value — это IP-адрес клиента, а location.data заполнен аналогично полю data в объекте адреса.

Ответ (19.1+)

Объект вида:

{
    "location": {
        "value": "г Москва",
        "unrestricted_value": "г Москва",
        "data": { ... }
    }
}

Где location — это объект адреса.

Если местоположение определить не удалось, то location = null:

{
    "location": null
}

Алгоритм выбора IP-адреса из параметров запроса

ЕСЛИ IP указан в параметре ip
ТО использовать его
ИНАЧЕ
   ЕСЛИ IP указан в HTTP-заголовке X-Forwarded-For
   ТО использовать его
   ИНАЧЕ вернуть IP сокета соединения

Местоположение определяется только для российских адресов.

  • Нет меток