Требования к методу передачи данных Яндекс.Авто

Данный документ является действующим, если расположен по адресу https://yandex.ru/legal/auto_xml_requirements/.

Дата публикации: 04.05.2014 г.

Дата вступления в силу: 04.05.2014 г.

Метод передачи данных. Яндекс.Авто

Размещаемые материалы должны быть опубликованы на сайте заказчика по URL-адресу, согласованному с ООО «ЯНДЕКС» (Яндекс), и доступны по протоколу HTTP. Использование протокола FTP и портов отличных от 80 и 443 запрещается.

Длина URL прайс-листа не должна превышать 512 символов, в URL запрещено использование спецсимволов: \r, \n, \x00. Http-редиректы не поддерживаются.

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

В случае изменения URL-адреса и/или авторизационных данных заказчик должен внести соответствующие изменения в Веб-интерфейсе заказчика.

Формат данных

Передаваемые данные должны соответствовать спецификации формата XML. Допускается публикация в упакованном виде с помощью алгоритма сжатия GNU ZIP (суффикс gz). Архив не должен иметь название yandex, также не рекомендуется использовать заглавные буквы.

Требования к сайту заказчика и ссылкам на страницы сайта

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

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

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

XML документ должен соответствовать следующему формату:

<?xml version="1.0" encoding="windows-1251"?>

<auto-catalog>

<creation-date>2013-02-21 22:22:22 GMT+4</creation-date>

<host>www.ru.ru</host>

<offers>

<offer type="private">

<url>http://www.ru.ru/cars/1234.html</url>

<murl>http://m.ru.ru/cars/1234.html</murl>

<date>2013-02-21 22:22:22 GMT+4</date>

<update-date>2013-03-16 11:11:11 GMT+4</update-date>

<valid-thru-date>20.04.2013</valid-thru-date>

<mark>ЗИЛ</mark>

<model>4104</model>

<year>1989</year>

<run-metric>км</run-metric>

<run>75000</run>

<additional-info>

Автомобиль прошел полное восстановление

по Зиловской технологии на заводе ЗИЛ,

состояние нового автомобиля, полностью

востановлены ходовая часть, двигатель,

коробка передач,кузов восстановлен пролужен,

шумоизоляция, новая резина.

</additional-info>

<state>Отличное</state>

<color>Черный</color>

<body-type>Седан</body-type>

<engine-type>Бензин карбюратор</engine-type>

<gear-type>Задний</gear-type>

<displacement>7680</displacement>

<transmission>Автомат</transmission>

<steering-wheel>Левый</steering-wheel>

<haggle>Возможен</haggle>

<custom-house-state>Растаможен</custom-house-state>

<equipment>Магнитола (CD)</equipment>

<equipment>Омыватель фар</equipment>

<equipment>Охранная система</equipment>

<equipment>Рег-ка сиденья водителя (электропривод)</equipment>

<equipment>Рег-ка сиденья пассажира (электропривод)</equipment>

<equipment>Регулировка руля (в 2х пл.)</equipment>

<equipment>Салон (велюр)</equipment>

<equipment>Тонированные стекла</equipment>

<equipment>Усилитель рулевого управления (гидро)</equipment>

<equipment>Центральный замок</equipment>

<equipment>Электрозеркала</equipment>

<equipment>Электростеклоподъемники (все)</equipment>

<image>http://ru.ru/images/682cd2cc.jpg</image>

<image>http://ru.ru/images/682cd2cc2.jpg</image>

<vin>WAUJC68E82A012</vin>

<price>140000</price>

<currency-type>$</currency-type>

<seller>Иван Иванович</seller>

<seller-phone>(495) 000-00-00</seller-phone>

<seller-phone>(495) 000-00-00</seller-phone>

<seller-city>Москва</seller-city>

<car-location>Санкт-Петербург</car-location>

<stock>на заказ</stock>

<campaign>180456</campaign>

</offer>

</offers>

</auto-catalog>

Общие замечания по формату XML

Стандарт XML учитывает порядок следования элементов, поэтому важно соблюдать его в соответствии с примерами, приведенными в данном документе.

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

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

Условия замены в текстовых полях

Текстовый символЗамена(символьный примитив)
"&quot;
&&
>>
<<
'&apos;

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

<?xml version="1.0" encoding="windows-1251"?>

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

Элемент auto-catalog

<auto-catalog>

<creation-date>2013-02-21 22:22:22 GMT+4</creation-date>

<host>www.ru.ru</host>

<offers>

...

</offers>

</auto-catalog>

Любой XML-документ может содержать только один корневой элемент. Формат XML в Яндекс.Авто в качестве корневого использует элемент auto-catalog.

