Esta é a documentação do Apigee Edge.
Acesse
Documentação da Apigee X. informações
Visão geral
A política MonetizationLimitsCheck permite aplicar limites de monetização em chamadas de API feitas pelo desenvolvedor do app.
Estes são alguns dos casos em que a política é acionada:
- Se um desenvolvedor de apps que acessa a API monetizada não tiver comprado uma assinatura o produto de API associado
- A conta do desenvolvedor não tem saldo suficiente.
- O desenvolvedor excedeu o limite de volume de transações.
Para informações sobre como anexar a política ao proxy de API, consulte Aplique limites de monetização em proxies de API.
Elemento <MonetizationLimitsCheck>
Especifica a política MonetizationLimitsCheck.
Valor padrão | N/A |
Obrigatório? | Obrigatório |
Tipo | Tipo complexo |
Elemento pai | N/A |
Elemento filho |
<DisplayName> <FaultResponse> <IgnoreUnresolvedVariables> <Variables> |
A tabela a seguir fornece uma descrição de alto nível dos elementos-filhos de <MonetizationLimitsCheck>
:
Elemento filho | Obrigatório? | Descrição |
---|---|---|
<DisplayName> |
Opcional | Um nome personalizado para a política. |
<FaultResponse> |
Opcional | Especifica a mensagem de resposta retornada ao cliente solicitante quando a falha é gerada. |
<IgnoreUnresolvedVariables> |
Opcional | Determina se o processamento é interrompido quando uma variável não resolvida é encontrada. |
<Variables> |
Opcional | Especifica as variáveis de fluxo para verificar os limites de monetização. |
O elemento <MonetizationLimitsCheck>
usa a seguinte sintaxe:
Sintaxe
<?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>
Exemplo
O exemplo a seguir mostra a definição da 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. |
Referência a elementos filhos
Esta seção descreve os elementos filhos 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 se o processamento da política deve ser interrompido quando a Apigee encontra uma variável não resolvida.
Valor padrão | True |
Obrigatório? | Opcional |
Tipo | Booleano |
Elemento pai |
<MonetizationLimitsCheck> |
Elemento filho | Nenhum |
Para ignorar variáveis não resolvidas e continuar o processamento, defina o valor como true
.
caso contrário, false
. O valor padrão é true
.
Definir <IgnoreUnresolvedVariables>
como true
é diferente de configurar o elemento <MonetizationLimitsCheck>
continueOnError
para true
. Se você definir continueOnError
como true
, a Apigee ignorará as
somente os erros de variáveis, mas todos os erros.
O elemento <IgnoreUnresolvedVariables>
usa a seguinte sintaxe:
Sintaxe
<IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables>
Exemplo
O exemplo a seguir define <IgnoreUnresolvedVariables>
como false
:
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Variables>
Especifica as variáveis de fluxo das quais você quer buscar o entidades ou recursos durante a execução da política.
É possível especificar apenas o elemento <Product>
no <Variables>
. A Apigee
o nome do produto da API da variável de fluxo especificada no elemento <Product>
. Se você
não especificar o elemento <Variables>
, a Apigee, por padrão, conseguirá o nome do produto da API da
apiproduct.name
. Ao usar o nome do produto da API, a Apigee
o plano de preços correspondente para o produto e realiza a verificação dos limites de monetização.
Valor padrão | N/A |
Obrigatório? | Opcional |
Tipo | Tipo complexo |
Elemento pai |
<MonetizationLimitsCheck> |
Elemento filho |
<Product> |
O elemento <Variables>
usa a seguinte sintaxe:
Sintaxe
<Variables> <Product>VARIABLE_NAME</Product> </Variables>
Exemplo
O exemplo a seguir usa o nome do produto da API da variável de fluxo personalizado myproductvar.name
.
presentes no fluxo do proxy de API.
<Variables> <Product>myproductvar.name</Product> </Variables>
É possível definir variáveis de fluxo personalizadas usando políticas como AssignMessage ou JavaScript.
<Product>
Especifica a variável que tem o nome do produto da API.
Valor padrão | N/A |
Obrigatório? | Opcional |
Tipo | String |
Elemento pai |
<Variables> |
Elemento filho | Nenhuma |
O elemento <Product>
usa a seguinte sintaxe:
Sintaxe
<Product>VARIABLE_NAME</Product>
Exemplo
O exemplo a seguir usa o nome do produto da API da variável de fluxo personalizado myproductvar.name
.
presentes no fluxo do proxy de API.
<Product>myproductvar.name</Product>
É possível definir variáveis de fluxo personalizadas usando políticas como AssignMessage ou JavaScript.
<FaultResponse>
Define a mensagem de resposta retornada ao cliente solicitante caso uma falha seja gerada. É possível personalizar a resposta mensagens com base nos seus requisitos. Para mais informações sobre o elemento e todos os seus elementos filhos, consulte FaultResponse.
Variáveis de fluxo
Se você definir o objeto <MonetizationLimitsCheck>
ContinueOnError
como verdadeiro, nenhuma falha é gerada. Nesse caso, o
variáveis de fluxo, mint.limitsViolated
, mint.isDeveloperSuspended
, e
mint.limitsPolicyError
são definidas automaticamente. Essas variáveis podem ser usadas para
e realizar o processamento adicional das exceções, se necessário.