Administra paquetes de productos de API

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Agrupa uno o más productos de API en un solo contenedor monetizado, denominado paquete de productos de API, como se describe en las siguientes secciones.

¿Qué es un paquete de productos de API?

Un paquete de productos de API es una colección de productos de API que se presenta a los desarrolladores como un grupo y, por lo general, se asocia con uno o más planes de tarifas para la monetización. Puedes crear varios paquetes de productos de API, además de incluir uno o más productos de API en cada uno. Puedes colocar los mismos productos de API en paquetes diferentes y asociarlos con planes de tarifas distintos (o los mismos).

Los desarrolladores pueden registrar sus apps para usar un paquete de productos de API únicamente mediante la compra de uno de los planes de tarifas vigentes en la actualidad. Los desarrolladores no podrán ver un paquete de productos de API hasta que agregues y publiques un plan de tarifas (como público) para el paquete de productos (con una fecha de inicio de la fecha actual o una fecha futura), como se describe en Cómo administrar planes de tarifas. Después de agregar y publicar un plan de tarifas, los desarrolladores que accedan a tu portal para desarrolladores podrán seleccionar el paquete de productos de la API y elegir el plan de tarifas. Como alternativa, puedes aceptar un plan de tarifas para un desarrollador mediante la API de Management. Para obtener más información, consulta Planes de tarifas publicados de las compras con la API.

Después de agregar un producto de API a un paquete de productos de API, es posible que debas configurar precios para ese producto. Solo debes hacer esto si se cumplen todas las condiciones que se indican a continuación:

  • Configuras un plan de tarifas de reparto de ingresos para el producto de API.
  • Los desarrolladores cobran a terceros por el uso de recursos en el producto de API.
  • Existe una restricción mínima o máxima en relación con el importe que pueden cobrar los desarrolladores, por lo que recomendamos que les informes al respecto.

Los precios mínimos y máximos se muestran en los detalles del paquete de productos de API.

Explora la página Paquetes de productos

Accede a la página Paquetes de productos, como se describe a continuación.

Conexión de integración

Para acceder a la página de paquetes de productos de la API con la IU de Edge, selecciona Publish > Monetization > Product Bundles en la barra de navegación izquierda.

Como se destaca en la imagen anterior, la página Paquetes de productos te permite hacer lo siguiente:

Puedes administrar los productos de API en un paquete de productos o borrar un paquete de productos (si no se definieron planes de tarifas) solo con la API.

Versión clásica de Edge (nube privada)

Para acceder a la página de paquetes de API con la IU clásica de Edge, selecciona Publish > Packages en la barra de navegación superior.

La página Paquetes de API te permite hacer lo siguiente:

  • Mira información resumida de todos los paquetes de API, incluidos los productos de API que contienen y los planes de tarifas asociados.
  • Agrega un paquete de API
  • Edita un paquete de API
  • Agregar y administrar planes de tarifas
  • Activar o desactivar el parámetro de configuración de acceso al plan de tarifas (público/privado)
  • Filtra la lista de paquetes

Puedes administrar los productos de API en un paquete de API o borrar un paquete de API (si no se definieron planes de tarifas) solo con la API.

Cómo agregar un paquete de productos

Para agregar un paquete de productos de API, sigue estos pasos:

  1. Haz clic en + Paquete de producto de API en la página Paquetes de productos.
  2. Ingresa un nombre para el paquete de productos de API.
  3. Ingresa el nombre de un producto de API en el campo Agregar un producto.

    A medida que escribes el nombre de un producto de API, se muestra en un menú desplegable una lista de productos de API que contienen la cadena. Haz clic en el nombre de un producto de API para agregarlo al paquete. Repite el proceso para agregar más productos de API.

  4. Repite el paso 3 para agregar nombres de productos de API adicionales.
  5. Para cada producto de API que agregues, configura la política de registro de transacciones.
  6. Haz clic en Guardar paquete de productos.

Cómo editar un paquete de productos

Para editar un paquete de productos, sigue estos pasos:

  1. En la página Paquetes de productos, haz clic en la fila del paquete de productos que quieres editar.

    Se mostrará el panel del paquete de productos.

  2. Edita los campos del paquete de productos según sea necesario.

    Consulta Configura la política de registro de transacciones para obtener más información.

  3. Haz clic en Actualizar paquete de productos.

