Estás viendo la documentación de Apigee Edge.
Ve a la
Documentación de Apigee X. información
Descripción general
La política MonetizationLimitsCheck te permite aplicar límites de monetización en las llamadas a la API que realices. por el desarrollador de la app.
Estos son algunos de los casos en los que se activa la política:
- Si un desarrollador de apps que accede a la API monetizada no compró una suscripción a el producto de API asociado
- La cuenta del desarrollador no tiene saldo suficiente.
- El desarrollador superó el límite de volumen de transacciones.
Para obtener información sobre cómo adjuntar la política a tu proxy de API, consulta Aplica límites de monetización en los proxies de API.
Elemento <MonetizationLimitsCheck>
Especifica la política MonetizationLimitsCheck.
Valor predeterminado | N/A |
¿Es obligatorio? | Obligatorio |
Tipo | Tipo complejo |
Elemento principal | N/A |
Elementos secundarios |
<DisplayName> <FaultResponse> <IgnoreUnresolvedVariables> <Variables> |
En la siguiente tabla, se proporciona una descripción de alto nivel de los elementos secundarios de <MonetizationLimitsCheck>
.
Elemento secundario | ¿Es obligatorio? | Descripción |
---|---|---|
<DisplayName> |
Opcional | Un nombre personalizado para la política |
<FaultResponse> |
Opcional | Especifica el mensaje de respuesta devuelto al cliente solicitante cuando se generará una falla. |
<IgnoreUnresolvedVariables> |
Opcional | Determina si el procesamiento se detiene cuando se encuentra una variable sin resolver. |
<Variables> |
Opcional | Especifica las variables de flujo para verificar los límites de monetización. |
El elemento <MonetizationLimitsCheck>
usa la siguiente sintaxis:
Sintaxis
<?xml version="1.0" encoding="UTF-8"?> <MonetizationLimitsCheck async="false" continueOnError="false" enabled="true" name="POLICY_NAME"> <DisplayName>DISPLAY_NAME</DisplayName> <IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables> <Variables> <Product>VARIABLE_NAME</Product> </Variables> <FaultResponse> <Set> <Payload contentType="text/xml"> <error> <messages> <message>MESSAGE_TEXT</message> <message>MESSAGE_TEXT</message> </messages> </error> </Payload> <StatusCode>HTTP_STATUS</StatusCode> <ReasonPhrase>REASON_TEXT</ReasonPhrase> </Set> </FaultResponse> </MonetizationLimitsCheck>
Ejemplo
En el siguiente ejemplo, se muestra la definición de la política MonetizationLimitsCheck:
<?xml version="1.0" encoding="UTF-8"?> <MonetizationLimitsCheck async="false" continueOnError="false" enabled="true" name="Monetization-Limits-Check"> <DisplayName>Monetization Limits Check</DisplayName> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <Variables> <Product>myproductvar.name</Product> </Variables> <FaultResponse> <Set> <Payload contentType="text/xml"> <error> <messages> <message>Developer has reached usage quota</message> <message>Is Developer Suspended - {monetizationLimits.isDeveloperSuspended} </message> </messages> </error> </Payload> <StatusCode>403</StatusCode> <ReasonPhrase>Forbidden</ReasonPhrase> </Set> </FaultResponse> </MonetizationLimitsCheck>
This element has the following attributes that are common to all policies:
Attribute | Default | Required? | Description |
---|---|---|---|
name |
N/A | Required |
The internal name of the policy. The value of the Optionally, use the |
continueOnError |
false | Optional | Set to "false" to return an error when a policy fails. This is expected behavior for most policies. Set to "true" to have flow execution continue even after a policy fails. |
enabled |
true | Optional | Set to "true" to enforce the policy. Set to "false" to "turn off" the policy. The policy will not be enforced even if it remains attached to a flow. |
async |
false | Deprecated | This attribute is deprecated. |
Referencia del elemento secundario
En esta sección, se describen los elementos secundarios de<MonetizationLimitsCheck>
.
<DisplayName>
Use in addition to the name
attribute to label the policy in the
management UI proxy editor with a different, more natural-sounding name.
The <DisplayName>
element is common to all policies.
Default Value | n/a |
Required? | Optional. If you omit <DisplayName> , the value of the
policy's name attribute is used |
Type | String |
Parent Element | <PolicyElement> |
Child Elements | None |
The <DisplayName>
element uses the following syntax:
Syntax
<PolicyElement> <DisplayName>policy_display_name</DisplayName> ... </PolicyElement>
Example
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
The <DisplayName>
element has no attributes or child elements.
<IgnoreUnresolvedVariables>
Determina si el procesamiento de la política debe detenerse cuando Apigee encuentra una variable sin resolver.
Valor predeterminado | True |
¿Es obligatorio? | Opcional |
Tipo | Booleano |
Elemento principal |
<MonetizationLimitsCheck> |
Elementos secundarios | Ninguno |
Para ignorar las variables sin resolver y continuar con el procesamiento, establece el valor en true
.
de lo contrario, false
. El valor predeterminado es true
.
Establecer <IgnoreUnresolvedVariables>
como true
no es lo mismo que establecer el elemento <MonetizationLimitsCheck>
De continueOnError
a true
. Si configuras continueOnError
como true
, Apigee ignora lo siguiente:
solo los errores de variable pero todos los errores.
El elemento <IgnoreUnresolvedVariables>
usa la siguiente sintaxis:
Sintaxis
<IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables>
Ejemplo
En el siguiente ejemplo, se configura <IgnoreUnresolvedVariables>
como false
:
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Variables>
Especifica las variables de flujo desde las que quieres recuperar el de entidades o recursos durante la ejecución de la política.
Solo puedes especificar el elemento <Product>
dentro del elemento <Variables>
. Apigee obtiene
Es el nombre del producto de la API a partir de la variable de flujo especificada en el elemento <Product>
. Si
no especifiques el elemento <Variables>
, Apigee obtiene, de forma predeterminada, el nombre del producto de API del
Variable de contexto apiproduct.name
. Cuando usas el nombre del producto de API, Apigee obtiene
el plan de tarifas correspondiente del producto y realiza la verificación de los límites de monetización.
Valor predeterminado | N/A |
¿Es obligatorio? | Opcional |
Tipo | Tipo complejo |
Elemento principal |
<MonetizationLimitsCheck> |
Elementos secundarios |
<Product> |
El elemento <Variables>
usa la siguiente sintaxis:
Sintaxis
<Variables> <Product>VARIABLE_NAME</Product> </Variables>
Ejemplo
En el siguiente ejemplo, se obtiene el nombre del producto de la API de la variable de flujo personalizado myproductvar.name
.
presente en el flujo del proxy de API.
<Variables> <Product>myproductvar.name</Product> </Variables>
Puedes configurar variables de flujo personalizadas mediante políticas como AssignMessage o JavaScript.
<Product>
Especifica la variable que tiene el nombre del producto de API.
Valor predeterminado | N/A |
¿Es obligatorio? | Opcional |
Tipo | String |
Elemento principal |
<Variables> |
Elementos secundarios | Ninguna |
El elemento <Product>
usa la siguiente sintaxis:
Sintaxis
<Product>VARIABLE_NAME</Product>
Ejemplo
En el siguiente ejemplo, se obtiene el nombre del producto de la API de la variable de flujo personalizado myproductvar.name
.
presente en el flujo del proxy de API.
<Product>myproductvar.name</Product>
Puedes configurar variables de flujo personalizadas mediante políticas como AssignMessage o JavaScript.
<FaultResponse>
Define el mensaje de respuesta que se muestra al cliente solicitante si se produce una falla. Puedes personalizar la respuesta mensajes según tus requisitos. Para obtener más información sobre el y todos sus elementos secundarios, consulta FaultResponse.
Variables de flujo
Si configuras el atributo <MonetizationLimitsCheck>
ContinueOnError
como verdadero, no se genera ningún error. En este caso, el
de flujo, mint.limitsViolated
, mint.isDeveloperSuspended
y
Las mint.limitsPolicyError
se configuran automáticamente. Estas variables se pueden usar para
realizar más control de excepciones si es necesario.