Webhook — механизм получения уведомлений об определённых событиях (в основном о действиях пользователей) на свой собственный сайт. В момент срабатывания события - бросается запрос (чаще всего POST) на указанный URL.

Например, разновидность Webhook - GitHook - отслеживает статус Git-репозитория на предмет изменений - пришел коммит на определенную ветку, проставили тэг и другое.

Но что же особенного в этом? Автоматизация. Это отличный инструмент автоматизации. Можно принять POST запрос с помощью Flask:

app = Flask(__name__)
@app.route('/post', methods=['POST'])
def foo():
    print(request.get_json(silent=True))

А затем выполнить какую-то логику. Например:

  • По наступлению какой-то погоды на улице - вывести оповещение "Прогрей машину"
  • При коммите в репозиторий запустить скрипт на удаленном компе
  • Автоматически публиковать в twitter какой-то юморной пост
  • Написать СМС "Как дела в школе?" ребенку, когда он зашел домой (подключился к домашнему WiFi)

P.S. Не все сервисы предоставляют Webhook самостоятельно. Однако, с помощью сервиса http://ifttt.com/ и https://ifttt.com/maker в частности можно реализовать отправку хука при самых разных событиях.



Комментарии