¿Qué es la sección `info` de OpenAPI?

¿Qué es la sección info de OpenAPI? #

OpenAPI, a menudo asociado al término Swagger, ha revolucionado la forma en que los desarrolladores diseñan, documentan e interactúan con las API. Un componente clave de cualquier documento OpenAPI es la sección info. Este artículo profundiza en qué es la sección info, cuáles son sus componentes y qué importancia tiene en el contexto más amplio del desarrollo de API.

¿Qué es OpenAPI? #

Antes de profundizar en la sección info, es esencial entender qué es OpenAPI. La especificación OpenAPI (OAS) es un estándar para definir API. Permite que tanto las personas como los equipos informáticos comprendan las capacidades de un servicio sin acceder a su código fuente. Los documentos OpenAPI describen los endpoints, los parámetros de las solicitudes y las posibles respuestas de una API. Esta estandarización simplifica los procesos de desarrollo, pruebas y mantenimiento de las API.

La estructura de un documento OpenAPI #

Un documento OpenAPI consta de varias secciones, cada una de las cuales detalla una parte distinta de una API. Las secciones principales son:

  1. Versión de OpenAPI (openapi): especifica la versión de la especificación OpenAPI que se utiliza.
  2. Objeto de información (info): proporciona metadatos sobre la API, como el título, la descripción y la versión.
  3. Servidores (servers): enumera los servidores en los que está alojada la API.
  4. Objeto de rutas (paths): describe los endpoints disponibles y las operaciones que admiten.
  5. Componentes (components): incluye componentes reutilizables como esquemas, parámetros y respuestas.
  6. Seguridad (security): define los mecanismos de seguridad, como OAuth2 o las claves de API.
  7. Etiquetas (tags): organiza las operaciones mediante etiquetas para facilitar su localización.
  8. Documentación externa (externalDocs): proporciona enlaces a recursos adicionales.

Entre estas secciones, la sección info es la piedra angular de los metadatos de la API.

La sección info de OpenAPI: visión general #

La sección info de un documento OpenAPI contiene información esencial sobre la propia API. Estos metadatos son fundamentales para que desarrolladores y usuarios comprendan el contexto y la finalidad de la API. La sección info se define en el nivel raíz del documento OpenAPI.

Así es una sección info típica en un documento OpenAPI:

openapi: 3.0.1
info:
  title: Example API
  description: This is a sample API used for demonstration purposes.
  version: 1.0.0
  termsOfService: http://example.com/terms/
  contact:
    name: API Support
    url: http://www.example.com/support
    email: support@example.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html

A continuación, veamos en detalle cada componente de la sección info.

Componentes de la sección info #

Título #

El atributo title es obligatorio y proporciona un nombre legible para la API. Este título debe transmitir de forma concisa lo que hace la API. A menudo es lo primero que ve un desarrollador, por lo que resulta fundamental para establecer el contexto.

title: Example API
date: 2024-05-21

Descripción #

El atributo description es opcional, pero muy recomendable. Ofrece una explicación detallada de lo que hace la API, sus casos de uso previstos y cualquier otra información relevante. Puede escribirse en Markdown para mejorar el formato y la legibilidad.

description: This is a sample API used for demonstration purposes.

Versión #

El atributo version es obligatorio y especifica la versión de la propia API. Es fundamental para el control de versiones y para gestionar las distintas etapas del desarrollo de la API, desde las versiones alfa hasta las de producción.

version: 1.0.0

Términos del servicio #

El atributo termsOfService es opcional y proporciona una URL con los términos del servicio de la API. Es especialmente importante en las API públicas, donde el uso puede estar regulado por acuerdos legales.

termsOfService: http://example.com/terms/

Contacto #

El atributo contact es opcional, pero recomendable. Proporciona información de contacto del proveedor de la API. Puede incluir:

  • name: el nombre de la persona u organización de contacto.
  • url: una URL de una página de contacto.
  • email: una dirección de correo electrónico para soporte o consultas.
contact:
  name: API Support
  url: http://www.example.com/support
  email: support@example.com

Licencia #

El atributo license es opcional, pero esencial para las API de código abierto. Especifica la licencia bajo la que se publica la API. Esto ayuda a los usuarios a comprender los límites legales de su uso. Los campos name y url proporcionan, respectivamente, el nombre de la licencia y un enlace al texto completo de la misma.

license:
  name: Apache 2.0
  url: https://www.apache.org/licenses/LICENSE-2.0.html

La importancia de la sección info #

La sección info cumple varias funciones críticas:

  1. Documentación: proporciona los metadatos necesarios que pueden utilizarse en la documentación generada automáticamente. Herramientas como Swagger UI y Redoc usan esta información para generar documentación fácil de usar.

  2. Descubrimiento de API: para las API incluidas en directorios o marketplaces de API, la sección info sirve como resumen rápido. Los desarrolladores pueden determinar enseguida la finalidad, la versión y los términos legales de la API.

  3. Soporte y contacto: la información de contacto ayuda a los usuarios a obtener el soporte que necesitan. Esto es especialmente importante en las API ofrecidas como servicio, donde el soporte continuo es un componente clave.

  4. Claridad legal: los términos del servicio y la licencia ofrecen protección legal y establecen límites de uso claros, lo cual es fundamental tanto para el proveedor como para el usuario.

Buenas prácticas para la sección info #

Aunque la sección info es bastante sencilla, seguir buenas prácticas puede aumentar su eficacia:

  1. Sé conciso y preciso: asegúrate de que el título y la descripción reflejen con exactitud la funcionalidad de la API. Evita la jerga y el lenguaje excesivamente técnico, salvo que sea necesario.

  2. Usa Markdown en la descripción: aprovechar Markdown en el campo description puede hacer que tu documentación sea más legible y fácil de usar.

  3. Mantén actualizada la información de contacto: asegúrate de que los datos de contacto estén siempre al día. Esto es fundamental para ofrecer soporte a tiempo.

  4. Licencia explícita: especifica siempre la licencia cuando corresponda, especialmente en las API de código abierto.

  5. Control de versiones: utiliza un enfoque sistemático para versionar tu API. Sigue los principios del versionado semántico para comunicar las actualizaciones mayores, menores y de parche.

Conclusión #

La sección info de un documento OpenAPI es mucho más que un conjunto de metadatos: es un punto de entrada fundamental para comprender y utilizar una API. Desde ofrecer información básica y términos legales hasta proporcionar datos de contacto para el soporte, la sección info sienta las bases para un uso eficaz y eficiente de la API.

Al seguir las buenas prácticas y asegurarse de que la sección info sea completa y esté actualizada, los proveedores de API pueden mejorar de forma notable la experiencia de usuario, garantizar la claridad legal y ofrecer mecanismos de soporte esenciales a sus usuarios.

Para seguir leyendo sobre OpenAPI y las buenas prácticas, consulta la especificación OpenAPI oficial y la documentación relacionada en Swagger.


Última actualización: 21 de mayo de 2024.

Este sitio web no está afiliado a la OpenAPI Initiative.