এজ এপিআই ব্যবহার করে এপিআই প্রকাশ করুন

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

বিকাশকারী পোর্টালগুলিতে প্রকাশনার জন্য API পণ্য তৈরি করতে এজ API কীভাবে ব্যবহার করবেন তা এই বিভাগটি বর্ণনা করে।

API ব্যবহার করে API পণ্য তৈরি করুন

API পণ্যগুলি বিকাশকারীদের API কী এবং OAuth অ্যাক্সেস টোকেন ব্যবহার করে API ব্যবহার করে এমন অ্যাপগুলি নিবন্ধন করতে সক্ষম করে৷ API পণ্যগুলি আপনাকে API সংস্থানগুলিকে 'বান্ডেল' করতে সক্ষম করার জন্য ডিজাইন করা হয়েছে এবং তারপর সেই বান্ডিলগুলি বিকাশকারীদের বিভিন্ন গোষ্ঠীতে প্রকাশ করে৷ উদাহরণস্বরূপ, আপনাকে আপনার অংশীদার বিকাশকারীদের কাছে API সংস্থানগুলির একটি সেট প্রকাশ করতে হতে পারে, যখন আপনি বহিরাগত বিকাশকারীদের কাছে অন্য একটি বান্ডিল প্রকাশ করেন৷ API পণ্যগুলি আপনাকে আপনার API-তে কোনো পরিবর্তনের প্রয়োজন ছাড়াই এই বান্ডলিং অন-দ্য-ফ্লাই করতে সক্ষম করে। একটি অতিরিক্ত সুবিধা হল যে ডেভেলপারদের তাদের অ্যাপের জন্য নতুন ভোক্তা কী পাওয়ার প্রয়োজন ছাড়াই ডেভেলপার অ্যাক্সেস 'আপগ্রেড' এবং 'ডাউনগ্রেড' করতে পারে।

API ব্যবহার করে একটি API পণ্য তৈরি করতে, /organizations/ {org_name} /apiproducts এ একটি POST অনুরোধ জারি করুন। আরও তথ্যের জন্য, API পণ্য API রেফারেন্স তৈরি করুন দেখুন।

নিম্নলিখিত অনুরোধ weather_free নামে একটি API পণ্য তৈরি করে। এপিআই পণ্যটি এপিআই প্রক্সি দ্বারা উন্মোচিত সমস্ত API-তে অ্যাক্সেস সরবরাহ করে যাকে 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" : [ ]
}

উপরে তৈরি করা API পণ্যটি পরিবেশে একটি API প্রক্সিতে অনুরোধ অনুমোদন করে সবচেয়ে মৌলিক দৃশ্যকল্প প্রয়োগ করে। এটি একটি API পণ্য সংজ্ঞায়িত করে যা পরীক্ষা পরিবেশে চলমান API প্রক্সির মাধ্যমে অ্যাক্সেস করা যেকোনো API সংস্থান অ্যাক্সেস করতে একটি অনুমোদিত অ্যাপকে সক্ষম করে। API পণ্যগুলি অতিরিক্ত কনফিগারেশন সেটিংস প্রকাশ করে যা আপনাকে বিভিন্ন বিকাশকারী গোষ্ঠীর জন্য আপনার APIগুলিতে অ্যাক্সেস নিয়ন্ত্রণ কাস্টমাইজ করতে সক্ষম করে। উদাহরণস্বরূপ আপনি দুটি API পণ্য তৈরি করতে পারেন যা বিভিন্ন API প্রক্সিতে অ্যাক্সেস প্রদান করে। আপনি দুটি API পণ্যও তৈরি করতে পারেন যা একই API প্রক্সিগুলিতে অ্যাক্সেস প্রদান করে, কিন্তু বিভিন্ন সম্পর্কিত কোটা সেটিংস সহ।

API পণ্য কনফিগারেশন সেটিংস

API পণ্যগুলি নিম্নলিখিত কনফিগারেশন বিকল্পগুলিকে প্রকাশ করে:

