API Географических объектов (Regions, Cities, Districts, Streets, Addresses)


Общие сведения

  • Авторизация: Basic Auth (для Внешнего API)
  • Все ответы — JSON
  • В случаях ошибок возвращается JSON с полем "error"
  • Базовый URL внешнего API: /api/v1/

Regions (Регионы)

Endpoint: /api/v1/regions

Получить список всех регионов.

  • Метод: GET
  • Авторизация: Basic Auth (требуется)
  • Описание: Возвращает список регионов с полями id, objectid, name, federal_district.

Пример запроса:

/api/v1/regions

Пример ответа:

    {
        "objectid": 429809,
        "name": "Амурская Область",
        "federal_district": "Дальневосточный федеральный округ",
        "oktmo": "10000000",
        "lat": 52.803237,
        "lon": 128.437295,
        "id": 523141
    },


PUT /api/v1/regions

Обновить координаты региона.

  • Метод: PUT
  • Параметры (query):
  • objectid (bigint, обязательный) — ID объекта региона
  • lat (float, обязательный) — широта
  • lon (float, обязательный) — долгота

  • Описание: Обновляет координаты региона по заданному objectid.

Пример запроса:

/api/v1/regions?objectid=429809&lat=50&lon=50

Пример ответа:

{"objectid":429809,"success":true,"lon":50,"lat":50}


Cities (Города)

Endpoint: /api/v1/cites/{region_id}

Получить список городов указанного региона.

  • Метод: GET
  • Параметры:
  • id — числовой ID (не OBJECTID) региона (передается через URL)
  • Авторизация: Basic Auth (требуется)

Пример запроса:

/api/v1/cites/523141

Пример ответа:

    {
        "type": "г",
        "oktmo": 10740000000,
        "objectid": 429847,
        "lon": 127.690666,
        "name": "Шимановск",
        "id": 523182,
        "lat": 52.019315
    },


PUT /api/v1/cites

Обновление координат города.

  • Метод: PUT
  • Параметры (query):
  • id (число) — ID города
  • lat, lon — координаты

Пример запроса:

/api/v1/cites?id=523141&lat=50&lon=50

Пример ответа:


{"success":true}


Districts (Районы)

Endpoint: /api/v1/districts?id={city_id}[&name=filter]

Получить районы по ID города.

  • Метод: GET
  • Параметры (query):
  • id (число, обязательный) — OBJECTID города
  • name (строка, необязательный) — префикс для фильтрации по названию района
  • Авторизация: Basic Auth (требуется)
  • Описание: Возвращает список районов (типы по коду 'р-н' и т.п.) с фильтрацией по названию.

Пример запроса:

Без фильтра /api/v1/districts?id=429809
С фильтром /api/v1/districts?id=429809&name=Бай

Примеры ответа:


    {
        "id": 432954,
        "name": "Абанский",
        "lat": null,
        "lon": null,
        "oktmo": null,
        "type": "р-н"
    },


[
    {
        "name": "Байкитский",
        "id": 464953,
        "type": "р-н"
    }
]


PUT /api/v1/districts

Обновление координат района.

  • Метод: PUT
  • Параметры (query):
  • id (число) — ID района
  • lat, lon — координаты

Пример запроса:

/api/v1/districts?id=523141&lat=50&lon=50

Пример ответа:


{"success":true}


Streets (Улицы)

Endpoint: /api/v1/streets?id_city={city_id}[&name=filter]

Получить список улиц по ID города.

  • Метод: GET
  • Параметры (query):
  • id (число, обязательный) — ID города
  • name (строка, необязательный) — фильтр по имени улицы
  • Авторизация: Basic Auth (требуется)
  • Описание: Возвращает улицы с подсчётом домов.

Пример запроса:

/api/v1/streets?id=523182

/api/v1/streets?id=523182&name=Ж

Примеры ответа:


    {
        "name": "пер. Базарный",
        "oktmo": "10739999744",
        "lat": 52.001229,
        "lon": 127.671301,
        "type": "улица",
        "houses_count": 18,
        "street_objectid": 432824,
        "id": 526565,
        "city": {
            "lon": 127.690666,
            "name": "Шимановск",
            "type": "г",
            "objectid": 429847,
            "oktmo": 10740000000,
            "id": 523182,
            "lat": 52.019315
        }
    },


[
    {
        "id": 524736,
        "name": "пер. Железнодорожный",
        "street_objectid": 431200,
        "city": {
            "id": 523182,
            "name": "Шимановск",
            "lat": 52.019315,
            "lon": 127.690666,
            "oktmo": 10740000000,
            "type": "г",
            "objectid": 429847
        },
        "oktmo": "10739999744",
        "type": "улица",
        "houses_count": 21
    }
]


