Приложение "Выгрузка Yandex.Realty"

Материал из CMS Sitebill Wiki
Перейти к навигации Перейти к поиску

Описание

Приложение организовывает xml-фид данных согласно формату Yandex-Недвижимость (Спецификация)

Общая информация

Выгрузка отклоняется для объявлений у которых неуказана (или равна нулю) цена и не указан город.
Адрес выгрузки по умолчанию http://ваш_сайт/yandexrealty/
В новых версиях есть возможность переопределить адрес выгрузки указав в настройках приложения любое друго значение алиаса, кроме yandexrealty. В таком случае обращения к http://ваш_сайт/yandexrealty/ будут обрабатываться встроенным механизмом выгрузки, а обращения по вашему алиасу будут обрабатываться фронтальным обработчиком или, при наличии, локальной копией в Вашем шаблоне.

Для того чтобы начать выгружать свои объявления в Яндекс-недвижимость вам нужно зарегистрироваться тут https://help.yandex.ru/webmaster/realty/quickstart.xml


Принимающие участие в выгрузке поля

Общие поля

id - идентификатор объявления внутри системы

optype - поле типа select_box c допустимыми значениями 0 = продажа, 1 = аренда. При отсутствии в модели данного поля в выгрузке будет установлен тип операции "продажа".

property_type - текстовое поле устанавливающее тип недвижимости. В случае отсутствия будет установлен тип "жилая". В противном случае в тег будет помещено значение из этого поля.

country - если в ваших объявлениях явно указана страна с помощью поля country_id, это значение пойдет в выгрузку. Если этого значения нет, оно не указано или указано в виде пустой строки, в выгрузку пойдет информация с указанием страны "Россия"

Агент

Тип агента - собственник (owner) присваивается, если для объявления указано поле fio и объявление привязно к пользователю _unregistered. Или же владельцем объявления является зарегистрированный пользователь, но модуль компаний отключен, либо включен, но пользователю не сопоставлена ни одна из компаний. Остальные данные по владельце (ФИО, телефон, почта) будут взяты из данных объявления (для нерегистрированных), либо из данных профиля пользователя (для зарегистрированных), либо из профиля компании (для агентств)

Валюта.

Для определения валюты используется значение поля name (Название) валюты, которое указано через Менеджер валют. Если названием является одно из обозначений 'RUR', 'RUB', 'USD', 'EUR', 'UAH', 'BYR', 'KZT', то оно и будет выбрано. Если оно имеет другое значение, то будет предпринята попытка найти другие сопоставления:

  • при нахождении "белорусский" установится 'BYR'
  • при нахождении "рубль" установится 'RUR'
  • при нахождении "руб." установится 'RUR'
  • при нахождении "доллар" установится 'USD'
  • при нахождении "США" установится 'USD'
  • при нахождении "евро" установится 'EUR'
  • при нахождении "гривна" установится 'UAH'
  • при нахождении "грн" установится 'UAH'
  • при нахождении "теньге" установится 'KZT'

Во всех остальных случаях валюта не будет определена

Настройки

Поле:Значение отвечающие за признак продажи (apps.yandexrealty.sell)/Поле:Значение отвечающие за признак аренды (apps.yandexrealty.rent) - настройка позволяющая указать явно системное имя поля отвечающего за тип операции, если таковое присутствует в модели, и значение для него. Например, если у вас за тип операции отвечает поле optype cо значениями 1-Аренда, 2-Продажа, тогда в первом нужно указать optype:2 а во втором optype:1.

Данная настройка является приоритетной. Она будет браться в расчет игнорируя аналогичную настройку и таблицы ассоциаций.

Выгружать в файл (apps.yandexrealty.tofile) - предписывает выгрузчику кешировать результат выгрузки. Если отметка стоит, значит при обращении за выгрузкой Sitebill сначала попытается найти свежий подготовленный файл с выгрузкой и отдаст его, и, только если его нет или он устарел, проведет динамическую выгрузку, запишет ее в файл и отдаст данные из файла. Если отметка не стоит, тогда каждый запрос за выгрузкой инициирует новую выборку данных и формирование xml-результата "в прямом эфире" без сохранения в файл.

При организации выгрузки в файл, вы можете давать ссылку на свою выгрузку не на адрес выгрузчика, а сразу на физический файл с выгрузкой, чем сможете дополнительно разгрузить сайт. Но при этом будет логичным поставить заданием cron по периодичному пересозданию файла, либо, если данные обновляются не часто, делать это вручную.

