Принцип работы импорта

 
Чтобы настроить автоматический импорт объявлений на наш сайт, необходимо:
  1. Сформировать файл с вашими объявлениями в специальном формате.

    Внимание! В настоящее время мы не работаем с форматами яндекс-недвижимости и другими популярными форматами. Мы используем свой собственный специальный формат.
  2. Разместить этот файл на вашем сервере (сайте) так, чтобы мы могли автоматически скачивать его по постоянной ссылке, напримеp: http://vash-sajt.ua/ssylka-na-fajl.xml.

  3. Протестировать эту ссылку на странице проверки файла и исправить ошибки.

  4. Сохранить эту ссылку в настройках импорта.

  5. Подождать очередного автоматического запуска импорта. Загрузка объявлений из файла по этой ссылке будет выполняться ежедневно (один раз в сутки после полуночи) в автоматическом режиме. О результатах импорта вы можете узнать на странице истории импорта.

  6. Если вы хотите добавить/редактировать/удалить объявление, то нужно соответственно добавить/редактировать/удалить это объявление в файле и подождать очередного автоматического запуска импорта. Таким образом, добавляя в файл новые объявления и удаляя из него устаревшие, вы сможете поддерживать базу ваших объявлений на сайте Mesto.UA в актуальном состоянии.

    Внимание! Не редактируйте импортированные объявления в личном кабинете, все необходимые изменения делайте в файле для импорта, ссылка на который указана в настройках импорта.

    Вместо постоянной ссылки вы можете сделать на вашем сервере (сайте) динамическую ссылку в виде скрипта, который будет создавать и отдавать файл для импорта при каждом обращении по ссылке, например: http://vash-sajt.ua/skript.php.

    Внимание! Скрипты должны удовлетворять определенные требования. В противном случае импорт выполняться не будет.

Объявления не должны нарушать Правил размещения.

 

Требования к скриптам #

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

  • выполняться и возвращать ответ не более чем за 30 секунд;
  • размер ответа, генерируемого скриптом, должен составлять не более 100 Мбайт.

Если вы не уверены, что сможете контролировать соответствие скрипта этим требованиям, вы можете организовать обновление файла по следующей схеме:

  1. Написать скрипт, генерирующий и сохраняющий на вашем сервере (сайте) статический файл для импорта.
  2. Создать на вашем сервере (сайте) постоянную ссылку на этот файл.
  3. Настроить на вашем сервере (сайте) программу-планировщик, которая будет переодически запускать скрипт, обновляя файл для импорта.
Внимание! Мы настоятельно рекомендуем предложенную схему, так как она является более надежной и безопасной, чем использование динамических ссылок-скриптов.

 

Формат файла #

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

Символ в тексте Код для замены
" "
& &
> >
< &lt;
' &apos;

Заголовок документа должен начинаться с первой строки, с нулевого символа и иметь следующий вид:

<?xml version="1.0" encoding="utf-8"?>

Документ должен содержать корневой элемент properties. Корневой элемент должен содержать от 1 до 50000 элементов property. Каждый такой элемент соответствует одному объявлению. Размер файла не должен превышать 100 Мбайт.

<?xml version="1.0" encoding="utf-8"?>
<properties>
  <property>...</property>
  <property>...</property>
  ...
</properties>

Ниже описаны элементы, которые могут содержаться в property. Обязательные элементы, чье присутствие обязательно, и обязательные значения отмечены символом *

Элемент Описание Допустимые значения
xml_id* ID объявления в вашей базе данных Положительное целое число. Значение должно быть уникальным среди всех ваших объявлений. Используется при обновлении и удалении объявлений.
deal_type* тип сделки (раздел сайта) #deal_type#
property_type* тип недвижимости #property_type#
addr_country страна Код страны по стандарту ISO 3166-1 alpha-2, например: UA для Украины
addr_city* населенный пункт Перечисленные через запятую основные административно-территориальные единицы Украины, в которые входит населенный пункт (с учетом уровня иерархии этих единиц), а также сам населенный пункт:
  • Область. Необходимо указывать для всех населенных пунктов, кроме городов со специальным статусом (например, Киев). Слово "область" является обязательным. Пример:
    • Харьковская область
  • Областной район. Обязателен только для небольших населенных пунктов - сел, поселков и т.д. Для крупных городов областной район указывать не нужно. Слово "район" является обязательным. Пример:
    • Валковский район
  • Населенный пункт, например:
    • Бородянка
    • Редкодуб
    • Винница
    Для типа недвижимости, находящегося вне населенного пункта, например, участки земли (plot), сам населенный пункт можно не указывать, а обозначать только область и областной район, например: Киевская область, Киево-Святошинский район
Примеры правильного заполнения поля:
  • Киев
  • Харьковская область, Харьков
  • Харьковская область, Валки
  • Харьковская область, Валковский район, Редкодуб
