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

Описание стандарта YVL

YVL (Yandex Vacancy Language) — стандарт, разработанный Яндексом для приема и публикации информации о вакансиях в базе данных Яндекс.Работа.

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

Символ в тексте Код для YVL-файла
" "
& &
> >
< &lt;
' &apos;

Описание формата файла списка вакансий

Заголовок документа (XML header)

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

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

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

Элемент source

Элемент source должен содержать три элемента:

  • creation-time — передает информацию о дате и времени создания данного файла.

  • host — указывает имя хоста доски объявлений.

  • vacancies — содержит объявления о вакансиях.

<source creation-time="2014-06-22 22:00:22 GMT+2" host="www.job.ru">
  <vacancies>
   ...
  </vacancies>
</source>

Формат даты

Дату и время следует указывать согласно стандарту ISO 8601, в формате YYYY-MM-DD HH:mm:ss GMT+-n, где:

  • YYYY — год,
  • MM — месяц,
  • DD — день,
  • HH — час,
  • mm — минута,
  • ss — секунда,
  • GMT+-n — указание часового пояса (например, для Москвы GMT+3).

Элемент vacancies

Список объявлений, размещенных на сайте. Содержит элементы типа vacancy.

<vacancies>
  <vacancy>...</vacancy>
  ...
</vacancies>

Описание элементов, входящих в элемент vacancy

Элемент Обязательный элемент Описание
<url>

URL страницы с объявлением.

Адрес должен быть закодирован в соответствии со стандартом RFC-1738.

<mobile-url> Постоянный URL страницы с объявлением для мобильных устройств.
<creation-date>

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

<update-date>

Дата обновления объявления в формате ISO 8601.

<salary>

Размер зарплаты.

Формат записи, как и всех полей, требующих указания диапазона. Формат произвольный, например, «от x1 до x2», «x1 — x2», «от x1», «до x2»).

<currency>

Валюта, в которой измеряется зарплата (RUR, USD, EUR или др.).

<category>

Вид деятельности.

Если подходящих значений несколько, то следует указать несколько тегов caterogy подряд.

<category>
 <industry>Маркетинг, реклама, PR</industry>
 <specialization>Менеджмент, управление проектами</specialization>
</category>
<category>
 <industry>Управление персоналом</industry>
 <specialization>Подбор персонала</specialization>
</category>
<industry>

Отрасль.

Например, «Продажи», «Производство» или «Без специальной подготовки».

<specialization>

Специализация вакансии, уточнение вида деятельности.

Например, «Веб-дизайн, верстка, контент», «Проектирование, внедрение», «Сетевые технологии».

<job-name>

Название должности.

<employment>

Занятость (полная, частичная, временная, стажировка).

<schedule>

График работы (сменный, гибкий, удаленная работа, вахта).

<description>

Описание вакансии.

Внимание. Если в базе данных описание вакансии (обязанности, условия работы, требования и т. п.) не структурировано по отдельным полям, то всю информацию о вакансии следует размещать в этом теге.
<duty>

Обязанности.

<term>

Условия работы.

Во вложенных тегах указывается подробная информация.

<term>
 <contract/>
 <text/>
</term>
<contract>

Тип трудового договора.

<text>

Общее описание условий работы.

<requirement>

Требования к соискателю.

Во вложенных тегах указываются отдельные требования.

<requirement>
 <age/>
 <sex/>
 <education/>
 <experience/>
 <qualification/>
</requirement>
<аge>

Возраст в годах.

Формат записи, как и всех полей, требующих указания диапазона. Формат произвольный, например, «от x1 до x2», «x1 — x2», «от x1», «до x2».

<sex>

Пол.

<education>

Образование.

<experience>

Требуемый опыт работы в годах.

Формат записи, как и всех полей, требующих указания диапазона. Формат произвольный, например, «от x1 до x2», «x1 — x2», «от x1», «до x2».

<qualification>

Требования к квалификации, знания и навыки.

<address>

Адрес места работы.

Во вложенных тегах детализируется информация об адресе.

<address>
 <location/>
 <metro/>
 <lng/>
 <lat/>
</address>

В дополнение к адресу места работы можно указать географические координаты (широту и долготу).

<addresses>

Адреса места работы.

Во вложенных тегах указывается информация об адресе места работы. Если адресов несколько, следует сформировать несколько тегов address подряд внутри элемента addresses.

<addresses>
 <address/>
 ...
</addresses>
<location>

Адрес места работы: страна, город, улица, дом (обязательно указывается страна и город).

<metro>

Ближайшая станция метро к месту работы (если таких несколько, каждая станция указывается в отдельном теге).

<lng>

Географические координаты: долгота.

<lat>

Географические координаты: широта.

<company> или <anonymous-company>

Информация о компании, предоставляющей вакансию.

Во вложенных тегах детализируется информация о компании.

<company>
 <name/>
 <description/>
 <logo/>
 <site/>
 <email/>
 <phone/>
 <fax/>
 <contact-name/>
 <hr-agency/>
