paint-brush
Webhook vs API: ¿Cuál es la diferencia?por@rogerjin12
119,787 lecturas
119,787 lecturas

Webhook vs API: ¿Cuál es la diferencia?

por Roger Jin2017/07/10
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

La comunicación es un factor clave en la era digital. Como humanos, queremos que <a href="https://hackernoon.com/tagged/technology" target="_blank">la tecnología</a> nos ayude a comunicarnos más rápido, más fácil y con más personas. Pero para que eso suceda, primero tuvimos que encontrar una manera de hacer que las tecnologías se comuniquen entre sí.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail

Coin Mentioned

Mention Thumbnail
featured image - Webhook vs API: ¿Cuál es la diferencia?
Roger Jin HackerNoon profile picture

La comunicación es un factor clave en la era digital. Como humanos, queremos que la tecnología nos ayude a comunicarnos más rápido, más fácil y con más personas. Pero para que eso suceda, primero tuvimos que encontrar una manera de hacer que las tecnologías se comuniquen entre sí.

Ahí es donde entran en juego las API y los webhooks.

Tanto los webhooks como las API facilitan la sincronización y la transmisión de datos entre dos aplicaciones. Sin embargo, ambos tienen diferentes medios para hacerlo y, por lo tanto, sirven para propósitos ligeramente diferentes.

Para aclarar cualquier confusión entre los dos, echemos un vistazo a las diferencias entre un webhook y una API, y para qué tipo de escenario es más apropiado cada uno.

Webhook vs API: las diferencias en términos simples

En pocas palabras, una API hace cosas cuando se lo pides, mientras que un Webhook hace cosas por sí solo cuando se cumplen ciertos criterios o se dan situaciones. Profundicemos un poco más.

Se puede usar una API desde un servidor para comunicarse con example.com. A través de esa comunicación, la API puede enumerar, crear, editar o eliminar elementos. Sin embargo, la API debe recibir instrucciones.

Los webhooks, por otro lado, son llamadas automáticas de example.com a un servidor. Esas llamadas se activan cuando ocurre un evento específico en example.com. Por ejemplo, si un nuevo usuario se registra en example.com, la llamada automática puede configurarse para solicitar al servidor que envíe un correo electrónico de bienvenida.

¿Qué es un webhook?

A veces, los webhooks se denominan API inversa, pero esto no es del todo cierto. No se ejecutan al revés, sino que no es necesario que se inicie una solicitud por su parte, los datos se envían cada vez que hay nuevos datos disponibles.

Para configurar un webhook, todo lo que tiene que hacer es registrar una URL con la empresa que demuestre el servicio del que está solicitando datos. Esa URL aceptará datos y puede activar un flujo de trabajo para convertir los datos en algo útil. En la mayoría de los casos, incluso puede especificar las situaciones en las que su proveedor le entregará los datos.

Los webhooks y las API difieren en la forma en que realizan las solicitudes. Por ejemplo, las API realizarán llamadas de datos ya sea que haya una respuesta de actualización de datos o no. Mientras que los webhooks reciben llamadas a través de HTTP POST solo cuando el sistema externo al que está conectado tiene una actualización de datos.

Cuándo usar un WebHook

Los webhooks se usan comúnmente para realizar solicitudes y tareas más pequeñas; sin embargo, hay situaciones en las que un webhook es más apropiado que una API completa.

Un escenario común es cuando su aplicación o plataforma exige actualizaciones en tiempo real, pero no quiere desperdiciar sus recursos. En este caso, un webhook sería beneficioso.

Otra circunstancia para usar un webhook sobre una API sería cuando la API es muy pobre o no hay una API para empezar. Puede crear una solución alternativa para brindarle los datos que su aplicación requiere para funcionar.

Sin embargo, hay una advertencia sobre los webhooks. Dado que no se utilizan para solicitar datos regularmente, y solo lo hacen cuando hay nuevos datos disponibles, existe la posibilidad de que nunca se entere de nuevas actualizaciones si el sistema se desconecta por algún motivo. También tendrá menos control sobre el flujo total de datos, ya que debe aceptar la cantidad total de datos que está disponible con la actualización dada.

