MonetizationLimitsCheck politikası

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Genel Bakış

MonetizationLimitsCheck politikası, uygulama geliştirici tarafından yapılan API çağrılarınızda para kazandırma sınırları uygulamanıza olanak tanır.

Politikanın tetiklendiği durumlardan bazıları şunlardır:

  • Para kazanma özelliği etkinleştirilmiş API'ye erişen bir uygulama geliştiricisi, ilişkili API ürününe abonelik satın almamışsa
  • Geliştiricinin hesabında yeterli bakiye yok.
  • Geliştirici, işlem hacmi sınırını aştı.

Politikayı API proxy'nize nasıl ekleyeceğiniz hakkında bilgi edinmek için API proxy'lerinde para kazandırma sınırlarını zorunlu kılma başlıklı makaleyi inceleyin.

<MonetizationLimitsCheck> öğesi

MonetizationLimitsCheck politikasını belirtir.

Varsayılan Değer Yok
Zorunlu mu? Zorunlu
Tür Karmaşık tür
Üst öğe Yok
Alt Öğeler <DisplayName>
<FaultResponse>
<IgnoreUnresolvedVariables>
<Variables>

Aşağıdaki tabloda, <MonetizationLimitsCheck> öğesinin alt öğeleriyle ilgili üst düzey bir açıklama verilmektedir:

Alt öğe Zorunlu mu? Açıklama
<DisplayName> İsteğe bağlı Politika için özel bir ad.
<FaultResponse> İsteğe bağlı Hata oluştuğunda istekte bulunan istemciye döndürülen yanıt mesajını belirtir.
<IgnoreUnresolvedVariables> İsteğe bağlı Çözümlenmemiş bir değişkenle karşılaşıldığında işlemenin durdurulup durdurulmayacağını belirler.
<Variables> İsteğe bağlı Para kazanma sınırları için kontrol edilecek akış değişkenlerini belirtir.

<MonetizationLimitsCheck> öğesi şu söz dizimini kullanır:

Söz dizimi

<?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>

Örnek

Aşağıdaki örnekte MonetizationLimitsCheck politika tanımı gösterilmektedir:

<?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>

Bu öğe, tüm politikalarda ortak olan aşağıdaki özelliklere sahiptir:

Özellik Varsayılan Zorunlu mu? Açıklama
name Yok Zorunlu

Politikanın dahili adı. name özelliğinin değeri harf, sayı, boşluk, kısa çizgi, alt çizgi ve nokta içerebilir. Bu değer 255 karakteri aşamaz.

İsteğe bağlı olarak, politikayı yönetim kullanıcı arayüzü proxy düzenleyicisinde farklı, doğal bir dille etiketlemek için <DisplayName> öğesini kullanın.

continueOnError yanlış İsteğe bağlı Politika başarısız olduğunda hata döndürmek için "false" değerine ayarlayın. Bu, çoğu politika için beklenen bir durumdur. Bir politika başarısız olsa bile akış yürütmenin devam etmesi için değeri "true" olarak ayarlayın.
enabled true İsteğe bağlı Politikayı uygulamak için "true" (doğru) değerine ayarlayın. Politikayı "kapalı" hale getirmek için "false" değerine ayarlayın. Politika, bir akışa bağlı kalsa bile zorunlu kılınmaz.
async   yanlış Kullanımdan kaldırıldı Bu özellik kullanımdan kaldırıldı.

Alt öğe referansı

Bu bölümde, <MonetizationLimitsCheck> öğesinin alt öğeleri açıklanmaktadır.

<DisplayName>

Politikayı yönetim kullanıcı arayüzü proxy düzenleyicisinde farklı ve daha doğal bir adla etiketlemek için name özelliğiyle birlikte kullanın.

<DisplayName> öğesi tüm politikalarda ortaktır.

Varsayılan Değer Yok
Zorunlu mu? İsteğe bağlı. <DisplayName> özelliğini atlarsanız politikanın name özelliğinin değeri kullanılır.
Tür Dize
Üst öğe <PolicyElement>
Alt Öğeler Yok

<DisplayName> öğesi şu söz dizimini kullanır:

Söz dizimi

