ट्रांज़ैक्शन रिकॉर्डिंग से जुड़ी नीति कॉन्फ़िगर करना

Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं.
जानकारी

अपने एपीआई प्रॉडक्ट बंडल में, हर एपीआई प्रॉडक्ट के लिए, लेन-देन रिकॉर्ड करने की नीतियों को कॉन्फ़िगर करें. इसके बारे में यहां दिए गए सेक्शन में बताया गया है.

शुरुआती जानकारी

ट्रांज़ैक्शन रिकॉर्ड करने की नीति से, ट्रांज़ैक्शन पैरामीटर और कस्टम एट्रिब्यूट को कैप्चर करने के लिए, कमाई करने की सुविधा मिलती है. कमाई करने की सुविधा को लागू करने के लिए, कमाई करने को इस जानकारी की ज़रूरत होती है. जैसे, रेट प्लान लागू करना.

उदाहरण के लिए, आय के बंटवारे की दर वाला प्लान सेट अप करने पर, एपीआई प्रॉडक्ट से होने वाले हर लेन-देन से जनरेट हुए रेवेन्यू का कुछ प्रतिशत, अनुरोध जारी करने वाले ऐप्लिकेशन के डेवलपर के साथ शेयर किया जाता है. आय का बंटवारा, लेन-देन की कुल या कुल कीमत (जो आपने तय किया हो) के हिसाब से होता है. इसका मतलब है कि हर लेन-देन की कुल या कुल कीमत का कुछ प्रतिशत हिस्सा, आय का हिस्सा तय करने के लिए इस्तेमाल किया जाता है. इसलिए, कमाई करने के लिए लेन-देन की कुल या कुल कीमत के बारे में जानकारी होनी चाहिए. इसमें लेन-देन रिकॉर्ड करने की नीति के हिसाब से तय की गई सेटिंग से, कुल या कुल कीमत मिलती है.

रेट कार्ड प्लान सेट अप करने पर, हर लेन-देन के लिए डेवलपर से शुल्क लिया जाता है. ऐसे में, कस्टम एट्रिब्यूट के आधार पर प्लान की दर सेट की जा सकती है. जैसे, लेन-देन में ट्रांसमिट की गई बाइट की संख्या. कमाई करने के लिए यह जानना ज़रूरी है कि कस्टम एट्रिब्यूट क्या है और वह कहां मिलेगा. इसलिए, आपको लेन-देन रिकॉर्ड करने की नीति में, कस्टम एट्रिब्यूट के बारे में बताना होगा.

ट्रांज़ैक्शन रिकॉर्ड करने की नीति में, लेन-देन से जुड़े एट्रिब्यूट की जानकारी देने के अलावा, लेन-देन पूरा होने की ज़रूरी शर्तें भी तय की जा सकती हैं. ऐसा लेन-देन पूरा होने के बारे में (शुल्क लगाने के मकसद से) किया जा सकता है. लेन-देन पूरा होने की शर्तें सेट करने के उदाहरणों के लिए, लेन-देन रिकॉर्ड करने की नीति में लेन-देन पूरा होने की शर्तें सेट करने के उदाहरण देखें. एपीआई प्रॉडक्ट के लिए कस्टम एट्रिब्यूट भी तय किए जा सकते हैं. जिन प्रॉडक्ट के लिए बुनियादी दर प्लान लिया जाता है उनके लिए शुल्क लिया जाता है.

ट्रांज़ैक्शन रिकॉर्ड करने की नीति को कॉन्फ़िगर करना

नीचे बताए गए तरीके के मुताबिक, प्रॉडक्ट बंडल पेज को ऐक्सेस करें.

Edge

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

  1. लेन-देन रिकॉर्ड करने की नीति सेक्शन में कॉन्फ़िगर करने के लिए, एपीआई प्रॉडक्ट चुनें (अगर प्रॉडक्ट बंडल में एक से ज़्यादा एपीआई वाले प्रॉडक्ट हैं).
  2. लेन-देन एट्रिब्यूट कॉन्फ़िगर करें.
  3. कस्टम एट्रिब्यूट कॉन्फ़िगर करना.
  4. संसाधनों को यूनीक ट्रांज़ैक्शन आईडी से लिंक करें.
  5. रिफ़ंड कॉन्फ़िगर करें.
  6. एपीआई प्रॉडक्ट बंडल में दिए गए हर एपीआई प्रॉडक्ट के लिए, इसे दोहराएं.