Ejemplos de webhooks de la vida real

Muchas aplicaciones y herramientas se basan en webhooks, pero principalmente para solicitudes de datos más pequeñas en lugar de usarlos para formar la columna vertebral de su servicio. Aún así, hay muchos ejemplos de webhooks que se usan de manera efectiva.

  1. El webhook de ButterCMS se activa cada vez que alguien publica una nueva entrada de blog o actualiza contenido en su CMS.
  2. Zapier es esencialmente un webhook gigante . Vincula ciertas aplicaciones y cada vez que ocurre un evento en una, desencadena una acción en la otra.
  3. Stripe tiene un webhook que enviará automáticamente un correo electrónico a un cliente cada vez que no se realice el pago de una suscripción.

¿Qué es una API?

API significa Interfaz de programación de aplicaciones. Una API es una forma de que las aplicaciones y plataformas se conecten con otras aplicaciones y plataformas a través de un método de comunicación común. Para que una API funcione, hay una solicitud de datos, seguida de una respuesta a esa solicitud. Los datos generalmente se entregan en un formato como JSON.

Las API tienden a ser el marco en el que se basan una gran cantidad de software y herramientas existentes. Por ejemplo, una aplicación que crea informes de tendencias de Twitter podría depender de una API para obtener continuamente los datos más actualizados directamente desde Twitter. La mayoría de las aplicaciones grandes tienen múltiples API que integran con la expansión de sus ofertas de servicios, como verá a continuación.

Cuándo usar una API

Las API funcionan increíblemente bien cuando sabe que va a tener un cambio constante en los datos. No tiene sentido usar una API si los datos que necesita van a estar relativamente estancados. Por ejemplo, si usted es una tienda de comercio electrónico que regularmente tiene que actualizar sus datos de envío y seguimiento, entonces estará haciendo solicitudes constantes.

Cada vez que sondee la API, obtendrá nuevos datos. Si sus datos no se actualizan constantemente, entonces no hay garantía de que habrá datos listos para usted en el otro extremo. Cuando esto sucede, simplemente está desperdiciando recursos. Sin embargo, si está configurado para usar una API, puede imponer un límite de llamadas, lo que limitará la cantidad de llamadas que realiza en un período de tiempo establecido. Algunas aplicaciones incluso limitan la cantidad de llamadas que realiza desde el principio para reducir el uso de recursos por su parte.

Ejemplos de API de la vida real

Como mencionamos anteriormente, las API están en todas partes. Según los últimos resultados de ProgrammableWeb , actualmente hay más de 17 000 API existentes. A continuación, encontrará algunas herramientas que emplean el uso de API para que sus herramientas funcionen:

  1. Como un CMS que prioriza la API , ButterCMS tiene su propia API REST, tiene URL predecibles y orientadas a los recursos, y utiliza códigos de respuesta HTTP para indicar errores de API, cuyas capacidades se demuestran en esta compilación de React Universal Blog .
  2. Uber también se basa en la API de Google Maps, la API de Twilio, la API de Braintree y la API de SendGrid para impulsar su aplicación.
  3. Slack tiene una API que le permite integrar sus funciones de mensajería en sus aplicaciones de terceros.

Los webhooks y las API se ejecutan en diferentes círculos

No se trata de cuál es mejor, porque no hay una circunstancia general en la que un método supere al otro. Es más una pregunta sobre los propósitos de su aplicación y el tipo de datos que está solicitando.

Para usar un ejemplo, puede pensar en una API como un mensaje de texto que envía a un amigo para obtener más información sobre un evento que está organizando. Usted hace una pregunta, ellos envían una respuesta.

Con un webhook, le dices a tu amigo una vez que te envíe un mensaje de texto cuando esté organizando otro evento, solo para avisarte. Usted ingresa la solicitud inicial y continuamente le envían actualizaciones cuando surge nueva información.

Al final, la mayoría de las aplicaciones terminan usando API y webhooks juntos para crear un sistema que pueda comunicar los tipos correctos de datos en los momentos correctos.

Este artículo se publicó originalmente en el blog ButterCMS . ButterCMS es un motor de blog y CMS basado en API alojado que le permite crear aplicaciones basadas en CMS.