<PolicyElement>
  <DisplayName>policy_display_name</DisplayName>
  ...
</PolicyElement>

Örnek

<PolicyElement>
  <DisplayName>My Validation Policy</DisplayName>
</PolicyElement>

<DisplayName> öğesinin özelliği veya alt öğesi yoktur.

<IgnoreUnresolvedVariables>

Apigee, çözümlenmemiş bir değişkenle karşılaştığında politikanın işlenmesinin durdurulup durdurulmayacağını belirler.

Varsayılan Değer Doğru
Zorunlu mu? İsteğe bağlı
Tür Boole
Üst öğe <MonetizationLimitsCheck>
Alt Öğeler Yok

Çözümlenmemiş değişkenleri yoksaymak ve işleme devam etmek için değeri true olarak ayarlayın; aksi takdirde false. Varsayılan değer true'dır.

<IgnoreUnresolvedVariables> öğesini true olarak ayarlamak, <MonetizationLimitsCheck> öğesinin continueOnError özelliğini true olarak ayarlamaktan farklıdır. continueOnError değerini true olarak ayarlarsanız Apigee yalnızca değişken hatalarını değil, tüm hataları yoksayar.

<IgnoreUnresolvedVariables> öğesi şu söz dizimini kullanır:

Söz dizimi

<IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables>

Örnek

Aşağıdaki örnekte <IgnoreUnresolvedVariables>, false olarak ayarlanır:

<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>

<Variables>

Politika yürütülürken varlık veya kaynak adlarını getirmek istediğiniz akış değişkenlerini belirtir.

<Variables> öğesi içinde yalnızca <Product> öğesini belirtebilirsiniz. Apigee, API ürün adını <Product> öğesinde belirtilen akış değişkeninden alır. <Variables> öğesini belirtmezseniz Apigee varsayılan olarak API ürün adını apiproduct.name bağlam değişkeninden alır. Apigee, API ürün adını kullanarak ürünün karşılık gelen ücret planını alır ve para kazanma sınırları kontrolünü gerçekleştirir.

alır.
Varsayılan Değer Yok
Zorunlu mu? İsteğe bağlı
Tür Karmaşık tür
Üst öğe <MonetizationLimitsCheck>
Alt Öğeler <Product>

<Variables> öğesi şu söz dizimini kullanır:

Söz dizimi

<Variables>
    <Product>VARIABLE_NAME</Product>
</Variables>

Örnek

Aşağıdaki örnek, API proxy akışınızda bulunan myproductvar.nameözel akış değişkeninden API ürün adını alır.

<Variables>
    <Product>myproductvar.name</Product>
</Variables>

AssignMessage veya JavaScript gibi politikaları kullanarak özel akış değişkenleri ayarlayabilirsiniz.

<Product>

API ürün adını içeren değişkeni belirtir.

Varsayılan Değer Yok
Zorunlu mu? İsteğe bağlı
Tür Dize
Üst öğe <Variables>
Alt Öğeler Yok

<Product> öğesi şu söz dizimini kullanır:

Söz dizimi

<Product>VARIABLE_NAME</Product>

Örnek

Aşağıdaki örnek, API proxy akışınızda bulunan myproductvar.nameözel akış değişkeninden API ürün adını alır.

<Product>myproductvar.name</Product>

AssignMessage veya JavaScript gibi politikaları kullanarak özel akış değişkenleri ayarlayabilirsiniz.

<FaultResponse>

Bir hata oluştuğunda istekte bulunan istemciye döndürülen yanıt mesajını tanımlar. Yanıt mesajlarını gereksinimlerinize göre özelleştirebilirsiniz. öğesi ve tüm alt öğeleri hakkında daha fazla bilgi için FaultResponse bölümüne bakın.

Akış değişkenleri

<MonetizationLimitsCheck> öğesinin ContinueOnError özelliğini doğru olarak ayarlarsanız hata oluşmaz. Bu durumda, akış değişkenleri mint.limitsViolated, mint.isDeveloperSuspended ve mint.limitsPolicyError otomatik olarak ayarlanır. Bu değişkenler, gerekirse daha fazla istisna işleme gerçekleştirmek için kullanılabilir.