Атрибут creation-date должен соответствовать дате и времени генерации XML-файла на стороне заказчика. Дата должна иметь формат YYYY-MM-DD HH:mm:ss GMT+C.

Атрибут host содержит домен сайта заказчика.

Элемент offer

<offer type="private">

<url>http://www.ru.ru/cars/1234.html</url>

<murl>http://m.ru.ru/cars/1234.html</murl>

<date>2013-02-21 22:22:22 GMT+4</date>

<update-date>2013-03-16 11:11:11 GMT+4</update-date>

<valid-thru-date>20.04.2013</valid-thru-date>

<mark> ... </mark>

<model> ... </model>

<year> ... </year>

<run> ... </run>

...

</offer>

В элементе offer содержится информация из объявления. Объявление описывается следующими полями:

Атрибут type

Имеет два значения: private - для частных объявлений; и commercial - для объявлений от автосалонов.

Обязательное поле.

<offer type="private">

url

Каждое объявление должно иметь уникальный URL-адрес, ведущий на страницу с этим объявлением.

URL объявления в фиде должен быть закодирован в соответствии со стандартом RFC-1738

Обязательное поле.

<url>http://www.ru.ru/cars/1234.html</url>

murl

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

URL объявления в фиде должен быть закодирован в соответствии со стандартом RFC-1738

Необязательное поле.

<murl>http://m.ru.ru/cars/1234.html</murl>

date

Первичная дата создания объявления в формате YYYY-MM-DD HH:mm:ss GMT+C.

В случае отсутствия update-date дата создания объявления должна быть не старше 60 дней.

Обязательное поле.

<date>2013-02-21 22:22:22 GMT+4</date>

update-date

Дата обновления объявления в формате YYYY-MM-DD HH:mm:ss GMT+C.

Объявление должно быть не старше 60 дней, которые считаются по последней дате обновления.

Необязательное поле.

<update-date>2013-03-16 11:11:11 GMT+4</update-date>

valid-thru-date

Дата, до которой действительно объявление, в формате MM.DD.YYYY

Необязательное поле.

<valid-thru-date>20.04.2013</valid-thru-date>

mark

Марка автомобиля, в произвольном формате, например Ford или Форд. Не рекомендуется указывать марку с ошибками или дополнительными данными.

Обязательное поле.

<mark>ЗИЛ</mark>

model

Модель автомобиля, в произвольном формате, например Focus или Фокус. Не рекомендуется указывать модель с ошибками или дополнительными данными.

Обязательное поле.

<model>4104</model>

year

Год выпуска автомобиля в формате YYYY.

Обязательное поле.

<year>1989</year>

run-metric

Единица измерения пробега в произвольном формате, например:

<run-metric>км</run-metric>

<run-metric>тыс км</run-metric>

Обязательное поле.

run

Значение пробега автомобиля.

Обязательное поле.

<run>75000</run>

additional-info

Дополнительная информация об автомобиле. Текстовое описание, предоставленное продавцом.

Необязательное поле.

<additional-info>

Автомобиль прошел полное восстановление

по Зиловской технологии на заводе ЗИЛ,

состояние нового автомобиля, полностью

востановлены ходовая часть, двигатель,

коробка передач,кузов восстановлен пролужен,

шумоизоляция, новая резина.

</additional-info>

state

Информация о состоянии автомобиля. Поле имеет несколько возможных значений:

  • Новый
  • Отличное
  • Хорошее
  • Среднее
  • Битый

Первое значение относится к новым автомобилям, остальные - к автомобилям с пробегом.

Значение задается в произвольном формате, например, в поле можно указать "NEW".

Необязательное поле.

<state>Отличное</state>

color

Цвет автомобиля. Указывается название цвета и в случае необходимости параметр металлик.

Необязательное поле.

<color>Черный</color>

body-type

Информация о кузове автомобиля. Поле имеет несколько возможных значений:

  • Седан
  • Хетчбек
  • Купе
  • Кабриолет
  • Кроссовер
  • Внедорожник
  • Пикап
  • Минивен
  • Микроавтобус
  • Фургон

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

Необязательное поле.

<body-type>Седан</body-type>

engine-type

Информация о типе двигателя автомобиля. Поле имеет несколько возможных значений:

  • Бензин
  • Дизель
  • Гибрид
  • Электромобиль

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

Необязательное поле.

<engine-type>Бензин карбюратор</engine-type>

gear-type

Информация о приводе автомобиля. Поле имеет несколько возможных значений:

  • Передний
  • Задний
  • Полный

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

Необязательное поле.

<gear-type>Задний</gear-type>

displacement

Объем двигателя автомобиля в куб см.

Обязательное поле.

<displacement>7680</displacement>

transmission

