Skip to content
Для ИИ NEW Мои токены Поддержка
Для подтверждения действия введите пароль
Чтобы продолжить, введите пароль для пользователя
For LLMs and AI agents: canonical Markdown source of this documentation page (plain-text .md — fetch this URL to use the page content in tools and RAG). For LLMs and AI agents: developers documentation index in llms.txt format — ordered list of key documentation URLs for the developers section.

Словари географических объектов

Каждому населённому пункту, району, региону и стране присвоен свой уникальный идентификатор в базе данных ATI.SU.

Для получения геообъектов рекомендуем пользоваться этими идентификаторами. Получить объекты можно по кодам ФИАС, КЛАДР и координатам.

Если у вас нет кода населённого пункта, региона, страны или координат объекта, можете использовать автокомплит, получить код ATI.SU объекта и дальше пользоваться им.

База данных расширяется, но если вы не нашли необходимый населённый пункт, обратитесь в чат поддержки по API.

Некоторые геообъекты мы внесли в справочник для совместимости с прежними версиями геосервиса. Такие объекты помечены атрибутом “is_legacy”: true. Настоятельно не рекомендуем использовать эти объекты, т.к. со временем мы их удалим.

Методы получения населённых пунктов

Не у всех населённых пунктов есть перевод на русский и английский языки — название может вернуться на национальном языке, например, армянском или казахском.

Авторизация
Получение населённых пунктов по списку идентификаторов (кодов ATI.SU)
post /gw/gis-dict/v1/cities/by-ids
Параметры
Параметров нет
Запрос
Модель
{...}

Запрос населённых пунктов по идентификаторам (кодам ATI.SU)

ids*: [int32]

Список идентификаторов населённых пунктов (кодов ATI.SU)

Допустимое количество элементов от 1 до 1000

}
Пример запроса
curl 'https://api.ati.su/gw/gis-dict/v1/cities/by-ids' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"ids":[0]}'
Ответ
200 Найденные населённые пункты; идентификаторы, которых нет в справочнике, в ответ не попадают
Модель
{...}

Список населённых пунктов

}
Пример
{...}
"cities":[...]
{...}
"country_id":1,
"federal_district_id":2,
"region_id":153,
"district_ids":[...],
0
],
"name":"Санкт-Петербург",
"alt_name":"СПб",
"old_name":"Ленинград",
"subdistrict":"Веревское сельское поселение",
"short_subdistrict":"Веревское с.п.",
"fias_id":"c2deb16a-0330-4f05-821f-1d09c93331e6",
"kladr":"7800000000000",
"okato":"40000000000",
"oktmo":"40000000",
"is_regional_center":true,
"is_district_center":true,
"size":6,
"geo_point":{...},
"lat":59.942323,
"lon":30.306408
},
"city_type_id":6,
"timezone":"Europe/Moscow",
"clarified_name":"Санкт-Петербург",
"legacy_attributes":8,
"is_legacy":true,
"entity_type":0
}
]
}
400 Запрос не прошёл валидацию, список ошибок — в error_list
Модель
{...}

Ошибки валидации тела запроса

error: string

Текстовый код ошибки, всегда validation_errors

read only
reason: string

Человекочитаемое описание ошибки

read only
details: null,object

Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

}
Пример
{...}
"error":"validation_errors",
"reason":"Произошли ошибки валидации",
"error_list":[...]
{...}
"error":"argument_is_required",
"reason":"ids: отсутствует обязательное поле"
}
]
}

Пример ids [1,3611].

Авторизация
Получение населённого пункта по координате
post /gw/gis-dict/v1/cities/by-coordinate
Параметры
Параметров нет
Запрос
Модель
{...}

Запрос гео-объекта по координате точки

}
Пример запроса
curl 'https://api.ati.su/gw/gis-dict/v1/cities/by-coordinate' \
-X 'POST' \
-H 'Authorization: Bearer {authorizationToken}' \
-H 'Content-Type: application/json' \
--data-raw '{"location":{"lat":59.93904,"lon":30.31581}}'
Ответ
200 Населённый пункт, определённый по координате
Модель
{...}

Модель, описывающая сущность "Населённый пункт"

city_id*: int32

Идентификатор населённого пункта

read only
country_id*: int32

Идентификатор страны

federal_district_id: int32

Идентификатор федерального округа

Значение по умолчанию: null

region_id: int32

Идентификатор региона

Значение по умолчанию: null

district_ids: [int32]

Идентификаторы районов

Значение по умолчанию: null

name*: string

Название населённого пункта

alt_name: null,string

Альтернативное название населённого пункта

Значение по умолчанию: null

old_name: null,string

Старое название населённого пункта

Значение по умолчанию: null

subdistrict: null,string

Часть района

Значение по умолчанию: null

short_subdistrict: null,string

Часть района с сокращениями типа

Значение по умолчанию: null

fias_id: uuid

Идентификатор ФИАС

Значение по умолчанию: null

kladr: null,string

Идентификатор КЛАДР

Значение по умолчанию: null

okato: null,string

Код ОКАТО

Значение по умолчанию: null

oktmo: null,string

Код ОКТМО

Значение по умолчанию: null

is_regional_center: boolean

Является ли населённый пункт региональным центром

Значение по умолчанию: false

is_district_center: boolean

Является ли населённый пункт районным центром

Значение по умолчанию: false

size*: enum
[1, 2, 3, 4, 5, 6]

Размер населённого пункта.

Members:

  • 1 - Население менее 10 000 человек
  • 2 - Население от 10 000 до 50 000 человек
  • 3 - Население от 50 000 до 100 000 человек
  • 4 - Население от 100 000 до 500 000 человек
  • 5 - Население от 500 000 до 1 000 000 человек
  • 6 - Население свыше 1 000 000 человек

