Artikulo

Ano ang isang webhook at paano mo ito ginagamit?

Pinapagana ng mga webhook ang pakikipag-ugnayan sa pagitan ng mga web-based na application sa pamamagitan ng paggamit ng mga custom na callback.

Ang paggamit ng webhooks ay nagbibigay-daan sa mga web application na awtomatikong makipag-ugnayan sa iba pang mga web-app.

Hindi tulad ng mga tradisyunal na system kung saan ang isang system (paksa) ay patuloy na nagboboto ng isa pang system (tagamasid) para sa ilang data, pinapayagan ng mga webhook ang tagamasid na awtomatikong itulak ang data sa system ng paksa sa tuwing may nangyaring kaganapan.

Tinatanggal nito ang pangangailangan para sa patuloy na pagsubaybay ng paksa. Ang mga webhook ay ganap na gumagana sa Internet at samakatuwid ang lahat ng komunikasyon sa pagitan ng mga system ay dapat maganap sa anyo ng mga mensaheng HTTP.

Gamit ang mga webhook

Ang mga webhook ay umaasa sa pagkakaroon ng mga static na URL na tumuturo sa mga API sa system ng paksa na kailangang maabisuhan kapag may nangyaring kaganapan sa system ng tagamasid. Ang isang halimbawa nito ay isang web app na idinisenyo upang kolektahin at pamahalaan ang lahat ng mga order na inilagay sa Amazon account ng isang user. Sa sitwasyong ito, gumaganap ang Amazon bilang tagamasid at gumaganap ang Custom Order Management Webapp bilang paksa.

Sa halip na pana-panahong tawagan ng custom na webapp ang mga API ng Amazon upang tingnan kung may nagawang order, ang isang webhook na ginawa sa custom na webapp ay magbibigay-daan sa Amazon na awtomatikong magsumite ng order na bagong nilikha sa webapp sa pamamagitan ng isang nakarehistrong URL. Samakatuwid, upang paganahin ang paggamit ng mga webhook, ang paksa ay dapat na may mga itinalagang URL na tumatanggap ng mga notification ng kaganapan mula sa tagamasid. Binabawasan nito ang isang makabuluhang pag-load sa bagay dahil ang mga tawag sa HTTP ay ginagawa sa pagitan ng dalawang partido kapag may nangyaring kaganapan.

Mga sistemang nakabatay sa botohan kumpara sa mga sistemang nakabatay sa webhook

Sa sandaling tinawag ng tagamasid ang webhook ng paksa, maaaring gawin ng paksa ang naaangkop na pagkilos gamit ang bagong isinumiteng data na ito. Karaniwan, ang mga webhook ay ginagawa sa pamamagitan ng mga kahilingan sa POST sa isang partikular na URL. Hinahayaan ka ng mga kahilingan ng POST na magpadala ng karagdagang impormasyon sa bagay. Bukod pa rito, maaari din itong gamitin upang tumukoy sa ilang iba't ibang posibleng kaganapan sa halip na gumawa ng hiwalay na mga URL ng webhook para sa bawat kaganapan.

Daloy ng trabaho sa webhook

Upang ipatupad ang mga papasok na webhook sa iyong application, kailangan mong gawin ang mga sumusunod na pangunahing hakbang:

  • Ilantad ang isang API endpoint sa iyong application server na tumatanggap at nagpoproseso ng mga HTTP POST na tawag
  • Magbigay ng access sa endpoint na ito para sa mga potensyal na user ng webhook. Ang API endpoint ay tatawag ng data source application sa tuwing natutugunan ang mga nauugnay na kundisyon.
  • Iproseso ang POST data at magbalik ng tugon sa webhook call initiator upang isaad ang status. Ang hakbang na ito ay maaaring naroroon o maaaring wala.

Webhooks vs. API

Parehong may layunin ang mga webhook at API na magtatag ng komunikasyon sa pagitan ng mga application. Gayunpaman, mayroong ilang natatanging mga pakinabang at disadvantages ng paggamit ng Webhooks sa mga API upang makamit ang pagsasama ng application.

newsletter ng pagbabago
Huwag palampasin ang pinakamahalagang balita sa pagbabago. Mag-sign up upang matanggap ang mga ito sa pamamagitan ng email.

