Если задать параметры from_bound и  to_bound, то будут подсказки только для указанных  частей адреса.

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

НазваниеОписание
countryСтрана
regionРегион
areaРайон
cityГород
settlementНаселенный пункт
streetУлица
houseДом
flatКвартира* (21.12+)

* Квартира поддерживается только как правая граница. То есть можно указать границы house-flat или street-flat, но не просто flat.

Подсказки по отдельным компонентам адреса

Только страны

Работает только при поиске по зарубежным адресам с версии подсказок 19.8

запрос
{
    "query": "ро",
	"from_bound": { "value": "country" }, 
	"to_bound": { "value": "country" },
    "locations": [
        {
            "country_iso_code": "*"
        }
    ]   
}
запрос в XML
<req>
  <query>ро</query>
  <from_bound>
    <value>country</value>
  </from_bound>
  <to_bound>
    <value>country</value>
  </to_bound>
  <locations>
  	<country_iso_code>*</country_iso_code>
  </locations>
</req>
ответ
{
    "suggestions": [
        {
            "value": "Россия"
        },
        {
            "value": "Остров Рождества"
        }
    ]
}

Только регионы

запрос
{
    "query": "Пе",
	"from_bound": { "value": "region" }, 
	"to_bound": { "value": "region" }   
}
запрос в XML
<req>
  <query>пе</query>
  <from_bound>
    <value>region</value>
  </from_bound>
  <to_bound>
    <value>region</value>
  </to_bound>
</req>
ответ
{
    "suggestions": [
        {
            "value": "г Санкт-Петербург"
        },
        {
            "value": "Пермский край"
        },
        {
            "value": "Пензенская обл"
        }
    ]
}

Города

запрос
{
    "query": "Пет",
	"from_bound": { "value": "city" }, 
	"to_bound": { "value": "city" }   
}
запрос в XML
<req>
  <query>пет</query>
  <from_bound>
    <value>city</value>
  </from_bound>
  <to_bound>
    <value>city</value>
  </to_bound>
</req>
ответ
{
    "suggestions": [
        {
            "value": "г Санкт-Петербург"
        },
        {
            "value": "респ Карелия, г Петрозаводск"
        },
        {
            "value": "Камчатский край, г Петропавловск-Камчатский"
        },
        {
            "value": "г Санкт-Петербург, г Петергоф"
        },
        {
            "value": "Саратовская обл, г Петровск"
        }
    ]
}

Улицы в Москве

запрос
{
    "query": "тур",
    "from_bound": { "value": "street" },
    "to_bound": { "value": "street" },
    "locations": [{ "region": "москва" }],
	"restrict_value": true
}
запрос в XML
<req>
  <query>тур</query>
  <locations>
      <region>Москва</region>
  </locations>
  <from_bound>
    <value>street</value>
  </from_bound>
  <to_bound>
    <value>street</value>
  </to_bound>
  <restrict_value>true</restrict_value>
</req>
ответ
{
    "suggestions": [
        {
            "value": "г Москва, Тургеневская пл"
        },
        {
            "value": "г Москва, ул Туристская"
        },
        {
            "value": "г Москва, Туркменский проезд"
        },
        {
            "value": "г Москва, Турчанинов пер"
        }
    ]
}

Города и села в Пензенской области

запрос
{
    "query": "Красное",
	"from_bound": { "value": "city" }, 
	"to_bound": { "value": "settlement" },
	"locations": [{ "region": "Пензенская" }],
	"restrict_value": true
}
запрос в XML
<req>
  <query>Красное</query>
  <locations>
      <region>Пензенская</region>
  </locations>
  <from_bound>
    <value>city</value>
  </from_bound>
  <to_bound>
    <value>settlement</value>
  </to_bound>
  <restrict_value>true</restrict_value>
</req>
ответ
{
    "suggestions": [
        {
            "value": "Пензенская обл, Мокшанский р-н, поселок Красное Польцо"
        },
        {
            "value": "Пензенская обл, Земетчинский р-н, поселок Красное Знамя"
        },
        {
            "value": "Пензенская обл, Никольский р-н, село Красное"
        },
        {
            "value": "Пензенская обл, Камешкирский р-н, село Красное Поле"
        }
    ]
}

Полностью гранулярный ввод адреса

Пусть есть форма:

Чтобы показывать подсказки по каждому из полей от региона до дома, отправляйте запросы вида:

Регион

в JSON
{
  "from_bound": {
    "value": "region"
  },
  "to_bound": {
    "value": "region"
  },
  "query": "самарская"
}
в XML
<req>
  <from_bound>
    <value>region</value>
  </from_bound>
  <to_bound>
    <value>region</value>
  </to_bound>
  <query>самарская</query>
