
WebHook – це простий спосіб для комп’ютерної програми повідомити іншій комп’ютерній програмі, що сталася подія.
Наприклад, блог WordPress може повідомляти інші програми, коли опубліковано нове повідомлення в блозі. Це означає, що я можу написати самостійний PHP-скрипт, який автоматично отримує сповіщення, коли я публікую нову публікацію в своєму блозі WordPress, і PHP-скрипт може автоматично ділитися моєю новою публікацією в блозі в Twitter та LinkedIn:

Ключовою перевагою використання WebHook є те, що WordPress і PHP-сценарій роз’єднані (без будь-яких залежностей від часу компіляції), тому ми отримуємо багато тих самих переваг, що і у мікросервісів, наприклад, швидше розгортання.
Що таке webhook?
У технічному плані WebHook – це просто простий шаблон зворотного виклику, який використовує HTTP для спілкування через Інтернет (наприклад, RESTful Web Services). Іншими словами, ви реєструєте URL-адресу, яку потрібно викликати, коли відбувається подія.
Приклад цього показаний на скріншоті нижче, де я кажу WordPress, що URL-адресу (тобто “webhook.php”) слід викликати кожного разу, коли публікується нова публікація в блозі (тобто “публікація_постів”), а повідомлення-повідомлення має містити заголовок (тобто “post_title”) та URL (тобто “post_url”) нещодавно опублікованого повідомлення в блозі:

Потім, коли я публікую нову публікацію в блозі, WordPress автоматично надсилає повідомлення на вказану мною URL-адресу (тобто webhook.php) із заголовком та URL-адресою нового допису в блозі, як показано в фрагменті нижче (примітка: більшість WebHooks використовують JSON як формату повідомлення, але WordPress все ще використовує старомодне кодування URL-адрес):
WebHooks вже популярні в Силіконовій долині. Наприклад, Facebook використовує WebHooks як центральний елемент у своїй платформі чат-ботів (про що я писав у своєму останньому дописі в блозі).
Ви використовуєте webhooks?
Так, ми також дуже раді WebHooks тут, на @TiaTechnology!
Наприклад, ми створюємо новий портал самообслуговування для страхових клієнтів, і важливою особливістю такого порталу є те, що він дозволяє клієнтам повідомляти про нові страхові вимоги в Інтернеті.
Коли клієнт подає нову претензію в Інтернеті, портал публікує подію “Нова претензія” через WebHook, а потім слухач WebHook фіксує цю подію та створює нову претензію в модулі TIA’s Claims (через наш REST API).

Найприємніше у використанні подій полягає в тому, що ми можемо легко додати додаткових слухачів WebHook. Наприклад, деякі типи претензій, можливо, все ще доведеться створювати в застарілій системі претензій, тому ми додаємо новий прослуховувач WebHook, щоб створити їх. Або, можливо, ми хочемо повідомити інструменту аналітики, що повідомляється про нову претензію:

Іншими словами, ми можемо розширити функціональність клієнтського порталу без необхідності змінювати або розгортати будь-який новий код на самому порталі!
Отже, для завершення WebHook – це простий спосіб використання подій у веб-архітектурі. Перевага подій полягає в тому, що ви роз’єднуєте компоненти в архітектурі і тим самим отримуєте більшу гнучкість, швидшу та простішу інтеграцію!
Спочатку ця публікація була опублікована за адресою https://www.linkedin.com/pulse/painless-integration-webhooks-kenneth-lange/.
Kenneth Lange люб’язно дозволив нам перекласти і опублікувати цю статтю.