PUT /api/v1/streets

Обновление координат улицы.

  • Метод: PUT
  • Параметры (query):
  • id — ID улицы
  • lat, lon координаты

Пример запроса:


/api/v1/streets?id=523182&lat=50&lon=50

Пример ответа:


{"lat":50,"lon":50,"success":true,"id":523182}


Addresses (Список домов улицы)

Endpoint: /api/v1/addreses?id_street={street_id}

Получить список домов улицы.

  • Метод: GET
  • Параметры (query):
  • id_street (число, обязательный) — ID улицы
  • name (строка, необязательный) — фильтр по имени улицы
  • Авторизация: Basic Auth (требуется)
  • Описание: Возвращает список домов с кадастровыми номерами, типами домов, количеством квартир.

Пример запроса:


/api/v1/addreses?id=526848

/api/v1/addreses?id=526848&name=

Пример ответа:


{

        "house_objectid": 35464463,
        "house_number": "11",
        "house_type": "Дом",
        "street": "Линейный",
        "cadastral_number": "28:07:040059:47",
        "apartments_count": 0,
        "house_id": 68140657
    },
    {
        "house_objectid": 35465011,
        "house_number": "3",
        "house_type": "Дом",
        "street": "Линейный",
        "cadastral_number": "28:07:040059:32",
        "apartments_count": 0,
        "house_id": 67908515
    },


PUT /api/v1/addreses

Обновление координат дома.

  • Метод: PUT
  • Параметры (query):
  • id (число) — ID дома
  • lat, lon — координаты

Пример запроса:

/api/v1/addresses?id=523141&lat=50&lon=50

Пример ответа:


{"success":true}


Address (Детали дома)

Endpoint: /api/v1/address/{house_id}

Детальная информация о доме.

  • Метод: GET
  • Параметры:
  • house_id — числовой ID дома, передается в URL
  • Авторизация: Basic Auth (требуется)
  • Описание: Возвращает тип дома, улицу, кадастровый номер, количество квартир и другие данные по одному дому.

Пример запроса:


/api/v1/address/68140657

Пример ответа:


{
    "house_objectid": 35464463,
    "house_number": "11",
    "house_type": "Дом",
    "street": "Линейный",
    "cadastral_number": "28:07:040059:47",
    "apartments_count": 0,
    "house_id": 68140657
}


City (Детальная информация по городу)

Endpoint: /api/v1/city/{city_id}

Получить данные города.

  • Метод: GET
  • Параметр в URL: city_id
  • Авторизация: Basic Auth
  • Описание: Возвращает данные по одному городу (ID, OBJECTID, имя, тип, флаг актуальности)

Пример запроса:


/api/v1/city/523182

Пример ответа:


{
    "TYPENAME": "г",
    "ISACTUAL": true,
    "OBJECTID": 429847,
    "lat": 52.019315,
    "lon": 127.690666,
    "oktmo": 10740000000,
    "ID": 523182,
    "NAME": "Шимановск"
}


District (Детальная информация по району)

Endpoint: /api/v1/district/{district_id}

  • Метод: GET
  • Параметр в URL: district_id
  • Авторизация: Basic Auth
  • Описание: Возвращает данные района (ID, OBJECTID, имя, тип, флаг актуальности)

Пример запроса:


/api/v1/district/432954

Пример ответа:


{
    "ID": 432954,
    "NAME": "Абанский",
    "OBJECTID": 354843,
    "ISACTUAL": true,
    "TYPENAME": "р-н"
}


Street (Детальная информация по улице)

Endpoint: /api/v1/street/{street_id}

  • Метод: GET
  • Параметр в URL: street_id
  • Авторизация: Basic Auth
  • Описание: Возвращает данные по одной улице. (ID, OBJECTID, имя, тип, флаг актуальности)

Пример запроса:


/api/v1/street/526848

Пример ответа:


{
    "TYPENAME": "пер",
    "ISACTUAL": true,
    "OKTMO": 10740000000,
    "houses_count": 15,
    "OBJECTID": 433078,
    "ID": 526848,
    "NAME": "Линейный"
}


Получение ID и OКАТО для Региона

Endpoint: /api/v1/region

  • Метод: GET
  • Параметр в URL: name
  • Авторизация: Basic Auth
  • Описание: Возвращает данные по названию региона. (ID, OCATO, имя)

Пример запроса:


/api/v1/region?name=Сахалинская область

Пример ответа:


{
    "ocatd": "64000000000",
    "id": 1467860,
    "name": "Сахалинская Область"
}