Вебхуки
Описание
Инициировать срабатывание обработчика можно не только при получении нового пакета от устройства, но и при помощи внешнего вызова - вебхука. Для работы с вебхуком нажмите Редактировать на карточке существующего обработчика.
В окне редактирования обработчика нажмите кнопку Создать вебхук.
Сгенерируется URL вебхука. Скопируйте его и добавьте в необходимый сервис. Поле :id в URL вебхука замените на идентификатор объекта, на котором нужно запустить этот обработчик.
Этот идентификатор находится в поле _id
в API link объекта.
Также этот идентификатор виден в поисковой строке при клике на необходимый объект.
Дополнительные параметры для обработчика можно передать в теле запроса и затем получить их в коде следующим образом:
- Body
{ "param1": 123, "param2": "text" }
- фрагмент кода обработчика
const body = ric.webhook?.request?.body;
const param1 = body.param1;
const param2 = body.param2;
При работе с объектом ric.webhook
редактор кода подсказывает возможные опции.
Пример использования
Рассмотрим пример добавления кнопки в сервисе IFTTT (opens in a new tab), при нажатии на которую отправляются координаты с мобильного телефона на объект в платформе.
Обработчик
- Создайте обработчик, который извлекает координаты из тела запроса и озвращает их в выходных параметрах. При необходимости вы можете дополнительно обработать полученные координаты. Также, если требуется, определите формат ответа, который будет отправляться в ответ на вебхук.
function process() {
const body = ric.webhook?.request?.body ?? {};
const lat = +(body.lat || 0);
const lon = +(body.lon || 0);
return { lat, lon };
}
Код обработчика (opens in a new tab)
-
Создайте вебхук для обработчика.
-
Добавьте обработчик на объект.
-
Проведите сопоставление выходных параметров обработчика и аргументов в модели объекта.
Кнопка
- Создайте кнопку в сервисе IFTT. Для этого сделайте новый Applet и добавьте в блок If действие Button press, а в блок Then - Make a web request.
Создавать и редактировать Applet вы можете как в веб-интерфейсе, так и в мобильном приложении IFTT (opens in a new tab). Но непосредственно использовать Applet (в данном случае - нажимать на кнопку) можно только в приложении.
Для действия Make a web request заполните необходимые поля. В URL вебхука укажите идентификатор объекта, на котором должны появляться координаты.
- Нажмите кнопку Continue, укажите имя вашего Applet и нажмите Finish.
- Applet готов. Чтобы его использовать, создайте с ним виджет в мобильном приложении IFTT.
- Нажмите на кнопку. Координаты с мобильного телефона отправятся на ваш объект.
- Проверьте, что отправленные координаты действительно совпадают с координатами, которые отображаются на объекте.