Introducción a los productos de API

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

En las siguientes secciones se presentan los productos de API y conceptos relacionados, como las cuotas y las claves de API.

¿Qué es un producto de API?

Como proveedor de APIs, puede crear productos de API para agrupar sus APIs y ponerlas a disposición de los desarrolladores de aplicaciones para que las usen. Los productos de API son como tu línea de productos.

En concreto, un producto de API agrupa una o varias operaciones. Una operación especifica un proxy de API y las rutas de recursos a las que se puede acceder en ese proxy. Una operación también puede limitar el acceso por métodos HTTP y por cuota.

Los productos de API son el mecanismo central para controlar el acceso a tus APIs. Si defines uno o varios productos de API en una aplicación para desarrolladores, puedes restringir el acceso a los proxies con una clave de API. En Apigee, las claves de API se aprovisionan para productos de API, no para las APIs en sí. Es decir, las claves de API se proporcionan para conjuntos de operaciones que definen una línea de productos o un plan de servicio específico.

Casos prácticos habituales

Puede crear varios productos de API que contengan operaciones para abordar casos prácticos específicos. Por ejemplo, puedes crear un producto de API que incluya varias operaciones que contengan recursos de asignación para que los desarrolladores puedan integrar mapas fácilmente en sus aplicaciones.

Además, puede usar productos de API para definir niveles de precios basados en criterios como los siguientes:

Número de solicitudes:

  • Premium: solicitudes ilimitadas al día
  • Básico: hasta 1000 solicitudes al día
  • Gratuito: hasta 100 solicitudes al día

O nivel de acceso:

  • Premium: lectura, escritura, actualización y eliminación
  • Básico: leer y actualizar
  • Gratuito: solo lectura

O cualquier combinación de lo anterior:

  • Premium adicional: lee y escribe un número ilimitado de veces al día
  • Premium: lee y escribe hasta 1000 solicitudes al día
  • Básico: acceso de lectura y escritura hasta 100 veces al día
  • Gratis: lee hasta 1000 veces al día
  • Gratuito: acceso de solo lectura limitado a 100 solicitudes al día

Requisitos

Los productos de API que forman parte del modelo de pago por uso deben incluir lo siguiente:

Operaciones

Una operación es un grupo de atributos que restringen el acceso a una o varias proxies de API en función de criterios como la ruta de recursos, el método HTTP y la cuota. Una operación incluye estos atributos:

Atributo ¿Es obligatorio? Descripción
proxy de API Obligatorio Cada grupo de operaciones debe especificar un proxy de API. Solo se permite un proxy por grupo de operaciones.
Servicio remoto Depende Solo es obligatorio si instala y tiene previsto usar el adaptador de Apigee para Envoy.
Ruta de recurso Obligatorio Cada grupo de operaciones debe especificar una o varias rutas de recursos. Las rutas de recursos de una operación restringen el acceso a recursos específicos de un proxy de API. Una ruta de recurso es la parte de una URL de solicitud de proxy de API que va después de la ruta base del proxy.
Método HTTP Opcional También puedes restringir el acceso a un proxy por método HTTP. Por ejemplo, si especifica los métodos GET y POST para un grupo de operaciones, solo las solicitudes HTTP GET y POST podrán acceder al proxy de la ruta de recurso especificada. Si no se especifica ningún método, se permiten todos.
Cuota Opcional Puede especificar una cuota para el grupo de operaciones. La cuota especificada en un grupo de operaciones tiene prioridad sobre la cuota a nivel de producto de API, si se especifica.
Atributos personalizados Opcional Los atributos personalizados son útiles para las métricas, la monitorización o los casos en los que quiera almacenar información adicional con un producto de API al que se pueda acceder o que se pueda recuperar más adelante. Los atributos personalizados asociados a una operación se suman a los atributos personalizados a nivel de producto de la API y se puede acceder a ellos en el tiempo de ejecución como variables de flujo con el prefijo apiproduct.operation.attributes.

Claves de API

Cuando registras una aplicación de un desarrollador en tu organización, la aplicación debe estar asociada a al menos un producto de API. Como resultado de emparejar una aplicación con uno o varios productos de API, Apigee asigna a la aplicación una clave de consumidor única. Consulta también Controlar el acceso a las APIs registrando aplicaciones.

La clave de consumidor o el token de acceso actúan como credenciales de solicitud. El desarrollador de la aplicación inserta la clave de consumidor en la aplicación para que, cuando la aplicación haga una solicitud a una API alojada en Apigee, la aplicación transmita la clave de consumidor en la solicitud de una de las siguientes formas:

  • Cuando la API usa la verificación de claves de API, la aplicación debe transferir la clave de consumidor directamente.
  • Cuando la API usa la verificación de tokens de OAuth, la aplicación debe enviar un token que se haya derivado de la clave de consumidor.

