RU

Вебхуки

Описание

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

Обработчик

  1. Создайте обработчик, который извлекает координаты из тела запроса и озвращает их в выходных параметрах. При необходимости вы можете дополнительно обработать полученные координаты. Также, если требуется, определите формат ответа, который будет отправляться в ответ на вебхук.


function process() {
  const body = ric.webhook?.request?.body ?? {};
  const lat = +(body.lat || 0);
  const lon = +(body.lon || 0);
  return { lat, lon };
}
  1. Создайте вебхук для обработчика.
  2. Добавьте обработчик на объект.
  3. Проведите сопоставление выходных параметров обработчика и аргументов в модели объекта.

Кнопка

  1. Создайте кнопку в сервисе IFTT. Для этого сделайте новый Applet и добавьте в блок If действие Button press, а в блок Then - Make a web request.
💡
Создавать и редактировать Applet вы можете как в веб-интерфейсе, так и в мобильном приложении IFTT (opens in a new tab). Но непосредственно использовать Applet (в данном случае - нажимать на кнопку) можно только в приложении.
Для действия Make a web request заполните необходимые поля. В URL вебхука укажите идентификатор объекта, на котором должны появляться координаты.
  1. Нажмите кнопку Continue, укажите имя вашего Applet и нажмите Finish.
  1. Applet готов. Чтобы его использовать, создайте с ним виджет в мобильном приложении IFTT.
  1. Нажмите на кнопку. Координаты с мобильного телефона отправятся на ваш объект.
  1. Проверьте, что отправленные координаты действительно совпадают с координатами, которые отображаются на объекте.