Administra paquetes de productos de API con la API

En las siguientes secciones, se describe cómo administrar paquetes de productos de API con la API.

Cómo crear un paquete de productos de API con la API

Para crear un paquete de productos de API, emite una solicitud POST a /organizations/{org_name}/monetization-packages. Cuando envíes la solicitud, deberás hacer lo siguiente:

  • Identifica los productos de API que incluirás en el paquete de productos de API.
  • Especifica un nombre y una descripción para el paquete de productos de API.
  • Establece un indicador de estado para el paquete de productos de API. El indicador de estado puede tener uno de los siguientes valores: CREATED, ACTIVE o INACTIVE. Actualmente, el valor del indicador de estado que especificas se mantiene en el paquete de productos de la API, pero no se utiliza para ningún fin.

De manera opcional, puedes especificar la organización.

Consulta las propiedades de configuración del paquete de productos de la API para obtener una lista de las opciones expuestas a la API.

Por ejemplo:

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "description": "payment messaging package",
     "displayName": "Payment Messaging Package",
     "name": "Payment Messaging Package",
     "organization": { "id": "{org_name}" },
     "product": [
       { "id": "messaging" },
       { "id": "payment" }
     ],
     "status": "CREATED"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \
-u email:password

A continuación, se proporciona un ejemplo de la respuesta.

{
   "description" : "payment messaging package",
   "displayName" : "Payment Messaging Package",
   "id" : "payment_messaging_package",
   "name" : "Payment Messaging Package",
   "organization" : {
     "id" : "{org_name}",
     "separateInvoiceForFees" : false
   },
   "product" : [ {
     "customAtt1Name" : "user",
     "description" : "Messaging",
     "displayName" : "Messaging",
     "id" : "messaging",
     "name" : "messaging",
     "organization" : {
       "id" : "{org_name}",
       "separateInvoiceForFees" : false
     },
     "status" : "CREATED"
   }, {
     "customAtt1Name" : "user",
     "description" : "Payment",
     "displayName" : "Payment",
     "id" : "payment",
     "name" : "payment",
     "organization" : {
       "id" : "{org_name}",
       "separateInvoiceForFees" : false
     },
     "status" : "CREATED"
   }],
   "status" : "CREATED"
 }

Ten en cuenta que la respuesta incluye información adicional sobre los productos de API y cualquier atributo personalizado especificado para esos productos de API. Los atributos personalizados se especifican cuando creas un producto de API. Los atributos personalizados de un producto de API pueden incluirse en varios planes de tarifas. Por ejemplo, si configuras un plan de hoja de tarifas en el que se le cobra al desarrollador por cada transacción, puedes establecer la tarifa del plan según un atributo personalizado, como la cantidad de bytes transmitidos en una transacción.

Administra los productos de API en un paquete de productos de API con la API

Puedes agregar o borrar un producto de API desde un paquete de productos de API mediante la API, como se describe en las siguientes secciones.

Cómo agregar un producto de API a un paquete de productos de API

Para agregar un producto de API a un paquete de productos de API, emite una solicitud POST a organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, en la que {org_name} especifica el nombre de tu organización, {package_id} especifica el nombre del paquete de productos de API y {product_id} especifica el ID del producto de API.

Por ejemplo:

$ curl -H "Accept:application/json" -X POST -d \
'{}'\
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

Agregar un producto de API a un paquete de productos de API con planes de tarifas específicos de productos de API

Para agregar un producto de API a un paquete de productos de API que tenga uno o más planes de tarifas específicos de productos de API definidos (hoja de tarifas o porcentaje de ingresos), envía una solicitud POST a organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, en la que {org_name} especifica el nombre de tu organización, {package_id} especifica el nombre del paquete de productos de la API y {product_id} especifica el ID del producto de API.

Debes pasar los detalles del plan de tarifas para el nuevo producto de API en el cuerpo de la solicitud. Excepto por el array ratePlanRates, los valores del plan de tarifas deben coincidir con los especificados para todos los demás productos de API. Para obtener más información sobre los atributos del plan de tarifas que se pueden definir, consulta Propiedades de configuración de los planes de tarifas.

