API
Una API (Application Programming Interface) es una interfaz de programación definida con la que un software puede usar datos y funciones de otro sistema. Describe qué solicitudes están permitidas, qué datos se devuelven y cómo se identifica un programa.
Explicación
Una API es algo así como una ventanilla de pedidos. Un programa hace una solicitud en un formato acordado, por ejemplo «dame todos los pedidos desde ayer», y recibe una respuesta en otro formato igualmente acordado. Lo que ocurre detrás de la ventanilla queda oculto. Es intencionado: el fabricante puede cambiar su sistema por dentro mientras la API siga igual.
Hoy, la mayoría de las API web funcionan según el principio REST e intercambian datos en formato JSON. Para identificarse usan claves de API o procedimientos como OAuth 2.0. Muchas API limitan además cuántas solicitudes por minuto se permiten. Una buena API tiene documentación completa y un entorno de pruebas.
Ejemplo del día a día con interfaces
Una tienda online debe entregar cada noche a la contabilidad los pedidos del día anterior. Para ello, la interfaz consulta mediante la API de la tienda los pedidos nuevos, lee importes, tipos impositivos y forma de pago y crea los documentos correspondientes mediante la API del software de contabilidad. Si una API notifica un error, por ejemplo porque falta un campo obligatorio, el registro se anota en el log y se reintenta.
Diferencias con términos relacionados
- Interfaz es el término general. Una API es una de sus formas. Las interfaces también pueden funcionar mediante archivos o bases de datos.
- Un webhook es la dirección contraria: no es usted quien consulta, sino que el sistema avisa por sí mismo cuando ocurre un evento.
- El middleware utiliza las API de varios sistemas y hace de intermediario entre ellos.
Relación con nuestros servicios
Conectamos sistemas mediante sus API directamente de A a B. La calidad de la API de un sistema influye en el esfuerzo y, con ello, en el precio fijo; véase ¿Cuánto cuesta una interfaz? Si un sistema no tiene API, lo conectamos mediante archivo, base de datos o exportación: Conexión sin API.
Preguntas frecuentes
¿API es lo mismo que interfaz?
No del todo. Toda API es una interfaz, pero no toda interfaz es una API. Una exportación CSV periódica también es una interfaz.
¿Cuesta dinero usar una API?
Depende del fabricante. Algunos sistemas solo ofrecen la API en determinadas tarifas. Conviene comprobarlo antes del proyecto.
Relacionado
Interfaz
Una interfaz conecta dos sistemas para que intercambien datos automáticamente. Definición, ejemplo del día a día y diferencias con API y middleware.
Webhook
Un webhook es un mensaje automático que un sistema envía a una dirección cuando ocurre un evento. Explicación, ejemplo y diferencia con API y polling.
Encargar una interfaz
Conexión directa entre dos sistemas, precio cerrado tras la revisión gratuita y el código es suyo.