Информация о КПП. Поле имеет несколько возможных значений:

  • Автомат
  • Типтроник
  • Вариатор
  • Робот
  • Механика

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

Необязательное поле.

<transmission>Автомат</transmission>

steering-wheel

Информация о расположении руля. Поле имеет несколько возможных значений:

  • Левый руль
  • Правый руль

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

Обязательное поле.

<steering-wheel>Левый</steering-wheel>

haggle

Информация о наличии или отсутствии торга. Поле имеет несколько возможных значений:

  • Возможен
  • Невозможен

Необязательное поле.

<haggle>Возможен</haggle>

custom-house-state

Информация о таможенном состоянии автомобиля. Поле имеет несколько возможных значений:

  • Растаможен
  • Нерастаможен

Необязательное поле.

<custom-house-state>Растаможен</custom-house-state>

equipment

Комплектация автомобиля. Каждая опция задается отдельным полем. Формат произвольный.

Необязательное поле.

<equipment>Магнитола (CD)</equipment>

<equipment>Омыватель фар</equipment>

<equipment>Охранная система</equipment>

<equipment>Рег-ка сиденья водителя (электропривод)</equipment>

<equipment>Рег-ка сиденья пассажира (электропривод)</equipment>

<equipment>Регулировка руля (в 2х пл.)</equipment>

<equipment>Салон (велюр)</equipment>

<equipment>Тонированные стекла</equipment>

<equipment>Усилитель рулевого управления (гидро)</equipment>

<equipment>Центральный замок</equipment>

<equipment>Электрозеркала</equipment>

<equipment>Электростеклоподъемники (все)</equipment>

image

URL фотографий автомобиля. Главная фотография содержится в первом поле image.

Запрещается передача стандартных заглушек или каталожных фотографий.

Не рекомендуется использовать в качестве главной фотографии фотографию салона автомобиля.

Каждая фотография задается отдельным полем.

Необязательное поле.

<image>http://ru.ru/images/682cd2cc.jpg</image>

<image>http://ru.ru/images/682cd2cc2.jpg</image>

vin

VIN-номер автомобиля.

Необязательное поле.

<vin>WAUJC68E82A012</vin>

price

Цена автомобиля.

Обязательное поле.

<price>140000</price>

currency-type

Валюта, в которой указана цена (RUR, USD, EUR, тенге, гривна, белорусский рубль). Задается в произвольном формате.

Обязательное поле.

<currency-type>$</currency-type>

seller

Имя продавца в случае, если продавец частное лицо. Для автосалона - название автосалона.

Необязательное поле.

<seller>Иван Иванович</seller>

seller-phone

Контактный телефон продавца. Запрещается указывать единый телефон площадки для различных продавцов (продажа звонков). Запрещается указывать мобильный телефон менеджера, в случае если продавцом автомобиля является автосалон. Каждый телефон указывается в отдельном поле. Допустимые форматы телефонов (ХХХ) ХХХ-ХХ-ХХ или +X XXX XXX-XX-XX.

Обязательное поле.

<seller-phone>(495) 000-00-00</seller-phone>

<seller-phone>(495) 000-00-00</seller-phone>

seller-city

Город или регион продавца автомобиля. Распознается в соответствии с классификатором Яндекс.Авто. В случае небольшого населенного пункта рекомендуется указывать ближайший крупный населенный пункт или более крупную область. Дополнительная информация в этом поле, помимо названия населенного пункта, обрабатывается некорректно. Задается в произвольном формате.

Обязательное поле.

<seller-city>Москва</seller-city>

car-location

Город или регион, в котором находится автомобиль. Распознается в соответствии с классификатором Яндекс.Авто. В случае небольшого населенного пункта рекомендуется указывать ближайший крупный населенный пункт или более крупную область. Дополнительная информация в этом поле, помимо названия населенного пункта, обрабатывается некорректно. Задается в произвольном формате.

Необязательное поле.

<car-location>Санкт-Петербург</car-location>

stock

Информация о наличии автомобиля. Поле имеет несколько возможных значений:

  • В наличии
  • На заказ

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

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

Обязательное поле.

<stock>на заказ</stock>

campaign

Управляющее поле для приоритизации и выделения объявлений.

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

Необязательное поле.

<campaign>180456</campaign>

Рекомендации

Прежде чем отправить в Яндекс.Авто новый XML-файл, рекомендуется проверить его на валидность в Интерфейсе вебмастера в разделе «Проверка XML-фида».

Для снижения нагрузки, создаваемой роботом Яндекс.Авто на ваш сайт, и сокращения времени попадания новых данных в выдачу сервиса рекомендуем воспользоваться одним из http-заголовков ETag или Last-Modified, правильное использование которых позволит роботу сравнивать текущую версию XML-файла с последней загруженной.