Por ejemplo:

$ curl -H "Content-Type:application/json" -X POST -d \
'{
    "ratePlan": [ 
        {
            "id": "mypackage_rateplan1",
            "ratePlanDetails": [
                {
                    "currency": {
                        "id": "usd"
                    },
                    "duration": 1,
                    "durationType": "MONTH",
                    "meteringType": "UNIT",
                    "organization" : {
                        "id": "{org_name}",
                    "paymentDueDays": "30",
                    "ratePlanRates": [
                        {
                            "rate": "1.99",
                            "startUnit": "0",
                            "type": "RATECARD"
                        }
                    ],
                    "ratingParameter": "VOLUME",
                    "type": "RATECARD"
                }
            ]
        }
    ]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

Cómo borrar un producto de API de un paquete de productos de API

Para borrar un producto de API de un paquete de productos de API, emite una solicitud DELETE a organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, en la que {org_name} especifica el nombre de tu organización, {package_id} especifica el nombre del paquete de productos de API y {product_id} especifica el ID del producto de API.

Por ejemplo:

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

Visualiza paquetes de productos de la API con la API

Puedes recuperar un paquete de productos de API específico o todos los paquetes de productos de API de una organización. También puedes recuperar paquetes de productos de API que tengan transacciones en un período determinado, es decir, solo paquetes para los que los usuarios invocan apps que acceden a las APIs de esos paquetes dentro de una fecha de inicio y finalización especificada.

Visualización de un paquete de productos de la API específico: Para recuperar un paquete de productos de la API específico, envía una solicitud GET a /organizations/{org_name}/monetization-packages/{package_id}, en la que {package_id} es la identificación del paquete de productos de la API (el ID se muestra en la respuesta cuando creas el paquete de productos de la API). Por ejemplo:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/payment_messaging_package" \
-u email:password

Visualización de todos los paquetes de productos de API: Para recuperar todos los paquetes de productos de API de una organización, envía una solicitud GET a /organizations/{org_name}/monetization-packages. Por ejemplo:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \
-u email:password

Puedes pasar los siguientes parámetros de consulta para filtrar los resultados:

Parámetro de consulta Descripción
all Marca que especifica si se deben mostrar todos los paquetes de productos de API. Si se configura como false, el parámetro de consulta size define la cantidad de paquetes de productos de API que se muestran por página. La configuración predeterminada es false.
size Cantidad de paquetes de productos de API que se muestran por página. La configuración predeterminada es 20. Si el parámetro de consulta all se configura como true, se ignora este parámetro.
page Número de la página que deseas mostrar (si el contenido está paginado). Si el parámetro de consulta all se configura como true, se ignora este parámetro.

La respuesta para ver todos los paquetes de productos de API en una organización debería verse de la siguiente manera (solo se muestra una parte):

{
  "monetizationPackage" : [ {
    "description" : "payment messaging package",
    "displayName" : "Payment Messaging Package",
    "id" : "payment_messaging_package",
    "name" : "Payment Messaging Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Messaging",
      "displayName" : "Messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    }, {
      "customAtt1Name" : "user",
      "description" : "Payment",
      "displayName" : "Payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "Communications",
    "displayName" : "Communications",
    "id" : "communications",
    "name" : "Communications",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Location",
      "displayName" : "Location",
      "id" : "location",
      "name" : "location",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    }, {
      "customAtt1Name" : "user",
      "description" : "Messaging",
      "displayName" : "Messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "Payment",
    "displayName" : "Payment",
    "id" : "payment",
    "name" : "Payment",
    "organization" : {
     ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Payment",
      "displayName" : "Payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  } ],
  "totalRecords" : 3
}

Visualización de paquetes de productos de la API con transacciones: Para recuperar paquetes de productos de API con transacciones en un período determinado, envía una solicitud GET a /organizations/{org_name}/packages-with-transactions. Cuando emites la solicitud, debes especificar como parámetros de consulta una fecha de inicio y una de finalización para el período. Por ejemplo, la siguiente solicitud recupera paquetes de productos de API con transacciones durante el mes de agosto de 2013.

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/packages-with-transactions?START_DATE=2013-08-01&END_DATE=2013-08-31" \
-u email:password

La respuesta debería ser similar a la siguiente (solo se muestra una parte):

{
  "monetizationPackage" : [ {
    "description" : "Payment Package",
    "displayName" : "Payment Package",
    "id" : "payment_package",
    "name" : "Payment Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "customAtt2Name" : "response size",
      "customAtt3Name" : "content-length",
      "description" : "payment api product",
      "displayName" : "payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED",
      "transactionSuccessCriteria" : "status == 'SUCCESS'"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "messaging package",
    "displayName" : "Messaging Package",
    "id" : "messaging_package",
    "name" : "Messaging Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "customAtt2Name" : "response size",
      "customAtt3Name" : "content-length",
      "description" : "messaging api product",
      "displayName" : "messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED",
      "transactionSuccessCriteria" : "status == 'SUCCESS'"
    } ],
    "status" : "CREATED"
  },
     ...
  } ]
}

Ver paquetes de productos de API aceptados por un desarrollador o una empresa a través de la API

Consulta los paquetes de productos de API que acepta un desarrollador o una empresa específicos mediante la emisión de una solicitud GET a las siguientes APIs, respectivamente:

  • /organizations/{org_name}/developers/{developer_id}/monetization-packages, en la que {developer_id} es el ID (dirección de correo electrónico) del desarrollador.
  • /organizations/{org_name}/companies/{company_id}/monetization-packages, en la que {company_id} es el ID de la empresa.

Cuando emites la solicitud, tienes la opción de especificar los siguientes parámetros de consulta:

Parámetro de consulta Descripción Predeterminada
current Marca que especifica si se deben recuperar solo los paquetes de productos de API activos (current=true) o todos los paquetes (current=false). Se consideran disponibles todos los planes de tarifas de un paquete activo. current=false
allAvailable Marca que especifica si se deben recuperar todos los paquetes de productos de la API (allAvailable=true) disponibles o solo los paquetes de productos de la API disponibles específicamente para el desarrollador o la empresa (allAvailable=false). Todo disponible se refiere a los paquetes de productos de la API que están disponibles para el desarrollador o la empresa especificados, además de otros desarrolladores o empresas. Los paquetes de productos de API disponibles específicamente para una empresa o un desarrollador solo contienen planes de tarifas que están disponibles exclusivamente para esa empresa o desarrollador. allAvailable=true

Por ejemplo, la siguiente solicitud recupera todos los paquetes de productos de API que aceptó un desarrollador específico:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/dev1@myorg.com/monetization-packages" \
-u email:password

La siguiente solicitud recupera solo los paquetes de API activos que acepta una empresa específica:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/companies/myCompany/monetization-packages?current=true" \
-u email:password

Cómo borrar un paquete de productos de API mediante la API

Puedes borrar un paquete de productos de API solo si no tiene definido ningún plan de tarifas.

Para borrar un paquete de productos de la API que no tenga ningún plan de tarifas definido, envía una solicitud DELETE a organizations/{org_name}/monetization-packages/{package_id}, en la que {org_name} especifica el nombre de tu organización y {package_id} especifica el nombre del paquete de productos de la API.

Por ejemplo:

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}" \
-u email:password

Propiedades de configuración de paquetes de productos de la API para la API

En la API, se exponen las siguientes opciones de configuración de paquetes de productos de la API:

Nombre Descripción Predeterminada ¿Obligatorio?
description

Es una descripción del paquete de productos de API.

No disponible
displayName

Es el nombre que se mostrará para el paquete de productos de API (por ejemplo, en un catálogo de paquetes de API).

No disponible
name

Es el nombre del paquete de productos de la API.

No disponible
organization

Es la organización que contiene el paquete de productos de API.

No disponible No
product

Un array de uno o más productos en el paquete de productos de la API.

No disponible No
status

Un indicador de estado para el paquete de productos de API. El indicador de estado puede tener uno de los siguientes valores: CREATED, ACTIVE o INACTIVE.

No disponible