Edge API का इस्तेमाल करके एपीआई पब्लिश करें

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

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

एपीआई का इस्तेमाल करके एपीआई प्रॉडक्ट बनाना

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

एपीआई का इस्तेमाल करके एपीआई प्रॉडक्ट बनाने के लिए, पोस्ट करने का अनुरोध करें /organizations/{org_name}/apiproducts. ज़्यादा जानकारी के लिए, एपीआई प्रॉडक्ट एपीआई बनाएं का रेफ़रंस देखें.

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

curl -X POST https://api.enterprise.apigee.com/v1/organization/myorg/apiproducts \
-H "Content-Type:application/json" \
-d \
'{
  "approvalType": "auto",
  "displayName": "Free API Product",
  "name": "weather_free",
  "proxies": [ "weatherapi" ],
  "environments": [ "test" ]
}' \
-u email:password 

रिस्पॉन्स का उदाहरण:

{
  "apiResources" : [ ],
  "approvalType" : "auto",
  "attributes" : [ ],
  "createdAt" : 1362759663145,
  "createdBy" : "developer@apigee.com",
  "displayName" : "Free API Product",
  "environments" : [ "test" ],
  "lastModifiedAt" : 1362759663145,
  "lastModifiedBy" : "developer@apigee.com",
  "name" : "weather_free",
  "proxies" : [ "weatherapi" ],
  "scopes" : [ ]
}

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

एपीआई प्रॉडक्ट कॉन्फ़िगरेशन सेटिंग

एपीआई प्रॉडक्ट में ये कॉन्फ़िगरेशन विकल्प दिखते हैं:

नाम ब्यौरा डिफ़ॉल्ट ज़रूरी है?
apiResources

यूआरआई की कॉमा-सेपरेटेड लिस्ट या रिसॉर्स पाथ, 'बंडल किए गए' एपीआई में प्रॉडक्ट.

डिफ़ॉल्ट रूप से, रिसॉर्स पाथ को proxy.pathsuffix से मैप किया जाता है वैरिएबल. प्रॉक्सी पाथ सफ़िक्स को नीचे दिए गए यूआरआई फ़्रैगमेंट के रूप में तय किया जाता है: ProxyEndpoint का बेस पाथ. उदाहरण के लिए, नीचे दिए गए एपीआई प्रॉडक्ट के सैंपल में, apiResources एलिमेंट को /forecastrss तय किया गया है. क्योंकि इस एपीआई प्रॉक्सी के लिए तय किया गया बेस पाथ /weather है. इसका मतलब है कि सिर्फ़ इस एपीआई प्रॉडक्ट से /weather/forecastrss को किए जाने वाले अनुरोधों की अनुमति है.

