Una interfaz de programación de aplicaciones o API es un conjunto de estructuras de datos, protocolos, rutinas y herramientas para acceder a una aplicación de software basada en web. Proporciona todos los componentes básicos para desarrollar programas con facilidad. Una interfaz de programación de aplicaciones puede depender del idioma o ser independiente del idioma. Una API dependiente del idioma está disponible solo en un lenguaje de programación en particular. Las API independientes del lenguaje no están vinculadas a un lenguaje, sistema o proceso en particular. Se pueden llamar desde varios lenguajes de programación.
Las API se ejecutan silenciosamente en segundo plano. Son completamente invisibles para los usuarios de software y los internautas. Su función principal es proporcionar un canal para que las aplicaciones trabajen entre sí para asegurarse de que el usuario obtenga la funcionalidad y la información necesarias.
Por ejemplo, cuando un usuario compra un producto en línea e ingresa la información de su tarjeta de crédito, el sitio web del producto utiliza una API para enviar la información de la tarjeta de crédito a otra aplicación. La aplicación verifica si la información es correcta o no. Luego autoriza al sitio web del producto a emitir el producto comprado después de que se verifique la información y se confirme el pago. Un sitio web tiene muchas aplicaciones de este tipo que funcionan juntas mediante API.
Las interfaces de programación de aplicaciones garantizan que los desarrolladores de software no tengan que empezar a crear aplicaciones desde cero. No es necesario crear una aplicación que realice todas las funciones. La aplicación puede transferir ciertas responsabilidades a una aplicación remota. Por lo tanto, las API son similares a SaaS (software como servicio).
Una empresa de software lanza su API a los programadores en forma de un kit de desarrollo de software (SDK). El SDK incluye herramientas de programación, la interfaz de programación de aplicaciones y documentos de publicación para facilitar el trabajo del programador.
Una empresa sigue algunas políticas de publicación antes de lanzar API a los desarrolladores, que incluyen:
La información clave sobre una interfaz de programación de aplicaciones no se puede divulgar a nadie fuera de la empresa.
Las empresas deben poner las API a disposición del público de forma gratuita. Por ejemplo, Microsoft® hace que DirectX® y todas sus API sean gratuitas para los desarrolladores. Deben descargar el SDK para acceder a estos componentes. Microsoft® también ha hecho que la API de Windows® sea gratuita para los desarrolladores para que creen aplicaciones compatibles con el entorno operativo. Apple® también ha lanzado sus API Carbon® y Cocoa® para que los desarrolladores creen aplicaciones útiles para el iPhone.
Una empresa protege la información del público en general. Por ejemplo, Sony® lanzó la API oficial de PlayStation® 2 solo para desarrolladores de PlayStation® con licencia. Por lo tanto, Sony® disfrutó de un control total sobre la calidad de sus juegos y disfrutó de los posibles ingresos por licencias.