Ang mga webhook ay malamang na maging mas mahusay na mga solusyon kung ang mga sumusunod na punto ay mas nauugnay sa ipinatupad na sistema:

  • Kung ang data ay madalas na ina-update sa server, ang mga webhook ay malamang na maging mas mahusay na mga solusyon dahil ang mga hindi kinakailangang tawag sa API mula sa kliyente patungo sa server ay inaalis. Ayon sa resthooks.com, 98,5% ng mga survey ng API ay nasasayang.
  • Nagbibigay-daan ang mga Webhook ng mas mahuhusay na solusyon para sa mga system na nangangailangan ng malapit sa real-time na mga update sa data. Karaniwang tumatakbo ang mga API poll sa mga nakatakdang pagitan na maaaring pumigil sa pag-update ng live na data. Sa webhooks, ang mga update ay ipinapadala mula sa server patungo sa kliyente sa sandaling ma-trigger ang webhook.

Ang paggamit ng API ay dapat na mas gusto kaysa sa mga webhook sa ilang iba pang mga sitwasyon.

Mga bagay na dapat isaalang-alang

Ang mahahalagang bagay na dapat isaalang-alang para sa paggamit ng mga API sa Webhooks ay:

  • Ang paggamit ng API ay nagbibigay-daan para sa higit pang pag-customize kung kailan dapat mag-poll para sa data mula sa isang server at gayundin kung gaano karaming data ang ipo-poll mula sa server. Ang dami ng data na ipo-poll ay pinamamahalaan ng laki ng poll ng API. Sa webhooks, ang server ay karaniwang nagpapasya sa data at kung kailan ito ipinadala.
  • Para sa mga system na may mataas na variable na data (tulad ng mga real-time system, IoT system, atbp.), ang API-based na botohan ay maaaring maging isang mas mahusay na opsyon dahil para sa bawat tawag sa API, may mataas na posibilidad ng magagamit na mga tugon.
  • Posible para sa data na ipinadala mula sa isang server, sa pamamagitan ng isang webhook, na ganap na balewalain ng kliyente kung sakaling offline ang mga REST endpoint. Kung sakaling ang server ay walang mekanismo upang muling subukan ang mga naturang bigong push, ang mga pag-update ng data ay ganap na mawawala.

Upang harapin ang posibilidad ng pagkawala ng data na ipinadala mula sa isang server kapag nag-offline ang webhook, maaari kang gumamit ng queue sa pagmemensahe ng kaganapan upang i-archive ang mga tawag na iyon. Kasama sa mga halimbawa ng mga platform na nagbibigay ng ganoong functionality Kuneho MQ o Simple Queue Service (SQS) ng Amazon. Parehong idinisenyo upang kumilos bilang tagapamagitan na mga pasilidad ng imbakan ng pagmemensahe na umiiwas sa posibilidad na mawalan ng tawag sa webhook.

Ercole Palmeri

newsletter ng pagbabago
Huwag palampasin ang pinakamahalagang balita sa pagbabago. Mag-sign up upang matanggap ang mga ito sa pamamagitan ng email.

Kamakailang Mga Artikulo

Pumirma ang mga publisher at OpenAI ng mga kasunduan para i-regulate ang daloy ng impormasyong pinoproseso ng Artificial Intelligence

Noong nakaraang Lunes, inihayag ng Financial Times ang isang deal sa OpenAI. Nilisensyahan ng FT ang world-class na pamamahayag nito...

Abril 30 2024

Mga Online na Pagbabayad: Narito Kung Paano Ka Binabayaran ng Mga Serbisyo ng Streaming Magpakailanman

Milyun-milyong tao ang nagbabayad para sa mga serbisyo ng streaming, na nagbabayad ng buwanang bayad sa subscription. Karaniwang opinyon na ikaw ay…

Abril 29 2024

Itinatampok ng Veeam ang pinakakomprehensibong suporta para sa ransomware, mula sa proteksyon hanggang sa pagtugon at pagbawi

Ang Coveware ng Veeam ay patuloy na magbibigay ng mga serbisyo sa pagtugon sa insidente ng cyber extortion. Mag-aalok ang Coveware ng mga kakayahan sa forensics at remediation...

Abril 23 2024

Green and Digital Revolution: Kung Paano Binabago ng Predictive Maintenance ang Industriya ng Langis at Gas

Binabago ng predictive maintenance ang sektor ng langis at gas, na may makabago at proactive na diskarte sa pamamahala ng halaman.…

Abril 22 2024