Структурный фид формата Домопланер JSON

Данный тип фида подойдет для синхронизации наличия с сайтом. В формате JSON мы отдаем данные в виде дерева по сущностям: ПРОЕКТ – ОЧЕРЕДЬ – ДОМ – СЕКЦИЯ – ЭТАЖ – ПОМЕЩЕНИЕ.

Фиды можно настроить внутри Домопланера в разделе Маркетинг – Фиды.

// структура фида
{
	"v": 2, // версия. 2 = древовидная структура
	"projects": Array // массив проектов
	"decorations": Array // массив отделок
	"discounts": Array // массив активных акций
	"tags": Array // массив особенностей помещений

	// массивы пользовательских полей
	"flats_custom_fields": Array // для помещений
	"projects_custom_fields": Array // для проектов
	"stages_custom_fields": Array // для проектов
	"houses_custom_fields": Array // для домов
}

projects – проекты

Массив с данными по проектам. Содержит объект для каждого проекта:

// ID проекта внутри ДП
"id": 133,

// название проекта
"title": "ОГНИ",

// поля "cf_XXX" - это пользовательские поля из массива "projects_custom_fields"
// где XXX - ID из  projects_custom_fields
// поля могут быть как текстом, так и цифрой (в зависимости от настроек)
"cf_22": "Кировский",
"cf_23": "https://storage.yandexcloud.net/domoplaner/devmedia/285/uploads/ldvexhiepilb93rqldkpsivxmqaijeev.jpeg",
"cf_24": 1920,

// внутри проекта вложен массив очередей 
"stages": Array

// и массив домов, у которых не выбрана очередь внутри ДП
// аналогичен по данным с массив houses
"houses_without_stage": Array

stages – очереди

Массив с данными по очередям. Содержит объект для каждой очереди:

"id": 5 // ID очереди
"title": "1 очередь" // название очереди
"houses": Array // массив домов
// пользовательские поля по аналогии с проектами выше
// XXX - ID из массива stages_custom_fields
"cf_XXX": XXX 

houses – дома

Массив с данными по домам. Содержит объект для каждого дома:

"id": 5 // ID дома
"title": "Дом 33" // название дома
"sections": Array // массив секций
// пользовательские поля по аналогии с проектами выше
// XXX - ID из массива houses_custom_fields
"cf_XXX": XXX 

sections – секции дома

Массив с данными по секциям. Содержит объект для каждой секции:

"id": 5214 // ID секции
"title": "Секция 6" // название секции
"number_short": 6 // циферное обозначение секции
"position": 1 // позиция секции в этом доме
"floors": Array // массив этажей

// в этом примере дом начинается с 6й секции

floors – этажи секции

Массив с данными по этажам. Содержит объект для каждого этажа:

"id": 10188, // ID этажа
"number": 1, // номер этажа
"plan": {
	// Изображение плана этажа
	"image": "https://storage.yandexcloud.net/.../xxx/yyy.jpg"
	// если у плана есть оригинал в SVG, то передаем параметр ниже
	"image_svg": "https://storage.yandexcloud.net/.../xxx/yyy.svg"
	"width": 1600 // ширина плана в px, для .jpg
	"height": 639 // высота плана в px, для .jpg
},
"flats": Array // массив квартир

flats – помещения

Массив с данными по помещениям. Содержит объект для каждого помещения:

// ID помещения 
"id": 5164
// строковый ID помещения 
"sid": "f8fh9whakejbf89dfohjawfhbiu" 
// тип. 0 - квартира/апарт, 1 - машиноместо, 2 - кладовая, 3 - офисное помещение 
"type": 0 
// номер, строка (иногда номера могут быть с буквами и дробями) 
"number": "1" 
// кол-во комнат - строковый параметр для отображения на плитке. заведен как "Знак комнатности" в ДП
"rooms_sign": "3+"
// кол-во цифрой по документам 
"rooms": 2
// евроформат (студийность, где 1 - да, 0 - нет 
"is_studio": 0
// позиция на этаже
"position_on_floor": 3 
//статус помещения, где 0 - свободна, 1 - бронь, 2 - оформление договора, 3 - продана, -1 - резерв, -2 - вне учета. Для отображения на сайте рекомендуем работать со статусами 0 - свободно, и 1 - бронь. Все остальные считать проданными
"status": 0 
// стоимость помещения, 0 если статус НЕ 0 и НЕ 1. Можно отключить замену на 0 в настройках фида
"price": 3990000 
// если переуступка, то 1. Если нет, то параметр вообще не передается 
"assign": 1 
// ID изображения планировки квартиры, возможно использоваться для группировок схожих квартир в единую карточку 
"plan_id": 883 
// поле из CRM, по которому задана группировка по схожести 
"flat_marketing_code": "2К-43,59-44,59"
// площадь помещения, выбранная основной
"area": 48.64  
// описание к квартире, если выбрано в настройках фида
"description": "Эта квартира такая хорошая..."
// массив тегов к данной квартире, цифры соответствуют ID из flats_custom_fields
"tags":  
// массив акций к этому помещению. Содержит номера – это параметр "id" объектов из массива discounts
"discounts": [44, 54] 
// ID отделки. Это параметр ID объекта из массива decorations. Параметр не передается вообще, если нет отделок 
"decoration_id": 39
// Название отделки. Параметр не передается вообще, если нет отделок 
"decoration_name": "WhiteBox"
// Стоимость помещения без учета скидки. Появляется только в том случае когда на помещение действует скидка со снижением цены
"price_old": 3500400
// Размер скидки на помещения. Появляется только в том случае когда на помещение действует скидка со снижением цены
"discount_value": 144000

