Стандартизация адресов
Адреса из записей источников справочника клиентов проходят процесс стандартизации, чтобы получить:
Географические координаты.
Поддерживается стандартизация адресов Украины и Казахстана, путем ручного выбора субъекта из иерархии страны. В будущем планируем добавить поддержку обработки и других стран СНГ.
Общие сведения
API стандартизации адресов является отдельным модулем SellOut+, поэтому имеет отличия в формате по отношению к существующим описаниям.
API доступен по адресу https://app.sellout.plus/api/data-quality/geo/client/geosync.
Способ авторизации и таймаут не изменились.
Стандартизированная адресная строка
Стандартизированная адресная строка — это эталонное написание адреса. Оно получается путём объединения данных из поля Description таблицы Geography и номера дома из поля House таблицы GeographyObjectRecord. Также полная адресная строка хранится в поле GeographyObjectRecord/FullAddress.
Географическая иерархия
Географическая иерархия позволяет разбить любой адрес на составляющие, определить, что в нем является городом, улицей и субъектом. Эти данные хранятся в таблице Geography — она представляет собой parent-child иерархию, где на нижнем уровне будет улица, родителем для улицы — город и так далее.
В качестве примера разберем адрес Россия, г. Воронеж, ул. Ленина д. 17:
ул. Ленина — нижний уровень.
г. Воронеж — родитель для ул. Ленина и других улиц города, содержащихся в справочнике.
Воронежская область — родитель для г. Воронеж и других географических объектов области, содержащихся в справочнике.
Для удобства работы мы вывели денормализованные поля:
ID_ParentLevel1— уровень административно-территориального или федеративного устройства: субъект РФ, республика, край и т.д.ID_ParentLevel2— уровень городов. Если адрес является не городской территорией, то проставляется значение изID_ParentLevel1.
Коды ОКАТО и ФИАС GUID
В поле Attributes таблицы Geography хранится перечисление ссылок на доступные классификаторы для записи географической иерархии. На данный момент поддерживаются классификаторы: ОКАТО и ФИАС GUID.
Данные еженедельно обновляются из Росстата и ФНС.
Районы и округа города
Для крупных городов России поддерживается муниципальное деление. Районы и округа города хранятся в отдельной таблице CityDistrict, они определяются по исходному адресу из таблицы GeographyObjectRecord. Район города определен корректно, если статус координат - Утверждено или Утверждено автоматически. В остальных случаях, корректность определения района необходимо проверить.
Спецификация
GET /geographyObjectRecord
Параметры:
Take— количество записей.RowVersion— максимальная версия записи из последней выгрузки.Fields— поля, которые необходимо получить. По умолчанию возвращаются поля из таблицы ниже.
GeographyObjectRecord Стандартизация адресов
| Field | Type | Description |
|---|---|---|
ID* PK | int | Уникальный идентификатор записи SO+ |
ID_Record* | int | Ссылка на запись, адрес которой проходит стандартизацию |
ObjectCode* | varchar(max) | Объект стандартизации |
ID_GeographyGeography | int | Географическая иерархия |
ID_StatusStatus.status | tinyint | Статус обработки адреса |
ID_GeospatialStatusGeospatialStatus | tinyint | Статус координат |
ID_CityDistrictCityDistrict | int | Районное деление города |
Address* | varchar(max) | Адрес источника (исходный) |
House | varchar(50) | Номер дома |
Latitude | varchar(12) | Широта (координата) |
Longitude | varchar(12) | Долгота (координата) |
FullAddress | varchar(1000) | Стандартизированный адрес |
Comment | varchar(2000) | Комментарий оператора к адресу |
RowVersion* | binary | Версия записи |
AddrAttributes | nvarchar(100) | Атрибуты адреса |
GET /status
Параметры:
Fields— поля, которые необходимо получить. По умолчанию возвращаются поля из таблицы ниже.
Status Статус стандартизации адреса
| Field | Type | Description |
|---|---|---|
ID* PK | int | Уникальный идентификатор записи SO+ |
Code | varchar(5) | Код |
Name | varchar(255) | Наименование |
Description | varchar(250) | Описание |
GET /geospatialStatus
Параметры:
Fields— поля, которые необходимо получить. По умолчанию возвращаются поля из таблицы ниже.
GeospatialStatus Статус координат
| Field | Type | Description |
|---|---|---|
ID* PK | int | Уникальный идентификатор записи SO+ |
Code* | varchar(100) | Код |
Name* | varchar(255) | Наименование |
GET /geography
Параметры:
Take— количество записей.Country— фильтрация данных по стране. Используется полеAlfa3Codeиз таблицыcountry. Значение по умолчанию —RUS.RowVersion— максимальная версия записи из последней выгрузки.Fields— поля, которые необходимо получить. По умолчанию возвращаются поля из таблицы ниже.
Geography Географическая иерархия
| Field | Type | Description |
|---|---|---|
ID* PK | int | Уникальный идентификатор записи SO+ |
ID_GeographyTypeGeographyType | int | Тип географии |
Name | varchar(500) | Наименование |
Description | varchar(1000) | Описание |
ID_ParentGeography | int | Родительская запись |
ID_CountryCountry | int | Страна |
FlagActive* | bit | Признак активности записи |
RowVersion* | binary | Версия записи |
ID_ParentLevel1Geography | int | Родительская запись первого уровня |
ID_ParentLevel2Geography | int | Родительская запись второго уровня |
Attributes | array | Дополнительные атрибуты |
GET /geographyType
Параметры:
Fields— поля, которые необходимо получить. По умолчанию возвращаются поля из таблицы ниже.
GeographyType Тип географии
| Field | Type | Description |
|---|---|---|
ID* PK | int | Уникальный идентификатор записи SO+ |
Code | varchar(255) | Код |
Name | varchar(255) | Наименование |
FlagActive* | bit | Признак активности записи |
GET /country
Параметры:
Fields— поля, которые необходимо получить. По умолчанию возвращаются поля из таблицы ниже.
Country Страна
| Field | Type | Description |
|---|---|---|
ID* PK | int | Уникальный идентификатор записи SO+ |
Code* | varchar(3) | Код |
ShortName* | varchar(100) | Наименование |
FullName* | varchar(1000) | Наименование |
Alfa2Code* | varchar(2) | Код альфа-2 |
Alfa3Code* | varchar(4) | Код альфа-3 |
FlagActive* | bit | Признак активности записи |
GET /cityDistrict
Параметры:
Fields— поля, которые необходимо получить. По умолчанию возвращаются поля из таблицы ниже.
CityDistrict Районы города
| Field | Type | Description |
|---|---|---|
ID* PK | int | Уникальный идентификатор записи SO+ |
ID_GeographyCity*Geography | int | Город из географической иерархии |
ID_GeographyType*GeographyType | int | Тип географии |
ID_ParentCityDistrict | int | Родительская запись (округ города) |
Name* | varchar(500) | Наименование |
OKATO | varchar(11) | Код из справочника ОКАТО РФ |