Configura el plan de tarifas con atributos personalizados

Estás viendo la documentación de Apigee Edge.
Ve a la Documentación de Apigee X.
información

Introducción

En algunos casos, es posible que necesites que los contadores de transacciones se basen en una variable o un valor personalizado. Por ejemplo, es posible que debas hacer lo siguiente:

  • Cobrar a los desarrolladores un importe variable según un valor proporcionado en el mensaje de una API llamada. Por ejemplo, es posible que quieras cobrarles a los desarrolladores de apps según la cantidad de bytes transmitido en la solicitud a la API.
  • Agrupa varias llamadas a la API en una sola transacción.

Si usas los planes de tarifas con atributos personalizados, puedes identificar un valor en el mensaje de una API que actúa como contador y se usa para calcular los cargos y recuentos de transacciones.

Se admiten los siguientes planes de tarifas con atributos personalizados:

  • Hoja de tarifas con atributo personalizado
  • Notificación ajustable con atributo personalizado

Puedes establecer un máximo de diez atributos personalizados por plan de tarifas.

Información sobre los cálculos de atributos personalizados

Cómo se incluye el valor del atributo personalizado en el recuento y los cargos de transacciones del plan de tarifas depende del modelo de cobro, como se resume en la siguiente tabla.

Modelo de carga Cálculo de atributos personalizados
Tasa plana y volumen con bandas

custom attribute number * rate = charge to developer

Para una tasa fija, el número de atributo personalizado se convierte en la cantidad de transacciones que se multiplican contra la tasa. Para las bandas de volumen, la cantidad de transacciones en una banda se incrementa con el número de atributo personalizado, y se cobra al desarrollador por ese número. la cantidad de transacciones. Por ejemplo, si el valor de un atributo personalizado en el mensaje es 10, se le cobran al desarrollador 10 transacciones y se agregan otras 10 al banda actual. Si al desarrollador solo le quedan 6 transacciones en el período 6 se multiplica por la velocidad de esa banda. Los 4 restantes van a la siguiente banda y se multiplican por la tasa de esa banda.

En un plan con bandas de volumen, si la última banda de volumen tiene un límite (no es “ilimitado”) y una transacción excede ese límite, ocurren dos cosas:

Paquetes

Dado que los paquetes se cobran por el grupo, no por la transacción, los siguientes factores se produce un cálculo:

custom attribute number = amount added to bundle count

Por ejemplo, si el número del atributo personalizado en el mensaje es 10, entonces se agrega 10 a la cantidad de transacciones utilizadas en el paquete. Si el desarrollador tuviera solo 6 restantes en el paquete actual, ese paquete se completa y el siguiente el recuento de paquetes se incrementa 4. La tarifa para el próximo paquete, si la hubiera, es de que se hayan cargado correctamente.

Si el último paquete tiene un límite (no es "ilimitado") y una transacción lo excede límite, pueden suceder dos cosas:

Notificaciones ajustables

En el caso de las notificaciones ajustables, se realiza el siguiente cálculo:

custom attribute number = amount added to transaction count

Por ejemplo, si el número del atributo personalizado en el mensaje es 10, entonces se agrega 10 a la cantidad total de transacciones.

De dónde obtiene el plan de tarifas valor del atributo personalizado

La Política de registro de transacciones (en el paquete de productos de la API) le indica a la monetización dónde buscar en el para el valor del atributo personalizado. El atributo personalizado se define en la sección Atributos personalizados. de la política de registro de transacciones para el paquete de productos de API.

Luego, puedes seleccionar ese atributo personalizado en el plan de tarifas, después de crear una API. paquete de productos que contiene la política de registro de transacciones con el un atributo personalizado definido.

Este es el flujo de alto nivel:

  1. Define los atributos personalizados cuando agregas un producto de API.
  2. Crea un paquete de productos de API que contenga el producto.
    En la política de registro de transacciones para el paquete de productos de la API, agrega los atributos personalizados que se para definir los planes de tarifas.
  3. Crear un plan de tarifas (tipo de hoja de tarifas o notificación ajustable) para el paquete de productos de la API y especifica un parámetro de calificación personalizada.

