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

Описание стандарта 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/>
 <hr-agency/>
 <contact-name/>
</company>

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

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

Название организации.

Элемент обязателен только для тега company

description

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

logo

Логотип. Указывается ссылка на изображение

site

Сайт организации.

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

email

Адрес электронной почты организации.

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

phone

Телефон организации.

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

fax

Факс.

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

hr-agency

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

contact-name Имя контактного лица в организации.
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>
      <hr-agency>false</hr-agency>
    </company>
    <campaign>12345678-1234-5678-9abc-123456789ab</campaign>
   </vacancy>
  </vacancies>
</source>

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

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

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