নাম বর্ণনা ডিফল্ট প্রয়োজন?
apiResources

ইউআরআই-এর একটি কমা-বিভক্ত তালিকা, বা রিসোর্স পাথ , API পণ্যে 'বান্ডেল'।

ডিফল্টরূপে, রিসোর্স পাথগুলি proxy.pathsuffix ভেরিয়েবল থেকে ম্যাপ করা হয়। প্রক্সি পাথ প্রত্যয়টিকে প্রক্সিএন্ডপয়েন্ট বেস পাথ অনুসরণ করে ইউআরআই ফ্র্যাগমেন্ট হিসাবে সংজ্ঞায়িত করা হয়েছে। উদাহরণস্বরূপ, নীচের নমুনা API পণ্যে, apiResources উপাদানটিকে /forecastrss হিসাবে সংজ্ঞায়িত করা হয়েছে। যেহেতু এই API প্রক্সির জন্য বেস পাথ সংজ্ঞায়িত করা হয়েছে /weather , তার মানে এই API পণ্য দ্বারা শুধুমাত্র /weather/forecastrss এর অনুরোধ অনুমোদিত।

আপনি একটি নির্দিষ্ট পথ নির্বাচন করতে পারেন, অথবা আপনি একটি ওয়াইল্ডকার্ড দিয়ে সমস্ত সাবপাথ নির্বাচন করতে পারেন। ওয়াইল্ডকার্ড (/** এবং /*) সমর্থিত। ডবল তারকাচিহ্ন ওয়াইল্ডকার্ড নির্দেশ করে যে সমস্ত সাব-ইউআরআই অন্তর্ভুক্ত। একটি একক তারকাচিহ্ন নির্দেশ করে যে শুধুমাত্র এক স্তর নিচের URIগুলি অন্তর্ভুক্ত করা হয়েছে।

ডিফল্টরূপে, ' /' '/**'-এর মতো একই রিসোর্স সমর্থন করে সেইসাথে API প্রক্সি দ্বারা সংজ্ঞায়িত বেস পাথ। উদাহরণস্বরূপ, যদি API প্রক্সির বেস পাথ /v1/weatherapikey হয়, তাহলে API পণ্যটি /v1/weatherapikey এবং যেকোনো উপ-URI-তে অনুরোধ সমর্থন করে, যেমন /v1/weatherapikey/forecastrss , /v1/weatherapikey/region /CA , এবং তাই। এই ডিফল্টের আচরণ পরিবর্তনের তথ্যের জন্য API পণ্যগুলি পরিচালনা করুন দেখুন৷

N/A না
approvalType API পণ্য দ্বারা সংজ্ঞায়িত API অ্যাক্সেস করার জন্য API কীগুলি কীভাবে অনুমোদিত হয় তা নির্দিষ্ট করে৷ manual তে সেট করা থাকলে, অ্যাপের জন্য তৈরি করা কী 'মুলতুবি' অবস্থায় থাকে। এই ধরনের কীগুলি স্পষ্টভাবে অনুমোদিত না হওয়া পর্যন্ত কাজ করবে না৷ auto সেট করা থাকলে, সমস্ত কী 'অনুমোদিত'-এ তৈরি হয় এবং অবিলম্বে কাজ করে। ( auto সাধারণত বিনামূল্যে/ট্রায়াল API পণ্যগুলিতে অ্যাক্সেস প্রদানের জন্য ব্যবহৃত হয় যা সীমিত কোটা বা ক্ষমতা প্রদান করে।) N/A হ্যাঁ
attributes

গ্রাহক-নির্দিষ্ট মেটাডেটা সহ ডিফল্ট API পণ্য প্রোফাইল প্রসারিত করতে ব্যবহার করা হতে পারে এমন বৈশিষ্ট্যের অ্যারে।

এপিআই পণ্যের অ্যাক্সেস লেভেল সর্বজনীন , ব্যক্তিগত বা অভ্যন্তরীণ হিসাবে নির্দিষ্ট করতে এই বৈশিষ্ট্যটি ব্যবহার করুন। যেমন:
"গুণাবলী": [
{
"নাম": "অ্যাক্সেস",
"মান": "সর্বজনীন"
},
{
"নাম": "foo",
"মান": "foo"
},
{
"নাম": "বার",
"মান": "বার"
}
]
N/A না
scopes OAuth স্কোপের একটি কমা দ্বারা পৃথক করা তালিকা যা রানটাইমে যাচাই করা হয়। (Apigee Edge যাচাই করে যে উপস্থাপিত যেকোনো অ্যাক্সেস টোকেনের স্কোপগুলি API পণ্যে সেট করা সুযোগের সাথে মেলে।) N/A না
proxies নামযুক্ত API প্রক্সি যার সাথে এই API পণ্য আবদ্ধ। প্রক্সিগুলি নির্দিষ্ট করে, আপনি নির্দিষ্ট API প্রক্সিগুলির সাথে API পণ্যের সংস্থানগুলিকে সংযুক্ত করতে পারেন, বিকাশকারীদেরকে অন্যান্য API প্রক্সিগুলির মাধ্যমে সেই সংস্থানগুলি অ্যাক্সেস করতে বাধা দেয়৷ N/A না। সংজ্ঞায়িত না হলে, apiResources অবশ্যই স্পষ্টভাবে সংজ্ঞায়িত করতে হবে (উপরে apiResources জন্য তথ্য দেখুন), এবং AssignMessage নীতিতে flow.resource.name ভেরিয়েবল সেট করা আছে।
environments নামযুক্ত পরিবেশ (উদাহরণস্বরূপ 'পরীক্ষা' বা 'প্রোড') যার সাথে এই API পণ্যটি আবদ্ধ। এক বা একাধিক পরিবেশ নির্দিষ্ট করে, আপনি API পণ্যে তালিকাভুক্ত সংস্থানগুলিকে নির্দিষ্ট পরিবেশে আবদ্ধ করতে পারেন, বিকাশকারীকে API এর মাধ্যমে সেই সংস্থানগুলি অ্যাক্সেস করতে বাধা দেয় অন্য পরিবেশে প্রক্সিগুলি এই সেটিংটি ব্যবহার করা হয়, উদাহরণস্বরূপ, 'প্রোড'-এ এপিআই প্রক্সিগুলির সাথে যুক্ত সংস্থানগুলিকে 'পরীক্ষা'-তে স্থাপন করা API প্রক্সি দ্বারা অ্যাক্সেস করা থেকে বিরত রাখতে। N/A না। সংজ্ঞায়িত না হলে, apiResources অবশ্যই স্পষ্টভাবে সংজ্ঞায়িত করতে হবে এবং AssignMessage নীতিতে flow.resource.name ভেরিয়েবল সেট করতে হবে।
quota নির্দিষ্ট সময়ের ব্যবধানে অ্যাপ প্রতি অনুমোদিত অনুরোধের সংখ্যা। N/A না
quotaInterval সময়ের এককের সংখ্যা যার উপর কোটা মূল্যায়ন করা হয় N/A না
quotaTimeUnit সময়ের একক (মিনিট, ঘন্টা, দিন বা মাস) যার উপরে কোটা গণনা করা হয়। N/A না

নিম্নলিখিত একটি API পণ্য তৈরি করার জন্য আরও বিস্তারিত উদাহরণ প্রদান করে।

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 এজে, স্কোপগুলি সম্পূর্ণ ঐচ্ছিক। আপনি সূক্ষ্ম-দানাযুক্ত অনুমোদন অর্জন করতে স্কোপ ব্যবহার করতে পারেন। একটি অ্যাপে জারি করা প্রতিটি ভোক্তা কী একটি 'মাস্টার স্কোপ'-এর সাথে যুক্ত। মাস্টার স্কোপ হল সমস্ত API পণ্যের সমস্ত স্কোপের সেট এর জন্য অ্যাপটি অনুমোদিত হয়েছে। একাধিক API পণ্য ব্যবহার করার জন্য অনুমোদিত অ্যাপগুলির জন্য, মাস্টার স্কোপ হল API পণ্যগুলিতে সংজ্ঞায়িত সমস্ত স্কোপের মিলন যার জন্য ভোক্তা কী অনুমোদিত হয়েছে৷

API পণ্য দেখুন

API ব্যবহার করে একটি প্রতিষ্ঠানের জন্য তৈরি API পণ্যগুলি দেখতে, নিম্নলিখিত বিভাগগুলি দেখুন:

নিম্নলিখিতটি API ব্যবহার করে API পণ্যগুলি কীভাবে দেখতে হয় তার একটি উদাহরণ প্রদান করে:

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
}

API ব্যবহার করে বিকাশকারীদের নিবন্ধন করুন

সব অ্যাপই হয় ডেভেলপার বা কোম্পানির। অতএব, একটি অ্যাপ তৈরি করতে, আপনাকে প্রথমে একটি বিকাশকারী বা কোম্পানি নিবন্ধন করতে হবে।

বিকাশকারীরা একটি প্রোফাইল তৈরি করে একটি প্রতিষ্ঠানে নিবন্ধিত হয়। উল্লেখ্য যে প্রোফাইলে অন্তর্ভুক্ত ডেভেলপার ইমেলটি Apigee Edge জুড়ে বিকাশকারীর জন্য অনন্য কী হিসাবে ব্যবহৃত হয়।

নগদীকরণ সমর্থন করার জন্য, বিকাশকারী তৈরি বা সম্পাদনা করার সময় আপনাকে অবশ্যই নগদীকরণ বৈশিষ্ট্যগুলি সংজ্ঞায়িত করতে হবে৷ আপনি কাস্টম বিশ্লেষণ, কাস্টম নীতি প্রয়োগ, এবং তাই ব্যবহারের জন্য অন্যান্য স্বেচ্ছাচারী বৈশিষ্ট্য সংজ্ঞায়িত করতে পারেন; এই স্বেচ্ছাচারী গুণাবলী Apigee Edge দ্বারা ব্যাখ্যা করা হবে না,

উদাহরণস্বরূপ, নিম্নলিখিত অনুরোধটি একজন বিকাশকারীর জন্য একটি প্রোফাইল নিবন্ধন করে যার ইমেল ঠিকানা হল ntesla@theremin.com এবং বিকাশকারী API তৈরি করুন ব্যবহার করে নগদীকরণ বৈশিষ্ট্যগুলির একটি উপসেট সংজ্ঞায়িত করে:

$ 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"
        }

API ব্যবহার করে ডেভেলপার অ্যাপ নিবন্ধন করুন

Apigee Edge-এ নিবন্ধিত প্রতিটি অ্যাপ একটি বিকাশকারী এবং একটি API পণ্যের সাথে যুক্ত। যখন একটি অ্যাপ ডেভেলপারের পক্ষ থেকে নিবন্ধিত হয়, তখন Apigee Edge একটি "প্রমাণপত্র" (একটি ভোক্তা কী এবং গোপন জোড়া) তৈরি করে যা অ্যাপটিকে শনাক্ত করে। অ্যাপটির সাথে সংশ্লিষ্ট একটি API পণ্যের প্রতি অনুরোধের অংশ হিসাবে অ্যাপটিকে অবশ্যই এই শংসাপত্রগুলি পাস করতে হবে।

নিম্নলিখিত অনুরোধটি আপনি উপরে তৈরি করা ডেভেলপারের জন্য একটি অ্যাপ নিবন্ধন করতে ডেভেলপার অ্যাপ তৈরি করুন API ব্যবহার করে: ntesla@theremin.com। একটি অ্যাপ নিবন্ধন করার সময় আপনি অ্যাপের জন্য একটি নাম, একটি কলব্যাক ইউআরএল এবং এক বা একাধিক API পণ্যের একটি তালিকা নির্ধারণ করেন:
$ 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 

কলব্যাক ইউআরএল অ্যাপ থেকে রিডাইরেক্টের অনুরোধ যাচাই করতে কিছু OAuth অনুদানের ধরন (যেমন অনুমোদন কোড) ব্যবহার করে। আপনি যদি OAuth ব্যবহার করেন, তাহলে এই মানটিকে অবশ্যই একই মান সেট করতে হবে যেটি OAuth অনুরোধ করতে ব্যবহৃত redirect_uri এর মতো।

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"
}

API ব্যবহার করে অ্যাপগুলির জন্য ভোক্তা কীগুলি পরিচালনা করুন৷

অ্যাপের জন্য ভোক্তা কী (এপিআই কী) পান

একটি অ্যাপের জন্য শংসাপত্র, (API পণ্য, ভোক্তা কী এবং গোপন) অ্যাপ প্রোফাইলের অংশ হিসাবে ফেরত দেওয়া হয়। একটি প্রতিষ্ঠানের একজন প্রশাসক যে কোনো সময় ভোক্তা কী পুনরুদ্ধার করতে পারেন।

অ্যাপ প্রোফাইলটি ভোক্তা কী এবং গোপনীয়তার মান, ভোক্তা কীটির স্থিতি, সেইসাথে কীটির জন্য যেকোনো API পণ্য সংস্থান প্রদর্শন করে। একজন প্রশাসক হিসাবে, আপনি একটি বিকাশকারী অ্যাপ API-এর জন্য কী বিশদ বিবরণ পান ব্যবহার করে যে কোনও সময় গ্রাহক কী প্রোফাইল পুনরুদ্ধার করতে পারেন:

$ 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 পণ্য যোগ করুন

একটি নতুন API পণ্য যোগ করার জন্য একটি অ্যাপ আপডেট করতে, আপনি আসলে কী API-এ API পণ্য যোগ করুন ব্যবহার করে অ্যাপের কী-তে API পণ্য যোগ করেন। আরও জানতে কী এ API পণ্য যুক্ত করুন দেখুন।

একটি অ্যাপ কী-তে একটি API পণ্য যোগ করা সেই অ্যাপটিকে সক্ষম করে যা API পণ্যে বান্ডিল করা API সংস্থানগুলি অ্যাক্সেস করার জন্য কী ধারণ করে। নিম্নলিখিত পদ্ধতি কল একটি অ্যাপে একটি নতুন API পণ্য যোগ করে:

$ 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"
 }

ভোক্তা কী অনুমোদন করুন

ম্যানুয়ালে অনুমোদনের ধরন সেট করা আপনাকে নিয়ন্ত্রণ করতে সক্ষম করে কোন বিকাশকারীরা API পণ্যগুলির দ্বারা সুরক্ষিত সংস্থানগুলি অ্যাক্সেস করতে পারে৷ যখন API পণ্যগুলির কী অনুমোদন manual সেট করা থাকে, তখন গ্রাহক কীগুলি স্পষ্টভাবে অনুমোদিত হতে হবে৷ ডেভেলপার অ্যাপ API-এর অনুমোদন বা প্রত্যাহার নির্দিষ্ট কী ব্যবহার করে কীগুলি স্পষ্টভাবে অনুমোদিত হতে পারে:

$ 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 পণ্যের সংযোগেরও একটি স্থিতি রয়েছে৷ API অ্যাক্সেস সফল হওয়ার জন্য, ভোক্তা কী অনুমোদিত হতে হবে এবং উপযুক্ত API পণ্যের জন্য উপভোক্তা কী অনুমোদিত হতে হবে। একটি API পণ্যের সাথে একটি ভোক্তা কী-এর সংযোগ একটি বিকাশকারী অ্যাপ 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 পণ্য প্রত্যাহার করুন

একটি API পণ্যের সাথে একটি ভোক্তা কী এর অ্যাসোসিয়েশন প্রত্যাহার করার প্রয়োজন হতে পারে এমন অনেক কারণ রয়েছে৷ বিকাশকারীর দ্বারা অর্থপ্রদান না করার কারণে, একটি মেয়াদোত্তীর্ণ ট্রায়ালের সময়কাল বা যখন একটি এপিআই একটি এপিআই পণ্য থেকে অন্যটিতে উন্নীত করা হয় তখন আপনাকে একটি এপিআই পণ্যকে একটি ভোক্তা কী থেকে সরাতে হতে পারে।

একটি 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 কমান্ড একটি প্রতিক্রিয়া প্রদান করে না। আরও জানতে ডেভেলপার অ্যাপের নির্দিষ্ট কী অনুমোদন বা প্রত্যাহার দেখুন।

API পণ্য সেটিংস প্রয়োগ করুন

API পণ্যগুলি প্রয়োগ করার জন্য, নিম্নলিখিত নীতি প্রকারগুলির মধ্যে একটিকে API প্রক্সি ফ্লোতে সংযুক্ত করতে হবে:

  • VerifyAPIKey: একটি API কী-এর একটি রেফারেন্স নেয়, যাচাই করে যে এটি একটি বৈধ অ্যাপ প্রতিনিধিত্ব করে এবং API পণ্যের সাথে মেলে। আরও জানতে API কী নীতি যাচাই করুন
  • OAuthV1, "VerifyAccessToken" অপারেশন: স্বাক্ষর যাচাই করে, একটি OAuth 1.0a অ্যাক্সেস টোকেন এবং "ভোক্তা কী" যাচাই করে এবং অ্যাপটিকে API পণ্যের সাথে মেলে। আরও জানতে OAuth v1.0a নীতি দেখুন।
  • OAuthV2, "VerifyAccessToken" অপারেশন: OAuth 2.0 অ্যাক্সেস টোকেন বৈধ কিনা তা যাচাই করে, অ্যাপের সাথে টোকেনের সাথে মেলে, অ্যাপটি বৈধ কিনা তা যাচাই করে এবং তারপরে অ্যাপটিকে একটি API পণ্যের সাথে মেলে। আরও জানতে OAuth হোম দেখুন।

একবার নীতি এবং API পণ্যগুলি কনফিগার করা হলে, নিম্নলিখিত প্রক্রিয়াটি Apigee Edge দ্বারা সম্পাদিত হয়:

  1. Apigee Edge দ্বারা একটি অনুরোধ গৃহীত হয় এবং উপযুক্ত API প্রক্সিতে পাঠানো হয়।
  2. একটি নীতি কার্যকর করা হয় যা ক্লায়েন্ট দ্বারা উপস্থাপিত API কী বা OAuth অ্যাক্সেস টোকেন যাচাই করে৷
  3. এজ একটি অ্যাপ প্রোফাইলে API কী বা অ্যাক্সেস টোকেন সমাধান করে।
  4. এজ অ্যাপের সাথে যুক্ত API পণ্যগুলির তালিকা (যদি থাকে) সমাধান করে।
  5. প্রথম API পণ্য যা মেলে তা কোটা ভেরিয়েবলগুলি পূরণ করতে ব্যবহৃত হয়।
  6. যদি কোনো API পণ্য API কী বা অ্যাক্সেস টোকেনের সাথে মেলে না, তাহলে অনুরোধটি প্রত্যাখ্যান করা হয়।
  7. এজ কোটা সেটিংস সহ API পণ্য সেটিংসের উপর ভিত্তি করে URI-ভিত্তিক অ্যাক্সেস নিয়ন্ত্রণ (পরিবেশ, API প্রক্সি, এবং URI পাথ) প্রয়োগ করে।