La primera y principal diferencia entre ellos es que con la mayoría de las API hay una solicitud seguida de una respuesta. No se requiere ninguna solicitud para un webhook, solo envía los datos cuando están disponibles.
La API es una interfaz para sus datos en example.com. La API se usa desde su servidor a la plataforma example.com y se puede usar para Listar, Crear, Editar o Eliminar elementos.
Webhooks son llamadas automatizadas de example.com a su servidor que se activan cuando ocurre un evento específico en example.com. Por ejemplo, cuando se completa una tarea y desea conocerla en tiempo real, haremos una solicitud POST a la URL que ha registrado para el webhook EVENT.COMPLETED en su cuenta de ejemplo.
En pocas palabras: la API es donde usted dice cosas de example.com y Webhooks es donde example.com le dice cosas.
SaaS es un concepto: la idea del software que existe en la nube y el cliente generalmente es un navegador. Una aplicación SaaS se define por las funciones que puede proporcionar a un usuario (por ejemplo, Salesforce proporciona una base de datos que se puede utilizar para almacenar información del cliente). Las funciones disponibles están determinadas por el propósito de la aplicación (es decir: CRM, Email Blaster, CMS , etc.)
Una API es una forma de que las aplicaciones SaaS se conecten con otras aplicaciones a través de un método de comunicación común (ReST, SOAP, JSON, etc.). Una API no puede hablar directamente con otra API. Una aplicación codificada o middleware puede usar una API que actúa como un puente entre dos API y ejecuta el hilo de ejecución. Por ejemplo, tanto NetSuite como Salesforce tienen una API SOAP, pero para que se comuniquen, desearía utilizar un software de middleware que pueda interactuar con ambos sistemas y estar configurado para extraer nuevos registros de contactos a través de la API de Salesforce y enviar nuevos registros a NetSuite Es API cada hora.
Webhooks es otro protocolo de comunicación para aplicaciones SaaS que permite la comunicación entre aplicaciones, pero simplemente usa HTTP POSTS para controlar el hilo de ejecución. Los webhooks permiten que una aplicación se hable directamente entre sí, sin usar middleware. Por ejemplo, cuando envía un formulario a WuFoo, se puede configurar para iniciar un HTTP POST de webhooks a otro servicio y pasar algunos valores de campo desde el envío del formulario. Los webhooks también se pueden usar junto con una API; por ejemplo, después de que el webhook notifique a la otra aplicación que sucedió algo para registrar la identificación X, esa aplicación podría usar una API para comunicarse con el servicio para verificar los nuevos valores de campo o modificar un estado de un registro.
Es difícil tener una API o webhooks sin tener una aplicación SaaS. Sin embargo, puede tener fácilmente una aplicación SaaS que no use webhooks o una API (pública). De manera similar, dependiendo de las funciones de su aplicación SaaS, puede elegir usar webhooks O una API.