Введение:

Я немного опоздал, но недавно я начал изучать WebHooks и возможности, которые они приносят пользователям и разработчикам. Чем больше я играю с ними, тем больше меня умиляют возможности. Поскольку роль Интернета вещей в нашей жизни растет с каждым днем, WebHooks играют важную роль в поддержании связи и добавлении мощных функций к нашим любимым устройствам, подключенным к Интернету.

Основы вебхуков:

Для тех, кто плохо знаком с WebHooks, архитектура довольно проста. WebHook — это способ для двух приложений поддерживать постоянный контакт друг с другом путем создания простого API-интерфейса POST, который получает уведомления каждый раз, когда происходит событие в конкретном приложении, которое вы хотите зафиксировать. Например: допустим, вы хотите получать текстовое сообщение каждый раз, когда один из ваших твитов лайкают или ретвитят. Twitter позволит вам настроить WebHook, который будет публиковать это событие на вашем сервере каждый раз, когда ваши твиты ретвитят или лайкают. Как только это сообщение будет получено вашим сервером, вы можете предпринять любые действия, в этом случае вы можете настроить текстовое уведомление с этого сервера. Это простой пример, представьте, что у вас есть raspberry pi, получающий эти события, вы можете настроить его так, чтобы он мигал светом, воспроизводил звук, предупреждал определенную аудиторию. Возможности безграничны. И это только простой пример.

Код:

Чтобы начать заниматься WebHooks, я создал простой пример с NodeJS. Этот код иллюстрирует описанную выше функциональность, этот сервер узла будет отправлять текстовое сообщение каждый раз, когда один из твитов пользователей ретвитится. Для работы этого кода потребуется следующее:

  1. Компьютер с установленными NodeJS и NPM
  2. npm install express, request, dotenv и body-parser
  3. Настройка учетной записи разработчика Twitter для отправки ретвитов в конечную точку /webhook, созданную в экспресс-приложении.
  4. Учетная запись twilio, у twilio есть бесплатная пробная версия с кредитами на 15 долларов для тестирования.

Как вы можете видеть выше. Этот экспресс-API NodeJS Express имеет одну конечную точку /webhook, которая принимает почтовый запрос. Вы можете использовать свою учетную запись разработчика в Твиттере, чтобы настроить событие публикации для этой конечной точки в любое время, когда вас ретвитят. Оттуда наш API использует API twilio для отправки текстового сообщения на выбранный вами номер телефона.

Допустим, вместо этого вы хотите воспроизвести звук на Raspberry PI, как я упоминал выше. Для этого вам понадобится следующее:

  1. Raspberry PI с установленным nodeJS
  2. Инструмент командной строки omxplayer установлен
  3. Звук файла .mp3 для инструмента командной строки omxplayer для чтения

И вот как может выглядеть код:

Заключение:

Это всего лишь несколько примеров возможностей WebHooks. Это едва царапает поверхность того, что может быть достигнуто! Любое приложение/программное обеспечение, позволяющее настраивать события публикации, аналогичные API твиттера, можно использовать для перехвата и получения действенной обратной связи.