क्लासिक एज (प्राइवेट क्लाउड)

क्लासिक Edge यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके ट्रांज़ैक्शन रिकॉर्डिंग नीति कॉन्फ़िगर करने के लिए:

  1. http://ms-ip:9000 में साइन इन करें. यहां ms-ip, मैनेजमेंट सर्वर नोड का आईपी पता या डीएनएस नाम है.
  2. सबसे ऊपर मौजूद नेविगेशन बार में, पब्लिश करें > प्रॉडक्ट चुनें.
  3. लागू एपीआई प्रॉडक्ट की लाइन में, + लेन-देन रिकॉर्ड करने की नीति पर क्लिक करें. इसके बाद, लेन-देन रिकॉर्ड करने की नई नीति वाली विंडो दिखती है.
  4. यह तरीका अपनाकर, ट्रांज़ैक्शन रिकॉर्ड करने की नीति को कॉन्फ़िगर करें:
  5. सेव करें पर क्लिक करें.

ट्रांज़ैक्शन एट्रिब्यूट कॉन्फ़िगर करना

लेन-देन एट्रिब्यूट सेक्शन में, कमाई करने से जुड़े लेन-देन की जानकारी दें.

  1. लेन-देन पूरा होने की ज़रूरी शर्तें फ़ील्ड में, लेन-देन पूरा होने का समय (शुल्क लेने के मकसद से) तय करने के लिए, स्थिति एट्रिब्यूट की वैल्यू (इसके बारे में आगे बताया गया है) के आधार पर एक्सप्रेशन तय करें. जो लेन-देन पूरे नहीं होते (यानी वे एक्सप्रेशन में बताई गई शर्तें पूरी नहीं करते) रिकॉर्ड किए जाते हैं, लेकिन उन पर रेट प्लान लागू नहीं किए जाते. उदाहरण के लिए:

    txProviderStatus == 'OK'

  2. Status एट्रिब्यूट में वह वैल्यू शामिल होती है जिसका इस्तेमाल लेन-देन पूरा होने की ज़रूरी शर्तें फ़ील्ड में कॉन्फ़िगर किए गए एक्सप्रेशन के लिए किया जाता है. ये फ़ील्ड तय करके, Status एट्रिब्यूट को कॉन्फ़िगर करें:
    फ़ील्ड ब्यौरा
    एपीआई संसाधन एपीआई प्रॉडक्ट में तय किए गए यूआरआई पैटर्न, जिनका इस्तेमाल कमाई करने वाले लेन-देन की पहचान करने के लिए किया जाएगा.
    जवाब देने की जगह रिस्पॉन्स की जगह, जहां एट्रिब्यूट दिया गया है. मान्य वैल्यू में ये शामिल हैं: फ़्लो वैरिएबल, हेडर, JSON बॉडी, और एक्सएमएल बॉडी.
    वैल्यू रिस्पॉन्स की वैल्यू. एक से ज़्यादा वैल्यू तय करने के लिए, + x जोड़ें पर क्लिक करें. उदाहरण के लिए, + फ़्लो वैरिएबल जोड़ें.
  3. ट्रांज़ैक्शन से जुड़े वैकल्पिक एट्रिब्यूट कॉन्फ़िगर करने के लिए, वैकल्पिक एट्रिब्यूट इस्तेमाल करें टॉगल को चालू करें और यहां दी गई टेबल में बताए गए किसी भी ट्रांज़ैक्शन एट्रिब्यूट को कॉन्फ़िगर करें.
    एट्रिब्यूट ब्यौरा
    कुल कीमत

    यह एट्रिब्यूट सिर्फ़ उन रेट प्लान के लिए लागू होता है जिनमें रेवेन्यू के बंटवारे वाला मॉडल इस्तेमाल किया गया है. उन रेट प्लान के लिए, कुल कीमत या कुल कीमत का होना ज़रूरी है. पक्का करें कि संख्या वाली वैल्यू को स्ट्रिंग टाइप के तौर पर दिखाया गया हो. किसी लेन-देन के लिए, कुल कीमत. रेवेन्यू के बंटवारे वाले प्लान के लिए, आपको कुल कीमत एट्रिब्यूट या कुल कीमत एट्रिब्यूट में से किसी एक को रिकॉर्ड करना होगा. आय के हिस्से पर निर्भर करता है कि किस एट्रिब्यूट की ज़रूरत है. उदाहरण के लिए, आपके पास रेवेन्यू के बंटवारे की दर वाला प्लान सेट अप करने का विकल्प है. यह प्लान, लेन-देन की कुल कीमत के हिसाब से सेट अप किया जा सकता है. इस स्थिति में, कुल कीमत फ़ील्ड की ज़रूरत होती है.

    शुद्ध मूल्य

    यह एट्रिब्यूट सिर्फ़ उन रेट प्लान के लिए लागू होता है जिनमें रेवेन्यू के बंटवारे वाला मॉडल इस्तेमाल किया गया है. उन रेट प्लान के लिए, कुल कीमत या कुल कीमत का होना ज़रूरी है. पक्का करें कि संख्या वाली वैल्यू को स्ट्रिंग टाइप के तौर पर दिखाया गया हो. किसी लेन-देन के लिए कुल कीमत. रेवेन्यू के बंटवारे वाले प्लान के लिए, आपको कुल कीमत वाले फ़ील्ड या कुल कीमत वाले फ़ील्ड में से पूरा डेटा रिकॉर्ड करना होगा. रेवेन्यू के हिस्से के आधार पर यह तय होता है कि किस फ़ील्ड को भरना ज़रूरी है. उदाहरण के लिए, आपके पास आय के बंटवारे की दर वाला प्लान सेट अप करने का विकल्प है. यह प्लान, लेन-देन की कुल कीमत पर आधारित होता है. इस स्थिति में, नेट प्राइस फ़ील्ड ज़रूरी है.

    मुद्रा

    यह एट्रिब्यूट, रेवेन्यू के बंटवारे वाले मॉडल का इस्तेमाल करने वाले रेट प्लान के लिए ज़रूरी है. लेन-देन पर लागू होने वाली मुद्रा का प्रकार.

    गड़बड़ी कोड

    लेन-देन से जुड़ा गड़बड़ी कोड. यह किसी ऐसे लेन-देन के बारे में ज़्यादा जानकारी देता है जो पूरा नहीं हो पाया.

    आइटम का विवरण

    लेन-देन की जानकारी.

    टैक्स

    यह एट्रिब्यूट सिर्फ़ रेवेन्यू के बंटवारे वाले मॉडल के लिए काम करता है. हालांकि, ऐसा सिर्फ़ तब होता है, जब टैक्स की रकम एपीआई कॉल में कैप्चर होती हो. पक्का करें कि संख्या वाली वैल्यू को स्ट्रिंग टाइप के तौर पर दिखाया गया हो. खरीदारी पर टैक्स की रकम. कुल कीमत और टैक्स = कुल कीमत.

