Una API abierta (a menudo denominada API pública) es una interfaz de programación de aplicaciones disponible públicamente que proporciona a los desarrolladores acceso programático a una aplicación de software o servicio web (posiblemente propietario) . [ 1 ] Las API abiertas son API que se publican en internet y son de acceso gratuito para los consumidores. [ 2 ]
Definiciones alternativas
No existe una definición universalmente aceptada del término "API abierta" y puede usarse para referirse a una variedad de cosas en diferentes contextos, incluyendo: [ 3 ]
- Una API para uso de desarrolladores y otros usuarios con relativamente pocas restricciones. Puede requerir registro o imponer cuotas y límites de velocidad , pero el registro es gratuito y abierto a todos; o
- Una API respaldada por datos abiertos . Los datos abiertos están disponibles gratuitamente para que todos los usen y republiquen como deseen, sin restricciones de derechos de autor, patentes u otros mecanismos de control; o
- Una API basada en un estándar abierto , que especifica el mecanismo mediante el cual un consumidor consulta la API e interpreta sus respuestas.
API abierta frente a API privada
API privada
Una API privada es una interfaz que abre partes de los datos de backend y la funcionalidad de las aplicaciones de una organización para que los desarrolladores que trabajan dentro de ella (o que son contratistas) la utilicen. Las API privadas solo están expuestas a los desarrolladores internos, por lo que los proveedores de la API tienen control total sobre qué aplicaciones se desarrollan y cómo. Las API privadas ofrecen beneficios sustanciales en lo que respecta a la colaboración interna. El uso de una API privada en toda la organización permite una mayor comprensión compartida de los modelos de datos internos. Como los desarrolladores trabajan para (o son contratados por) una sola organización, la comunicación será más directa y, por lo tanto, podrán trabajar de forma más cohesionada como grupo. Las API privadas pueden reducir significativamente el tiempo de desarrollo necesario para manipular y construir sistemas internos que maximicen la productividad y creen aplicaciones orientadas al cliente que mejoren el alcance del mercado y agreguen valor a las ofertas existentes. [ 4 ]
Las API privadas pueden hacerse "privadas" de varias maneras. Lo más común es que la organización simplemente decida no documentar dicha interfaz, como en el caso de las funciones no documentadas de Microsoft Windows, que se pueden encontrar inspeccionando las tablas de símbolos. [ 5 ] Algunas API basadas en la web pueden autenticarse mediante claves, ambas detectables mediante el análisis del tráfico de la aplicación. [ 6 ] macOS, además, utiliza un "derecho", otorgado únicamente mediante firma digital, para controlar el acceso a las API privadas del sistema. [ 7 ]
Las API privadas, por definición, carecen de garantía alguna para el desarrollador externo que decida descubrirlas y utilizarlas. Sin embargo, el uso de funciones no documentadas en Microsoft Windows se ha generalizado tanto que el sistema necesita conservar comportamientos antiguos para programas específicos mediante la base de datos "AppCompat". [ 8 ]
API abierta
A diferencia de una API privada, una API abierta está disponible públicamente para que todos los desarrolladores accedan a ella. Permiten a los desarrolladores, ajenos a la plantilla de una organización, acceder a datos de backend que luego pueden utilizar para mejorar sus propias aplicaciones. Las API abiertas pueden aumentar significativamente los ingresos sin que la empresa tenga que invertir en la contratación de nuevos desarrolladores, lo que las convierte en una aplicación de software muy rentable. [ 9 ] [ 10 ] Sin embargo, abrir la información de backend al público puede crear una serie de desafíos de seguridad y gestión. [ 11 ] Por ejemplo, publicar API abiertas puede dificultar que las organizaciones controlen la experiencia que los usuarios finales tienen con sus activos de información. Los editores de API abiertas no pueden asumir que las aplicaciones cliente creadas sobre sus API ofrecerán una buena experiencia de usuario. Además, no pueden garantizar completamente que las aplicaciones cliente mantengan la apariencia y el estilo de su marca corporativa.
API abiertas en los negocios
Las API abiertas pueden ser utilizadas por empresas que buscan aprovechar la creciente comunidad de desarrolladores freelance, capaces de crear aplicaciones innovadoras que aporten valor a su negocio principal. En el ámbito empresarial, las API abiertas son preferidas porque, al mismo tiempo, impulsan la generación de nuevas ideas sin necesidad de invertir directamente en el desarrollo. Las empresas suelen personalizar sus API para dirigirse a públicos específicos de desarrolladores que consideran más eficaces en la creación de nuevas aplicaciones valiosas. Sin embargo, una API sobrecargada de funciones puede reducir significativamente la funcionalidad de una aplicación.

