Política MonetizationLimitsCheck

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 name attribute can contain letters, numbers, spaces, hyphens, underscores, and periods. This value cannot exceed 255 characters.

Optionally, use the <DisplayName> element to label the policy in the management UI proxy editor with a different, natural-language name.

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.