कमाई करने की सीमाओं की जांच करने से जुड़ी नीति

आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

खास जानकारी

Monetizationसीमाsचेक नीति की मदद से, आपके किए गए एपीआई कॉल पर कमाई करने की सीमाएं लागू की जा सकती हैं अन्य ऐप्लिकेशन डेवलपर कर सकते हैं.

नीति के ट्रिगर होने के कुछ मामले यहां दिए गए हैं:

  • अगर कमाई करने वाले एपीआई को ऐक्सेस करने वाले किसी ऐप्लिकेशन डेवलपर ने संबंधित एपीआई प्रॉडक्ट
  • डेवलपर के खाते में कम पैसे हैं.
  • डेवलपर ने लेन-देन की सीमा पार कर ली है.

अपने API प्रॉक्सी में नीति अटैच करने के तरीके के बारे में जानकारी के लिए, देखें एपीआई प्रॉक्सी पर कमाई करने की सीमाएं लागू करें.

<MonetizationLimitsCheck> एलिमेंट

इससे MonetizationlimitsCheck नीति के बारे में जानकारी मिलती है.

डिफ़ॉल्ट वैल्यू लागू नहीं
ज़रूरी है? ज़रूरी है
स्ट्रीम किस तरह की है कॉम्प्लेक्स टाइप
पैरंट एलिमेंट लागू नहीं
चाइल्ड एलिमेंट <DisplayName>
<FaultResponse>
<IgnoreUnresolvedVariables>
<Variables>

नीचे दी गई टेबल में, <MonetizationLimitsCheck> के चाइल्ड एलिमेंट की खास जानकारी दी गई है:

चाइल्ड एलिमेंट ज़रूरी है? ब्यौरा
<DisplayName> वैकल्पिक नीति के लिए, पसंद के मुताबिक नाम.
<FaultResponse> वैकल्पिक अनुरोध करने वाले क्लाइंट को जवाब में भेजा गया मैसेज बताता है कि गलती को बढ़ा दिया गया है.
<IgnoreUnresolvedVariables> वैकल्पिक यह तय करता है कि बिना हल वाला वैरिएबल मिलने पर प्रोसेसिंग बंद हो जाती है या नहीं.
<Variables> वैकल्पिक कमाई करने से जुड़ी सीमाओं की जांच करने के लिए, फ़्लो वैरिएबल तय करता है.

<MonetizationLimitsCheck> एलिमेंट में इस सिंटैक्स का इस्तेमाल किया जाता है:

सिंटैक्स

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

उदाहरण

यहां दिए गए उदाहरण में, MonetizationLimitCheck नीति के बारे में बताया गया है:

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

इस एलिमेंट में ये एट्रिब्यूट शामिल होते हैं, जो सभी नीतियों में शामिल हैं:

एट्रिब्यूट डिफ़ॉल्ट ज़रूरी है? ब्यौरा
name लागू नहीं ज़रूरी

नीति का अंदरूनी नाम. name एट्रिब्यूट की वैल्यू में अक्षर, संख्याएं, स्पेस, हाइफ़न, अंडरस्कोर, और फ़ुल स्टॉप का इस्तेमाल किया जा सकता है. इस वैल्यू में 255 से ज़्यादा वर्ण नहीं हो सकते.

इसके अलावा, मैनेजमेंट एलिमेंट के यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में, नीति एलिमेंट को किसी अलग नाम से इस्तेमाल करने के लिए, <DisplayName> एलिमेंट का इस्तेमाल किया जा सकता है.

continueOnError गलत ज़रूरी नहीं नीति के काम न करने पर गड़बड़ी दिखाने के लिए, "गलत" पर सेट करें. ज़्यादातर नीतियों के लिए इस तरीके का इस्तेमाल किया जाना चाहिए. नीति लागू न होने के बाद भी फ़्लो चलाने के लिए, "सही" पर सेट करें.
enabled सही ज़रूरी नहीं नीति लागू करने के लिए, "सही" पर सेट करें. नीति को "बंद" करने के लिए "गलत" पर सेट करें. अगर नीति किसी फ़्लो से जुड़ी हुई हो, तो भी उसे लागू नहीं किया जाएगा.
async   गलत बहिष्कृत इस एट्रिब्यूट के इस्तेमाल पर रोक लगा दी गई है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

चाइल्ड एलिमेंट का रेफ़रंस

इस सेक्शन में, <MonetizationLimitsCheck> के चाइल्ड एलिमेंट के बारे में बताया गया है.

<DisplayName>

यहां नीति को लेबल करने के लिए, name एट्रिब्यूट के साथ-साथ इस्तेमाल करें मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर, जिसका नाम बिलकुल असली लगता है.

<DisplayName> एलिमेंट का इस्तेमाल, सभी नीतियों के लिए किया जाता है.

डिफ़ॉल्ट वैल्यू लागू नहीं
ज़रूरी है? ज़रूरी नहीं. अगर आप <DisplayName> को छोड़ देते हैं, तो नीति की name एट्रिब्यूट का इस्तेमाल किया गया है
स्ट्रीम किस तरह की है स्ट्रिंग
पैरंट एलिमेंट &lt;PolicyElement&gt;
चाइल्ड एलिमेंट कोई नहीं

<DisplayName> एलिमेंट में इस सिंटैक्स का इस्तेमाल किया जाता है:

सिंटैक्स

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

उदाहरण

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