उदाहरण के लिए, यहां दी गई वैल्यू सेट करने पर, कमाई करने को response.reason.phrase नाम के वैरिएबल में मैसेज रिस्पॉन्स से फ़्लो वैरिएबल की वैल्यू मिल जाती है. अगर वैल्यू सही है और कमाई करने से जुड़ी सीमाओं की जांच से जुड़ी नीति, एपीआई प्रॉक्सी प्रॉक्सीEndpoint अनुरोध के साथ जुड़ी हुई है, तो कमाई करने से इसे लेन-देन के तौर पर गिना जाता है.

फ़ील्ड वैल्यू
लेन-देन पूरा होने की ज़रूरी शर्तें txProviderStatus == 'OK'
स्थिति: एपीआई संसाधन **
स्थिति: जवाब देने की जगह फ़्लो वैरिएबल
स्थिति: फ़्लो वैरिएबल response.reason.phrase

कस्टम एट्रिब्यूट कॉन्फ़िगर करना

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

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

आय की खास जानकारी वाली रिपोर्ट में, लेन-देन रिकॉर्ड करने की नीति में बताए गए कस्टम एट्रिब्यूट शामिल किए जा सकते हैं. आय की खास जानकारी वाली रिपोर्ट में कस्टम लेन-देन एट्रिब्यूट शामिल करना लेख में बताया गया है.

