Articles

Què és un webhook i com s'utilitza?

Els webhooks permeten que les aplicacions basades en web interaccionin mitjançant l'ús de trucades personalitzades.

L'ús de webhooks permet que les aplicacions web es comuniquin automàticament amb altres aplicacions web.

A diferència dels sistemes tradicionals on un sistema (subjecte) segueix sondejant un altre sistema (observador) per obtenir algunes dades, els webhooks permeten que l'observador introdueixi automàticament les dades al sistema del subjecte sempre que es produeixi un esdeveniment.

Això elimina la necessitat d'un seguiment constant per part del subjecte. Els webhooks funcionen completament a Internet i, per tant, tota comunicació entre sistemes s'ha de fer en forma de missatges HTTP.

Ús de webhooks

Els webhooks es basen en la presència d'URL estàtics que apunten a API del sistema del subjecte que s'han de notificar quan es produeix un esdeveniment al sistema de l'observador. Un exemple d'això seria una aplicació web dissenyada per recollir i gestionar totes les comandes realitzades al compte d'Amazon d'un usuari. En aquest escenari, Amazon actua com a observador i l'aplicació web Custom Order Management actua com a subjecte.

En lloc de fer que l'aplicació web personalitzada truqui periòdicament a les API d'Amazon per comprovar si s'ha creat una comanda, un webhook creat a l'aplicació web personalitzada permetria a Amazon enviar automàticament una comanda acabada de crear a l'aplicació web mitjançant un URL registrat. Per tant, per permetre l'ús de webhooks, el subjecte ha de tenir URL designats que acceptin notificacions d'esdeveniments de l'observador. Això redueix una càrrega important a l'objecte, ja que les trucades HTTP es fan entre les dues parts només quan es produeix un esdeveniment.

Sistemes basats en enquestes vs sistemes basats en webhook

Un cop l'observador crida al webhook del subjecte, el subjecte pot prendre l'acció adequada amb aquestes dades recentment enviades. Normalment, els webhooks es fan mitjançant sol·licituds POST a un URL específic. Les sol·licituds POST us permeten enviar informació addicional a l'objecte. A més, també es pot utilitzar per identificar entre diversos esdeveniments possibles en lloc de crear URL de webhook separats per a cada esdeveniment.

Flux de treball del webhook

Per implementar webhooks entrants a la vostra aplicació, heu de realitzar els passos bàsics següents:

  • Exposeu un punt final d'API al vostre servidor d'aplicacions que accepti i processi les trucades HTTP POST
  • Proporcioneu accés a aquest punt final per als usuaris potencials de webhook. El punt final de l'API trucarà a una aplicació de font de dades sempre que es compleixin les condicions rellevants.
  • Processeu les dades POST i retorneu una resposta a l'iniciador de la trucada del webhook per indicar l'estat. Aquest pas pot estar present o no.

Webhooks vs. API

Tant els webhooks com les API tenen l'objectiu d'establir comunicació entre aplicacions. Tanmateix, hi ha alguns avantatges i desavantatges diferents d'utilitzar Webhooks sobre les API per aconseguir la integració d'aplicacions.

Butlletí d'innovació
No et perdis les notícies més importants sobre innovació. Registra't per rebre'ls per correu electrònic.

Els webhooks solen ser millors solucions si els punts següents són més rellevants per al sistema implementat:

  • Si les dades s'actualitzen amb freqüència al servidor, els webhooks solen ser millors solucions, ja que s'eliminen les trucades d'API innecessàries del client al servidor. Segons resthooks.com, el 98,5% de les enquestes API es malgasten.
  • Els webhooks permeten millors solucions per als sistemes que requereixen actualitzacions de dades gairebé en temps real. Les enquestes de l'API normalment s'executen a intervals determinats que poden impedir que les dades en directe s'actualitzin. Amb els webhooks, les actualitzacions s'envien des del servidor al client tan bon punt s'activa el webhook.

S'hauria de preferir l'ús de l'API sobre els webhooks en algunes altres situacions.

Coses a tenir en compte

Els aspectes importants a tenir en compte per utilitzar les API als Webhooks són:

  • L'ús de l'API permet personalitzar més quan s'han de consultar dades d'un servidor i també quantes dades s'han d'enquestar des del servidor. La quantitat de dades que s'han d'enquestar es regeix per la mida de l'enquesta de l'API. Amb els webhooks, el servidor generalment decideix les dades i quan s'envien.
  • Per als sistemes amb dades molt variables (com ara sistemes en temps real, sistemes IoT, etc.), l'enquesta basada en API podria ser una millor opció, ja que per a cada trucada d'API, hi ha una alta probabilitat de respostes utilitzables.
  • És possible que les dades enviades des d'un servidor, mitjançant un webhook, siguin completament ignorades pel client en cas que els punts finals REST estiguin fora de línia. En cas que el servidor no tingui un mecanisme per tornar a provar aquests pushs fallits, les actualitzacions de dades es perden completament.

Per fer front a la possibilitat de perdre dades enviades des d'un servidor quan el webhook es desconnecta, podeu utilitzar una cua de missatgeria d'esdeveniments per arxivar aquestes trucades. Alguns exemples de plataformes que proporcionen aquesta funcionalitat inclouen ConillMQ o Servei de cua simple (SQS) d'Amazon. Tots dos estan dissenyats per actuar com a instal·lacions d'emmagatzematge de missatgeria intermediaris que eviten la possibilitat de perdre's una trucada webhook.

Ercole Palmeri

Butlletí d'innovació
No et perdis les notícies més importants sobre innovació. Registra't per rebre'ls per correu electrònic.

Articles recents

Intervenció innovadora en Realitat Augmentada, amb un visor Apple al Policlínic de Catània

Es va realitzar una operació d'oftalmoplàstia amb el visualitzador comercial Apple Vision Pro a la Policlínica de Catània...

3 maig 2024

Els avantatges de les pàgines per pintar per a nens: un món de màgia per a totes les edats

El desenvolupament de la motricitat fina a través del color prepara els nens per a habilitats més complexes com escriure. Per acolorir...

2 maig 2024

El futur és aquí: com la indústria naviliera està revolucionant l'economia global

El sector naval és una veritable potència econòmica mundial, que ha navegat cap a un mercat de 150 milions...

1 maig 2024

Els editors i OpenAI signen acords per regular el flux d'informació processada per la Intel·ligència Artificial

Dilluns passat, el Financial Times va anunciar un acord amb OpenAI. FT autoritza el seu periodisme de classe mundial...

30 2024 abril