<DisplayName> एलिमेंट में कोई एट्रिब्यूट या चाइल्ड एलिमेंट नहीं है.

<IgnoreUnresolvedVariables>

यह तय करता है कि जब Apigee को कोई समाधान न किया गया वैरिएबल मिलता है, तो नीति को प्रोसेस करना बंद होना चाहिए या नहीं.

डिफ़ॉल्ट वैल्यू सही
ज़रूरी है? वैकल्पिक
स्ट्रीम किस तरह की है बूलियन
पैरंट एलिमेंट <MonetizationLimitsCheck>
चाइल्ड एलिमेंट कोई नहीं

बिना हल वाले वैरिएबल को अनदेखा करने और प्रोसेस जारी रखने के लिए, वैल्यू को true पर सेट करें; नहीं तो false. डिफ़ॉल्ट वैल्यू true है.

<IgnoreUnresolvedVariables> को true पर सेट करना, <MonetizationLimitsCheck> एलिमेंट के continueOnError से true. अगर continueOnError को true पर सेट किया जाता है, तो Apigee इसे अनदेखा नहीं करता है सिर्फ़ वैरिएबल की गड़बड़ियों को छोड़कर बाकी सभी गड़बड़ियां दिखेंगी.

<IgnoreUnresolvedVariables> एलिमेंट में इस सिंटैक्स का इस्तेमाल किया जाता है:

सिंटैक्स

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

उदाहरण

यहां दिए गए उदाहरण में, <IgnoreUnresolvedVariables> को false पर सेट किया गया है:

<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>

<Variables>

उन फ़्लो वैरिएबल के बारे में बताता है जिनसे आप नीति लागू होने के दौरान इकाई या संसाधन के नाम.

आपके पास <Variables> एलिमेंट में सिर्फ़ <Product> एलिमेंट की जानकारी देने का विकल्प होता है. Apigee को यह मिलता है <Product> एलिमेंट में दिए गए फ़्लो वैरिएबल से एपीआई प्रॉडक्ट का नाम. अगर आपको <Variables> एलिमेंट की जानकारी न देने पर, Apigee को डिफ़ॉल्ट रूप से एपीआई प्रॉडक्ट का नाम apiproduct.name कॉन्टेक्स्ट वैरिएबल. एपीआई प्रॉडक्ट का नाम इस्तेमाल करने पर, Apigee को के हिसाब से दर प्लान. साथ ही, कमाई करने की सीमा से जुड़ी जांच करता है.

डिफ़ॉल्ट वैल्यू लागू नहीं
ज़रूरी है? वैकल्पिक
स्ट्रीम किस तरह की है कॉम्प्लेक्स टाइप
पैरंट एलिमेंट <MonetizationLimitsCheck>
चाइल्ड एलिमेंट <Product>

<Variables> एलिमेंट में इस सिंटैक्स का इस्तेमाल किया जाता है:

सिंटैक्स

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

उदाहरण

इस उदाहरण में, एपीआई प्रॉडक्ट का नाम, myproductvar.name कस्टम फ़्लो वैरिएबल से लिया गया है जो आपके API प्रॉक्सी फ़्लो में मौजूद है.

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

AssignMessage या JavaScript जैसी नीतियों का इस्तेमाल करके, कस्टम फ़्लो वैरिएबल सेट किए जा सकते हैं.

<Product>

एपीआई प्रॉडक्ट नाम वाले वैरिएबल के बारे में बताता है.

डिफ़ॉल्ट वैल्यू लागू नहीं
ज़रूरी है? वैकल्पिक
स्ट्रीम किस तरह की है स्ट्रिंग
पैरंट एलिमेंट <Variables>
चाइल्ड एलिमेंट कोई नहीं

<Product> एलिमेंट में इस सिंटैक्स का इस्तेमाल किया जाता है:

सिंटैक्स

<Product>VARIABLE_NAME</Product>

उदाहरण

इस उदाहरण में, एपीआई प्रॉडक्ट का नाम, myproductvar.name कस्टम फ़्लो वैरिएबल से लिया गया है जो आपके API प्रॉक्सी फ़्लो में मौजूद है.

<Product>myproductvar.name</Product>

AssignMessage या JavaScript जैसी नीतियों का इस्तेमाल करके, कस्टम फ़्लो वैरिएबल सेट किए जा सकते हैं.

<FaultResponse>

यह नीति किसी गड़बड़ी के बारे में पता चलने पर, अनुरोध करने वाले क्लाइंट को भेजे जाने वाले जवाब के मैसेज के बारे में बताती है. जवाब को अपनी पसंद के मुताबिक बनाया जा सकता है अपनी ज़रूरत के हिसाब से मैसेज भेजते हैं. इस बारे में ज़्यादा जानकारी पाने के लिए एलिमेंट और उसके सभी चाइल्ड एलिमेंट के लिए, FaultResponse देखें.

फ़्लो वैरिएबल

अगर आप <MonetizationLimitsCheck> एलिमेंट के ContinueOnError एट्रिब्यूट को 'सही' के तौर पर मार्क किया गया है, कोई गलती नहीं बताई गई है. इस मामले में, फ़्लो वैरिएबल, mint.limitsViolated, mint.isDeveloperSuspended, और mint.limitsPolicyError अपने-आप सेट हो जाते हैं. इन वैरिएबल का इस्तेमाल इन कामों के लिए किया जा सकता है ज़रूरत पड़ने पर और अपवाद मैनेज करना.