</company>

Если компания размещает свою информацию анонимно, то для этого следует использовать тег anonymous-company.

<anonymous-company>
 <description/>
</anonymous-company>
<name>

Название компании (элемент обязателен только для тега company).

<description>

Описание компании (история, специфика работы и т. п.).

<logo>

Логотип (ссылка на изображение).

<site>

Сайт компании (если их несколько, каждый указывается в отдельном теге).

<email>

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

<phone>

Телефон (если их несколько, каждый указывается в отдельном теге).

<fax>

Факс (если их несколько, каждый указывается в отдельном теге).

<contact-name>

Контактное лицо.

<hr-agency>

Если компания является кадровым агентством, то указывается true, в противном случае  — false (элемент обязателен только для тега company).

<campaign>

Номер кампании.

Должен располагаться строго перед vacancy.

Пример YVL-файла

<?xml version="1.0" encoding="utf-8"?>
<source creation-time="2014-06-22 22:00:22 GMT+2" host="www.hh.ru">
 <vacancies>
  <vacancy>
   <url>http://hh.ru/vacancy/2414855</url>
   <mobile-url>http://m.hh.ru/vacancy/2414855</mobile-url>
   <creation-date>2013-11-18 22:22:22 GMT+3</creation-date>
   <update-date>2014-06-18 22:22:22 GMT+3</update-date>
   <salary>55000-58000</salary>
   <currency>руб</currency>
   <category>
     <industry>Маркетинг/Реклама/PR</industry>
     <specialization>Бренд-менеджмент</specialization>
   </category>
   <category>
     <industry>Продажи</industry>
     <specialization>Элитные товары, предметы роскоши</specialization>
   </category>
   <job-name>Бренд-Менеджер</job-name>
   <employment>полная</employment>
   <schedule>удаленная работа</schedule>
   <description>Фармацевтической компании требуется бренд-менеджер.</description>
   <duty>Управление ассортиментом продукции в рамках вверенной торговой марки. Контроль ТМЗ, ценообразование. Разработка продукции и ввод новых позиций в ассортимент (полный цикл — от написания брифа до мониторинга продаж). Разработка программы продвижения товаров рамках вверенной торговой марки. Работа с существующими поставщиками и активный поиск новых.</duty>
   <term>
     <contract>временный</contract>
     <text>в офисе есть бассейн</text>
   </term>
   <requirement>
      <age>25-35</age>
      <sex>Ж</sex>
      <education>Высшее образование (маркетинг, экономика)</education>
      <experience>2-3</experience>
      <qualification>Опыт разработки СТМ — плюс. Опыт проведения переговоров и работы с крупными производственными компаниями/поставщиками. Отличное знание ПК: MS Word, Excel (графики, диаграммы, сводные таблицы), PowerPoint. Владение английским языком — Intermediate. Умение работать с большим объемом информации, внимательность. Быстрая обучаемость, коммуникабельность, ответственность, стрессоустойчивость, умение работать в команде.</qualification>
    </requirement>
    <addresses>
      <address>
        <location>Москва, Очаковское шоссе, д.10, кор.2, стр.1</location>
        <metro>Пионерская</metro>
        <metro>Филевский Парк</metro>
      </address>
    </addresses>
    <company>
      <name>Аптеки 36,6</name>
      <description>Аптечная сеть 36,6 — национальный лидер в области розничной торговли
товарами для красоты и здоровья. Мы предлагаем своим покупателям разнообразие высококачественных товаров по доступным ценам, в удобных и красивых магазинах, где всегда можно получить заботливый и профессиональный совет консультанта. Мы стремимся помогать людям вести здоровый образ жизни, способствовать их долголетию и благополучию. Само название "36,6" говорит о нашем призвании. "36,6" — показатель здоровой температуры тела у детей и взрослых. Для акционеров и для сотрудников Аптечная сеть 36,6 — здоровая и динамичная компания, источник прибыли и благосостояния. ЗАО "Аптеки 36,6" является соучредителем и членом некоммерческой профессиональной организации Российская Ассоциация Аптечных Сетей (РААС).</description>
      <logo>http://hh.ru/file/694722.jpg</logo>
      <site>http://366.ru/</site>
      <site>http://366.com/</site>
      <email>personal@366.ru</email>
      <email>personal@366.com</email>
      <phone>710-82-25</phone>
      <phone>710-82-26</phone>
      <fax>764-62-84</fax>
      <fax>764-62-85</fax>
      <contact-name>Илона Владимировна</contact-name>
      <hr-agency>false</hr-agency>
    </company>
    <campaign>12345678-1234-5678-9abc-123456789ab</campaign>
   </vacancy>
  </vacancies>
</source>

Данные в фиде для дополнительных опций

Для использования дополнительных опций добавьте в нужные элементы vacancy поле campaign с номером кампании.

Примечание. Номер кампании присваивается в партнерском интерфейсе после заключения договора.
<vacancy>
 <company>...</company>
 <campaign>номер кампании</campaign>
</vacancy>