En la siguiente figura, se muestra la relación entre el atributo personalizado definido en el la política de registro de transacciones y la configuración del plan de la hoja de tarifas. El La notificación ajustable con relación de plan de tarifas de atributos personalizados es similar, aunque el valor de banda de volumen no es aplicable.

Cómo generar un entorno de el valor del atributo en el mensaje

La política de registro de transacciones puede buscar el valor del atributo personalizado en varios lugares. como el encabezado o el cuerpo de la respuesta, o las variables de flujo predefinidas en la respuesta. (La solicitud no está disponible porque una transacción no es oficial hasta que se aprueba response.) A continuación, se presentan ejemplos que muestran cómo agregar un encabezado de respuesta con su valor numérico al mensaje. En ambos casos, usaremos la política de Asignar mensajes en conjunción con variables.

Agrega el tamaño de la carga útil de la solicitud al encabezado de respuesta

En cada solicitud de mensaje, hay una variable client.received.content.length que contiene la cantidad de bytes en la carga útil de la solicitud. Si adjuntas una política de asignación de mensajes al respuesta de extremo del proxy, podemos generar un encabezado de respuesta llamado messageSize que contiene el valor de longitud:

<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1">
    <DisplayName>Assign Message 1</DisplayName>
    <Set>
        <Headers>
          <Header name="messageSize">{client.received.content.length}</Header> 
        </Headers>  
    </Set>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>

Agregar un valor de atributo personalizado de la app al encabezado

De la misma manera, podemos generar un encabezado con el valor de un atributo personalizado en una aplicación. Por ejemplo, si incluyes un atributo personalizado llamado apprating en cada desarrollador de la siguiente manera:

Cuando se usa la política Verificar clave de API (que es obligatoria para la monetización), este valor se almacenado en una variable llamada verifyapikey.{policy_name}.apprating. Cómo usar la función de asignación Si adjunta la política de mensajes de la respuesta del extremo del proxy, puede generar un encabezado apprating, que contiene el valor apprating de la app:

<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1">
    <DisplayName>Assign Message 1</DisplayName>
    <Set>
        <Headers>
          <Header name="apprating">{verifyapikey.Verify-API-Key-1.apprating}</Header> 
        </Headers>  
    </Set>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>

Configura el plan de tarifas

Aparte de la configuración del atributo personalizado descrita anteriormente, el plan de tarifas se configura de la misma manera. como lo harías normalmente (para planes de tarifas sin atributos personalizados), pero debe cumplir con la los siguientes requisitos.

Cómo configurar el plan de la hoja de tarifas con un atributo personalizado usando la IU

Para configurar planes de hojas de tarifas con atributos personalizados, use la IU de Edge o la IU clásica de Edge, tal como se describe en las siguientes secciones.

Edge

Para configurar un plan de hoja de tarifas con atributos personalizados mediante la IU de Edge, sigue estos pasos:

  1. Define los atributos personalizados cuando agregas un producto de API.
  2. Crea un paquete de productos de API que contenga el producto. Consulta Cómo crear paquetes de productos de API.
    En la política de registro de transacciones para el paquete de productos de la API, agrega los atributos personalizados que se para definir los planes de tarifas. Para obtener más detalles, consulta la introducción de este tema, así como Crea una política de registro de transacciones.
  3. Crea un plan de tarifas para el paquete de productos de la API. especificar un parámetro de calificación personalizado

Para obtener más información, consulta Configura los detalles del plan de la hoja de tarifas con la IU.

Classic Edge (nube privada)

