Administra paquetes de productos de API

Estás viendo la documentación de Apigee Edge.
Ve a 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 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 y, luego, incluir uno o más productos de API en cada uno. Puedes colocar los mismos productos de API en diferentes paquetes y asociarlos con planes de tarifas diferentes (o los mismos).

Los desarrolladores solo pueden registrar sus apps para usar un paquete de productos de API si compran 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 (como público) un plan de tarifas para ese paquete de productos. (con una fecha de inicio en la fecha actual o en una 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 elige 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 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 precios producto de API. Solo debes hacer esto si se cumplen todas las condiciones que figuran a continuación:

  • Configura 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 para el monto que pueden cobrar los desarrolladores, y desea que para notificar a los desarrolladores sobre 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 la API con la IU de Edge, selecciona Publish > Monetización > Paquetes de productos 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 la API en un paquete de productos o borrar un paquete de productos (si no se definen planes de tarifas) solo con la API.

Classic Edge (nube privada)

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

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

  • Visualiza 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
  • Agrega y administra 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 hay planes de tarifas definidos) usando solo la API.

Agregar un paquete de productos

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

  1. En la página Paquetes de productos, haz clic en + Paquete de productos de API.
  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.

    Cuando escribas el nombre de un producto de API, aparecerá una lista de productos de API que contengan la cadena en un menú desplegable. Haga 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.

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 deseas editar.

    Se muestra el panel de paquete de productos.

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

    Para obtener más información, consulta Cómo configurar la política de registro de transacciones.

  3. Haz clic en Actualizar paquete de productos.

Administrar 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, envía una solicitud POST a /organizations/{org_name}/monetization-packages Cuando envías la solicitud, debe:

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

De manera opcional, puedes especificar la organización.

Consulta las propiedades de configuración de paquetes de productos de API para obtener una lista de las opciones expuestas en 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 la API y cualquier información atributos especificados para esos productos de API. (Los atributos personalizados se especifican cuando crea un producto de API). Los atributos personalizados de un producto de API se pueden incluir en varios planes de tarifas. Para Por ejemplo, si configuras un plan de hoja de tarifas, en el que se cobra al desarrollador por cada transacción, puede establecer la tarifa del plan según un atributo personalizado, como la cantidad de bytes transmitidos en una transacción.

Administrar los productos de la 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 mediante la API, como se describe en el secciones a continuación.

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}, donde {org_name} especifica el nombre de la organización, {package_id} especifica el nombre del paquete del producto de la API y {product_id} especifica el ID de la API producto.

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 la API planes de tarifas específicos para productos

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 definidas (hoja de tarifas o porcentaje de ingresos), emite una solicitud POST a organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, donde {org_name} especifica el nombre de la organización, {package_id} especifica el nombre del paquete del producto de la API y {product_id} especifica el ID de la API producto.

Debes pasar los detalles del plan de tarifas para el nuevo producto de API en el cuerpo de la solicitud. Excepto por el array de ratePlanRates, los valores del plan de tarifas deben coincidir con los especificados para todos otros 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 para 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

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, envía una solicitud DELETE al organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}, donde {org_name} especifica el nombre de la organización, {package_id} especifica el nombre del paquete del producto de la API y {product_id} especifica el ID de la API producto.

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

Cómo ver 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 en la que los usuarios invocan apps que acceden a APIs en esos paquetes dentro de un inicio y un fin específicos fecha.

Ver 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}, donde {package_id} es la identificación del paquete de productos de la API (el ID se muestra en el 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

Ver todos los paquetes de productos de API: Para recuperar todos los paquetes de productos de API de una organización, emite una solicitud GET. solicitud 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 devolver todos los paquetes de productos de API. Si se configura como false, la cantidad de paquetes de productos de la API que se muestran por página es de definidas por el parámetro de consulta size. 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 la consulta all establecido en 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 estableció en true, se ignora el parámetro de configuración.

La respuesta para visualizar todos los paquetes de productos de API en una organización debería verse de la siguiente manera (solo parte se muestra 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
}

Cómo ver paquetes de productos de API con transacciones: Para recuperar paquetes de productos de API con transacciones en un período determinado, enviar una solicitud GET a /organizations/{org_name}/packages-with-transactions Cuando envías la solicitud, debes especificar como parámetros de consulta una fecha de inicio y una de finalización para el período. Para ejemplo, la siguiente solicitud recupera paquetes de productos de API con transacciones durante el mes del 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"
  },
     ...
  } ]
}

Cómo ver los paquetes de productos de la API que acepta un desarrollador o una empresa mediante la API

Consulta los paquetes de productos de API aceptados por 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, donde {developer_id} es el ID (dirección de correo electrónico) del desarrollador.
  • /organizations/{org_name}/companies/{company_id}/monetization-packages, donde {company_id} es el ID de la empresa.

Cuando envías la solicitud, tienes la opción de especificar 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 paquetes (current=false). Todos los planes de tarifas de un paquete activo se consideran disponibles. current=false
allAvailable Marca que especifica si se deben recuperar todos los paquetes de productos de API disponibles (allAvailable=true) solo 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 con otros desarrolladores o empresas. Los paquetes de productos de API disponibles específicamente para empresas o desarrolladores solo contienen planes de tarifas. que están disponibles exclusivamente para esa empresa o ese desarrollador. allAvailable=true

Por ejemplo, la siguiente solicitud recupera todos los paquetes de productos de API que acepta un desarrollador:

$ 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 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

Borrar un paquete de productos de API con la API

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

Para borrar un paquete de productos de API que no tenga ningún plan de tarifas definido, envía una solicitud DELETE. a organizations/{org_name}/monetization-packages/{package_id}, donde {org_name} especifica el nombre de la organización y {package_id} especifica el nombre del paquete del producto 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

Las siguientes opciones de configuración del paquete de productos de la API están expuestas a la API:

Nombre Descripción Predeterminada ¿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 la API (por ejemplo, en un catálogo de productos paquetes).

N/A
name

El nombre del paquete de productos de la API.

N/A
organization

La organización que contiene el paquete de productos de la 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 los siguientes valores: CREATED, ACTIVE, INACTIVE.

N/A