कोई पाथ चुनें या सभी सबपाथ को वाइल्डकार्ड से चुनें. वाइल्डकार्ड (/** और /*) इस्तेमाल किए जा सकते हैं. डबल एस्टरिस्क वाइल्डकार्ड से पता चलता है कि सभी सब-यूआरआई शामिल हैं. एक तारे का निशान यह बताता है कि एक स्तर नीचे केवल यूआरआई हैं शामिल हैं.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है डिफ़ॉल्ट रूप से, '/' '/**' जैसे संसाधनों का ही इस्तेमाल करता है और बेस को भी एपीआई प्रॉक्सी की मदद से तय किया गया पाथ. उदाहरण के लिए, अगर एपीआई प्रॉक्सी का बेस पाथ /v1/Weatherapikey और फिर एपीआई प्रॉडक्ट, /v1/weatherapikey और किसी भी सब-यूआरआई, जैसे कि /v1/weatherapikey/forecastrss, /v1/weatherapikey/region/CA वगैरह. यहां जाएं: इसके लिए एपीआई प्रॉडक्ट मैनेज करें के काम करने के तरीके को बदलने के बारे में जानकारी.

लागू नहीं नहीं
approvalType इससे पता चलता है कि एपीआई प्रॉडक्ट से तय किए गए एपीआई को ऐक्सेस करने के लिए, एपीआई पासकोड को कैसे अनुमति दी जाती है. अगर आपने manual पर सेट है. ऐप्लिकेशन के लिए जनरेट होने वाली कुंजी की वैल्यू 'मंज़ूरी बाकी है' के तौर पर सेट है राज्य. ऐसी कुंजियां तब तक काम नहीं करेंगी, जब तक उन्हें साफ़ तौर पर अनुमति नहीं मिल जाती. अगर auto पर सेट है, तो सभी कुंजियां, 'स्वीकार की गई' कैटगरी में जनरेट की जाती हैं और तुरंत काम करने में मदद करता है. (auto यह है आम तौर पर, इसका इस्तेमाल मुफ़्त/ट्रायल एपीआई वाले उन प्रॉडक्ट का ऐक्सेस देने के लिए किया जाता है जो सीमित कोटा उपलब्ध कराते हैं या क्षमताओं के बारे में नहीं बताना चाहिए.) लागू नहीं हां
attributes

उन एट्रिब्यूट की कैटगरी जिनका इस्तेमाल डिफ़ॉल्ट एपीआई प्रॉडक्ट प्रोफ़ाइल को बढ़ाने के लिए किया जा सकता है ग्राहक के हिसाब से बना मेटाडेटा.

एपीआई प्रॉडक्ट के ऐक्सेस लेवल को सार्वजनिक, निजी या इंटरनल के तौर पर बताने के लिए, इस प्रॉपर्टी का इस्तेमाल करें. उदाहरण के लिए:
"एट्रिब्यूट": [
{
"name": "ऐक्सेस",
"value": "सार्वजनिक"
},
{
"name": "foo",
"value": "foo"
},
{
"name": "bar",
"value": "bar"
}
]
लागू नहीं नहीं
scopes OAuth दायरों की ऐसी सूची जिसकी पुष्टि रनटाइम के दौरान की जाती है. इस सूची को कॉमा लगाकर अलग किया जाता है. (Apigee एज इस बात की पुष्टि करता है कि दिए गए किसी भी ऐक्सेस टोकन में मौजूद स्कोप, एपीआई में सेट किए गए स्कोप से मेल खाते हैं product.) लागू नहीं नहीं
proxies नाम वाली एपीआई प्रॉक्सी, जिनसे यह एपीआई प्रॉडक्ट बाउंड है. प्रॉक्सी तय करके, ये काम किए जा सकते हैं एपीआई प्रॉडक्ट में संसाधनों को खास एपीआई प्रॉक्सी के साथ जोड़ना, ताकि डेवलपर को को अन्य एपीआई प्रॉक्सी के ज़रिए उन संसाधनों को ऐक्सेस करने से रोका जा सकता है. लागू नहीं नहीं. अगर इसके बारे में नहीं बताया गया है, तो apiResources के बारे में साफ़ तौर पर बताया जाना चाहिए (जानकारी देखें ऊपर apiResources के लिए) और flow.resource.name वैरिएबल इसमें सेट है 'असाइन करें' मैसेज से जुड़ी नीति.
environments नाम वाले एनवायरमेंट (उदाहरण के लिए, 'टेस्ट' या 'प्रोडक्शन'), जिनसे यह एपीआई प्रॉडक्ट बाउंड है. एक या उससे ज़्यादा एनवायरमेंट तय करके, एपीआई प्रॉडक्ट में शामिल संसाधनों को बाइंड किया जा सकता है खास एनवायरमेंट के हिसाब से बनाया गया है. साथ ही, यह डेवलपर को एपीआई से उन संसाधनों को ऐक्सेस करने से रोकता है प्रॉक्सी नहीं कर सकते. उदाहरण के लिए, इस सेटिंग का इस्तेमाल संसाधनों को रोकने के लिए किया जाता है 'prod' में API प्रॉक्सी से संबद्ध में डिप्लॉय की गई एपीआई प्रॉक्सी से ऐक्सेस किए जाने से 'test'. लागू नहीं नहीं. अगर इसके बारे में नहीं बताया गया है, तो apiResources के बारे में साफ़ तौर पर बताया जाना चाहिए और PendingMessage नीति में flow.resource.name वैरिएबल सेट किया गया.
quota बताई गई समयावधि में, हर ऐप्लिकेशन के लिए अनुमति वाले अनुरोधों की संख्या. लागू नहीं नहीं
quotaInterval कोटा का आकलन करने के लिए, समय की इकाइयों की संख्या लागू नहीं नहीं
quotaTimeUnit समय की वह इकाई (मिनट, घंटा, दिन या महीना) जिसमें कोटे की गिनती की जाती है. लागू नहीं नहीं

एपीआई प्रॉडक्ट बनाने का ज़्यादा जानकारी वाला उदाहरण नीचे दिया गया है.

curl -X POST  https://api.enterprise.apigee.com/v1/o/{org_name}/apiproducts \
-H "Content-Type:application/json" -d \
'{
  "apiResources": [ "/forecastrss" ],
  "approvalType": "auto", 
  "attributes":
    [ {"name": "access", "value": "public"} ],
  "description": "Free API Product",
  "displayName": "Free API Product",
  "name": "weather_free",
  "scopes": [],
  "proxies": [ "weatherapi" ],
  "environments": [ "test" ],
  "quota": "10",
  "quotaInterval": "2",
  "quotaTimeUnit": "hour" }' \
-u email:password

रिस्पॉन्स का उदाहरण

{
  "apiResources" : [ "/forecastrss" ],
  "approvalType" : "auto",
  "attributes" : [ {
    "name" : "access",
    "value" : "public"
  },
  "createdAt" : 1344454200828,
  "createdBy" : "admin@apigee.com",
  "description" : "Free API Product",
  "displayName" : "Free API Product",
  "lastModifiedAt" : 1344454200828,
  "lastModifiedBy" : "admin@apigee.com",
  "name" : "weather_free",
  "scopes" : [ ],
  "proxies": [ {'weatherapi'} ],
  "environments": [ {'test'} ],
  "quota": "10",
  "quotaInterval": "1",
  "quotaTimeUnit": "hour"}'
}

स्कोप के बारे में जानकारी

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

एपीआई प्रॉडक्ट देखें

एपीआई का इस्तेमाल करके किसी संगठन के लिए बनाए गए एपीआई प्रॉडक्ट देखने के लिए, ये सेक्शन देखें:

एपीआई का इस्तेमाल करके, एपीआई प्रॉडक्ट को देखने का तरीका यहां दिया गया है:

curl -X GET "https://ext.apiexchange.org/v1/mint/organizations/{org_name}/products?monetized=true" \
  -H "Accept:application/json" \
  -u email:password

जवाब कुछ ऐसा दिखना चाहिए (जवाब का सिर्फ़ एक हिस्सा दिखता है):

{
  "product" : [ {
    "customAtt1Name" : "user",
    "customAtt2Name" : "response size",
    "customAtt3Name" : "content-length",
    "description" : "payment api product",
    "displayName" : "payment",
    "id" : "payment",
    "name" : "payment",
    "organization" : {
      ...
    },
    "pricePoints" : [ ],
    "status" : "CREATED",
    "transactionSuccessCriteria" : "status == 'SUCCESS'"
  }, {
    "customAtt1Name" : "user",
    "customAtt2Name" : "response size",
    "customAtt3Name" : "content-length",
    "description" : "messaging api product",
    "displayName" : "messaging",
    "id" : "messaging",
    "name" : "messaging",
    "organization" : ...
    },
    "pricePoints" : [ ],
    "status" : "CREATED",
    "transactionSuccessCriteria" : "status == 'SUCCESS'"
  } ],
  "totalRecords" : 2
}

एपीआई का इस्तेमाल करके डेवलपर को रजिस्टर करें

सभी ऐप्लिकेशन डेवलपर या कंपनियों के होते हैं. इसलिए, ऐप्लिकेशन बनाने के लिए आपको सबसे पहले किसी डेवलपर या कंपनी को रजिस्टर करने के लिए.

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

कमाई करने में मदद करने के लिए, आपको कमाई करने की स्थिति के बारे में बताना होगा एट्रिब्यूट का इस्तेमाल करें. आपके पास कस्टम ऐनलिटिक्स, कस्टम नीति लागू करने वगैरह में इस्तेमाल किए जाने वाले एट्रिब्यूट; ये आर्बिट्रेरी एट्रिब्यूट को Apigee Edge से इस्तेमाल नहीं किया जा सकता,

उदाहरण के लिए, नीचे दिया गया अनुरोध ऐसे डेवलपर की प्रोफ़ाइल रजिस्टर करता है जिसका ईमेल पता ntesla@theremin.com और कमाई करने के सबसेट के बारे में जानकारी देता है डेवलपर बनाएं एपीआई का इस्तेमाल करने वाले एट्रिब्यूट:

$ curl -H "Content-type:application/json" -X POST -d \
'{"email" : "ntesla@theremin.com", 
  "firstName" : "Nikola", 
  "lastName" : "Tesla", 
  "userName" : "theremin", 
  "attributes" : [ 
  { 
    "name" : "project_type", 
    "value" : "public"
  },
  {    
   "name": "MINT_BILLING_TYPE",
   "value": "POSTPAID"
  },
  {
   "name": "MINT_DEVELOPER_ADDRESS",
   "value": "{\"address1\":\"Dev One Address\",\"city\":\"Pleasanton\",\"country\":\"US\",\"isPrimary\":true,\"state\":\"CA\",\"zip\":\"94588\"}"
  },
  {
   "name": "MINT_DEVELOPER_TYPE",
   "value": "TRUSTED"
  },
  {    
   "name": "MINT_HAS_SELF_BILLING,
   "value": "FALSE"
  },
  {
   "name" : "MINT_SUPPORTED_CURRENCY",
   "value" : "usd"
  }
 ] 
}' \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers \
-u email:password 

रिस्पॉन्स का उदाहरण

{
          "email" : "ntesla@theremin.com",
          "firstName" : "Nikola",
          "lastName" : "Tesla",
          "userName" : "theremin",
          "organizationName" : "{org_name}",
          "status" : "active",
          "attributes" : [ 
          {
            "name" : "project_type",
            "value" : "public"
          },
          {    
             "name": "MINT_BILLING_TYPE",
             "value": "POSTPAID"
          },
          {
             "name": "MINT_DEVELOPER_ADDRESS",
             "value": "{\"address1\":\"Dev One Address\",\"city\":\"Pleasanton\",\"country\":\"US\",\"isPrimary\":true,\"state\":\"CA\",\"zip\":\"94588\"}"
          },
          {
             "name": "MINT_DEVELOPER_TYPE",
             "value": "TRUSTED"
          },
          {    
             "name": "MINT_HAS_SELF_BILLING,
             "value": "FALSE"
          },
          {
             "name" : "MINT_SUPPORTED_CURRENCY",
             "value" : "usd"
          } 
          ],
          "createdAt" : 1343189787717,
          "createdBy" : "admin@apigee.com",
          "lastModifiedAt" : 1343189787717,
          "lastModifiedBy" : "admin@apigee.com"
        }

एपीआई का इस्तेमाल करके डेवलपर ऐप्लिकेशन रजिस्टर करें

Apigee Edge पर रजिस्टर किया गया हर ऐप्लिकेशन, किसी डेवलपर और एपीआई प्रॉडक्ट से जुड़ा होता है. जब कोई ऐप्लिकेशन डेवलपर की ओर से रजिस्टर किया जाता है, तो Apigee Edge "क्रेडेंशियल" जनरेट करता है (a उपभोक्ता कुंजी और सीक्रेट जोड़े) का इस्तेमाल करते हैं. इसके बाद, ऐप्लिकेशन को ये क्रेडेंशियल पूरे करने होंगे ऐप्लिकेशन से जुड़े किसी एपीआई प्रॉडक्ट के हर अनुरोध के हिस्से के तौर पर.

नीचे दिए गए अनुरोध में, बनाएं आपके द्वारा ऊपर बनाए गए डेवलपर के लिए ऐप्लिकेशन पंजीकृत करने के लिए डेवलपर ऐप्लिकेशन API: ntesla@theremin.com पर पाएं. ऐप्लिकेशन को रजिस्टर करते समय, आपको उस ऐप्लिकेशन का नाम, callbackUrl, और एक या उससे ज़्यादा एपीआई की सूची देनी होती है प्रॉडक्ट:
$ curl -H "Content-type:application/json" -X POST -d \
'{
  "apiProducts": [ "weather_free"], 
  "callbackUrl" : "login.weatherapp.com", 
  "keyExpiresIn" : "2630000000",
  "name" : "weatherapp"}' \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps \
-u email:password 

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

keyExpiresIn एट्रिब्यूट मिलीसेकंड में, एट्रिब्यूट की वैल्यू उपभोक्ता कुंजी जोड़ें जिसे डेवलपर ऐप्लिकेशन के लिए जनरेट किया जाएगा. डिफ़ॉल्ट वैल्यू, -1 से पता चलता है कि असीमित मान्य रहने की अवधि.

रिस्पॉन्स का उदाहरण

{
  "appId": "5760d130-528f-4388-8c6f-65a6b3042bd1",
  "attributes": [
    {
      "name": "DisplayName",
      "value": "Test Key Expires"
    },
    {
      "name": "Notes",
      "value": "Just testing this attribute"
    }
  ],
  "createdAt": 1421770824390,
  "createdBy": "wwitman@apigee.com",
  "credentials": [
    {
      "apiProducts": [
        {
          "apiproduct": "ProductNoResources",
          "status": "approved"
        }
      ],
      "attributes": [],
      "consumerKey": "jcAFDcfwImkJ19A5gTsZRzfBItlqohBt",
      "consumerSecret": "AX7lGGIRJs6s8J8y",
      "expiresAt": 1424400824401,
      "issuedAt": 1421770824401,
      "scopes": [],
      "status": "approved"
    }
  ],
  "developerId": "e4Oy8ddTo3p1BFhs",
  "lastModifiedAt": 1421770824390,
  "lastModifiedBy": "wwitman@apigee.com",
  "name": "TestKeyExpires",
  "scopes": [],
  "status": "approved"
}
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

एपीआई का इस्तेमाल करने वाले ऐप्लिकेशन के लिए उपभोक्ता कुंजियां मैनेज करना

उपभोक्ता कुंजी पाएं ऐप्लिकेशन के लिए (एपीआई पासकोड)

एपीआई प्रॉडक्ट, उपभोक्ता कुंजी, और सीक्रेट जैसे किसी ऐप्लिकेशन के क्रेडेंशियल, ऐप प्रोफ़ाइल. संगठन का एडमिन, किसी भी समय उपभोक्ता कुंजी वापस पा सकता है.

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

$ curl -X GET -H "Accept: application/json" \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J \
-u email:password

रिस्पॉन्स का उदाहरण

{
  "apiProducts" : [ {
    "apiproduct" : "weather_free",
    "status" : "approved"
  } ],
  "attributes" : [ ],
  "consumerKey" : "HQg0nCZ54adKobpqEJaE8FefGkdKFc2J",
  "consumerSecret" : "1eluIIdWG3JGDjE0",
  "status" : "approved"
}

देखें ज़्यादा जानकारी के लिए, डेवलपर ऐप्लिकेशन की खास जानकारी पाएं.

किसी एपीआई प्रॉडक्ट को ऐप्लिकेशन और कुंजी

किसी ऐप्लिकेशन को अपडेट करके उसमें नया एपीआई प्रॉडक्ट जोड़ने के लिए, ऐप्लिकेशन की कुंजी में एपीआई प्रॉडक्ट जोड़ें API प्रॉडक्ट को Key API में जोड़ें का इस्तेमाल करके. देखें ज़्यादा जानकारी के लिए, एपीआई प्रॉडक्ट को Key में जोड़ें.

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

$ curl -H "Content-type:application/json" -X POST -d \
'{
  "apiProducts": [ "newAPIProduct"]
}' \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J \
-u email:password 

जवाब का उदाहरण:

{
  "apiProducts": [
   {
     "apiproduct": "weather_free",
     "status": "approved"
   },
   {
     "apiproduct": "newAPIProduct",
     "status": "approved"
   }
 ],
 "attributes": [],
 "consumerKey": "HQg0nCZ54adKobpqEJaE8FefGkdKFc2J",
 "consumerSecret": "1eluIIdWG3JGDjE0",
 "expiresAt": -1,
 "issuedAt": 1411491156464,
 "scopes": [],
 "status": "approved"
 }

उपभोक्ता कुंजियों को अनुमति दें

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

$ curl -X POST -H "Content-type:appilcation/octet-stream" \ 
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J?"action=approve" \
-u email:password

रिस्पॉन्स का उदाहरण

{
  "apiProducts" : [ {
  "apiproduct" : "weather_free",
  "status" : "approved"
} ],
  "attributes" : [ ],
  "consumerKey" : "HQg0nCZ54adKobpqEJaE8FefGkdKFc2J",
  "consumerSecret" : "1eluIIdWG3JGDjE0",
  "status" : "approved"
}

देखें ज़्यादा जानकारी के लिए, डेवलपर ऐप्लिकेशन की खास कुंजी को मंज़ूरी दें या निरस्त करें.

एपीआई प्रॉडक्ट को मंज़ूरी दें 'उपभोक्ता कुंजियों' के लिए

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

$ curl -X POST -H "Content-type:application/octet-stream" \ 
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J/apiproducts/weather_free?"action=approve" \
-u email:password

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

इसके लिए API प्रॉडक्ट निरस्त करें उपभोक्ता कुंजियां

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

किसी API प्रॉडक्ट के साथ उपभोक्ता कुंजी के असोसिएशन को निरस्त करने के लिए, मंज़ूरी दें या डेवलपर ऐप्लिकेशन एपीआई की खास कुंजी को निरस्त करें. ऐसा करने के लिए, डेवलपर ऐप्लिकेशन की उपभोक्ता कुंजी:

$ curl -X POST -H "Content-type:application/octet-stream" \ 
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J/apiproducts/weather_free?"action=revoke" \
-u email:password

यह cURL निर्देश कोई जवाब नहीं देता है. देखें ज़्यादा जानकारी के लिए, डेवलपर ऐप्लिकेशन की खास कुंजी को मंज़ूरी दें या निरस्त करें.

एपीआई प्रॉडक्ट सेटिंग लागू करें

एपीआई प्रॉडक्ट को लागू करने के लिए, एपीआई से इनमें से किसी एक तरह की नीति को अटैच करना ज़रूरी है प्रॉक्सी फ़्लो:

  • VerifyAPIKey: एपीआई पासकोड का रेफ़रंस लेता है, और इस बात की पुष्टि करता है कि यह सही ऐप्लिकेशन है या नहीं, और एपीआई प्रॉडक्ट से मेल खाता है. इनके लिए, एपीआई पासकोड से जुड़ी नीति की पुष्टि करें देखें वगैरह को कॉपी करने का विकल्प है.
  • OAuthV1, “VerifyAccessToken” कार्रवाई: हस्ताक्षर की पुष्टि करता है, OAuth 1.0a ऐक्सेस टोकन और “उपभोक्ता कुंजी” शामिल है. साथ ही, यह ऐप्लिकेशन का मिलान एपीआई प्रॉडक्ट से करता है. इनके लिए OAuth v1.0a नीति देखें वगैरह को कॉपी करने का विकल्प है.
  • OAuthV2, “VerifyAccessToken” कार्रवाई: यह पुष्टि करती है कि OAuth 2.0 ऐक्सेस टोकन मान्य है, ऐप्लिकेशन के टोकन से मैच करता है, और ऐप्लिकेशन के मान्य होने की पुष्टि करता है. इसके बाद, यह पुष्टि करता है कि ऐप्लिकेशन मान्य है किसी एपीआई प्रॉडक्ट से ऐप्लिकेशन को जोड़ना. OAuth देखें ज़्यादा जानकारी के लिए, होम पेज पर जाएं.

नीतियों और एपीआई प्रॉडक्ट को कॉन्फ़िगर करने के बाद, Apigee यह प्रोसेस करता है किनारे:

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