// далее массив с изображениями
"images": [{
    // первое изображение всегда план с type="plan"
    "type": "plan", 
    "src": "https://storage.yandexcloud.net/.../xxx/yyy.jpg",
    // если у плана есть оригинал в SVG, то передаем параметр ниже
    "src_svg": "https://storage.yandexcloud.net/.../xxx/yyy.svg",
 },{
    "type": "image",  // type="image" - дополнительные изображения к планировке
    "name": "124124" // название файла
    "src": "https://storage.yandexcloud.net/domoplaner/devmedia/xxx/yyy.jpg"
 }],

// точки полигона, контура квартиры на изображении этажа.
// расчет идет от jpg версии изображения 
// с левого нижнего угла изображения этажа, сначала Y, потом X (формат leaflet.js)
"path_on_floor_plan": "300,500 390,500 390,595 300,595"
// с левого верхнего угла изображения этажа, сначала X, потом Y (формат svg)
"path_on_floor_plan_svg_format": "500,300 500,390 595,390 595,300"

/*
Если в настройках фида в ДП включен расширенный режим, 
то к каждому помещению будут добавлены дополнительные поля
помещений (только еще проверьте, что включено отображение
этих полей для фидов) в формате
cf_XXX: "значение поля", где ХХХ - ID из массива flats_custom_fields ниже

+ список полей ниже
*/

// площадь с учетом коэф. лоджий
"area_koef": 56.32
// площадь без учета лоджий
"area_without": 56.32
// площадь с учетом полных лоджий
"area_full": 56.32
// площадь лоджий полная
"area_loggias": 3.45
// площадь лоджий с коэф
"area_loggias_k": 3.45
// площадь жилая
"area_living": 23.94
// площадь кухни
"area_kitchen": 12.34
// высота потолка
"height": 2.7
// площадь по БТИ
"area_bti": 45.7
// площадь по БТИ жилая
"area_bti_living": 22.7
// площадь по БТИ вспомогательных помещений
"area_bti_add": 12.7
// площадь по БТИ лоджий и балконов
"area_bti_loggias": 4.7

decorations – отделки

// Каждый элемент массива decorations
// объект со следующим свойствами:

// ID отделки
"id": 149

// Заголовок отделки из Домопланера
"title": "Под ключ"

// Является ли отделкой по умолчанию
"primary": 1

discounts – акции и скидки

Управляйте акциями в разделе Маркетинг – Акции и скидки. В этом разделе можно как создать акции, так и привязать к ним помещения.

// Каждый элемент массива discounts
// объект со следующим свойствами:

// ID акции, именно это число, находясь внутри массива
// discounts у объекта означает, что акция действует на объект
"id": 149

// Заголовок акции из Домопланера
"title": "Скидка 200 000 руб. на 1А и 1Е"

// Текст акции из Домопланера
"text": "Скидка 200 000 рублей на евродвушки типа 1А и 1Е до конца сентября!\nВыбирайте свой идеальный вариант и бронируйте в отделе продаж или по телефону!"

// Ссылка на подробности акции
"site_link": "https://shishkin.life/evro2ka"

// Дата окончания акции
"dt_end": "2022-09-30"

tags - особенности помещений

Управляйте особенностями в разделе Настройки – Настройки помещений – Особенности помещений.

Данные для особенностей редактируйте в редакторе дома, вкладка "Особенности квартир" 

// Каждый элемент массива tags
// объект со следующими свойствами:

// ID особенности, именно это число, находясь внутри массива
// tags у объекта означает, что у объекта есть эта особенность
"id": 149
"title": "Панорамные окна" // Название особенности

flats_custom_fields – поля помещений

Управляйте полями помещений в разделе Настройки – Настройки помещений – Пользовательские поля.

Данные для этих полей можно редактировать в редакторе домов:
1) через визуальный редактор
2) через выгрузку в Excel и загрузку обратно

// Каждый элемент массива flats_custom_fields
// объект со следующими свойствами:
"id": 149 // ID поля
"title": "Панорамные окна" // Название поля

configurations – комплектации помещений

Управлять полями и контентом можно в разделе Маркетинг – Комплектации

Каждый элемент массива – это объект со следующими свойствами:
"id": 122 // ID комплектации
"title": "Отделка под ключ" // название
"groups":  // массив с группами помещений

// groups – массив, содержащий в себе группы помещений
// конкретной комплектации. Т.к. у каждой группы может быть свой модификатор
// Например, для 1-комн цена будет 25000 за метр, а для двухкомнатных – 15000
// Пример для такого массива groups ниже
[
  {
    "title": "Однокомнатные",
    "income_area": "area",
    "income_type": "m2",
    "income_value": 15000,
    "flats_ids": 
  }, 
  {
    "title": "Двухкомнатные",
    "income_area": "area",
    "income_type": "m2",
    "income_value": 25000,
    "flats_ids": [12349, 23458, 34563]
  }
]

Каждый элемент groups – объект.

Поле title – название группы внутри комплектации

Поле income_type – тип повышения. Значения:
––– "none" - без повышения
––– "fix" – фиксировано в рублях
––– "m2" – в рублях за метр квадратный

Поле income_value – на сколько повышаем, число

Поле income_area – если income_type="m2", то какое поле помещения 
взято для расчета стоимости комплектации. 
Просто income_value * flat[income_area]

Поле flats_ids – ID помещений, к которым подходит данная группа
конкретной комплектации