ENES

Webhook

Una forma de que un servicio llame a tu app en el momento en que pasa algo.

En lugar de que una app le pregunte una y otra vez a un servicio de pagos si pasó algo, el servicio llama una vez a la URL de la app cuando llega un pago

Un webhook es un mensaje que un sistema le manda a otro de forma automática cuando ocurre un evento. Le das a un servicio una URL tuya y, cuando pasa algo (se aprueba un pago, alguien pushea código a GitHub, se envía un formulario), el servicio hace un pedido HTTP POST a esa URL con los detalles, casi siempre en JSON.

Es una llamada a una API pero en el sentido contrario. Con una API normal, tu app pregunta: "¿hay pagos nuevos?". Para enterarse rápido tendría que preguntar cada pocos segundos, algo que se llama polling y gasta esfuerzo cuando la respuesta casi siempre es "no". Con un webhook, tu app dice una sola vez: "llamame acá cuando pase", y después solo escucha.

Como cualquiera en internet podría mandar un pedido a esa URL, los webhooks bien hechos vienen firmados: el que envía agrega un código calculado con un secreto compartido, y tu app lo verifica antes de confiar en el mensaje. Además, si tu app no responde, el que envía reintenta, así que el mismo evento puede llegar dos veces y un buen receptor está preparado para ignorar duplicados. Herramientas como Zapier se apoyan en gran parte en webhooks para conectar los eventos de un servicio con las acciones de otro.

Para quedarse

Para seguir leyendo

Términos relacionados

Más de Software