Ser desarrollador tambiĆ©n conlleva la bĆŗsqueda incesante de facilitarte el trabajo. Por suerte, el resto del mundo de los desarrolladores tambiĆ©n estĆ” en esta bĆŗsqueda y a menudo lo ha hecho creando herramientas Ćŗtiles. La mayorĆa de las herramientas sólo resuelven partes de tu problema y te ahorran un poco de tiempo y frustración. Sin embargo, de vez en cuando encuentras una herramienta que Ā”es una solución tan perfecta para tu situación! Tan genial que te dan ganas de correr como un loco yendo de puerta en puerta corriendo la voz de esta nueva y genial herramienta que acabas de encontrar. Esta vez esa herramienta era Ngrok para probar webhooks.
Un webhook es un concepto bastante sencillo. Cuando trabajas con un tercero y quieres que te notifique ciertos cambios, la otra parte puede suministrarte una devolución de llamada personalizada sobre eventos como cambios de estado. A continuación, tĆŗ les proporcionas una URL en la que quieres recibir un postback, para que puedas actuar sobre estos eventos. Ahora bien, esto parece fĆ”cil de hacer y no deberĆa suponer mucho problema, asĆ que Āæpor quĆ© querrĆas utilizar Ngrok? La respuesta: Ā”para probarlo en tu mĆ”quina local!
Normalmente, tu localhost o contenedor Docker no es (o no quieres que sea) accesible desde fuentes externas. PodrĆas hacer un montón de configuraciones y abrir puertos en los que el webhook publique su callback o aƱadir algunas excepciones en tu cortafuegos. Pero lo mĆ”s probable es que no quieras molestarte por esto cada vez que vayas a implementar un webhook. AquĆ es donde Ngrok te ayuda creando un tĆŗnel seguro a tu host local para probar los webhooks. Ā”Es muy fĆ”cil! Todo lo que tienes que hacer es descargar y descomprimir Ngrok, ir a la carpeta en tu terminal y escribir ./ngrok HTTP y el puerto que quieres que utilice el tĆŗnel.
Esto darÔ como resultado dos URLs generadas para HTTP y HTTPS que puedes establecer como la URL en la que quieres recibir el postback del webhook. La URL permanecerÔ activa mientras el terminal esté abierto, de modo que cuando cierres el terminal, no tendrÔs que preocuparte de que el túnel siga abierto después de probar tus webhooks.
Ngrok tambiƩn proporciona una interfaz web muy prƔctica en el puerto localhost 4040 ( http://localhost:4040) donde puedes ver las solicitudes entrantes.
La interfaz web tambiƩn puede reproducir la solicitud para que no tengas que esperar a que el webhook se active de nuevo, lo que acelera mucho las cosas.
Como comentario final, me gustarĆa seƱalar que aunque Ngrok estĆ” hecho para implementar webhooks. PodrĆa verme utilizĆ”ndolo para otros fines, como durante el desarrollo móvil para acceder fĆ”cilmente a localhost desde un emulador o dispositivo móvil. O cuando necesite probar rĆ”pidamente una aplicación web responsiva en localhost desde una tableta.
Por: Rowan van Balen