कस्टम एट्रिब्यूट कॉन्फ़िगर करने के लिए, कस्टम एट्रिब्यूट का इस्तेमाल करें टॉगल को चालू करें. इसके बाद, ज़्यादा से ज़्यादा 10 कस्टम एट्रिब्यूट तय करें. ट्रांज़ैक्शन रिकॉर्ड करने की नीति में शामिल किए गए हर कस्टम एट्रिब्यूट के लिए, आपको यहां दी गई जानकारी देनी होगी.

फ़ील्ड ब्यौरा
कस्टम एट्रिब्यूट का नाम कस्टम एट्रिब्यूट की जानकारी देने वाला नाम डालें. अगर रेट प्लान किसी कस्टम एट्रिब्यूट पर आधारित है, तो उपयोगकर्ता को यह नाम, रेट प्लान की जानकारी में दिखता है. उदाहरण के लिए, अगर कस्टम एट्रिब्यूट अवधि को कैप्चर करता है, तो आपको एट्रिब्यूट की अवधि को नाम देना चाहिए. जब कस्टम एट्रिब्यूट रेट प्लान बनाया जाता है, तब कस्टम एट्रिब्यूट की असल इकाइयां (जैसे कि घंटे, मिनट या सेकंड) रेटिंग यूनिट फ़ील्ड में सेट हो जाती हैं (कस्टम एट्रिब्यूट की जानकारी के साथ रेट प्लान तय करना देखें).
एपीआई संसाधन ट्रांज़ैक्शन में ऐक्सेस किए गए एपीआई रिसॉर्स के एक या उससे ज़्यादा यूआरआई सफ़िक्स चुनें. ये सफ़िक्स, बेस पाथ के मुताबिक बने यूआरआई फ़्रैगमेंट को चुनें. उपलब्ध संसाधन, ट्रांज़ैक्शन एट्रिब्यूट के लिए एक जैसे होते हैं.
जवाब देने की जगह रिस्पॉन्स में वह जगह चुनें जहां एट्रिब्यूट दिया गया है. मान्य वैल्यू में ये शामिल हैं: फ़्लो वैरिएबल, हेडर, JSON बॉडी, और एक्सएमएल बॉडी.
वैल्यू कस्टम एट्रिब्यूट के लिए कोई वैल्यू डालें. आपकी ओर से तय की गई हर वैल्यू उस फ़ील्ड, पैरामीटर या कॉन्टेंट एलिमेंट से मेल खाती है जो आपकी बताई गई जगह पर कस्टम एट्रिब्यूट देता है. एक से ज़्यादा वैल्यू तय करने के लिए, + x जोड़ें पर क्लिक करें. उदाहरण के लिए, + फ़्लो वैरिएबल जोड़ें.

उदाहरण के लिए, अगर आपने 'कॉन्टेंट की लंबाई' नाम का एक कस्टम एट्रिब्यूट कॉन्फ़िगर किया है और रिस्पॉन्स की जगह के तौर पर हेडर को चुना है, तो अगर एचटीटीपी कॉन्टेंट की लंबाई वाले फ़ील्ड में कॉन्टेंट की लंबाई की वैल्यू दी गई है, तो आपको वैल्यू के तौर पर Content-Length को बताना होगा.

