Tool tree
gradeNot graded
searchAnswer
Ищет недвижимость по гибкому логическому выражению и открывает страницу результатов в текущей вкладке. Возвращает полный ответ GetSearchQuerySummary в camelCase без изменения структуры, добавляя url выдачи. Создаёт сохранённый AI-фильтр. Фильтры текущей страницы заменяются параметрами этого поиска. Регион текущей страницы используется, если rgid не передан. # Ответ На верхнем уровне находятся dateTime, result и url. - При result.$case = "response" данные находятся в result.response: count, searchQuery, aiFilterId, topOfferIds и stats со всеми вложенными полями. - При result.$case = "emptyResponse" данные находятся в result.emptyResponse: message, searchQuery, aiFilterId и emptySearchSuggests. result.response.topOfferIds можно передать в GetOffersData, чтобы получить подробности объявлений. # СТРОГИЕ ПРАВИЛА JSON (CRITICAL): На верхнем уровне JSON-объекта разрешены ТОЛЬКО эти ключи: 1. offer_type 2. category 3. rent_time 4. rgid 5. sort 6. query 7. search_title ЛЮБЫЕ другие параметры (yandexRent, price, area, newFlat, withPets и т.д.) ЗАПРЕЩЕНО писать отдельными ключами JSON. Они ОБЯЗАНЫ быть записаны внутри строки "query" в формате "key operator value". # Параметры (ключи верхнего уровня) offer_type (обязательный, string): Тип сделки. - SELL — продажа - RENT — аренда category (обязательный, string): Категория недвижимости. - APARTMENT — квартира - ROOMS — комната - HOUSE — загородный дом с участком - LOT — участок без дома (для домов с участками нужно использовать HOUSE) - COMMERCIAL — коммерческая недвижимость - GARAGE — гараж, машиноместо rent_time (обязательный при offer_type=RENT, string): Длительность аренды. - RENT_TIME_SHORT - краткосрочная/суточная аренда - RENT_TIME_LARGE - долгосрочная аренда (используется по умолчанию) rgid (опциональный, string): ID региона Недвижимости. По умолчанию — регион текущей страницы. Не придумывай ID регионов, метро, районов и ЖК. Получай их через ResolveEntities: rgid из searchParams передавай на верхнем уровне, остальные гео-параметры — внутри query. sort (опциональный, string): Параметр сортировки. query (опциональный, string): Строка с логическим выражением для детальной фильтрации. **Большинство фильтров указываются именно здесь**. См. подробную инструкцию ниже. search_title (ОБЯЗАТЕЛЬНЫЙ, string): Краткое человекочитаемое описание поискового запроса на русском — то, что пользователь ищет, одной строкой. Собирай его из ключевых параметров: комнатность, локация, бюджет, важные фильтры. Без технических ID и латинских имён полей. - Например: "2-комнатная квартира в Санкт-Петербурге до 45 000 без депозита" - Например: "Новостройка в пределах МКАД до 30 млн в ипотеку" # Инструкция по формированию query (Язык поисковых запросов) Это самый важный параметр для точного поиска. Внимательно следуй этим правилам. **Золотые правила** query 1. Синтаксис фильтра: имя_поля оператор значение. Например: price >= 10000000. 2. Операторы в фильтрах: =, !=, >, <, >=, <=, IN, NOT IN (ОЧЕНЬ ВАЖНО - не все фильтры поддерживают полный список операторов). 3. Логические операторы: Фильтры объединяются с помощью AND, OR, NOT. 4. ПРАВИЛО СКОБОК (САМОЕ ВАЖНОЕ!): Если в запросе используется оператор OR, **вся группа с OR ДОЛЖНА быть заключена в круглые скобки** (...). Это правило абсолютно и не имеет исключений. - Неправильно: roomsTotal = 1 OR roomsTotal = 2 AND price <= 15000000 - Правильно: (roomsTotal = 1 OR roomsTotal = 2) AND price <= 15000000 - Правильно: (buildingClass = BUSINESS OR buildingClass = COMFORT_PLUS) - Правильно: price <= 20000000 AND (buildingType = BRICK OR buildingType = MONOLIT) 5. Приоритет операторов: ( ) -> NOT -> AND -> OR. 6. Значения нужно брать в кавычки, если в них есть пробелы или специальные символы: - Например: name = 'JOHN SMITH' КРИТИЧЕСКИ ВАЖНОЕ ПРАВИЛО СИНТАКСИСА: Любая конструкция с OR должна быть ИЗОЛИРОВАНА скобками. ЗАПРЕЩЕНО: A AND B OR C AND D РАЗРЕШЕНО: (A AND B) OR (C AND D) Если есть сомнения — ставь ЛИШНИЕ скобки. (A AND B AND C) — лучше, чем просто A AND B AND C. РАЗРЕШЕННЫЕ ОПЕРАТОРЫ В ФИЛЬТРАХ: Для фильтров: area, price, kitchenSpace, livingSpace, lotArea, ceilingHeight, floor, floors, builtYear, roomsTotal, createTime разрешены все операторы. Для фильтра metroTransport разрешен только оператор =. Для фильтра timeToMetro разрешен только оператор <=. Для фильтра nearBoundingBox и nearBoundingBoxKm разрешен только оператор =. Для всех остальных фильтров разрешены операторы: =, !=, IN, NOT IN. # СПРАВОЧНИК ДОСТУПНЫХ ФИЛЬТРОВ ДЛЯ **query**. Эти параметры могут использоваться ТОЛЬКО внутри выражения "query" ## 1. Основные (Цена, Площадь, Комнаты) - price (float): цена в рублях. - area (float): общая площадь в кв. метрах. - livingSpace (float): жилая площадь в кв. метрах. - kitchenSpace (float): площадь кухни в кв. метрах. - roomsTotal (string): Количество комнат. - studio (string): Является ли квартира студией? YES или NO. - apartments (string): Апартаменты? YES или NO. ## 2. Расположение и География - districtId (long): ID района. - toponymId (long): ID топонима. Фильтрует объявления по принадлежности к территории топонима — т.е. объект находится внутри/в пределах данного топонима. Топонимами могут быть: микрорайоны, кварталы, кольцевые дороги (МКАД, ТТК, КАД) и другие именованные географические области. Используй только известный ID топонима; не придумывай его. - rgid можно использовать здесь, если нужно комбинировать с OR (хотя это редкий случай). - metroGeoId (int): ID станции метро. - metroLineId (string): ID ветки метро. - timeToMetro (int): Время до метро пешком в минутах. - metroTransport: (string): Тип расчёта времени до метро: ON_FOOT (пешком), ON_TRANSPORT (на транспорте). - directionId (long): ID шоссе. - railwayStationId (long): ID ж/д станции. - nearbyPoiType (string): Наличие объекта инфраструктуры поблизости. Значения: POLYCLINIC (поликлиника), SCHOOL (школа), KINDERGARTEN (детский сад), GYM (тренажерный/фитнес зал), POOL (бассейн), PHARMACY (аптека), POINT_OF_DELIVERY (пункт выдачи заказов), SUPERMARKET (магазин), PLAYGROUND (детская площадка), PUBLIC_TRANSPORT_STOP (остановки общественного транспорта) - hasPark (string): есть ли рядом парк? YES / NO. - hasPond (string): есть ли рядом водоем? YES / NO. - unifiedAddress (string): Конкретный (ЭТО ВАЖНО) адрес дома или улицы в строковом формате. Не использовать это фильтр для адресов чего-то, отличного от дома или улицы! - nearBoundingBox (string): Bounding box для поиска рядом. Формат: 'minLon, minLat, maxLon, maxLat'. - nearBoundingBoxKm (int): Параметр для расширения nearBoundingBox на нужное расстояние. ## 3. Характеристики Здания и Квартиры - builtYear (int): год постройки. - floors (int): Количество этажей в доме. - floor (int): этаж квартиры. - lastFloor (string): Квартира на последнем этаже? YES или NO. - buildingType (string): Материал стен. Значения: BRICK (кирпичный), MONOLIT (монолитный), MONOLIT_BRICK (блочно-монолитный), PANEL (панельный), WOOD (деревянный), BLOCK (блочный), METAL (металлический), FERROCONCRETE (железобетонный) - buildingClass (string): Класс ЖК. Значения: ECONOM, COMFORT, COMFORT_PLUS, BUSINESS, ELITE. - buildingEpoch (string): Эпоха постройки. Значения: STALIN (сталинка), KHRUSHCHEV (хрущевка), BREZHNEV (брежневка). - ceilingHeight (float): Высота потолков в метрах. - renovation (string): Тип ремонта. Значения: COSMETIC_DONE (косметический), DESIGNER_RENOVATION (дизайнерский), EURO (евроремонт). Фильтр по типу ремонта актуален для квартир вторички. Для первичной продажи нужно использовать фильтр decoration (отделка). - hasRenovation (string): YES (есть ремонт/отделка) / NO (без ремонта/отделки). Фильтр можно использовать для любых квартир (вторичка/новостройка). - decoration (string): ROUGH (черновая), PRE_CLEAN (предчистовая), CLEAN (чистовая). Фильтр используется только для квартир в новостройке. Для квартир во вторичке используется фильтр renovation (ремонт). - bathroomUnit (string): Санузел. Значения: MATCHED (смежный), SEPARATED (раздельный), TWO_AND_MORE (2 и более). - balcony (string): Балкон/лоджия. Значения: BALCONY, LOGGIA. ## 4. Удобства и Особенности hasFurniture (string): Есть мебель? YES / NO. hasInternet (string): Есть интернет? YES / NO. hasRefrigerator (string): Есть холодильник? YES / NO. hasWashingMachine (string): Есть стиральная машина? YES / NO. hasTelevision (string): есть ли телевизор. Возможные значения: YES, NO. hasDishwasher (string): есть ли посудомоечная машина. Возможные значения: YES, NO. hasAirConditioner (string): есть ли кондиционер. Возможные значения: YES, NO. parkingType (string): Тип парковки. Значения: OPEN, CLOSED, UNDERGROUND. hasPhoto (string): Есть фотографии? YES / NO. hasVirtualTour (string): Есть 3D-тур? YES / NO. hasGasSupply (string): Есть ли газоснабжение? YES / NO. hasHeatingSupply (string): Есть ли отопление? YES / NO. hasElectricitySupply (string): Есть электричество? YES / NO. hasLift (string): Есть ли в доме лифт? YES / NO. ## 5. Параметры Сделки и Объявления - createTime (string): время создания объявления (формат: YYYY-MM-DD HH:MM:SS). - newbuildingId (long): ID новостройки/ЖК. - developerId (long): ID застройщика. - hasInstallment (string): Есть рассрочка? YES / NO. - yandexRent (string): Объявление от Яндекс.Аренды? YES / NO. - tag (long): Поиск по ID тега из описания. Про список тэгов ниже. ## 6. Фильтры для конкретных категорий и типов сделок Для offer_type: SELL и category: APARTMENT: - newFlat (string): Новостройка (YES) или вторичка (NO). Важный параметр для продажи квартир (type=SELL и category=APARTMENT)! Если пользователь уточняет, что ему нужна вторичка или новостройка, то обязательно используй фильтр newFlat. Для offer_type: RENT - withPets (string): Можно с животными? YES / NO. - withChildren (string): Можно с детьми? YES / NO. - hasAgentFee (string): Есть комиссия агенту? YES / NO. - rentPledge (string): Есть залог? YES / NO. - agents (string): Объявление от агента? YES / NO. Для category: HOUSE и category: LOT - lotArea (float): Площадь участка в сотках. Для category: HOUSE - houseType (string): Тип дома. Значения: HOUSE, TOWNHOUSE, DUPLEX. Для category: COMMERCIAL - commercialType (string): Тип коммерческой недвижимости. Значения: OFFICE, RETAIL, WAREHOUSE и т.д. Для category: GARAGE - garageType (string): Тип гаража. Значения: GARAGE, BOX, PARKING_PLACE. Список тэгов (tag) в формате id - название: 1794253 - дача 1794384 - сад 4178343 - спортплощадка 1996639 - кровать 2961860 - прописка 1794425 - торг 1794349 - ванна 1794254 - коттедж 1794322 - у реки 1794367 - камин 1794368 - бассейн 1794315 - у моря 1794332 - возле берега 1794345 - баня 1794320 - у пруда 4178351 - возле набережной 1794375 - техника 1794357 - гардероб 1794331 - у озера 1794346 - сауна 1794369 - терраса 1794463 - лофт 1794266 - деревня 4178356 - кухня-гостиная 1794355 - подвал 4178492 - кабинет 1794376 - цоколь 4178427 - стадион 1794407 - обмен 1794354 - кладовая 1794359 - шумоизоляция 1794351 - веранда 2961912 - брус 1996590 - джакузи 1794335 - залив 1794427 - субаренда 1794382 - душевая 4178445 - библиотека 1794567 - пентхаус 1794365 - паркет 1794372 - мансарда 1794370 - чердак 1794356 - погреб 1794350 - беседка 1794366 - причал 4178469 - лобби 1794314 - колодец 4178439 - ламинат 4178497 - керамогранит
View tool JSON
{
"name": "search",
"kind": "answer",
"impl": "imperative",
"description": "Ищет недвижимость по гибкому логическому выражению и открывает страницу результатов в текущей вкладке. Возвращает\nполный ответ GetSearchQuerySummary в camelCase без изменения структуры, добавляя url выдачи. Создаёт сохранённый\nAI-фильтр. Фильтры\nтекущей страницы заменяются параметрами этого поиска. Регион текущей страницы используется, если rgid не передан.\n\n# Ответ\nНа верхнем уровне находятся dateTime, result и url.\n- При result.$case = \"response\" данные находятся в result.response: count, searchQuery, aiFilterId,\n topOfferIds и stats со всеми вложенными полями.\n- При result.$case = \"emptyResponse\" данные находятся в result.emptyResponse: message, searchQuery,\n aiFilterId и emptySearchSuggests.\nresult.response.topOfferIds можно передать в GetOffersData, чтобы получить подробности объявлений.\n\n# СТРОГИЕ ПРАВИЛА JSON (CRITICAL):\nНа верхнем уровне JSON-объекта разрешены ТОЛЬКО эти ключи:\n1. offer_type\n2. category\n3. rent_time\n4. rgid\n5. sort\n6. query\n7. search_title\n\nЛЮБЫЕ другие параметры (yandexRent, price, area, newFlat, withPets и т.д.) ЗАПРЕЩЕНО писать отдельными ключами\nJSON. Они ОБЯЗАНЫ быть записаны внутри строки \"query\" в формате \"key operator value\".\n\n# Параметры (ключи верхнего уровня)\noffer_type (обязательный, string): Тип сделки.\n- SELL — продажа\n- RENT — аренда\ncategory (обязательный, string): Категория недвижимости.\n- APARTMENT — квартира\n- ROOMS — комната\n- HOUSE — загородный дом с участком\n- LOT — участок без дома (для домов с участками нужно использовать HOUSE)\n- COMMERCIAL — коммерческая недвижимость\n- GARAGE — гараж, машиноместо\nrent_time (обязательный при offer_type=RENT, string): Длительность аренды.\n- RENT_TIME_SHORT - краткосрочная/суточная аренда\n- RENT_TIME_LARGE - долгосрочная аренда (используется по умолчанию)\nrgid (опциональный, string): ID региона Недвижимости. По умолчанию — регион текущей страницы. Не придумывай ID\nрегионов, метро, районов и ЖК. Получай их через ResolveEntities: rgid из searchParams передавай на верхнем\nуровне, остальные гео-параметры — внутри query.\nsort (опциональный, string): Параметр сортировки.\nquery (опциональный, string): Строка с логическим выражением для детальной фильтрации. **Большинство фильтров\nуказываются именно здесь**. См. подробную инструкцию ниже.\nsearch_title (ОБЯЗАТЕЛЬНЫЙ, string): Краткое человекочитаемое описание поискового запроса на русском — то, что\nпользователь ищет, одной строкой. Собирай его из ключевых параметров: комнатность, локация, бюджет, важные фильтры.\nБез технических ID и латинских имён полей.\n- Например: \"2-комнатная квартира в Санкт-Петербурге до 45 000 без депозита\"\n- Например: \"Новостройка в пределах МКАД до 30 млн в ипотеку\"\n\n# Инструкция по формированию query (Язык поисковых запросов)\nЭто самый важный параметр для точного поиска. Внимательно следуй этим правилам.\n\n**Золотые правила** query\n1. Синтаксис фильтра: имя_поля оператор значение. Например: price >= 10000000.\n2. Операторы в фильтрах: =, !=, >, <, >=, <=, IN, NOT IN (ОЧЕНЬ ВАЖНО - не все фильтры поддерживают полный список\nоператоров).\n3. Логические операторы: Фильтры объединяются с помощью AND, OR, NOT.\n4. ПРАВИЛО СКОБОК (САМОЕ ВАЖНОЕ!): Если в запросе используется оператор OR, **вся группа с OR ДОЛЖНА быть заключена\nв круглые скобки** (...). Это правило абсолютно и не имеет исключений.\n- Неправильно: roomsTotal = 1 OR roomsTotal = 2 AND price <= 15000000\n- Правильно: (roomsTotal = 1 OR roomsTotal = 2) AND price <= 15000000\n- Правильно: (buildingClass = BUSINESS OR buildingClass = COMFORT_PLUS)\n- Правильно: price <= 20000000 AND (buildingType = BRICK OR buildingType = MONOLIT)\n5. Приоритет операторов: ( ) -> NOT -> AND -> OR.\n6. Значения нужно брать в кавычки, если в них есть пробелы или специальные символы:\n- Например: name = 'JOHN SMITH'\n\nКРИТИЧЕСКИ ВАЖНОЕ ПРАВИЛО СИНТАКСИСА:\n\nЛюбая конструкция с OR должна быть ИЗОЛИРОВАНА скобками.\nЗАПРЕЩЕНО: A AND B OR C AND D\nРАЗРЕШЕНО: (A AND B) OR (C AND D)\n \nЕсли есть сомнения — ставь ЛИШНИЕ скобки.\n(A AND B AND C) — лучше, чем просто A AND B AND C.\n\nРАЗРЕШЕННЫЕ ОПЕРАТОРЫ В ФИЛЬТРАХ:\nДля фильтров: area, price, kitchenSpace, livingSpace, lotArea, ceilingHeight, floor, floors, builtYear, roomsTotal,\ncreateTime разрешены все операторы.\nДля фильтра metroTransport разрешен только оператор =.\nДля фильтра timeToMetro разрешен только оператор <=.\nДля фильтра nearBoundingBox и nearBoundingBoxKm разрешен только оператор =.\nДля всех остальных фильтров разрешены операторы: =, !=, IN, NOT IN.\n\n# СПРАВОЧНИК ДОСТУПНЫХ ФИЛЬТРОВ ДЛЯ **query**. Эти параметры могут использоваться ТОЛЬКО внутри выражения \"query\"\n## 1. Основные (Цена, Площадь, Комнаты)\n\n- price (float): цена в рублях.\n- area (float): общая площадь в кв. метрах.\n- livingSpace (float): жилая площадь в кв. метрах.\n- kitchenSpace (float): площадь кухни в кв. метрах.\n- roomsTotal (string): Количество комнат.\n- studio (string): Является ли квартира студией? YES или NO.\n- apartments (string): Апартаменты? YES или NO.\n \n## 2. Расположение и География\n\n- districtId (long): ID района.\n- toponymId (long): ID топонима. Фильтрует объявления по принадлежности к территории топонима — т.е. объект\nнаходится внутри/в пределах данного топонима. Топонимами могут быть: микрорайоны, кварталы, кольцевые дороги (МКАД,\nТТК, КАД) и другие именованные географические области. Используй только известный ID топонима; не придумывай его.\n- rgid можно использовать здесь, если нужно комбинировать с OR (хотя это редкий случай).\n- metroGeoId (int): ID станции метро.\n- metroLineId (string): ID ветки метро.\n- timeToMetro (int): Время до метро пешком в минутах.\n- metroTransport: (string): Тип расчёта времени до метро: ON_FOOT (пешком), ON_TRANSPORT (на транспорте).\n- directionId (long): ID шоссе.\n- railwayStationId (long): ID ж/д станции.\n- nearbyPoiType (string): Наличие объекта инфраструктуры поблизости. Значения: POLYCLINIC (поликлиника), SCHOOL\n(школа), KINDERGARTEN (детский сад), GYM (тренажерный/фитнес зал),\nPOOL (бассейн), PHARMACY (аптека), POINT_OF_DELIVERY (пункт выдачи заказов), SUPERMARKET (магазин), PLAYGROUND\n(детская площадка), PUBLIC_TRANSPORT_STOP (остановки общественного транспорта)\n- hasPark (string): есть ли рядом парк? YES / NO.\n- hasPond (string): есть ли рядом водоем? YES / NO.\n- unifiedAddress (string): Конкретный (ЭТО ВАЖНО) адрес дома или улицы в строковом формате. Не использовать это\nфильтр для адресов чего-то, отличного от дома или улицы!\n- nearBoundingBox (string): Bounding box для поиска рядом. Формат: 'minLon, minLat, maxLon, maxLat'.\n- nearBoundingBoxKm (int): Параметр для расширения nearBoundingBox на нужное расстояние.\n\n## 3. Характеристики Здания и Квартиры\n\n- builtYear (int): год постройки.\n- floors (int): Количество этажей в доме.\n- floor (int): этаж квартиры.\n- lastFloor (string): Квартира на последнем этаже? YES или NO.\n- buildingType (string): Материал стен. Значения: BRICK (кирпичный), MONOLIT (монолитный),\nMONOLIT_BRICK (блочно-монолитный), PANEL (панельный), WOOD (деревянный),\nBLOCK (блочный), METAL (металлический), FERROCONCRETE (железобетонный)\n- buildingClass (string): Класс ЖК. Значения: ECONOM, COMFORT, COMFORT_PLUS, BUSINESS, ELITE.\n- buildingEpoch (string): Эпоха постройки. Значения: STALIN (сталинка), KHRUSHCHEV (хрущевка), BREZHNEV (брежневка).\n- ceilingHeight (float): Высота потолков в метрах.\n- renovation (string): Тип ремонта. Значения: COSMETIC_DONE (косметический), DESIGNER_RENOVATION (дизайнерский),\nEURO (евроремонт). Фильтр по типу ремонта актуален для квартир вторички. Для первичной продажи нужно использовать\nфильтр decoration (отделка).\n- hasRenovation (string): YES (есть ремонт/отделка) / NO (без ремонта/отделки). Фильтр можно использовать для любых\nквартир (вторичка/новостройка).\n- decoration (string): ROUGH (черновая), PRE_CLEAN (предчистовая), CLEAN (чистовая). Фильтр используется только для\nквартир в новостройке. Для квартир во вторичке используется фильтр renovation (ремонт).\n- bathroomUnit (string): Санузел. Значения: MATCHED (смежный), SEPARATED (раздельный), TWO_AND_MORE (2 и более).\n- balcony (string): Балкон/лоджия. Значения: BALCONY, LOGGIA.\n\n## 4. Удобства и Особенности\n\nhasFurniture (string): Есть мебель? YES / NO.\nhasInternet (string): Есть интернет? YES / NO.\nhasRefrigerator (string): Есть холодильник? YES / NO.\nhasWashingMachine (string): Есть стиральная машина? YES / NO.\nhasTelevision (string): есть ли телевизор. Возможные значения: YES, NO.\nhasDishwasher (string): есть ли посудомоечная машина. Возможные значения: YES, NO.\nhasAirConditioner (string): есть ли кондиционер. Возможные значения: YES, NO.\nparkingType (string): Тип парковки. Значения: OPEN, CLOSED, UNDERGROUND.\nhasPhoto (string): Есть фотографии? YES / NO.\nhasVirtualTour (string): Есть 3D-тур? YES / NO.\nhasGasSupply (string): Есть ли газоснабжение? YES / NO.\nhasHeatingSupply (string): Есть ли отопление? YES / NO. \nhasElectricitySupply (string): Есть электричество? YES / NO. \nhasLift (string): Есть ли в доме лифт? YES / NO.\n\n## 5. Параметры Сделки и Объявления\n\n- createTime (string): время создания объявления (формат: YYYY-MM-DD HH:MM:SS).\n- newbuildingId (long): ID новостройки/ЖК.\n- developerId (long): ID застройщика.\n- hasInstallment (string): Есть рассрочка? YES / NO.\n- yandexRent (string): Объявление от Яндекс.Аренды? YES / NO.\n- tag (long): Поиск по ID тега из описания. Про список тэгов ниже.\n\n## 6. Фильтры для конкретных категорий и типов сделок\n\nДля offer_type: SELL и category: APARTMENT:\n- newFlat (string): Новостройка (YES) или вторичка (NO). Важный параметр для продажи квартир (type=SELL и\ncategory=APARTMENT)! Если пользователь уточняет, что ему нужна вторичка или новостройка, то обязательно используй\nфильтр newFlat.\n\nДля offer_type: RENT\n- withPets (string): Можно с животными? YES / NO.\n- withChildren (string): Можно с детьми? YES / NO.\n- hasAgentFee (string): Есть комиссия агенту? YES / NO.\n- rentPledge (string): Есть залог? YES / NO.\n- agents (string): Объявление от агента? YES / NO.\n\nДля category: HOUSE и category: LOT\n- lotArea (float): Площадь участка в сотках.\n\nДля category: HOUSE\n- houseType (string): Тип дома. Значения: HOUSE, TOWNHOUSE, DUPLEX.\n\nДля category: COMMERCIAL\n- commercialType (string): Тип коммерческой недвижимости. Значения: OFFICE, RETAIL, WAREHOUSE и т.д.\n\nДля category: GARAGE\n- garageType (string): Тип гаража. Значения: GARAGE, BOX, PARKING_PLACE.\n\nСписок тэгов (tag) в формате id - название:\n1794253 - дача\n1794384 - сад\n4178343 - спортплощадка\n1996639 - кровать\n2961860 - прописка\n1794425 - торг\n1794349 - ванна\n1794254 - коттедж\n1794322 - у реки\n1794367 - камин\n1794368 - бассейн\n1794315 - у моря\n1794332 - возле берега\n1794345 - баня\n1794320 - у пруда\n4178351 - возле набережной\n1794375 - техника\n1794357 - гардероб\n1794331 - у озера\n1794346 - сауна\n1794369 - терраса\n1794463 - лофт\n1794266 - деревня\n4178356 - кухня-гостиная\n1794355 - подвал\n4178492 - кабинет\n1794376 - цоколь\n4178427 - стадион\n1794407 - обмен\n1794354 - кладовая\n1794359 - шумоизоляция\n1794351 - веранда\n2961912 - брус\n1996590 - джакузи\n1794335 - залив\n1794427 - субаренда\n1794382 - душевая\n4178445 - библиотека\n1794567 - пентхаус\n1794365 - паркет\n1794372 - мансарда\n1794370 - чердак\n1794356 - погреб\n1794350 - беседка\n1794366 - причал\n4178469 - лобби\n1794314 - колодец\n4178439 - ламинат\n4178497 - керамогранит",
"inputSchema": {
"additionalProperties": false,
"properties": {
"category": {
"description": "Квартира, комната, дом с участком, участок без дома, коммерческая недвижимость, гараж.",
"enum": [
"APARTMENT",
"ROOMS",
"HOUSE",
"LOT",
"COMMERCIAL",
"GARAGE"
],
"type": "string"
},
"offer_type": {
"description": "SELL — продажа, RENT — аренда.",
"enum": [
"SELL",
"RENT"
],
"type": "string"
},
"query": {
"description": "Логическое выражение по правилам из описания инструмента.",
"maxLength": 10000,
"type": "string"
},
"rent_time": {
"description": "Только для RENT. SHORT — посуточно, LARGE — долгосрочно (по умолчанию).",
"enum": [
"RENT_TIME_SHORT",
"RENT_TIME_LARGE"
],
"type": "string"
},
"rgid": {
"description": "ID региона Недвижимости. Если не указан, используется регион текущей страницы. Не придумывай ID.",
"pattern": "^[1-9][0-9]{0,19}$",
"type": "string"
},
"search_title": {
"description": "Краткое название поиска на русском: локация, бюджет, комнаты, важные условия. Без технических ID.",
"maxLength": 500,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"sort": {
"description": "Передавай только если пользователь явно попросил сортировку.",
"enum": [
"RELEVANCE",
"PRICE_ASC",
"PRICE_DESC",
"PRICE_PER_SQUARE_ASC",
"PRICE_PER_SQUARE_DESC",
"CREATION_DATE_ASC",
"CREATION_DATE_DESC",
"AREA_ASC",
"AREA_DESC",
"FLOOR_ASC",
"FLOOR_DESC",
"LOT_AREA_ASC",
"LOT_AREA_DESC",
"LIVING_SPACE_ASC",
"LIVING_SPACE_DESC",
"KITCHEN_SPACE_ASC",
"KITCHEN_SPACE_DESC"
],
"type": "string"
}
},
"required": [
"offer_type",
"category",
"search_title"
],
"type": "object"
}
}ResolveEntitiesAction
Нормализует гео-объекты перед вызовом search: города, регионы, районы, улицы, дома, ЖК, застройщиков, метро, линии метро, шоссе, ж/д станции, топонимы и границы (МКАД, КАД), POI и ориентиры (парки, ТЦ, школы). Возвращает варианты с названиями, адресами, типами, scope и searchParams. Страницу не меняет. Передавай массив requests. В каждом объекте: - text — название гео-объекта или ориентира из запроса пользователя; - types — возможные типы сущности (необязательно, без ограничения — все типы); - rgid — известный ID региона (необязательно, без него поиск по всем регионам). Типы для поиска: - GEO — регионы, города, районы, топонимы, неформальные гео-объекты и границы; - METRO — станции и линии метро, включая строящиеся станции; - HIGHWAY — шоссе; - STREET — улицы; - HOUSE — дома; - NEWBUILDING — жилые комплексы; - DEVELOPER — застройщики; - RAILWAY_STATION — ж/д станции и вокзалы; - POI — конкретные места: парки, ТЦ, школы, памятники, достопримечательности. Сначала нормализуй город или регион отдельным запросом без rgid и получи его rgid из searchParams. Затем ищи остальные объекты с этим rgid. Не придумывай ID и не подставляй ID Яндекс.Карт вместо ID Недвижимости. При известном регионе не добавляй его в text: «улица Ленина» с rgid Санкт-Петербурга, а не «улица Ленина, Санкт-Петербург». Возвращает полный ответ ResolveEntitiesV2 без изменения структуры. responses соответствует requests по порядку. В каждом элементе responses находится result: - При result.$case = "response" варианты находятся в result.response.entries. - При result.$case = "emptyResponse" сообщение находится в result.emptyResponse.message. Из entries выбери не более одного варианта для каждого пользовательского гео-объекта: наиболее подходящий или ничего. При неоднозначности уточни у пользователя. Не смешивай варианты разных одноимённых объектов. Переноси значения из searchParams выбранного варианта в инструмент search: - rgid — в параметр rgid верхнего уровня; - остальные поля (districtId, toponymId, metroGeoId, metroLineId, directionId, railwayStationId, newbuildingId, developerId и другие) — в логическое выражение query; - unifiedAddress — для поиска именно на указанной улице или в доме; - nearBoundingBox вместе с nearBoundingBoxKm — для поиска рядом с улицей, домом или ориентиром. Строковые значения с пробелами и специальными символами заключай в кавычки по правилам query инструмента search. Используй значения из ответа без изменения идентификаторов и координат.
View tool JSON
{
"name": "ResolveEntities",
"kind": "act",
"impl": "imperative",
"description": "Нормализует гео-объекты перед вызовом search: города, регионы, районы, улицы, дома, ЖК, застройщиков, метро,\nлинии метро, шоссе, ж/д станции, топонимы и границы (МКАД, КАД), POI и ориентиры (парки, ТЦ, школы).\nВозвращает варианты с названиями, адресами, типами, scope и searchParams. Страницу не меняет.\n\nПередавай массив requests. В каждом объекте:\n- text — название гео-объекта или ориентира из запроса пользователя;\n- types — возможные типы сущности (необязательно, без ограничения — все типы);\n- rgid — известный ID региона (необязательно, без него поиск по всем регионам).\n\nТипы для поиска:\n- GEO — регионы, города, районы, топонимы, неформальные гео-объекты и границы;\n- METRO — станции и линии метро, включая строящиеся станции;\n- HIGHWAY — шоссе;\n- STREET — улицы;\n- HOUSE — дома;\n- NEWBUILDING — жилые комплексы;\n- DEVELOPER — застройщики;\n- RAILWAY_STATION — ж/д станции и вокзалы;\n- POI — конкретные места: парки, ТЦ, школы, памятники, достопримечательности.\n\nСначала нормализуй город или регион отдельным запросом без rgid и получи его rgid из searchParams.\nЗатем ищи остальные объекты с этим rgid. Не придумывай ID и не подставляй ID Яндекс.Карт вместо ID Недвижимости.\nПри известном регионе не добавляй его в text: «улица Ленина» с rgid Санкт-Петербурга,\nа не «улица Ленина, Санкт-Петербург».\n\nВозвращает полный ответ ResolveEntitiesV2 без изменения структуры. responses соответствует requests по порядку.\nВ каждом элементе responses находится result:\n- При result.$case = \"response\" варианты находятся в result.response.entries.\n- При result.$case = \"emptyResponse\" сообщение находится в result.emptyResponse.message.\nИз entries выбери не более одного варианта для каждого пользовательского гео-объекта: наиболее подходящий\nили ничего. При неоднозначности уточни у пользователя. Не смешивай варианты разных одноимённых объектов.\n\nПереноси значения из searchParams выбранного варианта в инструмент search:\n- rgid — в параметр rgid верхнего уровня;\n- остальные поля (districtId, toponymId, metroGeoId, metroLineId, directionId, railwayStationId,\n newbuildingId, developerId и другие) — в логическое выражение query;\n- unifiedAddress — для поиска именно на указанной улице или в доме;\n- nearBoundingBox вместе с nearBoundingBoxKm — для поиска рядом с улицей, домом или ориентиром.\nСтроковые значения с пробелами и специальными символами заключай в кавычки по правилам query инструмента search.\nИспользуй значения из ответа без изменения идентификаторов и координат.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"requests": {
"description": "Гео-объекты для нормализации. Ответы возвращаются в том же порядке.",
"items": {
"additionalProperties": false,
"properties": {
"rgid": {
"description": "Известный ID региона. Если не передан, поиск производится по всем регионам.",
"pattern": "^[1-9][0-9]{0,18}$",
"type": "string"
},
"text": {
"description": "Название объекта. Не добавляй название региона, если передаёшь rgid.",
"maxLength": 1000,
"minLength": 1,
"pattern": "\\S",
"type": "string"
},
"types": {
"description": "Возможные типы объекта. Если не переданы, поиск по всем типам.",
"items": {
"enum": [
"GEO",
"METRO",
"HIGHWAY",
"STREET",
"HOUSE",
"NEWBUILDING",
"DEVELOPER",
"RAILWAY_STATION",
"POI"
],
"type": "string"
},
"maxItems": 9,
"type": "array",
"uniqueItems": true
}
},
"required": [
"text"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
}
},
"required": [
"requests"
],
"type": "object"
}
}GetOffersDataAnswer
Получает подробные данные по списку объявлений: характеристики, описание, фотографии, планировки и другие доступные сведения. Используй для изучения или сравнения конкретных объявлений. Передавай offer_ids — массив строковых ID объявлений (не более 20 за один вызов). Бери ID из result.response.topOfferIds ответа search, из ссылок на объявления /offer/<id>/ на странице или из ссылок пользователя. Не придумывай ID и не подставляй вместо них ID ЖК, гео-объектов или AI-фильтра. Не преобразовывай ID в числа: это может привести к потере точности. Возвращает полный ответ GetOffersData без изменения структуры: - При result.$case = "response" в result.response.offersData находится массив Markdown-текстов с подробностями объявлений. - При result.$case = "emptyResponse" сообщение находится в result.emptyResponse.message. Страницу не меняет. Для поиска объявлений по условиям используй search.
View tool JSON
{
"name": "GetOffersData",
"kind": "answer",
"impl": "imperative",
"description": "Получает подробные данные по списку объявлений: характеристики, описание, фотографии, планировки и другие\nдоступные сведения. Используй для изучения или сравнения конкретных объявлений.\n\nПередавай offer_ids — массив строковых ID объявлений (не более 20 за один вызов).\nБери ID из result.response.topOfferIds ответа search, из ссылок на объявления /offer/<id>/ на странице или из\nссылок пользователя.\nНе придумывай ID и не подставляй вместо них ID ЖК, гео-объектов или AI-фильтра.\nНе преобразовывай ID в числа: это может привести к потере точности.\n\nВозвращает полный ответ GetOffersData без изменения структуры:\n- При result.$case = \"response\" в result.response.offersData находится массив Markdown-текстов с подробностями\nобъявлений.\n- При result.$case = \"emptyResponse\" сообщение находится в result.emptyResponse.message.\nСтраницу не меняет. Для поиска объявлений по условиям используй search.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"offer_ids": {
"description": "ID объявлений из ссылок /offer/<id>/. Передавай строками, без преобразования в число.",
"items": {
"pattern": "^[1-9][0-9]{0,19}$",
"type": "string"
},
"maxItems": 20,
"minItems": 1,
"type": "array",
"uniqueItems": true
}
},
"required": [
"offer_ids"
],
"type": "object"
}
}