Planes de tarifas de compra que usan la API

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

En esta sección, se describe cómo comprar un plan de tarifas publicado y, si lo deseas, cancelarlo o hacer que venza mediante la API.

Compra un plan de tarifas publicado con la API

Después de que se publica un plan de tarifas, un desarrollador o una empresa puede comprarlo (o "aceptarlo") mediante el envío de una solicitud POST a /mint/organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans, en la que {org_name} es el nombre de la organización y {developer_or_company_id} es el ID del desarrollador o la empresa.

Para renunciar a las tarifas de configuración cuando compras un plan de tarifas, establece el parámetro de consulta waivefees en true. Esta marca es útil cuando migras desarrolladores a la monetización, como se describe en Migra desarrolladores a la monetización.

En la siguiente tabla, se resumen las propiedades de configuración que puedes especificar en el cuerpo de la solicitud, sus valores predeterminados y si son obligatorias o no.

Nombre Descripción Predeterminado ¿Obligatorio?
startDate

Fecha en la que comienza el plan de tarifas. Por ejemplo, 2017-03-24.

N/A
endDate

Es la fecha en la que finaliza el plan de tarifas. Por ejemplo: 2017-09-24.

El plan de tarifas estará vigente hasta el final del día de la fecha especificada. Por ejemplo, si deseas que un plan de tarifas venza el 1 de diciembre de 2017, debes establecer el valor endDate en 2017-11-30. En este caso, el plan de tarifas vencerá al final del día el 30 de noviembre de 2017. Se bloquearán todas las solicitudes del 1 de diciembre de 2017.

N/A No
developer

Propiedad id que define el ID del desarrollador o la empresa que compra el plan de tarifas.

N/A
quotaTarget

Es la cantidad objetivo de transacciones permitidas para el desarrollador de la app. Puedes configurar si se envían notificaciones y cuándo, según el porcentaje del número objetivo que se alcanzó, como el 90%, el 100% o el 150%. No se bloquean las transacciones adicionales después de que se alcanza la cantidad objetivo.

Establece este valor en un número entero positivo o 0 para inhabilitar las notificaciones de un desarrollador de apps.

0 No
ratePlan

La propiedad id que define el ID del plan de tarifas

El ID del plan de tarifas es diferente del nombre visible. Para ver los detalles del plan de tarifas, incluido el ID, consulta Explora la página de planes de tarifas.

N/A
suppressWarning

Marca que especifica si se debe suprimir el error si el desarrollador intenta comprar un plan de tarifas que se superpone con otro plan de tarifas comprado. El valor puede ser uno de los siguientes:

  • true: La monetización cancela todos los planes de tarifas comprados que el desarrollador tiene para los paquetes de API que contienen los productos de API en conflicto. Luego, compra un nuevo paquete de API para el desarrollador.
  • false: Se produce un error en caso de que haya un plan de tarifas superpuesto.
N/A No
waveTerminationCharge

Marca que especifica si se renuncian las tarifas de rescisión cuando se rescinde un plan de tarifas activo como parte de la activación del nuevo plan de tarifas. El valor puede ser uno de los siguientes:

  • true: Exención de la tarifa de rescisión cuando se cancela un plan de tarifas activo como parte de la activación del nuevo plan de tarifas.
  • false: No renuncies a la tarifa de rescisión cuando se cancele un plan de tarifas activo como parte de la activación de un plan de tarifas nuevo.
N/A No

Por ejemplo, la siguiente solicitud compra el plan de tarifas location_&_messaging para el desarrollador especificado:

curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \
  -X POST \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "developer":{
     "id":"5cTWgdUvdr6JW3xU"
   },
   "startDate":"2017-08-30",
   "ratePlan":{
     "id":"location_&_messaging"
   },
   "suppressWarning":false
  }'

En este ejemplo, la propiedad suppressWarning se establece en false. En este caso, se arrojará un error en caso de conflicto. Por ejemplo, si el desarrollador intenta comprar un plan de tarifas que se superpone con otro plan de tarifas comprado, se genera un error. Esto permite que una aplicación que proporciona una interfaz de usuario para la monetización intercepte el error y muestre los productos en conflicto al desarrollador para su confirmación (según corresponda). Si suppressWarning se establece en true, la monetización finaliza todos los planes de tarifas comprados que el desarrollador tiene para los paquetes de API que contienen los productos en conflicto. Luego, compra un nuevo paquete de API para el desarrollador.

En la siguiente solicitud, se compra un plan de tarifas de notificaciones ajustable y se establece la cantidad objetivo de transacciones en 4,000.

curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \
  -X POST \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "developer":{
     "id":"5cTWgdUvdr6JW3xU"
   },
   "ratePlan":{
     "id":"adjustable-notification-plan"
   },
   "startDate": "2017-03-24",
   "quotaTarget": 4000,
   "suppressWarning":false
  }'

En cualquiera de los ejemplos anteriores, si se muestra el siguiente mensaje de error:

Developer legal name not specified. 

Luego, debes configurar los atributos de monetización MINT_DEVELOPER_ADDRESS y MINT_DEVELOPER_LEGAL_NAME, y repetir la llamada a la API.

Vencimiento de un plan de tarifas que compró un desarrollador con la API

Para vencer (o cancelar) un plan de tarifas que compró un desarrollador, actualiza los detalles del plan de tarifas comprado y especifica la propiedad endDate en el cuerpo de la solicitud en una solicitud PUT al recurso /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id}.

El plan de tarifas estará vigente hasta el final del día de la fecha de finalización especificada. Por ejemplo, si deseas que un plan de tarifas venza el 1 de diciembre de 2017, debes establecer el valor endDate en 2017-11-30. En este caso, el plan de tarifas vencerá al final del día el 30 de noviembre de 2017. Se bloquearán todas las solicitudes del 1 de diciembre de 2017.

Se muestra {developer_rateplan_id} en la respuesta cuando compras el plan de tarifas publicado.

Por ejemplo:

{
  "created": "2017-03-31 18:59:54",
  "developer": {
    ...
  },
  "id": "b1c600b8-f871-496d-8173-12b9950d6ab1",
  "quotaTarget": 3000,
  "ratePlan": {
    ...
  },
  "startDate": "2017-03-31 00:00:00",
  "updated": "2017-03-31 18:59:54",
  "waiveTerminationCharge": false
}

Como alternativa, puedes obtener el {developer-rateplan-id} del plan de tarifas del desarrollador mediante el envío de una solicitud GET a /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans, en la que {developer_id} es la dirección de correo electrónico del desarrollador. Para obtener más información, consulta Cómo ver todos los planes de tarifas que compró un desarrollador.

La siguiente solicitud actualiza la fecha de finalización al 1 de diciembre de 2017. Es decir, el plan de tarifas vencerá al final del día el 30 de noviembre de 2017. Todas las solicitudes del 1 de diciembre de 2017 se bloquearán.

curl "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans/b1c600b8-f871-496d-8173-12b9950d6ab1"
  -X PUT \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "id" : "b1c600b8-f871-496d-8173-12b9950d6ab1",
   "developer":{
     "id":"dev@mycompany.com"
   },
   "ratePlan":{
     "id":"p1_adjustable-notification-plan"
   },
   "startDate": "2017-04-15 00:00:00",
   "endDate": "2017-11-30",
   "quotaTarget": 3000,
   "suppressWarning":false
  }'