Харьков, Киев, Валки - города (областной район не указывается), Редкодуб - село (областной район указывается). Киев - город со специальным статусом, область не указывается. В остальных случаях область указывается всегда.
addr_street* улица (обязательно для всех типов недвижимости, кроме plot) Улица с обязательным указанием ее типа (слова "улица", "проспект", "переулок", "бульвар" и т.д.), например:
  • проспект Победы
  • Минский проспект
  • Рыльский переулок
  • улица Крещатик
  • Брест-Литовское шоссе
addr_house номер дома (рекомендуется указывать для всех типов недвижимости, кроме plot и garage) Номер дома (число). В случае необходимости можно указывать без пробела номер дома через черту "/", дефис "-", а также указать букву (например, "а", "б") или номер корпуса или здания. Примеры:
  • 12
  • 12а
  • 42-44
  • 10/2
  • 28/1к6
Перед указанием номера дома рекомендуем уточнить написание номера дома с помощью карты.
rooms* количество комнат (обязательно только для типов недвижимости flat и house) Положительное целое число
area площадь, кв. м (для типа недвижимости plot - в сотках) Положительное число
area_living площадь жилая, кв. м Положительное число
area_kitchen площадь кухни, кв. м Положительное число
floor этаж Целое число от 1 до 50
floors_total этажность дома Целое число от 1 до 50
building_type тип здания #building_type#
building_type_other тип здания, отличный от типов, перечисленных среди возможных значений building_type Строка
building_layout планировка #layout#
building_walls тип стен #walls#
building_windows тип окон #windows#
building_heating тип отопления #heating#
description описание Текст, содержащий дополнительную информацию об объекте недвижимости
price* цена Положительное целое число
currency* валюта цены #currency#
guests_limit максимальное количество гостей (для посуточной аренды) Положительное целое число
source_url ссылка на источник (URL объявления на вашем сайте) URL
contact_person контактное лицо Строка, которая будет отображаться на странице объявления в качестве контакного лица. Если данный элемент отсутствует, то вместо него на странице объявления будет отображаться название агентства из настроек вашего профиля.
phones* список номеров телефонов см. подраздел Список номеров телефонов.
facilities список удобств объекта недвижимости см. подраздел Список удобств.
photos список фотографий объекта недвижимости см. подраздел Список фотографий.
paidplacements список платных размещений см. подраздел Список платных размещений.

Не рекомендуется оставлять в файле неиспользуемые элементы, которые не содержат значений, например: <source_url></source_url>.

 

Список номеров телефонов #

Обязательный элемент phones должен содержать в себе 1 или 2 элемента phone:

<phones>
  <phone>+380442286898</phone>
  <phone>+380442286899</phone>
</phones>

Каждый элемент phone должен содержать номер телефона из 12 цифр в формате "+380 xx xxx xx xx" для украинских операторов, или из 11 цифр в формате "+7xxxxxxxxxx" для российских операторов сотовой связи.

 

Список удобств #

Необязательный элемент facilities должен содержать в себе один или несколько элементов facility_id:

<facilities>
  <facility_id>5</facility_id>
  <facility_id>6</facility_id>
</facilities>

Каждый элемент facility_id​ должен содержать ID удобства – положительное целое число. В списке не должно быть элементов с одинаковыми значениями. Доступны следующие значения:

#facilities#

 

Список фотографий #

Элемент photos должен содержать в себе один или несколько элементов photo_url:

<photos>
  <photo_url>http://yoursite.com/realty1/photo1.jpg</photo_url>
  <photo_url>ftp://yoursite.com/realty1/photo2.jpg</photo_url>
</photos>

Каждый элемент photo_url должен содержать строку URL - ссылку на файл изображения (jpg, jpeg, png, gif). Ссылки не проходят предварительную валидацию. Если при импорте файл по ссылке недоступен или не является изображением, фотография не добавляется. В списке не должно быть элементов с одинаковыми значениями.

 

Платные размещения #

Элемент paidplacements может содержать один элемент paidplacement. Элемент paidplacement должен содержать тип платного размещения. Доступны следующие типы платных размещений:

  • vip3 - VIP-размещение на 3 дня, доступно только для объявлений посуточной аренды
  • vip7 - VIP-размещение на 7 дней
  • intl_mesto - Размещение зарубежной недвижимости на сайте mesto.ua на 30 дней
  • worldwide - Размещение в международных каталогах на 30 дней

Платное размещение для объявления будет создано только в том случае, если на вашем счете достаточно средств для покупки этого платного размещения, при этом с вашего счета будет списана соотвествующая сумма. Если платное размещение указанного типа для данного объявления уже куплено, то новое платное размещение создаваться не будет.

 

Редактирование и удаление объявлений #

Если вы ранее импортировали объявление с определенным значением параметра xml_id, то при повторном импорте объявления с таким же значеним xml_id произойдет обновление параметров загруженного ранее объявления. При этом новое объявление создаваться не будет.

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

 

Пример файла #

Скачать пример