Пример использования
Попробуем найти некоторый адрес с помощью этого сервиса.
Сначала получим список всех корневых узлов (по хорошему это должны быть области и автономные округа, города федерального значения):
/api/address/FindAddress?searchString=&level=&count=&parentGuid=
Результат:
[{
"fiasGuid": "db9c4f8b-b706-40e2-b2b4-d31b98dcd3d1",
"formalName": "Красноярский",
"shortName": "край"
...
...
...
"fiasGuid": "6f2cbfd8-692a-4ee4-9b16-067210bde3fc",
"formalName": "Башкортостан",
"shortName": "Респ"
}, {
"fiasGuid": "d8327a56-80de-4df2-815c-4f6ab1224c50",
"formalName": "Адыгея",
"shortName": "Респ"
}
]
Попробуем найти Калужскую область:
/api/address/FindAddress?searchString=Калуж&level=&count=&parentGuid=
[{"fiasGuid":"18133adf-90c2-438e-88c4-62c41656de70","formalName":"Калужская","shortName":"обл"}]
Дочерние объекты Калужской области содержащие "кир":
/api/address/FindAddress?searchString=кир&level=&count=&parentGuid=b502ae45-897e-4b6f-9776-6ff49740b537
[{
"fiasGuid": "aafd4756-144b-451a-a3a7-93605cf77e98",
"formalName": "Кирпичный",
"shortName": "пер"
}, {
"fiasGuid": "239b8705-0b53-4a98-8eb2-346814382422",
"formalName": "Кирова",
"shortName": "ул"
}, {
"fiasGuid": "daec73dd-a5b5-44dc-a13f-dbe14039730f",
"formalName": "Кирова",
"shortName": "пер"
}, {
"fiasGuid": "0a5c14f1-c169-49f0-9066-02ddebb532e2",
"formalName": "Кирпичная",
"shortName": "ул"
}, {
"fiasGuid": "346d7e07-cd5d-44cf-ae77-2133f5e4ecae",
"formalName": "Белокирпичная",
"shortName": "ул"
}, {
"fiasGuid": "68ea7d9f-4c6c-4e85-8263-346f6c6a2d2e",
"formalName": "Азаровский Кирпичный Завод",
"shortName": "п"
}, {
"fiasGuid": "22a9f7f2-645d-430d-a086-64998b499c6f",
"formalName": "Кирпичный з-д МПС",
"shortName": "ул"
}
]
Дочерние объекты Калуги начинающиесе на "ки":
/api/address/FindAddress?searchString=ки&level=&count=&parentGuid=b502ae45-897e-4b6f-9776-6ff49740b537
[{
"fiasGuid": "aafd4756-144b-451a-a3a7-93605cf77e98",
"formalName": "Кирпичный",
"shortName": "пер"
}, {
"fiasGuid": "cac18222-b5dc-4510-a405-8312db6e1e9b",
"formalName": "Киевский",
"shortName": "пер"
}, {
"fiasGuid": "239b8705-0b53-4a98-8eb2-346814382422",
"formalName": "Кирова",
"shortName": "ул"
}, {
"fiasGuid": "9d89f22c-41e3-45e9-af9c-4b6b0b6ebf90",
"formalName": "Киевский",
"shortName": "проезд"
}, {
"fiasGuid": "2f873a18-bead-4258-aab8-1ab52376d28b",
"formalName": "Кибальчича",
"shortName": "ул"
}, {
"fiasGuid": "daec73dd-a5b5-44dc-a13f-dbe14039730f",
"formalName": "Кирова",
"shortName": "пер"
}, {
"fiasGuid": "0a5c14f1-c169-49f0-9066-02ddebb532e2",
"formalName": "Кирпичная",
"shortName": "ул"
}, {
"fiasGuid": "06e6b466-6c3e-476b-9b11-8fd479191c76",
"formalName": "Киевка 2-я",
"shortName": "ул"
}, {
"fiasGuid": "ba9a0d0b-c92d-44f0-a0a9-dd46407e58cf",
"formalName": "Киевка",
"shortName": "ул"
}, {
"fiasGuid": "0a634c94-349c-40f7-9e63-0ee970730caf",
"formalName": "Киевская",
"shortName": "ул"
}, {
"fiasGuid": "22a9f7f2-645d-430d-a086-64998b499c6f",
"formalName": "Кирпичный з-д МПС",
"shortName": "ул"
}
]
Теперь соберем полный адрес для ул.Кирова (этот запрос довольно долгий, поскольку приходится идти по цепочке и каждый раз обращаться к базе):
/api/address/GetAddressByFiasGuid?guid=239b8705-0b53-4a98-8eb2-346814382422
{
"representation": "Калужская обл, Калуга г, Кирова ул",
"fiasGuid": "239b8705-0b53-4a98-8eb2-346814382422",
"fiaslevel": 7,
"region": {
"fiasGuid": "18133adf-90c2-438e-88c4-62c41656de70",
"formalName": "Калужская",
"shortName": "обл"
},
"area": {},
"city": {
"fiasGuid": "b502ae45-897e-4b6f-9776-6ff49740b537",
"formalName": "Калуга",
"shortName": "г"
},
"intraurbanTerritory": {},
"place": {},
"street": {
"fiasGuid": "239b8705-0b53-4a98-8eb2-346814382422",
"formalName": "Кирова",
"shortName": "ул"
},
"unparsed": []
}
То же самое в XML. На самом деле формат ответа - JSON. Приходит строка - представление адреса в XML. (кавычки в ней будут экранированы, см. пример ответа в описании метода):
/api/address/FindAddress?searchString=ки&level=&count=&parentGuid=b502ae45-897e-4b6f-9776-6ff49740b537
<АдресРФ>
<ИдФиас>239b8705-0b53-4a98-8eb2-346814382422</ИдФиас>
<СубъектРФ>Калужская обл</СубъектРФ>
<Город>Калуга г</Город>
<Улица>Кирова ул</Улица>
<ОКТМО>29701000</ОКТМО>
<ОКАТО>29401000000</ОКАТО>
</АдресРФ>