Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Информация

Требует лицензию на модули address и ip.

Включить страницу
SGTDOC:О «Подсказках»: город
Геолокация определяет местоположение клиента
по IP-адресу
.

Информация

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

Запрос

Информация

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

SGTDOC:О «Подсказках»: город по IP-адресу

Запрос

POST (21.1+)Для пользователей подсказок DaData.ru:

Без форматирования
curl -X GETPOST \
  -H "AcceptContent-Type: application/json" \
  -H "AuthorizationAccept: Token ${API_KEY}application/json" \
   https://suggestions.dadata.ru/suggestions/api/4_1/rs/iplocate/address?ip=213.180.193.3

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

Для пользователей подсказок DaData.ru
Без форматирования
curl -X GET \
  -H "Accept: application/json"-d '{ "ip": "185.65.148.8", "language": "ru" }' \
  http://ВАШ_СЕРВЕР:ПОРТ/suggestions/api/4_1/rs/iplocate/address?ip=2a0d:e100::12
Раскрыть
titleДля версии 19.1 и ранее

GET:

Без форматирования
curl -X GET \
  -H "Accept: application/json" \
  
-H "Authorization: Token ${API_KEY}" \ https://suggestions.dadata.ru/
http://ВАШ_СЕРВЕР:ПОРТ/suggestions/api/4_1/rs/iplocate/
detectAddressByIp
address?ip=
213
185.
180
65.
193.3Для пользователей standalone-подсказок:
148.8
Раскрыть
titleДля версии 19.1 и ранее
Без форматирования
curl -X GET \
  -H "Accept: application/json" \
  http://ВАШ_СЕРВЕР:ПОРТ/suggestions/api/4_1/rs/detectAddressByIp?ip=2a0d:e100::12185.65.148.8

Включить страницу
_Заголовки (RESTAPI)
_Заголовки (RESTAPI)

Параметры

ПараметрОбязательный?Описание
ipнетIP-адрес. Если не указан, используется IP-адрес из HTTP-запроса
language
нетЯзык отображения адреса в результатах поиска (en/ru) 20.3+


Ответ (

...

19.1+)

Объект вида:

Блок кода
{
    "location": {
        "value": "83.220.54.223г Москва",
        "unrestricted_value": nullМосква",
        "data": { ... }
    }
}

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

...

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

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

Без форматирования
{
    "location": null
}
Раскрыть
titleОтвет для версий 18.12 и раньше

Объект вида:

Блок кода
{
    "location": {
        "value": "
г Москва
185.65.148.8",
        "unrestricted_value": 
"г Москва"
null,
        "data": { ... }
    }
}

Где location

...

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

Без форматирования
{ "location": null }

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


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

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

...