Vés al contingut

Webhook

De la Viquipèdia, l'enciclopèdia lliure

Un webhook, en desenvolupament web, és un mecanisme emprat en alguns sistemes per demanar de ser informats d'esdeveniments en temps real, com ara confirmacions de pagament o alertes meteorològiques. El sistema client informa en quin endpoint URL espera la informació i el servidor la invocarà de seguida[1] quan la tingui disponible.

És un mètode per augmentar o alterar el comportament d'una pàgina web o aplicació web amb funcions de callback (figura 1) personalitzades. Aquestes funcions callback poden ser mantingudes, modificades i gestionades per usuaris i desenvolupadors de tercers que no necessàriament estiguin afiliats al lloc web o a l'aplicació d'origen. El terme "webhook" va ser encunyat per Jeff Lindsay l'any 2007 a partir del terme de programació informàtica hook.[2]

El format sol ser JSON. La sol·licitud es fa amb mètode HTTP POST.

Els webhooks són "funcions callback HTTP definida per l'usuari".[3] Normalment es desencadenen per algun esdeveniment, com ara enviar codi a un repositori[4] o un comentari publicat a un bloc.[5] Quan es produeix aquest esdeveniment, el lloc d'origen fa una sol·licitud HTTP a l'URL configurat per al webhook. Els usuaris poden configurar-los perquè els esdeveniments d'un lloc invoquin comportament en un altre.[6]

Els usos habituals són per activar compilacions amb sistemes d'integració contínua [7] o per notificar sistemes de seguiment d'errors.[8] Com que els webhooks utilitzen HTTP, es poden integrar als serveis web sense afegir nova infraestructura.

Quan el client (el lloc web o l'aplicació d'origen) fa una callback de webhook al servidor de l'usuari de tercers, s'ha d'autenticar la sol·licitud POST entrant per evitar un atac de falsificació i verificar la seva marca de temps per evitar un atac de reproducció.[9]

Cal no confondre amb les notificacions push. La diferència conceptual és que els webhooks són per comunicar sistemes i les push són per notificar dispositius finals (mòbils, etc).[10]

Referències

[modifica]
  1. «What Are Webhooks and How Do They Work?» (en anglès). Hookdeck Technologies Inc.. [Consulta: 6 abril 2025].
  2. Web hook to revolutionize the web, 3 May 2007, <http://progrium.com/blog/2007/05/03/web-hooks-to-revolutionize-the-web/> Arxivat 26 August 2015[Date mismatch] a Wayback Machine. «Còpia arxivada». Arxivat de l'original el 2015-08-26. [Consulta: 3 octubre 2022].
  3. «Webhooks». Atlassian. [Consulta: 24 setembre 2019].]
  4. About Webhooks - Github Help
  5. WordPress Webhooks
  6. «What are WebHooks and How Do They Enable a Real-time Web?». Arxivat de l'original el 2012-08-19. [Consulta: 3 octubre 2022].
  7. Jenkins GitHub Commit Hooks HOWTO, <http://wiki.cloudbees.com/bin/view/DEV/GitHub+Commit+Hooks+HOWTO> Arxivat 2015-09-25 a Wayback Machine. «Còpia arxivada». Arxivat de l'original el 2015-09-25. [Consulta: 3 octubre 2022].
  8. Google Project Hosting - Post-Commit Web Hooks[Enllaç no actiu]
  9. «Why Verify». Svix. Svix Inc.. [Consulta: 12 setembre 2021].
  10. «Push Notifications or Webhooks» (en anglès). [Consulta: 6 abril 2025].