कुछ लेन-देन आसान होते हैं, जिनमें एक संसाधन पर एपीआई कॉल शामिल होता है. हालांकि, दूसरे लेन-देन की प्रोसेस ज़्यादा मुश्किल हो सकती है. उदाहरण के लिए, मान लें कि किसी मोबाइल गेमिंग ऐप्लिकेशन में, ऐप्लिकेशन में खरीदने के लिए प्रॉडक्ट खरीदने के लेन-देन में कई रिसॉर्स कॉल शामिल हैं:

  • रिज़र्व एपीआई को कॉल करने से, यह पक्का होता है कि प्रीपेड उपयोगकर्ता के पास प्रॉडक्ट खरीदने के लिए ज़रूरी क्रेडिट है और वह खरीदारी के लिए फ़ंड ("रिज़र्व") देता है.
  • ऐसे Charge API को कॉल किया जाता है जो प्रीपेड उपयोगकर्ता के खाते से पैसे काट लेता है.

पूरे लेन-देन को प्रोसेस करने के लिए, कमाई करने के लिए एक तरीके की ज़रूरत होती है, ताकि पहले रिसॉर्स (रिज़र्व एपीआई से और उसका कॉल और रिस्पॉन्स) को दूसरे रिसॉर्स (चार्ज एपीआई से कॉल और रिस्पॉन्स ) से जोड़ा जा सके. ऐसा करने के लिए, यह उस जानकारी पर निर्भर होता है जिसके बारे में आपने यूनीक लेन-देन आईडी के साथ संसाधनों को लिंक करना सेक्शन में बताया है.

कस्टम एट्रिब्यूट कॉन्फ़िगर करने के लिए, यूनीक ट्रांज़ैक्शन आईडी का इस्तेमाल करें टॉगल को चालू करें और ट्रांज़ैक्शन लिंक करें. हर ट्रांज़ैक्शन के लिए, आपको एक संसाधन, रिस्पॉन्स की जगह, और एट्रिब्यूट की वैल्यू तय करनी होती है. यह वैल्यू, दूसरे ट्रांज़ैक्शन की वैल्यू से जुड़ी होती है.

उदाहरण के लिए, मान लें कि Reserve API कॉल और चार्ज एपीआई कॉल को इस तरह लिंक किया गया है: Reserve API के रिस्पॉन्स हेडर में session_id नाम का फ़ील्ड, Charge API के reference_id नाम वाले रिस्पॉन्स हेडर से जुड़ा होता है. इस मामले में, यूनीक ट्रांज़ैक्शन आईडी वाले लिंक रिसॉर्स में एंट्री को, इस तरह सेट किया जा सकता है:

संसाधन जवाब देने की जगह वैल्यू
reserve/{id}**

हेडर

session_id
/charge/{id}**

हेडर

reference_id

रिफ़ंड कॉन्फ़िगर करना

रिफ़ंड सेक्शन में, ऐसे एट्रिब्यूट के बारे में बताया जाता है जिनका इस्तेमाल कमाई, रिफ़ंड प्रोसेस करने के लिए करती है.

उदाहरण के लिए, मान लें कि कोई उपयोगकर्ता, ऐसे मोबाइल ऐप्लिकेशन से कोई प्रॉडक्ट खरीदता है जिसमें कमाई करने वाले एपीआई इस्तेमाल किए गए हैं. इस लेन-देन से कमाई करने के लिए, शेयर किए गए रेवेन्यू प्लान का इस्तेमाल किया जाता है. हालांकि, मान लें कि उपयोगकर्ता प्रॉडक्ट से असंतुष्ट है और उसे लौटाना चाहता है. अगर प्रॉडक्ट के लिए रिफ़ंड करने के लिए, एपीआई को अनुरोध किया गया है और वह अनुरोध रिफ़ंड कर देता है, तो कमाई करने की सुविधा चालू होने पर, कमाई करने के लिए ज़रूरी बदलाव किए जा सकते हैं. ऐसा तब किया जाता है, जब लेन-देन रिकॉर्ड करने की नीति के रिफ़ंड सेक्शन में, आपकी दी गई जानकारी के आधार पर इसकी जानकारी दी जाती है.

