01Как подключаемся
- Вы отдаёте ссылку.Постоянный адрес файла выгрузки по HTTP, HTTPS или FTP. Выгрузку можно закрыть: секретный ключ в ссылке, доступ по IP, HTTP-авторизация (логин и пароль) или заголовок с ключом. Всё это мы поддерживаем.
- Мы делаем проверочный прогон.Файл разбирается без публикации. Вы получаете отчёт: сколько объектов прочитано, что попало бы в публикацию, где не хватило данных. На сайте в этот момент ничего не меняется.
- Включаем расписание.Площадка забирает файл сама, по умолчанию каждые 6 часов. Период согласуем: от одного часа до раза в сутки.
- Объекты появляются на витрине компании.Карточка вашей компании на doska65.ru с логотипом, контактами, поиском по портфелю и подтверждённым статусом.
Если выставлять файл наружу нельзя, есть запасной путь: вы присылаете выгрузку нам сами. Мы даём личный адрес и ключ, отправка идёт одной командой (curl или планировщик на вашей стороне). Основной путь всё же ссылка: подключили один раз, дальше всё само.
02Какие форматы принимаем
| Формат | Корневая структура | Ключ объекта |
|---|---|---|
| XML-фидосновной формат | <Ads><Ad>…</Ad></Ads> | <Id> |
| XML недвижимостимежпортальный стандарт | <realty-feed><offer>…</offer></realty-feed> | атрибут internal-id |
| ТаблицаCSV или XLSX | строка это объект, первая строка это названия колонок | колонка «Код объекта» или как она названа у вас |
| Ваш собственный XMLпо описанию полей | любая структура: свой узел объекта и свои имена тегов | любое поле или атрибут на ваш выбор |
Два первых формата определяются автоматически по содержимому файла, указывать их отдельно не нужно. Свой формат менять не требуется: пришлите образец выгрузки, и мы опишем соответствие ваших тегов нашим полям у себя в настройках. Это делается за час и не требует доработок ни с вашей, ни с нашей стороны. Кодировка UTF-8 или windows-1251 определяется сама. Файл можно отдавать сжатым (.gz, .zip): предел 80 МБ считается по тому, что передаётся по сети.
03Что нужно для публикации объекта
Дорабатывать выгрузку под нас не требуется. Если чего-то в вашем файле нет, скажите: подставим город, разрешим объекты без цены или без фотографий, возьмём площадь из описания. Объект, для которого данных всё же не хватило, попадает в отчёт с причиной, а остальные загружаются нормально.
| Что | Пример тега | Зачем |
|---|---|---|
| Внешний номер объектаединственное, без чего никак | Id | Ключ синхронизации: по нему объект узнаётся при следующих обновлениях. Без него каждая загрузка плодила бы дубли. |
| Тип сделки | OperationType | Продажа, аренда, посуточно. |
| Тип объекта | Category | Квартира, новостройка, дом, участок, гараж, коммерческая. |
| Цена | Price | Число в рублях. |
| Город | City или Address | Если города нет отдельным тегом, он берётся из адреса; пустой адрес дочитываем по описанию и кадастровому номеру. |
| Общая площадь | Square | Обязательна для квартир и новостроек. |
| Площадь участка | LandArea | Обязательна для земельных участков. |
| Фотографии | Images/Image url | Минимум одна. Берём до 20 на объект, скачиваем к себе. |
Часть правил включается под вашу выгрузку. Например, объекты без цены («договорная», «по запросу») по умолчанию не публикуются, потому что без цены объявление хуже ищется. Для вашего фида это включается одной настройкой. Так же с фотографиями, площадью и городом.
04Что понимаем дополнительно
Эти поля не обязательны. Каждое из них мы сохраняем и показываем в объявлении:
- комнаты, жилая и кухонная площадь, этаж и этажность, студия;
- тип дома, год постройки, серия, лифт, парковка, высота потолков;
- ремонт, санузел, балкон или лоджия;
- отопление, вода, канализация, газ, электричество;
- категория земель, вид права, тип рынка;
- район, улица, дом, координаты;
- телефон и имя ответственного сотрудника, его внутренний идентификатор;
- видео, виртуальный тур, планировки отдельным списком (до 5 файлов).
05Как работает синхронизация
- Тот же номер объекта: объявление обновляется на месте. В ленте оно не поднимается, дата публикации сохраняется, история цены записывается.
- Новый номер: публикуется новое объявление.
- Объект пропал из файла либо помечен снятым (
Statusсо значением «архив», «снят», «продан»): объявление снимается с публикации. - Объект вернулся в файл: прежнее объявление оживает под тем же адресом, ссылки не ломаются.
- Фотографии перезакачиваются только когда их набор действительно изменился.
06Пример минимального объекта
<?xml version="1.0" encoding="UTF-8"?>
<Ads formatVersion="3">
<Ad>
<Id>13423208</Id>
<Category>Квартиры</Category>
<OperationType>Продам</OperationType>
<Price>6350000</Price>
<Address>Сахалинская область, Южно-Сахалинск, улица Ленина, 218</Address>
<Rooms>2</Rooms>
<Square>54.3</Square>
<Floor>4</Floor>
<Floors>9</Floors>
<Description>Тёплая квартира в кирпичном доме, окна во двор.</Description>
<ContactPhone>+7 962 100-00-00</ContactPhone>
<Images>
<Image url="https://example.ru/photo/1.jpg"/>
<Image url="https://example.ru/photo/2.jpg"/>
</Images>
</Ad>
</Ads>
07Технические детали для разработчиков
- Запрос обычный
GET, заголовокUser-Agent: doska65-feed-import/1.0. По нему нас видно в логах и списках доступа. - Если выгрузка закрыта, работают HTTP-авторизация и любой заголовок с ключом. Параметры принимаем один раз и храним у себя в настройках источника.
- Файл скачивается потоком, ограничение 80 МБ проверяется по ходу закачки. Сжатые файлы (
.gz,.zip) распаковываются на нашей стороне. - Кодировка определяется автоматически: UTF-8 (в том числе с BOM) и windows-1251, даже когда она не объявлена в прологе.
- Расписание настраивается на нашей стороне: по умолчанию каждые 6 часов, минимальный период 1 час. Внеплановую загрузку можно запустить вручную.
- Ночная пауза. С 23:00 до 07:00 по сахалинскому времени площадка не публикует объявления — ни от частных пользователей, ни из выгрузок. В это время мы не забираем файл; присланный ночью — принимаем и обрабатываем в 07:00 первым делом, вместе с утренней загрузкой. Ничего не теряется, публикация сдвигается до утра.
- Если ссылка перестала отвечать, повторные попытки идут с нарастающей паузой. Уведомление получаем и мы, и ваш ответственный.
- Страница состояния. Вашим разработчикам мы даём личную ссылку с историей загрузок: сколько объектов прочитано, что создано и обновлено, что снято, и построчно, какие объекты не попали в публикацию и почему.
- Итог каждой загрузки с изменениями приходит вашему ответственному сообщением в MAX.
- Служебный хвост CRM в описании («Код пользователя», «Номер в базе») вырезается из текста и хранится отдельно. В объявлении его не видно.
- Заголовок объявления собирается по нашему шаблону из типа объекта, комнат, площади и этажа.
08Что мы гарантируем
- Телефоны как есть. Не подменяем ваши номера и не прячем их за маской.
- Контент остаётся вашим. Тексты и фотографии не редактируем, площадка их только публикует.
- Ноль ручной работы. Сотрудники ведут объекты в вашей системе, правки приезжают следующей загрузкой.
- Без рассылки на сторону без отдельной договорённости.
09С чего начать
Пришлите нам ссылку на выгрузку или образец файла (можно тестовый, на десяток объектов). Мы разберём его, вернём отчёт с разбивкой по полям и покажем, как объекты будут выглядеть на витрине, ещё до публикации.
Написать нам можно прямо здесь, на сайте: переписка откроется в чате поддержки, ответим там же. Или на почту adm@doska65.ru.
Написать в поддержку