Administra paquetes de productos de API

Estás viendo la documentación de Apigee Edge.
Ir a la documentación de Apigee X.
info

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 que, 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 e incluir uno o más productos de API en cada uno. Puedes colocar el mismo producto o productos de API en diferentes paquetes y asociarlos con planes de tarifas diferentes (o iguales).

Los desarrolladores pueden registrar sus apps para usar un paquete de productos de API solo si compran uno de los planes de tarifas vigentes. Un paquete de productos de API no se hace visible para los desarrolladores hasta que agregues y publiques (como público) un plan de tarifas para el paquete de productos (con una fecha de inicio de la fecha actual o una fecha futura), como se describe en Administra 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 API y elegir el plan de tarifas. Como alternativa, puedes aceptar un plan de tarifas para un desarrollador con la API de administración. Para obtener más información, consulta Compra planes de tarifas publicados con la API.

Después de agregar un producto de API a un paquete de productos de API, es posible que debas configurar los puntos de precio para el producto de API. Debes hacerlo solo si se cumplen todas las siguientes condiciones:

  • Configuraste 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.
  • Hay una restricción mínima o máxima sobre el importe que pueden cobrar los desarrolladores, y deseas notificarles la restricción.

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.

Edge

Para acceder a la página de paquetes de productos de API con la IU de Edge, selecciona Publicar > Monetización > Paquetes de productos en la barra de navegación izquierda.

Como se destacó en la figura 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 definen planes de tarifas) solo con la API.

Edge clásico (nube privada)

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

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

  • Ver información resumida de todos los paquetes de API, incluidos los productos de API que contiene y los planes de tarifas asociados
  • Agregar un paquete de API
  • Editar un paquete de API
  • Agregar y administrar planes de tarifas
  • Alternar la configuración de acceso al plan de tarifas (público/privado)
  • Filtrar la lista de paquetes

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

Agrega un paquete de productos

Para agregar un paquete de productos de API, haz lo siguiente:

  1. Haz clic en + Paquete de productos 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, aparece una lista de productos de API que contienen la cadena en un menú desplegable. Haz clic en el nombre de un producto de API para agregarlo al paquete. Repite el proceso para agregar productos de API adicionales.

  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.

Edita un paquete de productos

Para editar un paquete de productos, haz lo siguiente:

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

    Se muestra 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.

Crea un paquete de productos de API con la API

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

  • Identificar los productos de API que se incluirán en el paquete de productos de API
  • Especificar un nombre y una descripción para el paquete de productos de API
  • Establecer un indicador de estado para el paquete de productos de API El indicador de estado puede tener uno de los siguientes valores: CREATED, ACTIVE, INACTIVE. Actualmente, el valor del indicador de estado que especifiques se mantiene en el paquete de productos de API, pero no se usa para ningún propósito.

De manera opcional, puedes especificar la organización.

Consulta Propiedades de configuración del paquete de productos de 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 los atributos personalizados especificados para esos productos de API. (Los atributos personalizados se especifican cuando creas un producto de API). Los atributos personalizados de un producto de API se pueden incluir en varios planes de tarifas. For example, si configuras un plan de lista de precios, en el que le cobras al desarrollador por cada transacción, you can set the rate for the plan based on a custom attribute such as the number of bytes transmitted in a transaction.

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

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

Agrega un producto de API a un paquete de productos de API

Para agregar un producto de API a un paquete de productos de API, 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 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

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

Para agregar un producto de API a un paquete de productos de API que tiene definidos uno o más planes de tarifas específicos del producto de API (lista de precios o reparto de ingresos), envía una solicitud POST a organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, donde {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.

Debes pasar los detalles del plan de tarifas para el nuevo producto de API en el cuerpo de la solicitud. A excepción del 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

Borra un producto de API de un paquete de productos de API

Para borrar un producto de API de un paquete de productos de API, envía 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 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 en esos paquetes dentro de una fecha de inicio y finalización especificadas.

Visualiza un paquete de productos de API específico: Para recuperar un paquete de productos de 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 API (el ID se muestra en la respuesta cuando creas el paquete de productos de 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

Visualiza 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 establece en falso, la cantidad de paquetes de productos de API que se muestran por página se define con el parámetro de consulta size. El valor predeterminado es falso.
size Cantidad de paquetes de productos de API que se muestran por página. El valor predeterminado es 20. Si el all parámetro de consulta se establece en true, se ignora este parámetro.
page Número de la página que deseas mostrar (si el contenido está paginado). Si el all parámetro de consulta se establece en 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 de la respuesta):

{
  "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
}

Visualiza paquetes de productos de 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 envíes la solicitud, debes especificar como parámetros de consulta una fecha de inicio y una fecha 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 verse de la siguiente manera (solo se muestra una parte de la respuesta):

{
  "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"
  },
     ...
  } ]
}

Visualiza paquetes de productos de API aceptados por un desarrollador o una empresa con la API

Para ver los paquetes de productos de API aceptados por un desarrollador o una empresa específicos, envía 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 envíes la solicitud, puedes especificar de manera opcional los siguientes parámetros de consulta:

Parámetro de consulta Descripción Predeterminado
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 considera que todos los planes de tarifas de un paquete activo están disponibles. current=false
allAvailable Marca que especifica si se deben recuperar todos los paquetes de productos de API disponibles (allAvailable=true) o solo los paquetes de productos de API disponibles específicamente para el desarrollador o la empresa (allAvailable=false). Todos los disponibles se refieren a los paquetes de productos de 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 aceptados por 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 aceptados por 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

Borra un paquete de productos de API con la API

Puedes borrar un paquete de productos de API solo si no tiene planes de tarifas definidos.

Para borrar un paquete de productos de API que no tiene planes de tarifas definidos, envía una solicitud DELETE a organizations/{org_name}/monetization-packages/{package_id}, donde {org_name} especifica el nombre de tu organización y {package_id} especifica el nombre del paquete de productos 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}" \
-u email:password

Propiedades de configuración del paquete de productos de API para la API

Las siguientes opciones de configuración del paquete de productos de API se exponen a la API:

Nombre Descripción Predeterminado ¿Obligatorio?
description

Una descripción del paquete de productos de API.

N/A
displayName

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

N/A
name

El nombre del paquete de productos de API.

N/A
organization

La organización que contiene el paquete de productos de API.

N/A No
product

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

N/A 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, INACTIVE.

N/A