</req>

Район в выбранном регионе

Значение region_fias_id взято от вышестоящего поля («Регион») после того, как пользователь выбрал в нем подсказку из списка:

в JSON
{
  "locations": [
    {
      "region_fias_id": "df3d7359-afa9-4aaa-8ff9-197e73906b1c"
    }
  ],
  "from_bound": {
    "value": "area"
  },
  "to_bound": {
    "value": "area"
  },
  "restrict_value": true,
  "query": "алексеевский"
}
в XML
<req>
  <locations>
    <region_fias_id>df3d7359-afa9-4aaa-8ff9-197e73906b1c</region_fias_id>
  </locations>
  <from_bound>
    <value>area</value>
  </from_bound>
  <to_bound>
    <value>area</value>
  </to_bound>
  <restrict_value>true</restrict_value>
  <query>алексеевский</query>
</req>

Город в выбранном регионе

Значение region_fias_id взято от вышестоящего поля («Регион») после того, как пользователь выбрал в нем подсказку из списка. Если бы пользователь заполнил район, вместо region_fias_id было area_fias_id.

в JSON
{
  "locations": [
    {
      "region_fias_id": "df3d7359-afa9-4aaa-8ff9-197e73906b1c"
    }
  ],
  "from_bound": {
    "value": "city"
  },
  "to_bound": {
    "value": "city"
  },
  "restrict_value": true,
  "query": "самара"
}
в XML
<req>
  <locations>
    <region_fias_id>df3d7359-afa9-4aaa-8ff9-197e73906b1c</region_fias_id>
  </locations>
  <from_bound>
    <value>city</value>
  </from_bound>
  <to_bound>
    <value>city</value>
  </to_bound>
  <restrict_value>true</restrict_value>
  <query>самара</query>
</req>

Населённый пункт в выбранном городе

Значение city_fias_id взято от вышестоящего поля («Город») после того, как пользователь выбрал в нем подсказку из списка. Если бы пользователь не заполнил город, вместо city_fias_id было area_fias_id или region_fias_id.

в JSON
{
  "locations": [
    {
      "city_fias_id": "bb035cc3-1dc2-4627-9d25-a1bf2d4b936b"
    }
  ],
  "from_bound": {
    "value": "settlement"
  },
  "to_bound": {
    "value": "settlement"
  },
  "restrict_value": true,
  "query": "мехзавод"
}
в XML
<req>
  <locations>
    <city_fias_id>bb035cc3-1dc2-4627-9d25-a1bf2d4b936b</city_fias_id>
  </locations>
  <from_bound>
    <value>settlement</value>
  </from_bound>
  <to_bound>
    <value>settlement</value>
  </to_bound>
  <restrict_value>true</restrict_value>
  <query>мехзавод</query>
</req>

Улица в выбранном населённом пункте

Значение settlement_fias_id взято от вышестоящего поля («Населенный пункт») после того, как пользователь выбрал в нем подсказку из списка. Если бы пользователь не заполнил населенный пункт, вместо settlement_fias_id было city_fias_id.

в JSON
{
  "locations": [
    {
      "settlement_fias_id": "5e30bb6c-87e7-4550-8f4c-546981a24647"
    }
  ],
  "from_bound": {
    "value": "street"
  },
  "to_bound": {
    "value": "street"
  },
  "restrict_value": true,
  "query": "анжерская"
}
в XML
<req>
  <locations>
    <settlement_fias_id>5e30bb6c-87e7-4550-8f4c-546981a24647</settlement_fias_id>
  </locations>
  <from_bound>
    <value>street</value>
  </from_bound>
  <to_bound>
    <value>street</value>
  </to_bound>
  <restrict_value>true</restrict_value>
  <query>анжерская</query>
</req>

Дом на выбранной улице

Значение street_fias_id взято от вышестоящего поля («Улица») после того, как пользователь выбрал в нем подсказку из списка. Если бы пользователь не заполнил улицу, вместо street_fias_id было settlement_fias_id.

в JSON
{
  "locations": [
    {
      "street_fias_id": "dd08e4e2-82ff-43b5-81f7-93f59f013974"
    }
  ],
  "from_bound": {
    "value": "house"
  },
  "restrict_value": true,
  "query": "12"
}
в XML
<req>
  <locations>
    <street_fias_id>dd08e4e2-82ff-43b5-81f7-93f59f013974</street_fias_id>
  </locations>
  <from_bound>
    <value>house</value>
  </from_bound>
  <to_bound>
    <value>house</value>
  </to_bound>
  <restrict_value>true</restrict_value>
  <query>12</query>
</req>
  • No labels