Пакетная загрузка с использованием XML-фида

Назначение

Одним из требований технической интеграции DMS с Авто.ру Бизнес является реализация полноценного REST клиента.

Для упрощения интеграции с Авто.ру Бизнес имеется возможность загрузки информации об автомобилях в DMS при помощи XML-фида.

Как работает?

  1. На стороне DMS реализуется выгрузка в XML-файл текущего склада, а также недавно выбывших со склада и удаленных авто.
  2. Предоставляется общий доступ к этому файлу для Авто.ру Бизнес через HTTP(s)/FTP(s) протоколы   обязательной авторизацией.
  3. В службу поддержки Авто.ру Бизнес направляется запрос на подключение загрузки фида. Указываются URL фида, логин и пароль для доступа к этому фиду, а также CLIENTID (см. авторизацию в API), от которого будет производиться загрузка склада из файла.
  4. После подключения фида, Авто.ру Бизнес будет загружать и обрабатывать XML-фид каждые три часа.
  5. Отчет по обработке фида будет отправлен на email, указанный в XML-фиде.

Рекомендации к серверу и уровню безопасности данных

  1. В целях обеспечения безопасности, помимо basic-аутентификации, желательно использовать криптографический протокол TLS 1.2 и выше для защиты передаваемых данных.
  2. Желательно настроить веб-сервер таким образом, чтобы передавать HTTP-заголовок Content-Type: application/xml; charset=utf-8, как это рекомендует RFC 7303.

XML-фид

Фид может содержать информацию о:

  • Размещенных на складе автомобилях.
  • Автомобилях, выбывших за последнее время (например, за последние 10 дней).
  • Удаленных из DMS авто.

Фид не должен содержать более 1000 объектов – в этом случае обрабатываются только первые по списку записи, остальные игнорируются. Информация о необработанных автомобилях содержится в отчете.

Главная секция <feed>

Атрибут

Обязательность

Описание

Пример значения

<version>

Да

Версия. Должна быть «1»

1

<creationDate>

Да

Дата и время генерации фида в формате RFC 3339

2021-07-12T14:38:09+03:00

<email>

Нет

Email, на который будет отправлено письмо с результатами обработки фида

robot@cm.expert

<dmsCars>

Да

Коллекция элементов <dmsCar>

Секция <dmsCar>

  • ID автосалона в теге <dealerId> и номер авто на складе в теге <dmsCarId> (обязательно для всех случаев).
  • Информация об авто в формате XML (для авто на складе или выбывшего авто).
  • Тег <deleted> со значением True или true (для удаленного из DMS авто).

Имена тегов и их значения (кроме тега <deleted>) соответствуют атрибутам авто на складе в Авто.ру Бизнес. См. раздел «Атрибуты авто на складе в Авто.ру Бизнес», а также описание атрибутов в Swagger документации API.

Внимание

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

Пример


            <?xml version="1.0" encoding="UTF-8" ?>
            <feed>
                <version>1</version>
                <creationDate>2021-07-12T14:38:09+03:00</creationDate>
                <email>robot@cm.expert</email>
                <dmsCars>
                    <dmsCar>
                        <dmsCarId>#A</dmsCarId>
                        <year>2014</year>
                        <mileage>118100</mileage>
                        <vin>XTA217130F0118693</vin>
                        <stockState>inv/stockState>
                        <arrivedAt>2018-08-27T00:00:00+03:00</arrivedAt>
                        <buyoutPrice>220000</buyoutPrice>
                        <markup>220000</markup>
                        <sellingPrice>220000</sellingPrice>
                        <contractType>tradeinnew</contractType>
                        <photosUrls>http://example.org/photo1.jpg</photosUrls>
                        <photosUrls>http://example.org/photo2.jpg</photosUrls>
                        <photosUrls>http://example.org/photo3.jpg</photosUrls>
                        <photosUrls>http://example.org/photo4.jpg</photosUrls>
                        <dealerId>1</dealerId>
                    </dmsCar>
                    <dmsCar>
                        <dmsCarId>#B</dmsCarId>
                        <year>2014</year>
                        <mileage>118100</mileage>
                        <vin>XTA217130F0118693</vin>
                        <stockState>out</stockState>
                        <outReason>other</outReason>
                        <outAt>2018-09-11T00:00:00+03:00</outAt>
                        <arrivedAt>2018-08-27T00:00:00+03:00</arrivedAt>
                        <buyoutPrice>220000</buyoutPrice>
                        <markup>220000</markup>
                        <sellingPrice>220000</sellingPrice>
                        <contractType>tradeinnew</contractType>
                        <dealerId>2</dealerId>
                    </dmsCar>
                    <dmsCar>
                        <dmsCarId>#C</dmsCarId>
                        <dealerId>1</dealerId>
                        <deleted>true</deleted>
                        <dmsDeletedAt>2017-03-10T05:40:00+03:00</dmsDeletedAt>
                    </dmsCar>
                </dmsCars>
            </feed>