Описание формата YRL - Формат XML файла для экспорта на порталы www.dom2000.com, www.lun.ua

Технические требования

Описание формата YRL

YRL (Yandex Realty Language) — стандарт, разработанный Яндексом для приема и публикации объявлений о продаже и аренде недвижимости в базе данных Яндекс.Недвижимость. YRL основан на стандарте XML (Extensible Markup Language).

Общие замечания по формату (необходимо учитывать при создании файлов в стандарте YRL)

Стандарт XML не допускает наличие символов с ASCII-кодами в диапазоне значений от 0 до 31 (за исключением значений 9, 10, 13 — табуляция, перевод строки, возврат каретки) в текстовых полях. Также этот стандарт строго требует заменять в тексте все следующие символы.

Символ в тексте

Код для YML-файла

"

"

&

&

>

>

<

&lt;

'

&apos;

Для замены специальных символов в строках и удаления из строк недопустимых символов можно воспользоваться функцией checkxmlchars()

Требования к фиду

  1. В фиде должны передаваться все актуальные объявления.
  2. В данных не допускается присутствие HTML-тегов.
  3. URL фида должен быть постоянным и доступным по протоколу HTTP (в разделе «Вопросы и ответы » есть инструкция, как можно ограничить доступ к фиду).
  4. URL объявления должен быть постоянным. Объявления, поступающие от Партнёров через фиды, должны обновляться, а не удаляться и создаваться заново.
  5. Если для объявления есть несколько значений одного параметра (например, несколько фото), то нужно передавать несколько одинаковых тегов.
  6. Цену объявления надо передавать только в той валюте, которую указал владелец объявления.
  7. В фиде надо передавать только те параметры, которые ввел податель объявления (например, если геокоординаты и/или время до метро и/или метро вычисляются автоматически, передавать их не надо).

    Если для объявления нет какого-то параметра (податель объявления не указал этот параметр при размещении), то не надо передавать соответствующий тег.

Описание формата фида

Заголовок документа (XML header)
<?xml version="1.0" encoding="utf-8"?>

Стандартный XML-заголовок. Заголовок должен начинаться с первой строки, с нулевого символа.

Документ должен содержать корневой элемент realty-feed.

Фид должен быть в кодировке UTF-8.

Элемент realty-feed
<realty-feed xmlns="http://webmaster.yandex.ru/schemas/feed/realty/2010-06">
     <generation-date>2010-10-05T16:36:00+04:00 </generation-date>
		...
</realty-feed>