La aplicación de la clave de API no se realiza automáticamente. Tanto si se usa la clave de consumidor como los tokens de OAuth como credenciales de solicitud, el proxy de API valida las credenciales de solicitud en tus proxies de API incluyendo una política VerifyAPIKey o una configuración de política VerifyAccessToken (consulta la política OAuthv2) en el flujo adecuado. Si no incluyes una política de aplicación de credenciales en tu proxy de API, cualquier persona que llame podrá invocar tus APIs.

Para verificar las credenciales enviadas en la solicitud, Apigee sigue estos pasos:

  1. Obtiene las credenciales que se transfieren con la solicitud. En el caso de la verificación de tokens de OAuth, Apigee verifica que el token no haya caducado y, a continuación, busca la clave de consumidor que se usó para generar el token.
  2. Recupera la lista de productos de API a los que se ha asociado la clave de consumidor.
  3. Confirma que el proxy de API actual se incluye en el producto de API, si la ruta de recurso actual (ruta de URL) está habilitada en el producto de API y, si se incluye en el producto, que la solicitud usa un verbo HTTP especificado.
  4. Verifica que no se haya superado la cuota, si se ha especificado.
  5. Verifica que la clave de consumidor no haya caducado ni se haya revocado, comprueba que la aplicación no se haya revocado y comprueba que el desarrollador de la aplicación esté activo.

Si se superan todas las comprobaciones anteriores, la verificación de las credenciales se realizará correctamente.

En resumen, Apigee genera automáticamente claves de consumidor, pero los editores de APIs deben aplicar la comprobación de claves en los proxies de APIs mediante las políticas adecuadas.

Aprobación de claves

De forma predeterminada, todas las solicitudes para obtener una clave de acceso a un producto de API desde una aplicación se aprueban automáticamente. También puede configurar el producto de API para que tenga que aprobar las claves manualmente. La configuración se describe en el artículo Gestionar productos de APIs. En ese caso, tendrás que aprobar las solicitudes de claves de cualquier aplicación que añada el producto de la API. Para obtener más información, consulta Controlar el acceso a las APIs registrando aplicaciones.

Cuotas

Las cuotas pueden proteger tus servidores backend de las grandes variaciones de tráfico y diferenciar tu línea de productos. Por ejemplo, puedes agrupar recursos con una cuota alta como producto premium y usar el mismo paquete con una cuota más baja como producto básico. Las cuotas pueden ayudar a proteger tus servidores para que no se saturen si un producto es popular y recibe una gran cantidad de solicitudes en un breve periodo de tiempo.

Puede especificar una cuota que se aplique a todos los proxies de API incluidos en el producto de API o especificar cuotas a nivel de operación. Una cuota especificada en una operación tiene prioridad sobre una cuota definida a nivel de producto de API.

Definir límites de cuota en un producto de API no implica que se apliquen automáticamente. Se trata de un límite predeterminado que se puede consultar en las políticas de cuota. Estas son algunas de las ventajas de definir una cuota en el producto para que las políticas de cuotas puedan hacer referencia a ella:

  • Usa una política de cuotas para aplicar un ajuste uniforme en todos los proxies de API de un producto de API.
  • Si cambia la configuración de cuota del producto de API en tiempo de ejecución, las políticas de cuota harán referencia automáticamente a la configuración de cuota actualizada.

Para obtener más información, consulta las siguientes secciones:

permisos de OAuth

Puedes definir los permisos de OAuth como una lista separada por comas que debe estar presente en los tokens de acceso asociados al producto. Para obtener más información sobre cómo usar los permisos con las políticas de OAuth de Apigee, consulta Usar permisos OAuth2.

Niveles de acceso

Al definir un producto de API, puede establecer los siguientes niveles de acceso:

Nivel de acceso Descripción
Public Productos de API disponibles para todos los desarrolladores. Puedes añadirlos a portales para desarrolladores integrados o basados en Drupal.
Private o Internal only Productos de API diseñados para uso privado o interno.

En el portal integrado, puedes añadir productos de API Private o Internal only y ponerlos a disposición de los desarrolladores de aplicaciones, según sea necesario.

En los portales para desarrolladores basados en Drupal, puedes gestionar el acceso a productos de API Private o Internal only en tu portal para desarrolladores, tal como se describe en las siguientes secciones:

  • En los portales para desarrolladores de Drupal 10, puedes configurar el acceso a los productos de API de Private o Internal only en tu portal para desarrolladores, tal como se describe en el artículo Configurar permisos de acceso a productos de API.
  • En los portales para desarrolladores de Drupal 7, no puedes añadir productos de API Private ni Internal only.

    Para que los productos de API Private o Internal only estén disponibles para los desarrolladores de aplicaciones, debes añadirlos manualmente a una aplicación registrada desde la interfaz de usuario o la API de Apigee, tal como se describe en el artículo Controlar el acceso a las APIs registrando aplicaciones.

    Una vez añadido, el desarrollador verá el producto de API asociado a la aplicación en tu portal, tal como se describe en el artículo Gestionar los productos de API de una aplicación. Si el desarrollador de la aplicación inhabilita el acceso a un producto de API que sea Private o Internal only, el producto de API se eliminará de la aplicación y el administrador del portal deberá volver a añadirlo manualmente.