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>
Este elemento tem os seguintes atributos comuns a todas as políticas:
Atributo | Padrão | Obrigatório? | Descrição |
---|---|---|---|
name |
N/A | Obrigatório |
O nome interno da política. O valor do atributo Opcionalmente, use o elemento |
continueOnError |
falso | Opcional | Defina como "false" para retornar um erro quando uma política falhar. Esse é o comportamento esperado para a maioria das políticas. Defina como "true" para que a execução do fluxo continue mesmo após a falha de uma política. |
enabled |
verdadeiro | Opcional | Defina como "true" para aplicar a política. Defina como "false" para "turn off" a política. A política não será aplicada mesmo que permaneça vinculada a um fluxo. |
async |
falso | Descontinuado | Esse atributo está obsoleto. |
Referência a elementos filhos
Esta seção descreve os elementos filhos de<MonetizationLimitsCheck>
.
<DisplayName>
Use além do atributo name
para rotular a política no editor de proxy da IU de gerenciamento com um nome de som diferente e mais natural.
O elemento <DisplayName>
é comum a todas as políticas.
Valor padrão | n/a |
Obrigatório? | Opcional. Se você omitir <DisplayName> , o valor do atributo name da política será usado |
Tipo | String |
Elemento pai | <PolicyElement> |
Elemento filho | Nenhuma |
O elemento <DisplayName>
usa a seguinte sintaxe:
Sintaxe
<PolicyElement> <DisplayName>policy_display_name</DisplayName> ... </PolicyElement>
Exemplo
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
O elemento <DisplayName>
não tem atributos ou elementos filhos.
<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.