Estás viendo la documentación de Apigee Edge.
Ir a la
documentación de Apigee X. info
En esta sección, se describe cómo comprar un plan de tarifas publicado y cómo vencer o cancelar un plan de tarifas comprado, si lo deseas, con 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") si
emite una solicitud POST a
/mint/organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans,
donde {org_name} es el nombre de la organización y
{developer_or_company_id} es el ID del desarrollador o la empresa.
Para eximir las tarifas de configuración cuando compres 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 | Sí |
endDate |
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 en la fecha especificada. Si deseas que venza un plan de tarifas el 1 de diciembre de 2017, por ejemplo, debes establecer el valor de 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 |
N/A | Sí |
quotaTarget |
Cantidad objetivo de transacciones permitidas para el desarrollador de apps. Puedes configurar si se envían notificaciones y cuándo se envían según el porcentaje de la cantidad objetivo que se alcanzó, como el 90%, el 100% o el 150%. Las transacciones adicionales no se bloquean después de que se alcanza la cantidad objetivo. Establece este valor en un valor entero positivo o en 0 para inhabilitar las notificaciones para un desarrollador de apps. |
0 |
No |
ratePlan |
Propiedad 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 | Sí |
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:
|
N/A | No |
waveTerminationCharge |
Marca que especifica si se eximen las tarifas de rescisión cuando se rescinde un plan de tarifas activo como parte de la activación del plan de tarifas nuevo. El valor puede ser uno de los siguientes:
|
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 arroja un error. Esto
permite que una aplicación que proporciona una interfaz de usuario a 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 paquete de API nuevo para el desarrollador.
La siguiente solicitud compra un plan de tarifas de notificación ajustable y 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 establecer los atributos de monetización MINT_DEVELOPER_ADDRESS y
MINT_DEVELOPER_LEGAL_NAME y, luego, repetir la llamada a la API.
Vence un plan de tarifas comprado por 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 en la fecha de finalización especificada. Si deseas que venza un plan de tarifas el 1 de diciembre de 2017, por ejemplo, debes establecer el valor de 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.
El {developer_rateplan_id} se muestra 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} para el
plan de tarifas del desarrollador si emites una solicitud GET
a /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans,
donde {developer_id} es la dirección de correo electrónico del desarrollador. Para obtener más
información, consulta Visualiza
todos los planes de tarifas comprados por 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; se bloquearán todas las solicitudes del 1 de diciembre de 2017.
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
}'