Время жизни файла кеша (в секундах) (apps.yandexrealty.filetime) - определяет срок жизни файла кеша выгрузки. При выгрузке "в файл" будет проведена проверка времени создания файла кеша и, если он уже прожил срок указанный в этой настройке, будет произведено его удаление и замена новым кешем.

Системное имя поля, содержащего изображения (apps.yandexrealty.images_field) - указывает системное имя поля в модели, откуда следует брать фотографии. Актуально при использовании полей типа uploads, которые содержат графические материалы и которых в модели может быть несколько - что бы выгрузчик знал конкретно где нужные фотографии, а где иные материалы.

Количество дней за которое будут выбраны объявления для выгрузки (apps.yandexrealty.days_interval) - ограничивающий параметр, который ограничивает отбираемые для выгрузки объявления по давности срока создания.

Алиас приложения (apps.yandexrealty.alias) - позволяет указать свой алиас для точки входа на выгрузчик взамен стандартного yandexrealty

Единое название страны (apps.yandexrealty.country_global) - позволяет указать единое для всех выгружаемых объявлений название страны. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Россия", в фиде выгрузки все теги country будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем страны и указано ли оно. Настройка подходит сайтам у которых выбор страны не вынесен в обязательные данные, но все объявления расположены в рамках одной страны

Единое название региона (apps.yandexrealty.region_global) - позволяет указать единое для всех выгружаемых объявлений название региона. Данная настройка является первичной и указание в ее поле некоторого значения отменить все остальные обработки. Указав в этом поле значение напр. "Московская область", в фиде выгрузки все теги region будут проинициализированы этим значением, вне зависимости от того есть ли в модели объявления поле с именем региона и указано ли оно. Настройка подходит сайтам у которых выбор региона не вынесен в обязательные данные, но все объявления расположены в рамках одного региона

Режим тонкой настройки контактов и групп (apps.yandexrealty.contacts_export_mode) - позволяет использовать настройку сопоставления сайтовых групп пользователей группам в ЯН и указать варианты источника контактных данных для выгрузки


Строка ассоциирования выгрузки контактов (apps.yandexrealty.contacts_assoc_str) - позволяет указать источник контактных данных для выгрузки объявления в зависмости от группы пользователя, являющегося владельцем объявления на сайте
может иметь вид

Источником контактов служат а) контактные данные в данных объявления, б) контактные данные из профиля пользователя сайта. Указывается в виде строки пар значений вида N:S разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, S - числовой идентификатор типа источника. В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять. Существует 4 типа источников: 1 - все из данных объявления. фактически это data.fio, data.phone, data.email
2 - все из профиля связанного пользователя. фактически это user.fio, user.phone, user.email
3 - из данных объявления, но, если не хватает каких-то полей, то добирается из профиля связанного пользователя (например в data указаны только email владельцев, а отсутствующие телефон и имя берутся уже из re_user)
4 - обратное к 3
Например:

1:1;3:2

для группы ИД=1 источник 1-го типа, для группы 3 - источник 2-го типа

*:3

для всех групп источник 3-го типа

*:2;2:1

для всех групп источник 2-го типа, а для группы 2 - источник 1-го типа

Если тип источника для какой-то группы не будет указан, как например в 1-м примере не указано для группы ИД=2, тогда будет использоваться дефолтное значение 2 (из профиля)

Строка ассоциирования назначения группы (apps.yandexrealty.groups_assoc_str) - указывает соответствие группы пользователя на сайте одной из допустимых групп в классификации ЯН Позволяет установить для разных групп сайта свои определители.
Например
Указывается в виде строки пар значений вида N:G разделенных точкой с запятой, где N - числовой идентификатор группы на сайте, G - буквенный идентификатор группы на ЯН (o - владелец (owner), a - агентство (agency), d - застройщик (developer)). В качестве общего идентификатора группы N может использоваться знак * обозначающий "все". Такого рода правило будет действовать в сквозном режиме, но все частные правила будут его переопределять. Например

1:o;3:a;2:d

обозначает, что группа с идентификатором 1 будет выгружена как <category>owner</category>, группа 3 как <category>agency</category> и группа 2 как <category>developer</category>

*:a;1:o

все будут выгружаться как агенты\агентства, а 1-я группа как владельцы.

Дефолтным значением в случае не указания будет owner (o)
Обсудить на форуме и задать свои вопросы по выгрузке можно тут http://goo.gl/rCfzlK