Sigue estos pasos para crear una hoja de tarifas con un plan de atributos personalizados mediante la IU clásica de Edge:

  1. En la política de registro de transacciones de un producto de API, agrega los atributos personalizados que se para definir los planes de tarifas. Para obtener más información, consulta la introducción de este tema y la sección Cómo crear una transacción política de grabación de llamadas. Haz esto con cada producto de API que desees incluir en el paquete de API.
  2. Una vez que los productos de API y las políticas de registro de transacciones estén configurados exactamente como los deseas, crea un paquete de API que contenga el producto. Consulta Crea paquetes de API.
  3. Crear un plan de tarifas para el paquete de la API y seleccionar el tipo de plan de tarifas de la Hoja de tarifas con atributo personalizado.
  4. Haz clic en el vínculo de la Hoja de tarifas. Se abrirá la ventana de hoja de tarifas.

  5. Selecciona un atributo personalizado en el menú desplegable Atributo personalizado. El menú muestra listas atributos creados para el producto en una política de registro de transacciones. Se le cobra al desarrollador. según el valor del atributo personalizado seleccionado en cada transacción.
    (Valor del atributo * tarifa = cargo al desarrollador)
  6. De manera opcional, configura un plan freemium según se describe en Especifica el plan de la hoja de tarifas. más detallados.
  7. Configura un modelo de cargo tal como se describe en Especifica el plan de hoja de tarifas. más detallados. Sin embargo, ten en cuenta que, para el tipo de plan de tarifas de la hoja de tarifas con atributos personalizados, la el modelo de carga se basa en el atributo personalizado que selecciones. Por ejemplo, si eliges Plano Como modelo de cobro, al desarrollador se le cobra una tarifa fija basada en el como el número de bytes transmitidos en cada transacción (no una tarifa fija para cada transacción). Consulta Cálculos para obtener más información.
  8. Haz clic en Guardar. Borrador.
    Publica el plan solo cuando estés absolutamente seguro de que es definitivo. Consulta Cómo publicar planes de tarifas para obtener información sobre cómo establecer la fecha de publicación y cómo publicar el de recuperación ante desastres.

Para obtener más información, consulta Especifica los detalles del plan de la hoja de tarifas mediante la IU.

Configurar un plan de notificaciones ajustable con atributos personalizados a través de la IU

Configura planes de notificación ajustables con atributos personalizados, como se describe a continuación.

Edge

Para configurar un plan de hoja de tarifas con atributos personalizados mediante la IU de Edge, sigue estos pasos:

  1. Define los atributos personalizados cuando agregas un producto de API.
  2. Crea un paquete de productos de API que contenga el producto. Consulta Cómo crear paquetes de productos de API.
    En la política de registro de transacciones para el paquete de productos de la API, agrega los atributos personalizados que se para definir los planes de tarifas. Para obtener más detalles, consulta la introducción de este tema, así como Crea una política de registro de transacciones.
  3. Crea un plan de tarifas para el paquete de productos de la API. especificar un parámetro de calificación personalizado

Para obtener más información, consulta Cómo configurar un plan de notificaciones ajustable con la IU.

Classic Edge (nube privada)

Para configurar un plan de hoja de tarifas con atributos personalizados usando la IU clásica de Edge, sigue estos pasos:

  1. En la política de registro de transacciones de un producto de API, agrega los atributos personalizados que se para definir los planes de tarifas. Para obtener más información, consulta la introducción de este tema y la sección Cómo crear una transacción política de grabación de llamadas. Haz esto con cada producto de API que desees incluir en el paquete de API.
  2. Una vez que los productos de API y las políticas de registro de transacciones estén configurados exactamente como los deseas, crea un paquete de API que contenga el producto. Consulta Crea paquetes de API.
  3. Crear un plan de tarifas para el paquete de la API y seleccionar el tipo de plan de tarifas Adjustable Notificación con atributo personalizado
  4. Haz clic en el vínculo Detalles. Se abrirá la notificación ajustable en la ventana modal.

  5. Selecciona un atributo personalizado en el menú desplegable Atributo personalizado. El menú Enumera los atributos personalizados que se crearon para el producto en una política de registro de transacciones. El la cantidad total de transacciones del desarrollador se calcula según el valor de la oferta un atributo personalizado en cada transacción.
  6. Configura la Base de agregación como el período de tiempo durante el cual el volumen de las transacciones de forma agregada. Selecciona un número entre 1 y 24 meses. El valor predeterminado es 1. mes.
  7. Haz clic en Aplicar y cerrar.
  8. Haz clic en Guardar. Borrador.
    Publica el plan solo cuando estés absolutamente seguro de que es definitivo. Consulta Cómo publicar planes de tarifas para obtener información sobre cómo establecer la fecha de publicación y cómo publicar el de recuperación ante desastres.

Para obtener más información, consulta Especificación de los detalles del plan de notificación de Adjustable con la IU.

Especifica detalles para un plan de tarifas con atributos personalizados mediante la API