रिफ़ंड कॉन्फ़िगर करने के लिए, रिफ़ंड एट्रिब्यूट का इस्तेमाल करें टॉगल को चालू करें और रिफ़ंड की जानकारी दें:

  1. नीचे दिए गए फ़ील्ड डालकर, रिफ़ंड की शर्तें तय करें:
    फ़ील्ड ब्यौरा
    जवाब देने की जगह रिफ़ंड के लेन-देन से जुड़ा संसाधन. अगर एपीआई प्रॉडक्ट एक से ज़्यादा संसाधन उपलब्ध कराता है, तो आपके पास सिर्फ़ उस संसाधन को चुनने का विकल्प होता है जो रिफ़ंड करता है.
    रिफ़ंड पाने के लिए ज़रूरी शर्तें रिफ़ंड की प्रोसेस पूरी हो गई है या नहीं, इसका पता लगाने के लिए, स्टेटस एट्रिब्यूट (इसके बारे में आगे बताया गया है) की वैल्यू के आधार पर एक्सप्रेशन करें. जो लेन-देन पूरे नहीं होते (यानी वे एक्सप्रेशन में दी गई शर्तों को पूरा नहीं करते) उन्हें रिकॉर्ड किया जाता है, लेकिन उन पर रेट प्लान लागू नहीं किए जाते. उदाहरण के लिए:

    txProviderStatus == 'OK'

  2. ये फ़ील्ड तय करके, Status एट्रिब्यूट को कॉन्फ़िगर करें:
    फ़ील्ड ब्यौरा
    जवाब देने की जगह रिस्पॉन्स की जगह, जहां एट्रिब्यूट दिया गया है. मान्य वैल्यू में ये शामिल हैं: फ़्लो वैरिएबल, हेडर, JSON बॉडी, और एक्सएमएल बॉडी.
    वैल्यू रिस्पॉन्स की वैल्यू. एक से ज़्यादा वैल्यू तय करने के लिए, + x जोड़ें पर क्लिक करें. उदाहरण के लिए, + फ़्लो वैरिएबल जोड़ें.
  3. ये फ़ील्ड तय करके, पैरंट आईडी एट्रिब्यूट को कॉन्फ़िगर करें:
    फ़ील्ड ब्यौरा
    जवाब देने की जगह रिस्पॉन्स की जगह, जहां एट्रिब्यूट दिया गया है. मान्य वैल्यू में ये शामिल हैं: फ़्लो वैरिएबल, हेडर, JSON बॉडी, और एक्सएमएल बॉडी.
    वैल्यू उस लेन-देन का आईडी जिसके लिए रिफ़ंड प्रोसेस किया जा रहा है. उदाहरण के लिए, अगर कोई उपयोगकर्ता कोई प्रॉडक्ट खरीदता है और फिर रिफ़ंड का अनुरोध करता है, तो पैरंट ट्रांज़ैक्शन आईडी, खरीदारी के लेन-देन का आईडी होता है. एक से ज़्यादा वैल्यू तय करने के लिए, + x जोड़ें पर क्लिक करें. उदाहरण के लिए, + फ़्लो वैरिएबल जोड़ें.
  4. रिफ़ंड से जुड़े ऐसे एट्रिब्यूट कॉन्फ़िगर करने के लिए, ज़रूरी नहीं रिफ़ंड एट्रिब्यूट इस्तेमाल करें टॉगल को चालू करें और एट्रिब्यूट कॉन्फ़िगर करें. रिफ़ंड एट्रिब्यूट और वैकल्पिक ट्रांज़ैक्शन एट्रिब्यूट एक जैसे होते हैं. इनके बारे में ट्रांज़ैक्शन एट्रिब्यूट कॉन्फ़िगर करना में बताया गया है.

एपीआई का इस्तेमाल करके, लेन-देन रिकॉर्ड करने की नीतियों को मैनेज करना

नीचे दिए सेक्शन में, एपीआई का इस्तेमाल करके, लेन-देन रिकॉर्ड करने की नीतियों को मैनेज करने का तरीका बताया गया है.

एपीआई का इस्तेमाल करके, ट्रांज़ैक्शन रिकॉर्ड करने की नीति बनाना