Por ejemplo, [ 12 ] la API de búsqueda abierta de Yahoo permite a los desarrolladores integrar la búsqueda de Yahoo en sus propias aplicaciones de software. La incorporación de esta API proporciona funcionalidad de búsqueda a la aplicación del desarrollador, al tiempo que aumenta el tráfico de búsqueda para el motor de búsqueda de Yahoo, beneficiando así a ambas partes. Con respecto a Facebook y Twitter , podemos ver cómo terceros han enriquecido estos servicios con su propio código. Por ejemplo, la posibilidad de crear una cuenta en un sitio/aplicación externa utilizando tus credenciales de Facebook es posible gracias a la API abierta de Facebook.
Muchas grandes empresas tecnológicas, como Twitter, LinkedIn y Facebook, permiten el uso de su servicio por parte de terceros y competidores . [ 13 ] [ 14 ] [ 15 ]
API abiertas en la web
Con el auge de HTML5 y la Web 2.0, la experiencia de navegación moderna se ha vuelto interactiva y dinámica, un proceso que se ha acelerado, en parte, gracias al uso de API abiertas. Algunas API abiertas obtienen datos de la base de datos de un sitio web y se denominan API web. Por ejemplo, la API de YouTube de Google permite a los desarrolladores integrar YouTube en sus aplicaciones, proporcionándoles la capacidad de buscar vídeos, recuperar feeds estándar y ver contenido relacionado.
Las API web se utilizan para intercambiar información con un sitio web, ya sea recibiendo o enviando datos. Cuando una API web obtiene datos de un sitio web, la aplicación realiza una solicitud HTTP al servidor donde se aloja el sitio. El servidor, a su vez, devuelve los datos en el formato que espera la aplicación (si se solicitaron datos) o incorpora los cambios realizados en el sitio web (si se enviaron datos).
Véase también
Enlaces externos
- Sitio web de la Iniciativa de API Abiertas (OAI)
- Editor y Studio de Eclipse OpenAPI (OAS)
- Wiki de uso del editor OpenAPI y Test Studio
Referencias
- ↑ Proffitt, Brian (19 de septiembre de 2013). "Qué son las API y por qué son importantes" . Readwrite . Archivado del original el 22 de septiembre de 2013. Recuperado el 28 de octubre de 2015 .
- ↑ "¿Qué es una API abierta? - Definición de WhatIs.com" . SearchCloudApplications . Archivado del original el 30 de abril de 2017. Consultado el 26 de octubre de 2015 .
- ↑ Dodds, Leigh (25 de marzo de 2014). "¿Qué es una API abierta?" . Lost Boy . Recuperado el 2 de noviembre de 2015 .
- ↑ "6 beneficios empresariales de las API privadas | Nordic APIs |" . Nordic APIs . 13 de febrero de 2014. Consultado el 4 de noviembre de 2015 .
- ↑ "Funciones no documentadas de NTAPI" . undocumented.ntinternals.net .
- ↑ "Tutorial para la ingeniería inversa de la API privada de tu software: hackeando tu sofá | Toptal®" . Blog de ingeniería de Toptal .
- ↑ Mo, Darren (2019-05-07). "Una herramienta auxiliar que permite a Optimus Player transmitir audio usando AirPlay 2" . GitHub . Recuperado el 2019-05-09 .
- ↑ Pierce, Sean. "Compatibilidad de aplicaciones maliciosas" (PDF) .
- ↑ "Supera los riesgos de gestionar API públicas y privadas" . SearchSOA . Archivado del original el 25/11/2015 . Consultado el 04/11/2015 .
- ↑ Tündik, Máté Ákos; Szabó, Zsolt; Empuñadura, Atila; Járó, Gábor (12 de noviembre de 2024). "Fusión de Servicios de Telecomunicaciones y TI Impulsada por Interfaces de Programación de Aplicaciones" . Señales . 5 (4): 756– 773. doi : 10.3390/señales5040042 . ISSN 2624-6120 .
- ^ Deng, Zhui; Saltaformaggio, Brendan; Zhang, Xiangyu; Xu, Dongyan (1 de enero de 2015). "Iris". Actas de la 22ª Conferencia ACM SIGSAC sobre seguridad informática y de las comunicaciones . CCS '15. Nueva York, NY, Estados Unidos: ACM. págs. 44 a 56. doi : 10.1145/2810103.2813675 . ISBN 978-1-4503-3832-5. S2CID 5613038 .
- ↑ "¿Qué son las API y cómo están cambiando Internet las API abiertas?" . MakeUseOf . 19 de febrero de 2015 . Consultado el 2 de noviembre de 2015 .
- ↑ "Documentación para desarrolladores de Facebook" . Facebook para desarrolladores . Consultado el 9 de febrero de 2021 .
- ↑ tonyxu-io. "Documentación de la API de LinkedIn - LinkedIn" . docs.microsoft.com . Consultado el 9 de febrero de 2021 .
- ↑ "Acerca de las API de Twitter" . help.twitter.com . Consultado el 9 de febrero de 2021 .
- Interfaces de programación de aplicaciones