Вебхуки по изменению статусов и цен

В Домопланере можно настроить вебхуки, которые будут оповещать ваш сайт или систему BI о том, что в Домопланере изменилась цена или наличие по ряду помещений. 

Важное предисловие

Данный механизм является опциональным добавлением наряду с более классическим методом обновления сайта – по фиду формата Домопланер JSON. Алгоритм отправки вебхуков, описанный ниже, не является заменой фиду, т.к. содержит только самые важные характеристики помещений, тогда как вторичные характеристики данных (например, изображение или площадь) в вебхуках не передаются.

Вебхуки помогут вам в считанные секунды обновлять наличие на своем сайте при бронированиях и изменениях стоимости внутри ДП. 

Формат вебхука

При изменении параметра цены или статуса (свободно, бронь, резерв и т.д.) у помещений мы формируем POST запрос на указанный вами url, в body передаем массив с помещениями, по которым прошли изменения по статусу или цене:

{
	"flats": [
	{
		"id": 1940343, // ID помещени в ДП
		"sid": "vnuVEg5wa67ukbsvysefSEHsgef6uyakf", // строковый ID
		"price": 9200000, // значение стоимости
		"status": 0, // значение статуса помещения,
		"project_id": 145, // ID проекта в ДП
		"type": 0 // Тип помещения в ДП 
		// 0 - квартира/апарт, 1 - паркинг, 2 - кладовая, 3 - офис 
	},
	... // это массив, не забудьте. Даже если в нем 1 элемент
    ]
}

По этим данным вы можете обновить информацию в своих системах.

Подробнее о статусах помещений в этой статье.

Как включить

Включить вебхук можно в разделе
Настройки – Автоматизация – вкладка Помещения – тип "Помещение – стоимость/наличие изменено" – действие "Отправить webhook".

Алгоритм отправки

Каждое изменение стоимости или статуса помещения записывается в стек. Раз в три секунды стек очищается и каждое помещение внутри него фильтруется в соответствии с настройками события в автоматизации.

Полученный массив помещений в описанном выше формате отправляется вебхуком на указанный в настройках скрипта эндпоинт.

Нужно понимать, что если пользователь повышает стоимость сразу 1000 квартир одновременно, то такой запрос может длится более 3 секунд. Значит, первая часть измененных квартир может уйти в первом вебхуке, вторая следом через 3 секунды уже во втором.