ट्रांज़ैक्शन रिकॉर्ड करने की नीति को एपीआई प्रॉडक्ट के एट्रिब्यूट के तौर पर तय किया जा सकता है. एट्रिब्यूट की वैल्यू से यह पता चलता है:

  • उस प्रॉडक्ट संसाधन का यूआरआई सफ़िक्स जिससे लेन-देन रिकॉर्ड करने की नीति अटैच की गई है. सफ़िक्स में एक पैटर्न वैरिएबल शामिल होता है जो कर्ली ब्रैकेट में होता है. एपीआई सेवाएं, रनटाइम के दौरान पैटर्न वैरिएबल का आकलन करती हैं. उदाहरण के लिए, नीचे दिए गए यूआरआई प्रत्यय में पैटर्न वैरिएबल {id} शामिल है.
    /reserve/{id}**
    

    इस मामले में, एपीआई सेवाएं, संसाधन के यूआरआई सफ़िक्स का आकलन /reserve के बाद, कोई भी सब-डायरेक्ट्री करती है जो एपीआई सेवा देने वाली कंपनी के दिए गए आईडी से शुरू होती है.

  • संसाधन, जिसके जवाब में उसे अटैच किया गया है. एक एपीआई प्रॉडक्ट में कई संसाधन हो सकते हैं और हर संसाधन से मिले जवाब के साथ, लेन-देन रिकॉर्ड करने की नीति अटैच हो सकती है.
  • एक्सट्रैक्ट वैरिएबल नीति, जिसकी मदद से ट्रांज़ैक्शन रिकॉर्ड करने की नीति, उन ट्रांज़ैक्शन पैरामीटर के लिए रिस्पॉन्स मैसेज से कॉन्टेंट एक्सट्रैक्ट कर सकती है जिन्हें आपको कैप्चर करना है.

ट्रांज़ैक्शन रिकॉर्ड करने की नीति का एट्रिब्यूट एक एपीआई प्रॉडक्ट में जोड़ा जाता है. ऐसा करने के लिए, management API https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id} को एक PUT अनुरोध जारी किया जाता है, न कि कमाई करने वाले एपीआई के लिए.

API का इस्तेमाल करके लेन-देन पूरा होने की शर्तें तय करना

लेन-देन पूरा होने का समय तय करने के लिए, लेन-देन पूरा होने की शर्तें तय की जा सकती हैं. शुल्क से जुड़ी इस शर्त के बारे में भी बताया जा सकता है. जो लेन-देन सफल नहीं होते (यानी वे एक्सप्रेशन में दी गई शर्तों को पूरा करते हैं) उन्हें रिकॉर्ड किया जाता है, लेकिन उन पर रेट प्लान लागू नहीं किए जाते. लेन-देन पूरा होने की शर्तें सेट करने के उदाहरण देखने के लिए, लेन-देन रिकॉर्ड करने की नीति में, लेन-देन पूरा होने की शर्तें तय करने के उदाहरण देखें.

लेन-देन पूरा होने की शर्त को एपीआई प्रॉडक्ट के एट्रिब्यूट के तौर पर तय किया जा सकता है. ऐसा करने के लिए, मैनेजमेंट एपीआई https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id} को PUT अनुरोध भेजें (न कि कमाई करने वाले एपीआई को).

उदाहरण के लिए, नीचे दिए गए अनुरोध में, अगर txProviderStatus की वैल्यू success है, तो लेन-देन पूरा हुआ. लेन-देन पूरा होने की ज़रूरी शर्तों की खास बातों को हाइलाइट किया गया है.

$ curl -H "Content-Type: application/json" -X PUT -d \ 
'{
        "apiResources": [
        "/reserve/{id}**"       
        ],
        "approvalType": "auto",
        "attributes": [                         
        {
                "name": "MINT_TRANSACTION_SUCCESS_CRITERIA",
                "value": "txProviderStatus == 'OK'"
        }
        ],
        "description": "Payment",
        "displayName": "Payment",
        "environments": [
        "dev"
        ],
        "name": "payment",
        "proxies": [],
        "scopes": [
        ""
        ]
}' \
"https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \
-u email:password

