Articole

Ce este un webhook și cum îl folosești?

Webhook-urile permit aplicațiilor bazate pe web să interacționeze prin utilizarea apelurilor personalizate.

Utilizarea webhook-urilor permite aplicațiilor web să comunice automat cu alte aplicații web.

Spre deosebire de sistemele tradiționale în care un sistem (subiect) continuă să interogheze un alt sistem (observator) pentru anumite date, webhook-urile permit observatorului să introducă automat datele în sistemul subiectului ori de câte ori are loc un eveniment.

Acest lucru elimină necesitatea monitorizării constante de către subiect. Webhook-urile funcționează în întregime pe Internet și, prin urmare, toată comunicarea între sisteme trebuie să aibă loc sub formă de mesaje HTTP.

Folosind webhook-uri

Webhook-urile se bazează pe prezența URL-urilor statice care indică API-uri în sistemul subiectului care trebuie notificate atunci când are loc un eveniment în sistemul observatorului. Un exemplu în acest sens ar fi o aplicație web concepută pentru a colecta și gestiona toate comenzile plasate pe contul Amazon al unui utilizator. În acest scenariu, Amazon acționează ca observator, iar aplicația web Custom Order Management acționează ca subiect.

În loc ca aplicația web personalizată să apeleze periodic API-urile Amazon pentru a verifica o comandă creată, un webhook creat în aplicația web personalizată ar permite Amazon să trimită automat o comandă nou creată în aplicația web printr-o adresă URL înregistrată. Prin urmare, pentru a permite utilizarea webhook-urilor, subiectul trebuie să aibă adrese URL desemnate care acceptă notificări de evenimente de la observator. Acest lucru reduce o încărcare semnificativă a obiectului, deoarece apelurile HTTP sunt efectuate între cele două părți numai atunci când are loc un eveniment.

Sisteme bazate pe sondaje vs sisteme bazate pe webhook

Odată ce webhook-ul subiectului este apelat de către observator, subiectul poate lua măsurile corespunzătoare cu aceste date nou trimise. De obicei, webhook-urile se fac prin solicitări POST către o anumită adresă URL. Solicitările POST vă permit să trimiteți informații suplimentare obiectului. În plus, poate fi folosit și pentru a identifica între o serie de evenimente posibile, în loc să creeze adrese URL webhook separate pentru fiecare eveniment.

Flux de lucru Webhook

Pentru a implementa webhook-uri de intrare în aplicația dvs., trebuie să efectuați următorii pași de bază:

  • Expuneți un punct final API pe serverul dvs. de aplicații care acceptă și procesează apeluri HTTP POST
  • Oferiți acces la acest punct final pentru potențialii utilizatori webhook. Punctul final API va apela o aplicație sursă de date ori de câte ori sunt îndeplinite condițiile relevante.
  • Procesați datele POST și returnați un răspuns inițiatorului apelului webhook pentru a indica starea. Acest pas poate fi prezent sau nu.

Webhook-uri vs. API-uri

Atât webhook-urile, cât și API-urile au scopul de a stabili comunicarea între aplicații. Cu toate acestea, există câteva avantaje și dezavantaje distincte ale utilizării Webhook-urilor față de API-uri pentru a realiza integrarea aplicației.

Buletin informativ de inovare
Nu rata cele mai importante știri despre inovație. Înscrieți-vă pentru a le primi pe e-mail.

Webhook-urile tind să fie soluții mai bune dacă următoarele puncte sunt mai relevante pentru sistemul implementat:

  • Dacă datele sunt actualizate frecvent pe server, webhook-urile tind să fie soluții mai bune, deoarece apelurile API inutile de la client la server sunt eliminate. Potrivit resthooks.com, 98,5% din sondajele API se irosesc.
  • Webhook-urile permit soluții mai bune pentru sistemele care necesită actualizări de date aproape în timp real. Sondajele API rulează de obicei la intervale stabilite, ceea ce poate împiedica actualizarea datelor în direct. Cu webhook-urile, actualizările sunt trimise de la server către client de îndată ce este declanșat webhook-ul.

Utilizarea API-ului ar trebui să fie preferată față de webhook-uri în alte situații.

Lucruri de luat în considerare

Lucrurile importante de luat în considerare pentru utilizarea API-urilor pe Webhooks sunt:

  • Utilizarea API-ului permite o personalizare mai mare a momentului în care să interogăți datele de pe un server și, de asemenea, câte date să interogeți de pe server. Cantitatea de date de interogat este guvernată de dimensiunea sondajului API. Cu webhook-uri, serverul decide în general datele și când sunt trimise.
  • Pentru sistemele cu date foarte variabile (cum ar fi sistemele în timp real, sistemele IoT etc.), sondarea bazată pe API ar putea fi o opțiune mai bună, deoarece pentru fiecare apel API, există o probabilitate mare de răspunsuri utilizabile.
  • Este posibil ca datele trimise de la un server, prin intermediul unui webhook, să fie complet ignorate de către client în cazul în care punctele finale REST sunt offline. În cazul în care serverul nu are un mecanism pentru a reîncerca astfel de push-uri eșuate, actualizările de date se pierd complet.

Pentru a face față posibilității de a pierde datele trimise de la un server atunci când webhook-ul este offline, puteți utiliza o coadă de mesaje pentru evenimente pentru a arhiva apelurile respective. Exemple de platforme care oferă o astfel de funcționalitate includ Iepure MQ o Serviciul Simple Queue Service (SQS) de la Amazon. Ambele sunt concepute pentru a acționa ca facilități intermediare de stocare a mesajelor care evită posibilitatea de a pierde un apel webhook.

Ercole Palmeri

Buletin informativ de inovare
Nu rata cele mai importante știri despre inovație. Înscrieți-vă pentru a le primi pe e-mail.

Articole recente

Editorii și OpenAI semnează acorduri pentru a reglementa fluxul de informații procesate de Inteligența Artificială

Luni trecută, Financial Times a anunțat un acord cu OpenAI. FT își licențiază jurnalismul de clasă mondială...

Aprilie 30 2024

Plăți online: Iată cum serviciile de streaming vă fac să plătiți pentru totdeauna

Milioane de oameni plătesc pentru serviciile de streaming, plătind taxe lunare de abonament. Este o părere comună că tu...

Aprilie 29 2024

Veeam oferă cel mai complet suport pentru ransomware, de la protecție la răspuns și recuperare

Coveware de la Veeam va continua să ofere servicii de răspuns la incidente de extorcare cibernetică. Coveware va oferi capacități criminalistice și de remediere...

Aprilie 23 2024

Revoluția verde și digitală: cum întreținerea predictivă transformă industria petrolului și gazelor

Întreținerea predictivă revoluționează sectorul petrolului și gazelor, cu o abordare inovatoare și proactivă a managementului uzinelor...

Aprilie 22 2024