Realiza los siguientes pasos como requisitos previos:

  1. En la política de registro de transacciones de un producto de API, agrega los atributos personalizados que se para definir los planes de tarifas. Para obtener más información, consulta la introducción de este tema y la sección Cómo crear una transacción política de grabación de llamadas. Haz esto con cada producto de API que desees incluir en el paquete de API.
  2. Una vez que los productos de API y las políticas de registro de transacciones estén configurados exactamente como los deseas, crea un paquete de API que contenga el producto. Consulta Crea paquetes de API.

A continuación, usa la API para crear el plan de tarifas.

Cuando lo creas, especificas los detalles de un plan de tarifas con atributos personalizados. Tú especifica los detalles de la propiedad ratePlanDetails dentro del cuerpo de la solicitud de una llamada a /organizations/{org_name}/monetization-packages/{package_id}/rate-plans. En los detalles, debes especificar un valor de parámetro de calificación que identifique el nombre del . También puedes especificar un valor del parámetro de calificación que incluya el atributo personalizado durante un intervalo de tiempo específico.

Ver Plan de tarifas detalla los parámetros de configuración para obtener una lista completa de las opciones de detalles del plan de tarifas.

Por ejemplo, lo siguiente crea una hoja de tarifas con un plan de atributos personalizados que se basa en una llamado messageSize (consulte los elementos en negrita).

$ curl -H "Content-Type:application/json" -X POST -d \
'{
   "name": "Custom attribute-based rate card plan",
   "developer":null,
   "developerCategory":null,
   "currency": {
     "id" : "usd"
     },     
   "description": "Custom attribute-based rate card plan",
   "displayName" : "Custom attribute-based rate card plan",
   "frequencyDuration": "1",
   "frequencyDurationType": "MONTH",
   "earlyTerminationFee": "10",
   "monetizationPackage": {
      "id": "location"
        },
      "organization": {
       "id": "{org_name}"
      },    
   "paymentDueDays": "30",
   "prorate": "false",
   "published": "false",     
   "ratePlanDetails":[
      {
        "currency":{
           "id":"usd"
        },
      "duration":1,
      "durationType":"MONTH",
      "meteringType":"VOLUME",
      "paymentDueDays":"30",
      "ratingParameter":"messageSize",
      "ratingParameterUnit":"MB",
      "organization":{
         "id":"{org_name}"
      },
      "ratePlanRates":[
         {
           "rate":0.15,
           "startUnit":0,
           "type":"RATECARD",
           "endUnit":1000
         },
         {
           "rate":0.1,
           "startUnit":1000,
           "type":"RATECARD",
           "endUnit":null
         }
      ],
      "freemiumUnit":0,
      "freemiumDuration":0,
      "freemiumDurationType":"MONTH",
      "type":"RATECARD",
      "customPaymentTerm":false
      }
    ],
    "freemiumUnit":0,
    "freemiumDuration":0,
    "freemiumDurationType":"MONTH",
    "contractDuration":"1",
    "contractDurationType":"YEAR", 
    "recurringStartUnit": 1,
    "recurringType": "CALENDAR",
    "recurringFee": "10",
    "setUpFee": "10",
    "startDate": "2013-09-15 00:00:00",
    "type": "STANDARD"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans" \
-u email:password

Lo siguiente crea una notificación ajustable con un plan de tarifas de atributos personalizados basado en un el atributo personalizado messageSize (consulta el elemento en negrita).

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "AdjustableNotification",
     "displayName": "Custom attribute-based adjustable notification plan",
     "description": "Custom attribute-based adjustable notification plan",
     "published": "true",  
     "organization": {
      "id": "myorg"
     },
     "startDate": "2016-04-15 00:00:00",
     "type": "STANDARD",
     "monetizationPackage": {
        "id": "p1",
        "name": "test"
     },
     "currency": {
        "id" : "usd",
        "name" : "USD"
     },
     "ratePlanDetails": [
        {
           "type": "USAGE_TARGET",
           "meteringType": "DEV_SPECIFIC",
           "duration": 1,
           "durationType": "MONTH",
           "ratingParameter": "messageSize",
           "ratingParameterUnit": "MB",
           "organization": {
             "id": "myorg"
           },
           "currency": {
             "id": "usd",
             "name": "USD"
           }
        }
     ]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/monetization-packages/p1/rate-plans"  \
-u email:password