Artigos

Que é un webhook e como o usas?

Os webhooks permiten que as aplicacións baseadas na web interactúen mediante o uso de devolucións de chamada personalizadas.

O uso de webhooks permite que as aplicacións web se comuniquen automaticamente con outras aplicacións web.

A diferenza dos sistemas tradicionais nos que un sistema (suxeito) segue consultando outro sistema (observador) para obter algúns datos, os webhooks permiten que o observador introduza automaticamente os datos no sistema do suxeito sempre que ocorre un evento.

Isto elimina a necesidade dun seguimento constante por parte do suxeito. Os webhooks funcionan totalmente en Internet e, polo tanto, toda comunicación entre sistemas debe realizarse en forma de mensaxes HTTP.

Usando webhooks

Os webhooks dependen da presenza de URL estáticos que apuntan a API do sistema do suxeito que deben ser notificados cando se produce un evento no sistema do observador. Un exemplo disto sería unha aplicación web deseñada para recoller e xestionar todos os pedidos realizados na conta de Amazon dun usuario. Neste escenario, Amazon actúa como observador e a aplicación web de xestión de pedidos personalizados actúa como suxeito.

En lugar de que a aplicación web personalizada chame periodicamente ás API de Amazon para comprobar se se creou un pedido, un webhook creado na aplicación web personalizada permitiría a Amazon enviar automaticamente un pedido recentemente creado na aplicación web a través dun URL rexistrado. Polo tanto, para habilitar o uso de webhooks, o suxeito debe ter URL designados que acepten notificacións de eventos do observador. Isto reduce unha carga significativa no obxecto xa que as chamadas HTTP realízanse entre as dúas partes só cando se produce un evento.

Sistemas baseados en sondaxes vs sistemas baseados en webhook

Unha vez que o observador chame o webhook do suxeito, o suxeito pode tomar as medidas oportunas con estes datos recentemente enviados. Normalmente, os webhooks realízanse mediante solicitudes POST a un URL específico. As solicitudes POST permítenche enviar información adicional ao obxecto. Ademais, tamén se pode usar para identificar entre varios eventos posibles en lugar de crear URL de webhook separados para cada evento.

Fluxo de traballo de webhook

Para implementar webhooks de entrada na súa aplicación, cómpre realizar os seguintes pasos básicos:

  • Expón un punto final da API no servidor de aplicacións que acepte e procese chamadas HTTP POST
  • Proporciona acceso a este punto final para usuarios potenciais de webhook. O punto final da API chamará a unha aplicación de orixe de datos sempre que se cumpran as condicións pertinentes.
  • Procesa os datos POST e devolve unha resposta ao iniciador da chamada webhook para indicar o estado. Este paso pode estar presente ou non.

Webhooks vs API

Tanto os webhooks como as API teñen como obxectivo establecer comunicación entre aplicacións. Non obstante, hai algunhas vantaxes e desvantaxes distintas de usar Webhooks fronte ás API para lograr a integración das aplicacións.

Boletín de innovación
Non te perdas as novidades máis importantes sobre innovación. Rexístrese para recibilos por correo electrónico.

Os webhooks adoitan ser mellores solucións se os seguintes puntos son máis relevantes para o sistema implementado:

  • Se os datos se actualizan con frecuencia no servidor, os webhooks adoitan ser mellores solucións xa que se eliminan as chamadas API innecesarias do cliente ao servidor. Segundo resthooks.com, o 98,5% das enquisas de API vanse desperdiciando.
  • Os webhooks permiten mellores solucións para sistemas que requiren actualizacións de datos case en tempo real. As enquisas da API adoitan realizarse a intervalos establecidos, o que pode impedir que se actualicen os datos en directo. Cos webhooks, as actualizacións envíanse desde o servidor ao cliente tan pronto como se activa o webhook.

O uso da API debería ser preferido sobre os webhooks noutras situacións.

Cousas a considerar

As cousas importantes a ter en conta para usar API en Webhooks son:

  • O uso da API permite unha maior personalización de cando sondear os datos dun servidor e tamén cantos datos hai que sondear desde o servidor. A cantidade de datos a sondear está rexida polo tamaño da enquisa da API. Con webhooks, o servidor xeralmente decide os datos e cando se envían.
  • Para sistemas con datos moi variables (como sistemas en tempo real, sistemas IoT, etc.), a votación baseada en API pode ser unha mellor opción xa que para cada chamada de API, hai unha alta probabilidade de respostas utilizables.
  • É posible que os datos enviados desde un servidor, a través dun webhook, sexan completamente ignorados polo cliente no caso de que os extremos REST estean fóra de liña. No caso de que o servidor non teña un mecanismo para tentar de novo estes pushs errados, as actualizacións de datos pérdense por completo.

Para xestionar a posibilidade de perder os datos enviados desde un servidor cando o webhook queda sen conexión, podes usar unha cola de mensaxes de eventos para arquivar esas chamadas. Exemplos de plataformas que ofrecen tal funcionalidade inclúen CoelloMQ o Servizo de cola simple (SQS) de Amazon. Ambos están deseñados para actuar como intermediarios de almacenamento de mensaxes que evitan a posibilidade de perder unha chamada webhook.

Ercole Palmeri

Boletín de innovación
Non te perdas as novidades máis importantes sobre innovación. Rexístrese para recibilos por correo electrónico.

Artigos recentes

O futuro está aquí: como a industria do transporte marítimo está revolucionando a economía global

O sector naval é unha verdadeira potencia económica mundial, que navega cara a un mercado de 150 millóns...

1 maio 2024

Editores e OpenAI asinan acordos para regular o fluxo de información procesada pola Intelixencia Artificial

O pasado luns, o Financial Times anunciou un acordo con OpenAI. FT licencia o seu xornalismo de clase mundial...

Abril 30 2024

Pagos en liña: aquí tes como os servizos de streaming che fan pagar para sempre

Millóns de persoas pagan por servizos de streaming, pagando taxas de subscrición mensuais. É unha opinión común que vostede...

Abril 29 2024

Veeam ofrece o soporte máis completo para ransomware, desde a protección ata a resposta e a recuperación

Coveware by Veeam continuará ofrecendo servizos de resposta a incidentes de extorsión cibernética. Coveware ofrecerá capacidades forenses e de remediación...

Abril 23 2024