Вебхуки по изменению статусов и цен
В Домопланере можно настроить вебхуки, которые будут оповещать ваш сайт или систему 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 секунды уже во втором.