एपीआई का इस्तेमाल करके कस्टम एट्रिब्यूट तय करना

एपीआई प्रॉडक्ट के लिए कस्टम एट्रिब्यूट तय किए जा सकते हैं. इसके लिए, ज़रूरी रेट प्लान का इस्तेमाल किया जाता है. उदाहरण के लिए, अगर आपने रेट कार्ड प्लान सेट अप किया है और इसमें हर लेन-देन के लिए डेवलपर से शुल्क लिया जाता है, तो कस्टम एट्रिब्यूट के आधार पर प्लान की दर सेट की जा सकती है. जैसे, लेन-देन में ट्रांसमिट की गई बाइट की संख्या. रेट प्लान बनाते समय, एक या एक से ज़्यादा कस्टम एट्रिब्यूट तय किए जा सकते हैं जिनके आधार पर प्लान के लिए रेट तय किया जाता है. हालांकि, रेट प्लान में शामिल किसी खास प्रॉडक्ट में, सिर्फ़ एक कस्टम एट्रिब्यूट हो सकता है. इस एट्रिब्यूट के आधार पर, प्लान के रेट को तय किया जाता है.

आप एपीआई प्रॉडक्ट के एट्रिब्यूट के तौर पर कस्टम एट्रिब्यूट तय करते हैं. ऐसा करने के लिए, मैनेजमेंट एपीआई https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id} को PUT अनुरोध भेजें (न कि कमाई करने वाले एपीआई को).

एपीआई प्रॉडक्ट में जोड़े जाने वाले हर कस्टम एट्रिब्यूट के लिए, आपको एक नाम और एट्रिब्यूट की वैल्यू बतानी होगी. नाम MINT_CUSTOM_ATTRIBUTE_{num} फ़ॉर्मैट में होना चाहिए, जहां {num} एक पूर्णांक है.

उदाहरण के लिए, नीचे दिए गए अनुरोध में तीन कस्टम एट्रिब्यूट के बारे में बताया गया है.

$ curl -H "Content-Type: application/json" -X PUT -d \
'{
        "apiResources": [
        "/reserve/{id}**",
        "/charge/{id}**"
        ],
        "approvalType": "auto",
        "attributes": [
        {
                "name": "MINT_CUSTOM_ATTRIBUTE_1",
                "value": "test1"
        },
        {
                "name": "MINT_CUSTOM_ATTRIBUTE_2",
                "value": "test2"
        }
 
        ],
        "name": "payment",
        "proxies": [],
        "scopes": [
                ""
        ]
}' \
"https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \
-u email:password

लेन-देन रिकॉर्ड करने की नीति में, लेन-देन पूरा होने की शर्तें सेट करने के उदाहरण

नीचे दी गई टेबल में, लेन-देन पूरा होने की शर्तों के एक्सप्रेशन और एपीआई प्रॉक्सी से मिली txProviderStatus वैल्यू के आधार पर, सफल और असफल लेन-देन के उदाहरण दिए गए हैं. txProviderStatus एक इंटरनल वैरिएबल है. कमाई करने की सुविधा, लेन-देन पूरा होने का पता लगाने के लिए इसका इस्तेमाल करती है.

सफलता मानदंड एक्सप्रेशन एक्सप्रेशन मान्य है? एपीआई प्रॉक्सी से txProviderStatus वैल्यू इवैलुएशन का नतीजा
null सही "200" false
"" false "200" false
" " false "200" false
"sdfsdfsdf" false "200" false
"txProviderStatus =='100'" सही "200" false
"txProviderStatus =='200'" सही "200" सही
"true" सही "200" सही
"txProviderStatus=='OK' OR
txProviderStatus=='Not Found' OR
txProviderStatus=='Bad Request'"
सही "OK" सही
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" सही "OK" सही
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" सही "Not Found" सही
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" सही "Bad Request" सही
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" सही "Bad Request" सही
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" सही null false
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" सही "bad request" सही
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" सही "Redirect" false
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" सही "heeeelllooo" false
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" सही null false
"txProviderStatus == 100" सही "200" false