Элемент realty-feed должен содержать следующие элементы:

  • xmlns="http://webmaster.yandex.ru/schemas/feed/realty/2010-06" — способ указать namespace в xml ( http://en.wikipedia.org/wiki/XML_Namespace)
  • generation-date — содержит информацию о дате и времени создания данного файла

Формат даты

Формат даты YYYY-MM-DDTHH:mm:ss+04:00. Стандартный формат ISO 8601 (http://en.wikipedia.org/wiki/ISO_8601)

Дата и время создания файла на стороне доски объявлений.

YYYY — год

MM — месяц

DD — день

HH — час

mm — минута

ss — секунда

+ 04:00 — указание часового пояса (в данном случае — для Москвы).

Партнер обязан следить за изменением формата даты при переводе часов.

Описание параметров, входящих в элемент <offer>

У элемента <offer> есть обязательный атрибут internal-id — id объявления в базе партнера (в вашей базе).

Обязательные элементы отмечены символом «*».

Элементы, содержащие текстовые поля с пометкой «строго ограниченные значения », должны содержать только те значения, которые указаны. Использование других значений будет считаться ошибкой.

Элементы

Описание

type* тип сделки («продажа», «аренда»)
property-type* тип недвижимости (рекомендуемое значение — «жилая»)
category* категория объекта («комната», «квартира», «дом», «участок», «flat», «room», «house», «cottage», «townhouse», «таунхаус», «часть дома», «house with lot», «дом с участком», «дача», «lot», «участок», «земельный участок»). Сейчас принимаются объявления только о продаже и аренде жилой недвижимости: квартир, комнат, домов и участков.
url *URL страницы с объявлением
creation-date* дата создания объявления формат даты такой же, как в поле generation-date
last-update-dateдата последнего обновления объявления формат даты такой же, как в поле generation-date
expire-date дата и время, до которых объявление актуально формат даты такой же, как в поле generation-date
payed-adv оплаченное объявление (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/«?»)
manually-added объявление добавлено вручную (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/«?»)
location* набор тегов, описывающих местоположение объекта
country*страна
region субъект РФ
district район субъекта РФ
locality-name название города, деревни, поселка и т.д.
sub-locality-name район города
address улица, дом
direction шоссе (только для Москвы)
distance расстояние по шоссе до МКАД (указывается в км)
latitude географические координаты (широта)
longitude географические координаты (долгота)
metro ближайшая станция метро (если таковых несколько, каждый указывается в отдельном теге)
name название станции метро
time-on-transport время до метро в минутах на транспорте
time-on-foot время до метро в минутах пешком
railway-station ближайшая ж/д станция (для загородной недвижимости)

В зависимости от типа недвижимости (городская или загородная) обязательны разные параметры, описывающие адрес.

Пример использования тегов <region>, <district> и <sub-locality-name> при передаче данных о местоположении объекта недвижимости:
<location>
	<country>Россия</country>
	<region>Московская область</region>
	<district>Одинцовский район</district>
	<locality-name>Одинцово</locality-name>
        <sub-locality-name>Центральный</sub-locality-name>
	<adress>Пушкинская ул., д. 12</adress>
	<direction>Минское шоссе</direction>
</location>
Пример использования тега <metro> при передаче данных о продаже/сдаче в аренду городской недвижимости:
<location>
   	<country>Россия</country>
   	<locality-name>Санкт-Петербург</locality-name>
   	<sub-locality-name>Адмиралтейский</sub-locality-name>
   	<address>Измайловский пр., 16</address>
   	<metro>
      	<name>Технологический институт</name>
      	<time-on-foot>10</time-on-foot>
      	<time-on-transport>5</time-on-transport>
   	</metro>
</location>
Пример использования тегов <direction> и <distance> при передаче данных о продаже/сдаче в аренду загородной недвижимости (для Москвы)
<location>
   	<country>Россия</country>
   	<region>Московская область</region>
   	<district>Истринский район</district>
   	<locality-name>деревня Подушкино</locality-name>
   	<direction>Рублево-Успенское шоссе</direction>
   	<distance>10</distance>
</location>

Информация о продавце

Элементы

Описание

sales-agent* информация о продавце
name имя агента/продавца
phone* телефон агента/продавца
category тип продавца (строго ограниченные значения — «владелец», «агентство», «owner», «agency»)
organization название агентства
agency-id внутренний ID агентства в базе партнера
url сайт агентства
email электронный адрес продавца
partner название партнера, предоставившего объявление

Информация о сделке

Элементы

Описание

price* Стоимость
value* цена (сумма указывается без пробелов)
currency* валюта, в которой измеряется стоимость ( «RUR», «RUB», «EUR», «USD»)
periodв случае сдачи недвижимости в аренду — промежуток времени (рекомендуемые значения — «день», «месяц», «day», «month»)
unit единица площади (рекомендуемые значения — «кв. м.», «гектар», «cотка», «sq.m.», «hectare»)
Пример передачи данных о стоимости квартиры:
<price>
	<value>4000000</value>
   	<currency>RUR</currency>
</price>
Пример передачи данных о стоимости 1 кв.м.:
<price>
   	<value>60000</value>
   	<currency>RUB</currency>
   	<unit>кв.м</unit>
</price>
Пример передачи данных о стоимости аренды объекта недвижимости сроком на 1 месяц:
<price>
	<value>700</value>
	<currency>USD</currency>
	<period>месяц</period>
</price>

Элементы

Описание

not-for-agents просьба агентам не звонить (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/«?»)
haggle торг (строго ограниченные значения — «да»/«нет», « true»/«false», «1»/«0», «+»/«?»)
mortgageипотека (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0»)
prepayment предоплата (указывается числовое значение в процентах без знака %)
rent-pledge Залог (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/«?»)
agent-fee комиссия арендатора (указывается числовое значение в процентах без знака %)
with-pets для аренды: можно ли с животными (строго ограниченные значения — «да»/ «нет», «true»/«false», «1»/«0», «+»/«?»)
with-children для аренды: можно ли с детьми (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/«?»)

Информация об объекте

Элементы

Описание

image фотография (может быть несколько тегов)
renovation ремонт (рекомендуемые значения — «евро», «дизайнерский»)
description дополнительная информация (описание в свободной форме, оставленное подателем объявления)
area общая площадь
living-space жилая площадь (при продаже комнаты — площадь комнаты)
kitchen-space площадь кухни
value площадь (числовое значение)
unit единица площади (рекомендуемые значения — «кв. м.», «sq.m.»)
Пример передачи данных о площадях объекта недвижимости
<area>
	<value>56</value>
	<unit>кв.м</unit>
</area>
<living-space>
	<value>36</value>
	<unit>кв.м</unit>
</living-space>
<kitchen-space>
	<value>8</value>
	<unit>кв.м</unit>
</kitchen-space>
Пример передачи данных о площади участка
<lot-area>
	<value>15</value>
	<unit>сот</unit>
</lot-area>
lot-type тип участка (рекомендуемые значения — «ИЖC», «садоводство»)

Описание жилого помещения

Элементы

Описание

new-flat устанавливается, если квартира продается в новостройке (строго ограниченные значения — «да», «true», «1», «+»)
rooms* общее количество комнат в квартире
rooms-offered для продажи и аренды комнат: количество комнат, участвующих в сделке
open-plan свободная планировка (строго ограниченные значения — «да», «true», «1», «+»)
rooms-type тип комнат (рекомендуемые значения — «смежные», «раздельные»)
phone наличие телефона (строго ограниченные значения — «да»/ «нет», «true»/ «false», «1»/ «0», «+»/ «?»)
internet наличие интернета (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/«?»)
room-furniture наличие мебели (строго ограниченные значения — «да»/ «нет», «true»/«false», «1»/ «0», «+»/«?»)
kitchen-furniture наличие мебели на кухне (строго ограниченные значения — «да»/«нет», « true»/«false», «1»/«0», «+»/«?»)
television наличие телевизора (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/ «?»)
washing-machine наличие стиральной машины (строго ограниченные значения — «да»/«нет», « true»/ «false», «1»/ «0», «+»/ «?»)
refrigerator наличие холодильника (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/«?»)
balcony тип балкона (рекомендуемые значения — «балкон», «лоджия», «2 балкона», «2 лоджии»)
bathroom-unit тип санузла (рекомендуемые значения — «совмещенный», «раздельный», «2»)
floor-covering покрытие пола (рекомендуемые значения — «паркет», «ламинат», «ковролин», «линолеум»)
window-view вид из окон (рекомендуемые значения — «во двор», «на улицу»)
floorэтаж
Описание здания

Элементы

Описание

floors-total общее количество этажей в доме
building-name название жилого комплекса (для новостроек)
building-type тип дома (рекомендуемые значения — «кирпичный», «монолит», «панельный»)
building-series серия дома
building-state стадия строительства дома (для новостроек) (строго ограниченные значения: «unfinished» — строится
«built» — дом построен, но не сдан
«hand-over» — сдан в эксплуатацию)
built-year год постройки. Для новостроек - год сдачи
ready-quarter для новостроек — квартал сдачи дома (строго ограниченные значения — «1», «2», «3», «4»)
lift наличие лифта (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/«?»)
rubbish-chute наличие мусоропровода (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/«?»)
is-elite элитность (строго ограниченные значения — «да»/«нет», « true»/«false», «1»/«0», «+»/«?»)
parking наличие парковки (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/«?»)
alarm наличие охраны/сигнализации (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/«?»)
ceiling-height высота потолков

Для загородной недвижимости

Элементы

Описание

pmg возможность ПМЖ (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/«?»)
toilet расположение (возможные значения — «в доме», «на улице»)
shower расположение (возможные значения — «в доме», «на улице»)
kitchen Наличие кухни (строго ограниченные значения — «да»/«нет», «true»/ «false», «1»/«0», «+»/«?»)
pool наличие бассейна (строго ограниченные значения — «да»/«нет», «true»/ «false», «1»/«0», «+»/«?»)
billiard наличие бильярда (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/«?»)
sauna наличие сауны/бани (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/«?»)
heating-supply наличие отопления (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/«?»)
water-supply наличие водопровода (строго ограниченные значения — «да»/«нет», « true»/«false», «1»/«0», «+»/«?»)
sewerage-supply канализация (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/«?»)
electricity-supply электроснабжение (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/«?»)
gas-supply подключение к газовым сетям (строго ограниченные значения — «да»/«нет», «true»/«false», «1»/«0», «+»/«?»)

Партнер обязуется передавать максимальный набор параметров для каждого объявления (в том числе теги manually-added и payed-adv) — в файле должны отражаться все параметры, указанные в объявлении на сайте.

Количество передаваемых параметров влияет на релевантность объявления. Релевантность влияет на показы объявлений и количество получаемого трафика на сайт партнера.

В зависимости от типа недвижимости (городская или загородная) обязательны разные параметры, описывающие адрес (поля, отмеченные символом «*», обязательны для всех объявлений).

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

  • country (страна);
  • region (субъект РФ, не нужно для Москвы и Санкт-Петербурга);
  • district (обязателен для городов, находящихся в областях субъектов РФ);
  • locality-name (название населенного пункта);
  • address (улица или улица и дом)
    или
    metro и time-on-... (метро и время до него).

Для загородной недвижимости обязательны следующие поля:

  • country (страна);
  • region (субъект РФ);
  • district (район субъекта РФ)
    или
    locality- name (название населенного пункта)
    или
    direction (шоссе — для Москвы)
    или
    railway-station (ближайшая ж/д станция).

Пример YRL-файла можно посмотреть на соответствующей странице