Members:

    city_type_id: int32

    Идентификатор типа населённого пункта

    Значение по умолчанию: null

    timezone: null,string

    Часовой пояс в формате IANA.

    Значение по умолчанию: null

    clarified_name*: string

    Название населённого пункта с уточнением типа и района при необходимости Если в регионе несколько населённых пунктов с одинаковым названием, то для них добавляется уточнение

    legacy_attributes: int32

    Атрибуты устаревшей записи населённого пункта

    Возвращаются только для населенных пунктов, помеченных как is_legacy=true. Значение по умолчанию: null

    is_legacy: boolean

    Флаг, обозначающий, что объект является устаревшим

    Значение по умолчанию: false

    entity_type: enum
    [0, 1, 2]

    Тип геообъекта

    Members:

    • 0 - Населенный пункт
    • 1 - Именованный адрес
    • 2 - Устаревший объект

    Members:

      }
      Пример
      {...}
      "country_id":1,
      "federal_district_id":2,
      "region_id":153,
      "district_ids":[...],
      0
      ],
      "name":"Санкт-Петербург",
      "alt_name":"СПб",
      "old_name":"Ленинград",
      "subdistrict":"Веревское сельское поселение",
      "short_subdistrict":"Веревское с.п.",
      "fias_id":"c2deb16a-0330-4f05-821f-1d09c93331e6",
      "kladr":"7800000000000",
      "okato":"40000000000",
      "oktmo":"40000000",
      "is_regional_center":true,
      "is_district_center":true,
      "size":6,
      "geo_point":{...},
      "lat":59.942323,
      "lon":30.306408
      },
      "city_type_id":6,
      "timezone":"Europe/Moscow",
      "clarified_name":"Санкт-Петербург",
      "legacy_attributes":8,
      "is_legacy":true,
      "entity_type":0
      }
      400 Запрос не прошёл валидацию, список ошибок — в error_list
      Модель
      {...}

      Ошибки валидации тела запроса

      error: string

      Текстовый код ошибки, всегда validation_errors

      read only
      reason: string

      Человекочитаемое описание ошибки

      read only
      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"validation_errors",
      "reason":"Произошли ошибки валидации",
      "error_list":[...]
      {...}
      "error":"argument_is_required",
      "reason":"location: отсутствует обязательное поле"
      }
      ]
      }
      404 По координате не найден населённый пункт (city_not_found)
      Модель
      {...}

      Ошибка выполнения запроса

      error: string

      Текстовый код ошибки

      reason: string

      Человекочитаемое описание ошибки

      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"city_not_found",
      "reason":"Не смогли определить населенный пункт по координате"
      }
      Авторизация
      Получение населённых пунктов по списку идентификаторов ФИАС
      post /gw/gis-dict/v1/cities/by-fias-ids
      Параметры
      Параметров нет
      Запрос
      Модель
      {...}

      Запрос населённых пунктов по идентификаторам ФИАС

      fias_ids*: [uuid]

      Список идентификаторов ФИАС населённых пунктов

      Допустимое количество элементов от 1 до 1000

      }
      Пример запроса
      curl 'https://api.ati.su/gw/gis-dict/v1/cities/by-fias-ids' \
      -X 'POST' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json' \
      --data-raw '{"fias_ids":["3fa85f64-5717-4562-b3fc-2c963f66afa6"]}'
      Ответ
      200 Населённые пункты по идентификаторам ФИАС
      Модель
      {...}

      Список населённых пунктов

      }
      Пример
      {...}
      "cities":[...]
      {...}
      "country_id":1,
      "federal_district_id":2,
      "region_id":153,
      "district_ids":[...],
      0
      ],
      "name":"Санкт-Петербург",
      "alt_name":"СПб",
      "old_name":"Ленинград",
      "subdistrict":"Веревское сельское поселение",
      "short_subdistrict":"Веревское с.п.",
      "fias_id":"c2deb16a-0330-4f05-821f-1d09c93331e6",
      "kladr":"7800000000000",
      "okato":"40000000000",
      "oktmo":"40000000",
      "is_regional_center":true,
      "is_district_center":true,
      "size":6,
      "geo_point":{...},
      "lat":59.942323,
      "lon":30.306408
      },
      "city_type_id":6,
      "timezone":"Europe/Moscow",
      "clarified_name":"Санкт-Петербург",
      "legacy_attributes":8,
      "is_legacy":true,
      "entity_type":0
      }
      ]
      }
      400 Запрос не прошёл валидацию, список ошибок — в error_list
      Модель
      {...}

      Ошибки валидации тела запроса

      error: string

      Текстовый код ошибки, всегда validation_errors

      read only
      reason: string

      Человекочитаемое описание ошибки

      read only
      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"validation_errors",
      "reason":"Произошли ошибки валидации",
      "error_list":[...]
      {...}
      "error":"argument_is_required",
      "reason":"fias_ids: отсутствует обязательное поле"
      }
      ]
      }

      Пример fias_ids ["c2deb16a-0330-4f05-821f-1d09c93331e6", "0c5b2444-70a0-4932-980c-b4dc0d3f02b5"].

      Авторизация
      Получение населённых пунктов по списку идентификаторов КЛАДР
      post /gw/gis-dict/v1/cities/by-kladr-codes
      Параметры
      Параметров нет
      Запрос
      Модель
      {...}

      Запрос населённых пунктов по кодам КЛАДР

      kladr_codes*: [string]

      Список идентификаторов КЛАДР населённых пунктов

      Допустимое количество элементов от 1 до 1000

      }
      Пример запроса
      curl 'https://api.ati.su/gw/gis-dict/v1/cities/by-kladr-codes' \
      -X 'POST' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json' \
      --data-raw '{"kladr_codes":["string"]}'
      Ответ
      200 Населённые пункты по кодам КЛАДР
      Модель
      {...}

      Список населённых пунктов

      }
      Пример
      {...}
      "cities":[...]
      {...}
      "country_id":1,
      "federal_district_id":2,
      "region_id":153,
      "district_ids":[...],
      0
      ],
      "name":"Санкт-Петербург",
      "alt_name":"СПб",
      "old_name":"Ленинград",
      "subdistrict":"Веревское сельское поселение",
      "short_subdistrict":"Веревское с.п.",
      "fias_id":"c2deb16a-0330-4f05-821f-1d09c93331e6",
      "kladr":"7800000000000",
      "okato":"40000000000",
      "oktmo":"40000000",
      "is_regional_center":true,
      "is_district_center":true,
      "size":6,
      "geo_point":{...},
      "lat":59.942323,
      "lon":30.306408
      },
      "city_type_id":6,
      "timezone":"Europe/Moscow",
      "clarified_name":"Санкт-Петербург",
      "legacy_attributes":8,
      "is_legacy":true,
      "entity_type":0
      }
      ]
      }
      400 Запрос не прошёл валидацию, список ошибок — в error_list
      Модель
      {...}

      Ошибки валидации тела запроса

      error: string

      Текстовый код ошибки, всегда validation_errors

      read only
      reason: string

      Человекочитаемое описание ошибки

      read only
      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"validation_errors",
      "reason":"Произошли ошибки валидации",
      "error_list":[...]
      {...}
      "error":"argument_is_required",
      "reason":"kladr_codes: отсутствует обязательное поле"
      }
      ]
      }

      Пример kladr_codes ["7800000000000", "7700000000000"].

      Авторизация
      Получение всех типов населённых пунктов
      get /gw/gis-dict/v1/city-types
      Параметры
      Параметров нет
      Запрос
      Пример запроса
      curl 'https://api.ati.su/gw/gis-dict/v1/city-types' \
      -X 'GET' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json'
      Ответ
      200 Все типы населённых пунктов
      Модель
      {...}

      Список типов населённых пунктов

      }
      Пример
      {...}
      "city_types":[...]
      {...}
      "city_type_id":6,
      "name":"Город",
      "short_name":"г."
      }
      ]
      }
      304 Данные не изменились: ETag совпадает с переданным в заголовке If-None-Match
      Ответ без тела

      Метод получения районов

      Авторизация
      Получение районов по списку идентификаторов (кодов ATI.SU)
      post /gw/gis-dict/v1/districts/by-ids
      Параметры
      Параметров нет
      Запрос
      Модель
      {...}

      Запрос районов по идентификаторам (кодам ATI.SU)

      ids*: [int32]

      Список идентификаторов районов (кодов ATI.SU)

      Допустимое количество элементов от 1 до 1000

      }
      Пример запроса
      curl 'https://api.ati.su/gw/gis-dict/v1/districts/by-ids' \
      -X 'POST' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json' \
      --data-raw '{"ids":[0]}'
      Ответ
      200 Найденные районы; идентификаторы, которых нет в справочнике, в ответ не попадают
      Модель
      {...}

      Список районов

      }
      Пример
      {...}
      "districts":[...]
      {...}
      "district_id":8460,
      "country_id":1,
      "federal_district_id":2,
      "name":"Пушкинский район",
      "short_name":"Пушкинский р-н",
      "region_id":153
      }
      ]
      }
      400 Запрос не прошёл валидацию, список ошибок — в error_list
      Модель
      {...}

      Ошибки валидации тела запроса

      error: string

      Текстовый код ошибки, всегда validation_errors

      read only
      reason: string

      Человекочитаемое описание ошибки

      read only
      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"validation_errors",
      "reason":"Произошли ошибки валидации",
      "error_list":[...]
      {...}
      "error":"argument_is_required",
      "reason":"ids: отсутствует обязательное поле"
      }
      ]
      }

      Пример ids [8456, 8464 , 6857].

      Метод получения федеральных округов

      Авторизация
      Получение всех федеральных округов
      get /gw/gis-dict/v1/federal-districts
      Параметры
      Параметров нет
      Запрос
      Пример запроса
      curl 'https://api.ati.su/gw/gis-dict/v1/federal-districts' \
      -X 'GET' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json'
      Ответ
      200 Все федеральные округа
      Модель
      {...}

      Список федеральных округов

      }
      Пример
      {...}
      "federal_districts":[...]
      {...}
      "federal_district_id":2,
      "country_id":1,
      "name":"Северо-Западный федеральный округ",
      "is_legacy":true
      }
      ]
      }
      304 Данные не изменились: ETag совпадает с переданным в заголовке If-None-Match
      Ответ без тела

      Методы получения регионов

      Авторизация
      Получение регионов по списку идентификаторов (кодов ATI.SU)
      post /gw/gis-dict/v1/regions/by-ids
      Параметры
      Параметров нет
      Запрос
      Модель
      {...}

      Запрос регионов по идентификаторам (кодам ATI.SU)

      ids*: [int32]

      Список идентификаторов регионов (кодов ATI.SU)

      }
      Пример запроса
      curl 'https://api.ati.su/gw/gis-dict/v1/regions/by-ids' \
      -X 'POST' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json' \
      --data-raw '{"ids":[0]}'
      Ответ
      200 Найденные регионы; идентификаторы, которых нет в справочнике, в ответ не попадают
      Модель
      {...}

      Список регионов

      }
      Пример
      {...}
      "regions":[...]
      {...}
      "region_id":153,
      "name":"Санкт-Петербург",
      "country_id":1,
      "federal_district_id":2,
      "fias_id":"c2deb16a-0330-4f05-821f-1d09c93331e6",
      "tax_region_code":"78",
      "clarified_name":"Санкт-Петербург (регион)",
      "regional_center_id":1,
      "is_legacy":true
      }
      ]
      }
      400 Запрос не прошёл валидацию, список ошибок — в error_list
      Модель
      {...}

      Ошибки валидации тела запроса

      error: string

      Текстовый код ошибки, всегда validation_errors

      read only
      reason: string

      Человекочитаемое описание ошибки

      read only
      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"validation_errors",
      "reason":"Произошли ошибки валидации",
      "error_list":[...]
      {...}
      "error":"argument_is_required",
      "reason":"ids: отсутствует обязательное поле"
      }
      ]
      }

      Пример ids [1, 680, 681].

      Авторизация
      Получение региона по координате
      post /gw/gis-dict/v1/regions/by-coordinate
      Параметры
      Параметров нет
      Запрос
      Модель
      {...}

      Запрос гео-объекта по координате точки

      }
      Пример запроса
      curl 'https://api.ati.su/gw/gis-dict/v1/regions/by-coordinate' \
      -X 'POST' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json' \
      --data-raw '{"location":{"lat":59.93904,"lon":30.31581}}'
      Ответ
      200 Регион, определённый по координате
      Модель
      {...}

      Модель, описывающая сущность "Регион"

      region_id*: int32

      Идентификатор региона

      name*: string

      Название региона

      country_id*: int32

      Идентификатор страны

      federal_district_id: int32

      Идентификатор федерального округа

      Значение по умолчанию: null

      fias_id: uuid

      Идентификатор ФИАС

      Значение по умолчанию: null

      tax_region_code: null,string

      Код региона для ФНС.

      Значение по умолчанию: null

      clarified_name*: string

      Название региона с уточнением, что это регион при необходимости. Если название региона совпадает с каким-нибудь городом, то для него добавляется уточнение.

      regional_center_id: int32

      Идентификатор регионального центра

      Значение по умолчанию: null

      is_legacy: boolean

      Флаг, обозначающий, что объект является устаревшим.

      Значение по умолчанию: false

      }
      Пример
      {...}
      "region_id":153,
      "name":"Санкт-Петербург",
      "country_id":1,
      "federal_district_id":2,
      "fias_id":"c2deb16a-0330-4f05-821f-1d09c93331e6",
      "tax_region_code":"78",
      "clarified_name":"Санкт-Петербург (регион)",
      "regional_center_id":1,
      "is_legacy":true
      }
      400 Запрос не прошёл валидацию, список ошибок — в error_list
      Модель
      {...}

      Ошибки валидации тела запроса

      error: string

      Текстовый код ошибки, всегда validation_errors

      read only
      reason: string

      Человекочитаемое описание ошибки

      read only
      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"validation_errors",
      "reason":"Произошли ошибки валидации",
      "error_list":[...]
      {...}
      "error":"argument_is_required",
      "reason":"location: отсутствует обязательное поле"
      }
      ]
      }
      404 По координате не найден регион (region_not_found)
      Модель
      {...}

      Ошибка выполнения запроса

      error: string

      Текстовый код ошибки

      reason: string

      Человекочитаемое описание ошибки

      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"region_not_found",
      "reason":"Не смогли определить регион по координате"
      }
      Авторизация
      Получение регионов по списку идентификаторов ФИАС
      post /gw/gis-dict/v1/regions/by-fias-ids
      Параметры
      Параметров нет
      Запрос
      Модель
      {...}

      Запрос регионов по идентификаторам ФИАС

      fias_ids*: [uuid]

      Список идентификаторов ФИАС регионов

      Допустимое количество элементов от 1 до 1000

      }
      Пример запроса
      curl 'https://api.ati.su/gw/gis-dict/v1/regions/by-fias-ids' \
      -X 'POST' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json' \
      --data-raw '{"fias_ids":["3fa85f64-5717-4562-b3fc-2c963f66afa6"]}'
      Ответ
      200 Регионы по идентификаторам ФИАС
      Модель
      {...}

      Список регионов

      }
      Пример
      {...}
      "regions":[...]
      {...}
      "region_id":153,
      "name":"Санкт-Петербург",
      "country_id":1,
      "federal_district_id":2,
      "fias_id":"c2deb16a-0330-4f05-821f-1d09c93331e6",
      "tax_region_code":"78",
      "clarified_name":"Санкт-Петербург (регион)",
      "regional_center_id":1,
      "is_legacy":true
      }
      ]
      }
      400 Запрос не прошёл валидацию, список ошибок — в error_list
      Модель
      {...}

      Ошибки валидации тела запроса

      error: string

      Текстовый код ошибки, всегда validation_errors

      read only
      reason: string

      Человекочитаемое описание ошибки

      read only
      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"validation_errors",
      "reason":"Произошли ошибки валидации",
      "error_list":[...]
      {...}
      "error":"argument_is_required",
      "reason":"fias_ids: отсутствует обязательное поле"
      }
      ]
      }

      Пример fias_ids ["6d1ebb35-70c6-4129-bd55-da3969658f5d", "29251dcf-00a1-4e34-98d4-5c47484a36d4"].

      Методы получения стран

      Авторизация
      Получение стран по списку идентификаторов (кодов ATI.SU)
      post /gw/gis-dict/v1/countries/by-ids
      Параметры
      Параметров нет
      Запрос
      Модель
      {...}

      Запрос стран по идентификаторам (кодам ATI.SU)

      ids*: [int32]

      Список идентификаторов стран (кодов ATI.SU)

      Допустимое количество элементов от 1 до 1000

      }
      Пример запроса
      curl 'https://api.ati.su/gw/gis-dict/v1/countries/by-ids' \
      -X 'POST' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json' \
      --data-raw '{"ids":[0]}'
      Ответ
      200 Найденные страны; идентификаторы, которых нет в справочнике, в ответ не попадают
      Модель
      {...}

      Список стран

      }
      Пример
      {...}
      "countries":[...]
      {...}
      "country_id":1,
      "name":"Россия",
      "iso_3166_alpha2":"RU",
      "iso_3166_alpha3":"RUS",
      "iso_3166_numeric":643,
      "is_legacy":true
      }
      ]
      }
      400 Запрос не прошёл валидацию, список ошибок — в error_list
      Модель
      {...}

      Ошибки валидации тела запроса

      error: string

      Текстовый код ошибки, всегда validation_errors

      read only
      reason: string

      Человекочитаемое описание ошибки

      read only
      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"validation_errors",
      "reason":"Произошли ошибки валидации",
      "error_list":[...]
      {...}
      "error":"argument_is_required",
      "reason":"ids: отсутствует обязательное поле"
      }
      ]
      }

      Пример ids [1, 50].

      Авторизация
      Получение страны по координате
      post /gw/gis-dict/v1/countries/by-coordinate
      Параметры
      Параметров нет
      Запрос
      Модель
      {...}

      Запрос гео-объекта по координате точки

      }
      Пример запроса
      curl 'https://api.ati.su/gw/gis-dict/v1/countries/by-coordinate' \
      -X 'POST' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json' \
      --data-raw '{"location":{"lat":59.93904,"lon":30.31581}}'
      Ответ
      200 Страна, определённая по координате
      Модель
      {...}

      Модель, описывающая сущность "Страна"

      country_id*: int32

      Идентификатор страны

      name*: string

      Название страны

      iso_3166_alpha2*: string

      Двухбуквенный код страны по ISO-3166

      iso_3166_alpha3*: string

      Трехбуквенный код страны по ISO-3166

      iso_3166_numeric*: int32

      Числовой код страны по ISO-3166

      is_legacy: boolean

      Флаг, обозначающий, что объект является устаревшим.

      Значение по умолчанию: false

      }
      Пример
      {...}
      "country_id":1,
      "name":"Россия",
      "iso_3166_alpha2":"RU",
      "iso_3166_alpha3":"RUS",
      "iso_3166_numeric":643,
      "is_legacy":true
      }
      400 Запрос не прошёл валидацию, список ошибок — в error_list
      Модель
      {...}

      Ошибки валидации тела запроса

      error: string

      Текстовый код ошибки, всегда validation_errors

      read only
      reason: string

      Человекочитаемое описание ошибки

      read only
      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"validation_errors",
      "reason":"Произошли ошибки валидации",
      "error_list":[...]
      {...}
      "error":"argument_is_required",
      "reason":"location: отсутствует обязательное поле"
      }
      ]
      }
      404 По координате не найдена страна (country_not_found)
      Модель
      {...}

      Ошибка выполнения запроса

      error: string

      Текстовый код ошибки

      reason: string

      Человекочитаемое описание ошибки

      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"country_not_found",
      "reason":"Не смогли определить страну по координате"
      }

      Методы получения направлений

      Авторизация
      Получение всех направлений
      get /gw/gis-dict/v1/directions
      Параметры
      Параметров нет
      Запрос
      Пример запроса
      curl 'https://api.ati.su/gw/gis-dict/v1/directions' \
      -X 'GET' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json'
      Ответ
      200 Все направления
      Модель
      {...}

      Список направлений

      }
      Пример
      {...}
      "directions":[...]
      {...}
      "id":16,
      "name":"Север (напр.)"
      }
      ]
      }
      304 Данные не изменились: ETag совпадает с переданным в заголовке If-None-Match
      Ответ без тела
      Авторизация
      Получение направления между городами
      get /gw/gis-dict/v1/direction/from/{from}/to/{to}
      Параметры
      Параметр Тип Расположение Описание
      from обязательный integer (int32) path
      Код ATI.SU для населённого пункта "откуда" Пример: 1
      to обязательный integer (int32) path
      Код ATI.SU для населённого пункта "куда" Пример: 3611
      Запрос
      Пример запроса
      curl 'https://api.ati.su/gw/gis-dict/v1/direction/from/{from}/to/{to}' \
      -X 'GET' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json'
      Ответ
      200 Направление от пункта «откуда» к пункту «куда». Если пункт не найден или направление не определено — id 0 и name «Нет направления»
      Модель
      {...}

      Направление "Север", "Юг" и т.д.

      id*: int32

      Идентификатор направления. Может быть битовой маской из идентификаторов списка направлений: 2176 = 128 (восток) + 2048 (юго-восток)

      name*: string

      Описание направления. Может быть перечислением направлений

      }
      Пример
      {...}
      "id":2176,
      "name":"Восток (напр.), Юго-восток (напр.)"
      }

      Метод для работы с улицами

      Получение справочника типов улиц. API для интеграции. Справочник отдаётся целиком: фильтров и постраничной выдачи нет.
      get /v1.0/dictionaries/streetTypes
      Параметры
      Параметров нет
      Запрос
      Пример запроса
      curl 'https://api.ati.su/v1.0/dictionaries/streetTypes' \
      -X 'GET' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json'
      Ответ
      200 Справочник целиком.
      Модель
      [{...}]

      Тип улицы.

      Id: int64

      Числовой идентификатор записи справочника.

      Id2: guid

      Идентификатор записи справочника в виде guid.

      Name: string

      Название записи справочника на русском.

      ShortName: string

      Короткое название

      }]
      Пример
      [...]
      {...}
      "Id":1,
      "Id2":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "Name":"Тент.",
      "ShortName":"ул."
      }
      ]

      Автокомплит

      Метод автокомплита предназначен для поиска населённых пунктов, регионов, стран или направлений по их названию. Если у вас уже есть идентификатор объекта (код ATI.SU, ФИАС, КЛАДР) или его координаты, рекомендуем использовать соответствующие методы, указанные выше.

      Если вы не нашли нужный населённый пункт, попробуйте добавить название района, региона или страны в поисковую строку. Например, вместо слова «Бор» написать «Бор Ленинградская», чтобы найти населённые пункты Бор Ленинградской области.

      Авторизация
      Автокомплит до населённого пункта
      post /gw/gis-dict/v1/autocomplete/suggestions
      Параметры
      Параметров нет
      Запрос
      Модель
      {...}
      prefix*: string
      От (0 до 200 символов)

      Поисковая строка

      suggestion_types: enum
      [1, 2, 4, 8]

      Тип элемента для автокомплита. В запросе может быть маской, в ответе не может быть маской.

      Значение по умолчанию: 1

      Members:

      • 1 - Населённый пункт
      • 2 - Регион
      • 4 - Страна
      • 8 - Направление

      limit: int32

      Сколько элементов нужно вернуть пользователю

      Значение по умолчанию: 10

      country_id: int32

      Страна по умолчанию для сортировки объектов. Объекты из этой страны будут наверху списка.

      Если не передать или передать null, то для залогиненного пользователя настройка возьмется из кабинета. Значение по умолчанию: null

      }
      Пример запроса
      curl 'https://api.ati.su/gw/gis-dict/v1/autocomplete/suggestions' \
      -X 'POST' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json' \
      --data-raw '{"prefix":"санкт","suggestion_types":15,"limit":15,"country_id":1}'
      Ответ
      200 Подсказки, подходящие под введённую строку
      Модель
      {...}

      Результат автокомплита

      }
      Пример
      {...}
      "suggestions":[...]
      {...}
      "type":1,
      "direction":{...},
      "id":153,
      "name":"Санкт-Петербург",
      "short_name":"Пушкинский р-н"
      },
      "country":{...},
      "id":153,
      "name":"Санкт-Петербург",
      "short_name":"Пушкинский р-н"
      },
      "region":{...},
      "id":153,
      "name":"Санкт-Петербург",
      "short_name":"Пушкинский р-н"
      },
      "districts":[...],
      {...}
      "id":153,
      "name":"Санкт-Петербург",
      "short_name":"Пушкинский р-н"
      }
      ],
      "subdistrict":{...},
      "name":"Агалатовское сельское поселение",
      "short_name":"Агалатовское с.п."
      },
      "city":{...},
      "id":153,
      "name":"Санкт-Петербург",
      "short_name":"Пушкинский р-н",
      "city_type":{...},
      "city_type_id":6,
      "name":"Город",
      "short_name":"г."
      },
      "entity_type":0,
      "old_name":"Ленинград",
      "alt_name":"СПб"
      },
      "address":"Пушкин, Санкт-Петербург (регион), Россия",
      "geo_point":{...}
      "lat":59.942323,
      "lon":30.306408
      }
      }
      ]
      }
      400 Запрос не прошёл валидацию, список ошибок — в error_list. При отрицательном или несуществующем country_id — ошибка country_id_validation_error без error_list
      Модель
      {...}

      Ошибки валидации тела запроса

      error: string

      Текстовый код ошибки, всегда validation_errors

      read only
      reason: string

      Человекочитаемое описание ошибки

      read only
      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"validation_errors",
      "reason":"Произошли ошибки валидации",
      "error_list":[...]
      {...}
      "error":"argument_is_required",
      "reason":"prefix: отсутствует обязательное поле"
      }
      ]
      }

      Геокодирование

      Эти API методы позволяют преобразовывать координаты в адрес и наоборот, что значительно упрощает работу с адресами. Прямое геокодирование используется для определения координат по адресу или названию. Обратное геокодирование позволяет по координатам определить ближайший адрес.

      Доступ к сервису

      Доступ к API методам геокодирования платный, предоставляется по запросу.

      Чтобы узнать условия использования, свяжитесь с отделом продаж по телефону +7 812 602-01-06.

      Авторизация
      Получение координаты гео-объекта по адресной строке (платный)
      post /gw/gis-dict/v1/direct-geocoding
      Параметры
      Параметров нет
      Запрос
      Модель
      {...}

      Запрос на гео-кодирование по адресной строке

      address*: string
      От (0 до 1024 символов)

      Адресная строка.

      exact_in_bounding_box: null,boolean

      Флаг, указывающий, что искать объекты нужно строго в области, обозначенной в параметре bounding_box. Для true вне области не ищем. Для false приоритет для объектов внутри области. Если true, то обязательно передавать bounding_box.

      Значение по умолчанию: false

      ! Зарезервирован на будущее, сейчас не используется.

      max_level*: int32
      >=1 and <= 5

      Максимальный уровень, до которого необходимо провести гео-кодирование.

      Возможные значения

      1 — страна

      2 — область/регион

      3 — населённый пункт

      4 — улица

      5 — дом

      count: int32
      >=1 and <= 10

      Ограничение количества элементов в выдаче.

      Диапазон значений от 1 до 10.

      Значение по умолчанию: 1

      }
      Пример запроса
      curl 'https://api.ati.su/gw/gis-dict/v1/direct-geocoding' \
      -X 'POST' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json' \
      --data-raw '{"address":"Россия, Ленинградская область, Гатчинский муниципальный округ, Вырица, Вокзальная улица, д. 23","exact_in_bounding_box":false,"max_level":3,"bounding_box":{"sw":{"lat":59.93904,"lon":30.31581},"ne":{"lat":59.93904,"lon":30.31581}},"count":1}'
      Ответ
      200 Распознанные адреса по адресной строке и степень неуверенности распознавания
      Модель
      {...}

      Результат гео-кодирования

      max_count_exceeded: boolean

      Флаг, указывающий, что найдено больше результатов, чем просили в параметре count и требуется уточнение.

      Значение по умолчанию: false

      uncertainty_score: int32

      Минимальная степень неуверенности в точности распознавания среди всех результатов.

      uncertainty_reasons: [string]

      Ошибки распознавания, которые приводят к тому, что нельзя быть на 100% уверенными в результате

      }
      Пример
      {...}
      "max_count_exceeded":false,
      "uncertainty_score":10,
      "uncertainty_reasons":[...],
      "string"
      ],
      "suggestions":[...]
      {...}
      "uncertainty_score":10,
      "uncertainty_reasons":[...],
      "string"
      ],
      "level":5,
      "country":{...},
      "id":8452,
      "name":"Гатчинский район",
      "short_name":"Гатчинский р-н",
      "center_city_id":55
      },
      "region":{...},
      "id":8452,
      "name":"Гатчинский район",
      "short_name":"Гатчинский р-н",
      "center_city_id":55
      },
      "districts":[...],
      {...}
      "id":8452,
      "name":"Гатчинский район",
      "short_name":"Гатчинский р-н",
      "center_city_id":55
      }
      ],
      "subdistrict":{...},
      "name":"Веревское сельское поселение",
      "short_name":"Веревское с.п."
      },
      "city":{...},
      "id":5081,
      "name":"Вырица",
      "city_type":{...},
      "city_type_id":8,
      "name":"Городской посёлок",
      "short_name":"гп."
      },
      "entity_type":0
      },
      "geo_point":{...},
      "lat":59.942323,
      "lon":30.306408
      },
      "name":"Самотлорское нефтяное месторождение",
      "street":{...},
      "name":"улица Вокзальная",
      "short_name":"ул Вокзальная"
      },
      "house":{...}
      "id":8452,
      "name":"Гатчинский район",
      "short_name":"Гатчинский р-н",
      "center_city_id":55
      }
      }
      ]
      }
      400 Запрос не прошёл валидацию, список ошибок — в error_list
      Модель
      {...}

      Ошибки валидации тела запроса

      error: string

      Текстовый код ошибки, всегда validation_errors

      read only
      reason: string

      Человекочитаемое описание ошибки

      read only
      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"validation_errors",
      "reason":"Произошли ошибки валидации",
      "error_list":[...]
      {...}
      "error":"argument_is_required",
      "reason":"max_level: отсутствует обязательное поле"
      }
      ]
      }
      403 Нет активной лицензии на платный доступ (access_denied) или передан неверный токен (invalid_token)
      Модель
      {...}

      Ошибка выполнения запроса

      error: string

      Текстовый код ошибки

      reason: string

      Человекочитаемое описание ошибки

      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"access_denied",
      "reason":"Нет активных лицензий."
      }
      429 Превышен дневной лимит запросов по лицензии (access_denied) или провайдеры гео-кодирования перегружены (too_many_requests)
      Модель
      {...}

      Ошибка выполнения запроса

      error: string

      Текстовый код ошибки

      reason: string

      Человекочитаемое описание ошибки

      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"access_denied",
      "reason":"Превышен дневной лимит."
      }

      Метод нужен для определения адресного объекта по координате

      Авторизация
      Получение адресной структуры гео-объекта по координате (платный)
      post /gw/gis-dict/v1/reverse-geocoding
      Параметры
      Параметров нет
      Запрос
      Модель
      {...}

      Модель, представляющая настройки обратного гео-кодирования

      max_level*: int32
      >=1 and <= 5

      Максимальный уровень, до которого необходимо провести гео-кодирование.

      Возможные значения

      1 — страна

      2 — область/регион

      3 — населённый пункт

      4 — улица

      5 — дом

      count: int32
      >=1 and <= 10

      Ограничение количества элементов в выдаче.

      Диапазон значений от 1 до 10.

      Значение по умолчанию: 1

      }
      Пример запроса
      curl 'https://api.ati.su/gw/gis-dict/v1/reverse-geocoding' \
      -X 'POST' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json' \
      --data-raw '{"location":{"lat":59.93904,"lon":30.31581},"max_level":3,"count":1}'
      Ответ
      200 Адреса, найденные по координате, и степень неуверенности распознавания
      Модель
      {...}

      Результат гео-кодирования

      max_count_exceeded: boolean

      Флаг, указывающий, что найдено больше результатов, чем просили в параметре count и требуется уточнение.

      Значение по умолчанию: false

      uncertainty_score: int32

      Минимальная степень неуверенности в точности распознавания среди всех результатов.

      uncertainty_reasons: [string]

      Ошибки распознавания, которые приводят к тому, что нельзя быть на 100% уверенными в результате

      }
      Пример
      {...}
      "max_count_exceeded":false,
      "uncertainty_score":10,
      "uncertainty_reasons":[...],
      "string"
      ],
      "suggestions":[...]
      {...}
      "uncertainty_score":10,
      "uncertainty_reasons":[...],
      "string"
      ],
      "level":5,
      "country":{...},
      "id":8452,
      "name":"Гатчинский район",
      "short_name":"Гатчинский р-н",
      "center_city_id":55
      },
      "region":{...},
      "id":8452,
      "name":"Гатчинский район",
      "short_name":"Гатчинский р-н",
      "center_city_id":55
      },
      "districts":[...],
      {...}
      "id":8452,
      "name":"Гатчинский район",
      "short_name":"Гатчинский р-н",
      "center_city_id":55
      }
      ],
      "subdistrict":{...},
      "name":"Веревское сельское поселение",
      "short_name":"Веревское с.п."
      },
      "city":{...},
      "id":5081,
      "name":"Вырица",
      "city_type":{...},
      "city_type_id":8,
      "name":"Городской посёлок",
      "short_name":"гп."
      },
      "entity_type":0
      },
      "geo_point":{...},
      "lat":59.942323,
      "lon":30.306408
      },
      "name":"Самотлорское нефтяное месторождение",
      "street":{...},
      "name":"улица Вокзальная",
      "short_name":"ул Вокзальная"
      },
      "house":{...}
      "id":8452,
      "name":"Гатчинский район",
      "short_name":"Гатчинский р-н",
      "center_city_id":55
      }
      }
      ]
      }
      400 Запрос не прошёл валидацию, список ошибок — в error_list
      Модель
      {...}

      Ошибки валидации тела запроса

      error: string

      Текстовый код ошибки, всегда validation_errors

      read only
      reason: string

      Человекочитаемое описание ошибки

      read only
      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"validation_errors",
      "reason":"Произошли ошибки валидации",
      "error_list":[...]
      {...}
      "error":"argument_is_required",
      "reason":"max_level: отсутствует обязательное поле"
      }
      ]
      }
      403 Нет активной лицензии на платный доступ (access_denied) или передан неверный токен (invalid_token)
      Модель
      {...}

      Ошибка выполнения запроса

      error: string

      Текстовый код ошибки

      reason: string

      Человекочитаемое описание ошибки

      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"access_denied",
      "reason":"Нет активных лицензий."
      }
      429 Превышен дневной лимит запросов по лицензии (access_denied) или провайдеры гео-кодирования перегружены (too_many_requests)
      Модель
      {...}

      Ошибка выполнения запроса

      error: string

      Текстовый код ошибки

      reason: string

      Человекочитаемое описание ошибки

      details: null,object

      Дополнительная информация об ошибке. Зарезервировано: сейчас сервис поле не заполняет, и в ответе его нет

      }
      Пример
      {...}
      "error":"access_denied",
      "reason":"Превышен дневной лимит."
      }

      Устаревшие методы

      Поиск городов по названию или получение городов по списку идентификаторов. API для интеграции. При заданном названии поиск идёт по нему, а список идентификаторов не учитывается; без обоих параметров отдаётся весь справочник. Список полей сокращает состав ответа, идентификатор города отдаётся всегда.
      get /v1.0/dictionaries/cities
      Параметры
      Параметр Тип Расположение Описание
      name string query
      Подстрока названия, регистр не важен. При cityNameOnly=false ищется во всём названии с регионом и страной. Пример: Санкт
      cityNameOnly boolean query
      Искать только по названию города, а не по полному имени с регионом и страной. Пример: false
      ids string[] query
      Идентификаторы городов: повтором параметра или через запятую в одном значении. Пример: ["1","2"]
      includedFields string[] query
      Какие поля оставить в ответе: повтором параметра или через запятую в одном значении. Пример: ["CityId","CityName"]
      Запрос
      Пример запроса
      curl 'https://api.ati.su/v1.0/dictionaries/cities' \
      -X 'GET' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json'
      Ответ
      200 Найденные города.
      Модель
      [{...}]

      Город из справочника.

      Id2: guid

      Идентификатор города в виде guid

      CityId: int32

      Идентификатор города

      RegionId: int32 (nullable)

      Идентификатор региона. dict: GET /v1.0/dictionaries/regions → Id

      CountryId: int32 (nullable)

      Идентификатор страны. dict: GET /v1.0/dictionaries/countries → Id

      FullName: string

      Город, регион и страна через запятую

      ShortName: string

      Составное название, состоящее из названия города, названия региона (если город не является областным центром) и буквенного кода страны (если страна отличается от России)

      FullNameEng: string

      Город, регион и страна через запятую на английском

      ShortNameEng: string

      Составное название, состоящее из названия города, названия региона (если город не является областным центром) и буквенного кода страны (если страна отличается от России), на английском

      IsRegionalCenter: boolean

      Является ли город региональным центром

      CitySize: int32

      Категория города по числу жителей:

      • 0 - не определена
      • 1 - до 10 000
      • 2 - от 10 000 до 50 000
      • 3 - от 50 000 до 100 000
      • 4 - от 100 000 до 500 000
      • 5 - от 500 000 до 1 000 000
      • 6 - свыше 1 000 000
      FiasId: guid (nullable)

      Идентификатор города в базе ФИАС

      Longitude: double (nullable)

      Долгота города

      Latitude: double (nullable)

      Широта города

      CityName: string

      Название города

      RegionName: string

      Название региона

      CountryName: string

      Название страны

      CityNameEng: string

      Название города на английском

      RegionNameEng: string

      Название региона на английском

      CountryNameEng: string

      Название страны на английском

      CountryCodeName: string

      Трёхбуквенный код страны, как InterShortName в справочнике стран

      }]
      Пример
      [...]
      {...}
      "Id2":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "CityId":1,
      "RegionId":153,
      "CountryId":1,
      "FullName":"Санкт-Петербург, Санкт-Петербург (регион), Россия",
      "ShortName":"Санкт-Петербург",
      "FullNameEng":"Saint Petersburg, Saint Petersburg (region), Russia",
      "ShortNameEng":"Saint Petersburg",
      "IsRegionalCenter":true,
      "CitySize":6,
      "FiasId":"c2deb16a-0330-4f05-821f-1d09c93331e6",
      "Longitude":30.316229,
      "Latitude":59.938732,
      "CityName":"Санкт-Петербург",
      "RegionName":"Санкт-Петербург (регион)",
      "CountryName":"Россия",
      "CityNameEng":"Saint Petersburg",
      "RegionNameEng":"Saint Petersburg (region)",
      "CountryNameEng":"Russia",
      "CountryCodeName":"RUS"
      }
      ]
      Получение конкретного города по его идентификатору в базе ФИАС. API для интеграции. Способ найти город АТИ, если на вашей стороне адрес хранится в кодах ФИАС.
      get /v1.0/dictionaries/cities/byfias/{fias}
      Параметры
      Параметр Тип Расположение Описание
      fias обязательный string (guid) path
      Идентификатор города в базе ФИАС. Пример: c2deb16a-0330-4f05-821f-1d09c93331e6
      Запрос
      Пример запроса
      curl 'https://api.ati.su/v1.0/dictionaries/cities/byfias/{fias}' \
      -X 'GET' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json'
      Ответ
      200 Город.
      Модель
      {...}

      Город из справочника.

      Id2: guid

      Идентификатор города в виде guid

      CityId: int32

      Идентификатор города

      RegionId: int32 (nullable)

      Идентификатор региона. dict: GET /v1.0/dictionaries/regions → Id

      CountryId: int32 (nullable)

      Идентификатор страны. dict: GET /v1.0/dictionaries/countries → Id

      FullName: string

      Город, регион и страна через запятую

      ShortName: string

      Составное название, состоящее из названия города, названия региона (если город не является областным центром) и буквенного кода страны (если страна отличается от России)

      FullNameEng: string

      Город, регион и страна через запятую на английском

      ShortNameEng: string

      Составное название, состоящее из названия города, названия региона (если город не является областным центром) и буквенного кода страны (если страна отличается от России), на английском

      IsRegionalCenter: boolean

      Является ли город региональным центром

      CitySize: int32

      Категория города по числу жителей:

      • 0 - не определена
      • 1 - до 10 000
      • 2 - от 10 000 до 50 000
      • 3 - от 50 000 до 100 000
      • 4 - от 100 000 до 500 000
      • 5 - от 500 000 до 1 000 000
      • 6 - свыше 1 000 000
      FiasId: guid (nullable)

      Идентификатор города в базе ФИАС

      Longitude: double (nullable)

      Долгота города

      Latitude: double (nullable)

      Широта города

      CityName: string

      Название города

      RegionName: string

      Название региона

      CountryName: string

      Название страны

      CityNameEng: string

      Название города на английском

      RegionNameEng: string

      Название региона на английском

      CountryNameEng: string

      Название страны на английском

      CountryCodeName: string

      Трёхбуквенный код страны, как InterShortName в справочнике стран

      }
      Пример
      {...}
      "Id2":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "CityId":1,
      "RegionId":153,
      "CountryId":1,
      "FullName":"Санкт-Петербург, Санкт-Петербург (регион), Россия",
      "ShortName":"Санкт-Петербург",
      "FullNameEng":"Saint Petersburg, Saint Petersburg (region), Russia",
      "ShortNameEng":"Saint Petersburg",
      "IsRegionalCenter":true,
      "CitySize":6,
      "FiasId":"c2deb16a-0330-4f05-821f-1d09c93331e6",
      "Longitude":30.316229,
      "Latitude":59.938732,
      "CityName":"Санкт-Петербург",
      "RegionName":"Санкт-Петербург (регион)",
      "CountryName":"Россия",
      "CityNameEng":"Saint Petersburg",
      "RegionNameEng":"Saint Petersburg (region)",
      "CountryNameEng":"Russia",
      "CountryCodeName":"RUS"
      }
      404 Города с таким кодом ФИАС нет в справочнике.
      Модель
      {...}

      Ошибка вместо результата: машинный ключ и пояснение для пользователя.

      Reason: string

      Причина ошибки

      Error: string

      Ключ ошибки

      }
      Пример
      {...}
      "Reason":"Город не найден",
      "Error":"city_not_found_error"
      }
      Получение конкретного города по его идентификатору. API для интеграции. Идентификаторы городов возвращают методы поиска городов и поля точек погрузки и выгрузки в грузе.
      get /v1.0/dictionaries/cities/{cityId}
      Параметры
      Параметр Тип Расположение Описание
      cityId обязательный integer (int32) path
      Идентификатор города. Пример: 1
      Запрос
      Пример запроса
      curl 'https://api.ati.su/v1.0/dictionaries/cities/{cityId}' \
      -X 'GET' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json'
      Ответ
      200 Город.
      Модель
      {...}

      Город из справочника.

      Id2: guid

      Идентификатор города в виде guid

      CityId: int32

      Идентификатор города

      RegionId: int32 (nullable)

      Идентификатор региона. dict: GET /v1.0/dictionaries/regions → Id

      CountryId: int32 (nullable)

      Идентификатор страны. dict: GET /v1.0/dictionaries/countries → Id

      FullName: string

      Город, регион и страна через запятую

      ShortName: string

      Составное название, состоящее из названия города, названия региона (если город не является областным центром) и буквенного кода страны (если страна отличается от России)

      FullNameEng: string

      Город, регион и страна через запятую на английском

      ShortNameEng: string

      Составное название, состоящее из названия города, названия региона (если город не является областным центром) и буквенного кода страны (если страна отличается от России), на английском

      IsRegionalCenter: boolean

      Является ли город региональным центром

      CitySize: int32

      Категория города по числу жителей:

      • 0 - не определена
      • 1 - до 10 000
      • 2 - от 10 000 до 50 000
      • 3 - от 50 000 до 100 000
      • 4 - от 100 000 до 500 000
      • 5 - от 500 000 до 1 000 000
      • 6 - свыше 1 000 000
      FiasId: guid (nullable)

      Идентификатор города в базе ФИАС

      Longitude: double (nullable)

      Долгота города

      Latitude: double (nullable)

      Широта города

      CityName: string

      Название города

      RegionName: string

      Название региона

      CountryName: string

      Название страны

      CityNameEng: string

      Название города на английском

      RegionNameEng: string

      Название региона на английском

      CountryNameEng: string

      Название страны на английском

      CountryCodeName: string

      Трёхбуквенный код страны, как InterShortName в справочнике стран

      }
      Пример
      {...}
      "Id2":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "CityId":1,
      "RegionId":153,
      "CountryId":1,
      "FullName":"Санкт-Петербург, Санкт-Петербург (регион), Россия",
      "ShortName":"Санкт-Петербург",
      "FullNameEng":"Saint Petersburg, Saint Petersburg (region), Russia",
      "ShortNameEng":"Saint Petersburg",
      "IsRegionalCenter":true,
      "CitySize":6,
      "FiasId":"c2deb16a-0330-4f05-821f-1d09c93331e6",
      "Longitude":30.316229,
      "Latitude":59.938732,
      "CityName":"Санкт-Петербург",
      "RegionName":"Санкт-Петербург (регион)",
      "CountryName":"Россия",
      "CityNameEng":"Saint Petersburg",
      "RegionNameEng":"Saint Petersburg (region)",
      "CountryNameEng":"Russia",
      "CountryCodeName":"RUS"
      }
      404 Города с таким идентификатором нет в справочнике.
      Модель
      {...}

      Ошибка вместо результата: машинный ключ и пояснение для пользователя.

      Reason: string

      Причина ошибки

      Error: string

      Ключ ошибки

      }
      Пример
      {...}
      "Reason":"Город не найден",
      "Error":"city_not_found_error"
      }
      Получение справочника регионов. API для интеграции. Справочник отдаётся целиком: фильтров и постраничной выдачи нет. Идентификаторы регионов приходят в записях городов.
      get /v1.0/dictionaries/regions
      Параметры
      Параметров нет
      Запрос
      Пример запроса
      curl 'https://api.ati.su/v1.0/dictionaries/regions' \
      -X 'GET' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json'
      Ответ
      200 Справочник целиком.
      Модель
      [{...}]

      Регион.

      Id: int64

      Числовой идентификатор записи справочника.

      Id2: guid

      Идентификатор записи справочника в виде guid.

      Name: string

      Название записи справочника на русском.

      NameEng: string

      Название на английском

      RegionClearName: string

      Название региона без типа: например, «Московская» для Московской области

      RegionTypeAbbr: string

      Сокращённый тип региона: например, «обл.»

      CountryId: int32

      Идентификатор страны. dict: GET /v1.0/dictionaries/countries → Id

      RegionCode: string

      Код региона. Есть только у субъектов России

      }]
      Пример
      [...]
      {...}
      "Id":1,
      "Id2":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "Name":"Тент.",
      "NameEng":"Leningrad oblast",
      "RegionClearName":"Ленинградская",
      "RegionTypeAbbr":"обл.",
      "CountryId":1,
      "RegionCode":"47"
      }
      ]
      Получение города, соответствующего указанному адресу За один запрос можно передать не более 20 адресов, они должны быть уникальны в рамках запроса
      post /v1.0/dictionaries/locations/parse
      Параметры
      Параметров нет
      Запрос
      Модель
      [string]

      Адреса, которые нужно обработать

      Пример запроса
      curl 'https://api.ati.su/v1.0/dictionaries/locations/parse' \
      -X 'POST' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json' \
      --data-raw '["string"]'
      Ответ
      200 Результат геокодирования
      Модель
      {...}
      }
      Пример
      {...}
      "any-key":{...}
      "city_id":0,
      "is_success":false,
      "street":"string"
      }
      }

      Актуальный метод получения ближайших городов переехал в раздел Расчёт расстояний

      Получение списка ближайших городов по городу. API для интеграции. Исходный город в выдачу не входит. Сначала идут крупные города, затем остальные по расстоянию.
      get /v1.0/dictionaries/cities/{cityId}/near
      Параметры
      Параметр Тип Расположение Описание
      cityId обязательный integer (int32) path
      Идентификатор города. Пример: 1
      count integer (int32) query
      Сколько городов вернуть, не больше 20. Пример: 5
      radius integer (int32) query
      Радиус поиска в километрах, не больше 300. Пример: 200
      largeCityCount integer (int32) query
      Сколько из них должно быть крупными городами. Пример: 3
      Запрос
      Пример запроса
      curl 'https://api.ati.su/v1.0/dictionaries/cities/{cityId}/near' \
      -X 'GET' \
      -H 'Authorization: Bearer {authorizationToken}' \
      -H 'Content-Type: application/json'
      Ответ
      200 Ближайшие города с расстоянием до исходного.
      Модель
      [{...}]

      Город с расстоянием до исходной точки.

      Id2: guid

      Идентификатор города в виде guid

      CityId: int32

      Идентификатор города

      Name: string

      Название города

      Distance: double

      Расстояние до исходной точки в километрах

      }]
      Пример
      [...]
      {...}
      "Id2":"3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "CityId":1,
      "Name":"Санкт-Петербург",
      "Distance":35.4
      }
      ]
      400 Количество или радиус вне допустимых границ.
      Модель
      {...}

      Ошибка вместо результата: машинный ключ и пояснение для пользователя.

      Reason: string

      Причина ошибки

      Error: string

      Ключ ошибки

      }
      Пример
      {...}
      "Reason":"Ошибка валидации: Массив ids не должен быть пуст",
      "Error":"validation_error"
      }
      404 Исходного города нет в справочнике.
      Модель
      {...}

      Ошибка вместо результата: машинный ключ и пояснение для пользователя.

      Reason: string

      Причина ошибки

      Error: string

      Ключ ошибки

      }
      Пример
      {...}
      "Reason":"Город не найден",
      "Error":"city_not_found_error"
      }