مدیریت بسته‌های محصول API

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

یک یا چند محصول API را در یک محفظه دارای درآمد واحد که به آن دسته محصول API گفته می شود، دسته بندی کنید، همانطور که در بخش های زیر توضیح داده شده است.

بسته محصول API چیست؟

بسته محصول API مجموعه‌ای از محصولات API است که به صورت گروهی به توسعه‌دهندگان ارائه می‌شود و معمولاً با یک یا چند طرح نرخ برای کسب درآمد همراه است. می‌توانید چندین بسته محصول API ایجاد کنید و یک یا چند محصول API را در هر کدام بگنجانید. می‌توانید یک محصول یا محصولات API را در بسته‌های مختلف قرار دهید و آنها را با برنامه‌های نرخ متفاوت (یا یکسان) مرتبط کنید.

توسعه‌دهندگان می‌توانند برنامه‌های خود را برای استفاده از یک بسته محصول API ثبت کنند، فقط با خرید یکی از طرح‌های نرخ در حال حاضر در حال اجرا. یک بسته محصول API برای برنامه‌نویسان قابل مشاهده نمی‌شود مگر اینکه یک طرح نرخ برای بسته محصول (با تاریخ شروع تاریخ فعلی یا تاریخ آینده) اضافه و منتشر کنید (به‌عنوان عمومی)، همانطور که در مدیریت برنامه‌های نرخ‌گذاری توضیح داده شده است. پس از اضافه کردن و انتشار یک طرح نرخ، توسعه دهندگانی که وارد پورتال توسعه‌دهنده شما می‌شوند می‌توانند بسته محصول API را انتخاب کرده و طرح نرخ را انتخاب کنند. از طرف دیگر، می‌توانید با استفاده از API مدیریت، یک برنامه نرخ برای توسعه‌دهنده بپذیرید. برای اطلاعات بیشتر، به خرید طرح‌های نرخ منتشر شده با استفاده از API مراجعه کنید.

بعد از اینکه یک محصول API را به یک بسته محصول API اضافه کردید، ممکن است لازم باشد امتیاز قیمت برای محصول API تنظیم کنید. فقط در صورتی باید این کار را انجام دهید که همه موارد زیر درست باشد:

  • شما یک طرح نرخ اشتراک درآمد برای محصول API تنظیم می کنید.
  • توسعه دهندگان برای استفاده از منابع در محصول API از اشخاص ثالث هزینه می گیرند.
  • حداقل یا حداکثر محدودیتی برای مبلغی که توسعه‌دهندگان می‌توانند شارژ کنند وجود دارد و می‌خواهید این محدودیت را به برنامه‌نویسان اطلاع دهید.

حداقل و حداکثر قیمت ها در جزئیات بسته محصول API نمایش داده می شود.

کاوش در صفحه بسته‌های محصول

همانطور که در زیر توضیح داده شده است به صفحه Product Bundles دسترسی پیدا کنید.

لبه

برای دسترسی به صفحه بسته‌های محصول API با استفاده از رابط کاربری Edge، Publish > Monetization > Product Bundles را در نوار پیمایش سمت چپ انتخاب کنید.

همانطور که در شکل قبل مشخص شده است، صفحه Product Bundles شما را قادر می سازد:

شما می توانید محصولات API را در یک بسته محصول مدیریت کنید یا یک بسته محصول را حذف کنید (اگر هیچ برنامه نرخی تعریف نشده باشد) فقط با استفاده از API.

Classic Edge (ابر خصوصی)

برای دسترسی به صفحه بسته‌های API با استفاده از رابط کاربری Classic Edge، Publish > Packages را در نوار پیمایش بالا انتخاب کنید.

صفحه بسته‌های API شما را قادر می‌سازد:

  • اطلاعات خلاصه برای همه بسته‌های API از جمله محصولات API موجود در آن و برنامه‌های نرخ مرتبط را مشاهده کنید
  • یک بسته API اضافه کنید
  • یک بسته API را ویرایش کنید
  • برنامه های نرخ را اضافه و مدیریت کنید
  • تغییر تنظیمات دسترسی به طرح نرخ (عمومی/خصوصی)
  • لیست بسته ها را فیلتر کنید

می‌توانید محصولات API را در یک بسته API مدیریت کنید یا بسته API را حذف کنید (اگر هیچ برنامه نرخی تعریف نشده باشد) فقط با استفاده از API.

اضافه کردن یک بسته محصول

برای افزودن یک بسته محصول API:

  1. روی + API Product Bundle در صفحه Product Bundles کلیک کنید.
  2. یک نام برای بسته محصول API وارد کنید.
  3. نام محصول API را در قسمت Add a Product وارد کنید.

    همانطور که نام یک محصول API را تایپ می کنید، لیستی از محصولات API که حاوی رشته هستند به صورت کشویی نمایش داده می شود. روی نام یک محصول API کلیک کنید تا آن را به بسته اضافه کنید. برای افزودن محصولات API اضافی تکرار کنید.

  4. مرحله 3 را برای افزودن نام محصولات API اضافی تکرار کنید.
  5. برای هر محصول API که اضافه می کنید، خط مشی ضبط تراکنش را پیکربندی کنید .
  6. روی Save Product Bundle کلیک کنید.

ویرایش یک بسته محصول

برای ویرایش یک بسته محصول:

  1. در صفحه Product Bundles ، در ردیف بسته محصولی که می‌خواهید ویرایش کنید، کلیک کنید.

    پانل بسته محصول نمایش داده می شود.

  2. در صورت نیاز، فیلدهای بسته محصول را ویرایش کنید.

    برای اطلاعات بیشتر به پیکربندی خط مشی ضبط تراکنش مراجعه کنید.

  3. روی Update Product Bundle کلیک کنید.

مدیریت بسته‌های محصول API با استفاده از API

بخش‌های زیر نحوه مدیریت بسته‌های محصول API را با استفاده از API شرح می‌دهند.

ایجاد یک بسته محصول API با استفاده از API

برای ایجاد یک بسته محصول API، یک درخواست POST به /organizations/ {org_name} /monetization-packages صادر کنید. هنگام صدور درخواست، باید:

  • محصولات API را برای گنجاندن در بسته محصول API شناسایی کنید.
  • یک نام و توضیحات برای بسته محصول API مشخص کنید.
  • یک نشانگر وضعیت برای بسته محصول API تنظیم کنید. نشانگر وضعیت می تواند یکی از مقادیر زیر را داشته باشد: CREATED، ACTIVE، INACTIVE. در حال حاضر، مقدار نشانگر وضعیتی که مشخص می‌کنید در بسته محصول API حفظ می‌شود، اما برای هیچ هدفی استفاده نمی‌شود.

به صورت اختیاری، می توانید سازمان را مشخص کنید.

برای لیستی از گزینه های در معرض API ، ویژگی های پیکربندی بسته محصول API را ببینید.

به عنوان مثال:

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "description": "payment messaging package",
     "displayName": "Payment Messaging Package",
     "name": "Payment Messaging Package",
     "organization": { "id": "{org_name}" },
     "product": [
       { "id": "messaging" },
       { "id": "payment" }
     ],
     "status": "CREATED"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \
-u email:password

در زیر نمونه ای از پاسخ ارائه شده است:

{
   "description" : "payment messaging package",
   "displayName" : "Payment Messaging Package",
   "id" : "payment_messaging_package",
   "name" : "Payment Messaging Package",
   "organization" : {
     "id" : "{org_name}",
     "separateInvoiceForFees" : false
   },
   "product" : [ {
     "customAtt1Name" : "user",
     "description" : "Messaging",
     "displayName" : "Messaging",
     "id" : "messaging",
     "name" : "messaging",
     "organization" : {
       "id" : "{org_name}",
       "separateInvoiceForFees" : false
     },
     "status" : "CREATED"
   }, {
     "customAtt1Name" : "user",
     "description" : "Payment",
     "displayName" : "Payment",
     "id" : "payment",
     "name" : "payment",
     "organization" : {
       "id" : "{org_name}",
       "separateInvoiceForFees" : false
     },
     "status" : "CREATED"
   }],
   "status" : "CREATED"
 }

توجه داشته باشید که پاسخ شامل اطلاعات اضافی درباره محصولات API و هر ویژگی سفارشی مشخص شده برای آن محصولات API است. (هنگامی که یک محصول API ایجاد می‌کنید ویژگی‌های سفارشی مشخص می‌شوند.) ویژگی‌های سفارشی برای یک محصول API را می‌توان در طرح‌های نرخ مختلف لحاظ کرد. برای مثال، اگر یک طرح کارت نرخ راه‌اندازی کنید، جایی که برای هر تراکنش از توسعه‌دهنده هزینه دریافت می‌کنید، می‌توانید نرخ آن را بر اساس یک ویژگی سفارشی مانند تعداد بایت‌های ارسال شده در یک تراکنش تنظیم کنید.

مدیریت محصولات API در یک بسته محصول API با استفاده از API

همانطور که در بخش‌های زیر توضیح داده شده است، می‌توانید با استفاده از API یک محصول API را از یک بسته محصول API اضافه یا حذف کنید.

افزودن یک محصول API به یک بسته محصول API

برای افزودن یک محصول API به یک بسته محصول API، یک درخواست POST به organizations/ {org_name} /monetization-packages/ {package_id} /products/ {product_id} ، جایی که {org_name} نام سازمان شما را مشخص می‌کند، {package_id} نام بسته محصول API را مشخص می کند و {product_id} شناسه محصول API را مشخص می کند.

به عنوان مثال:

$ curl -H "Accept:application/json" -X POST -d \
'{}'\
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

افزودن یک محصول API به یک بسته محصول API با برنامه‌های نرخ ویژه محصول API

برای افزودن یک محصول API به یک بسته محصول API که یک یا چند طرح نرخ ویژه محصول API تعریف شده است (کارت نرخ یا سهم درآمد)، یک درخواست POST برای organizations/ {org_name} /monetization-packages/ {package_id} /products/ {product_id} صادر کنید. organizations/ {org_name} /monetization-packages/ {package_id} /products/ {product_id} ، جایی که {org_name} نام سازمان شما را مشخص می کند، {package_id} نام بسته محصول API را مشخص می کند و {product_id} شناسه محصول API را مشخص می کند.

باید جزئیات طرح نرخ را برای محصول جدید API در بدنه درخواست ارسال کنید. به جز آرایه ratePlanRates ، مقادیر طرح نرخ باید با مقادیر مشخص شده برای سایر محصولات API مطابقت داشته باشد. برای اطلاعات بیشتر درباره ویژگی‌های طرح نرخ قابل تعریف، به ویژگی‌های پیکربندی برای طرح‌های نرخ مراجعه کنید.

به عنوان مثال:

$ curl -H "Content-Type:application/json" -X POST -d \
'{
    "ratePlan": [ 
        {
            "id": "mypackage_rateplan1",
            "ratePlanDetails": [
                {
                    "currency": {
                        "id": "usd"
                    },
                    "duration": 1,
                    "durationType": "MONTH",
                    "meteringType": "UNIT",
                    "organization" : {
                        "id": "{org_name}",
                    "paymentDueDays": "30",
                    "ratePlanRates": [
                        {
                            "rate": "1.99",
                            "startUnit": "0",
                            "type": "RATECARD"
                        }
                    ],
                    "ratingParameter": "VOLUME",
                    "type": "RATECARD"
                }
            ]
        }
    ]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

حذف یک محصول API از یک بسته محصول API

برای حذف یک محصول API از یک بسته محصول API، یک درخواست DELETE به organizations/ {org_name} /monetization-packages/ {package_id} /products/ {product_id} ، جایی که {org_name} نام سازمان شما را مشخص می‌کند، {package_id} نام بسته محصول API را مشخص می کند و {product_id} شناسه محصول API را مشخص می کند.

به عنوان مثال:

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

مشاهده بسته‌های محصول API با استفاده از API

می‌توانید یک بسته محصول API خاص یا همه بسته‌های محصول API در یک سازمان را بازیابی کنید. همچنین می‌توانید بسته‌های محصول API را بازیابی کنید که دارای تراکنش‌هایی در یک محدوده تاریخ معین هستند، یعنی فقط بسته‌هایی که کاربران برای آنها برنامه‌هایی را فراخوانی می‌کنند که در یک تاریخ شروع و پایان مشخص به APIهای آن بسته‌ها دسترسی دارند.

مشاهده یک بسته محصول API خاص: برای بازیابی یک بسته محصول API خاص، یک درخواست GET به /organizations/ {org_name} /monetization-packages/ {package_id} صادر کنید، جایی که {package_id} شناسایی بسته محصول API است (شناسه هنگامی که بسته محصول API را ایجاد می کنید، در پاسخ برگردانده می شود. به عنوان مثال:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/payment_messaging_package" \
-u email:password

مشاهده همه بسته‌های محصول API: برای بازیابی همه بسته‌های محصول API برای یک سازمان، یک درخواست GET به /organizations/ {org_name} /monetization-packages صادر کنید. به عنوان مثال:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \
-u email:password

برای فیلتر کردن نتایج می توانید پارامترهای پرس و جو زیر را ارسال کنید:

پارامتر پرس و جو توضیحات
all پرچمی که مشخص می‌کند همه بسته‌های محصول API بازگردانده شوند یا خیر. اگر روی false تنظیم شود، تعداد بسته‌های محصول API که در هر صفحه بازگردانده می‌شوند، با پارامتر size درخواست تعریف می‌شود. پیش فرض ها به false .
size تعداد بسته‌های محصول API برگردانده شده در هر صفحه. پیش‌فرض 20 است. اگر پارامتر all query روی true تنظیم شود، این پارامتر نادیده گرفته می‌شود.
page شماره صفحه ای که می خواهید برگردانید (اگر محتوا صفحه بندی شده باشد). اگر پارامتر all query روی true تنظیم شود، این پارامتر نادیده گرفته می شود.

پاسخ برای مشاهده همه بسته‌های محصول API در یک سازمان باید به شکل زیر باشد (فقط بخشی از پاسخ نشان داده شده است):

{
  "monetizationPackage" : [ {
    "description" : "payment messaging package",
    "displayName" : "Payment Messaging Package",
    "id" : "payment_messaging_package",
    "name" : "Payment Messaging Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Messaging",
      "displayName" : "Messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    }, {
      "customAtt1Name" : "user",
      "description" : "Payment",
      "displayName" : "Payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "Communications",
    "displayName" : "Communications",
    "id" : "communications",
    "name" : "Communications",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Location",
      "displayName" : "Location",
      "id" : "location",
      "name" : "location",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    }, {
      "customAtt1Name" : "user",
      "description" : "Messaging",
      "displayName" : "Messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "Payment",
    "displayName" : "Payment",
    "id" : "payment",
    "name" : "Payment",
    "organization" : {
     ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Payment",
      "displayName" : "Payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  } ],
  "totalRecords" : 3
}

مشاهده بسته‌های محصول API همراه با تراکنش‌ها: برای بازیابی بسته‌های محصول API با تراکنش‌هایی در محدوده تاریخ معین، یک درخواست GET به /organizations/ {org_name} /packages-with-transactions صادر کنید. هنگامی که درخواست را صادر می کنید، باید به عنوان پارامترهای پرس و جو تاریخ شروع و تاریخ پایان محدوده تاریخ را مشخص کنید. برای مثال، درخواست زیر بسته‌های محصول API را با تراکنش‌های ماه آگوست ۲۰۱۳ بازیابی می‌کند.

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/packages-with-transactions?START_DATE=2013-08-01&END_DATE=2013-08-31" \
-u email:password

پاسخ باید چیزی شبیه به این باشد (فقط بخشی از پاسخ نشان داده شده است):

{
  "monetizationPackage" : [ {
    "description" : "Payment Package",
    "displayName" : "Payment Package",
    "id" : "payment_package",
    "name" : "Payment Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "customAtt2Name" : "response size",
      "customAtt3Name" : "content-length",
      "description" : "payment api product",
      "displayName" : "payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED",
      "transactionSuccessCriteria" : "status == 'SUCCESS'"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "messaging package",
    "displayName" : "Messaging Package",
    "id" : "messaging_package",
    "name" : "Messaging Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "customAtt2Name" : "response size",
      "customAtt3Name" : "content-length",
      "description" : "messaging api product",
      "displayName" : "messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED",
      "transactionSuccessCriteria" : "status == 'SUCCESS'"
    } ],
    "status" : "CREATED"
  },
     ...
  } ]
}

مشاهده بسته‌های محصول API پذیرفته‌شده توسط یک توسعه‌دهنده یا شرکت با استفاده از API

بسته‌های محصول API پذیرفته‌شده توسط یک توسعه‌دهنده یا شرکت خاص را با ارسال یک درخواست GET به ترتیب برای API‌های زیر مشاهده کنید:

  • /organizations/ {org_name} /developers/ {developer_id} /monetization-packages ، که در آن {developer_id} شناسه (آدرس ایمیل) توسعه دهنده است.
  • /organizations/ {org_name} /companies/ {company_id} /monetization-packages ، که {company_id} شناسه شرکت است.

هنگامی که درخواست را صادر می کنید، می توانید به صورت اختیاری پارامترهای پرس و جو زیر را مشخص کنید:

پارامتر پرس و جو توضیحات پیش فرض
current پرچمی که مشخص می‌کند فقط بسته‌های محصول فعال API ( current=true ) یا همه بسته‌ها ( current=false ) بازیابی شوند. تمام طرح های نرخ در یک بسته فعال موجود در نظر گرفته می شود. current=false
allAvailable پرچمی که مشخص می‌کند همه بسته‌های محصول API موجود ( allAvailable=true ) یا فقط بسته‌های محصول API که به‌طور خاص برای توسعه‌دهنده یا شرکت در دسترس هستند ( allAvailable=false ) را مشخص می‌کند. همه موجود به بسته‌های محصول API اشاره دارد که علاوه بر توسعه‌دهندگان یا شرکت‌های دیگر در اختیار توسعه‌دهنده یا شرکت مشخص‌شده است. بسته‌های محصول API که به‌طور خاص برای یک شرکت یا توسعه‌دهنده در دسترس هستند، فقط شامل برنامه‌های نرخ هستند که منحصراً در اختیار آن شرکت یا توسعه‌دهنده است. allAvailable=true

برای مثال، درخواست زیر همه بسته‌های محصول API پذیرفته شده توسط یک توسعه‌دهنده خاص را بازیابی می‌کند:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/dev1@myorg.com/monetization-packages" \
-u email:password

درخواست زیر فقط بسته های API فعال پذیرفته شده توسط یک شرکت خاص را بازیابی می کند:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/companies/myCompany/monetization-packages?current=true" \
-u email:password

حذف یک بسته محصول API با استفاده از API

فقط در صورتی می‌توانید یک بسته محصول API را حذف کنید که هیچ برنامه نرخی تعریف نشده باشد.

برای حذف یک بسته محصول API که هیچ طرح نرخی تعریف نشده است، یک درخواست DELETE برای organizations/ {org_name} /monetization-packages/ {package_id} ، جایی که {org_name} نام سازمان شما را مشخص می‌کند و {package_id} نام بسته محصول API.

به عنوان مثال:

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}" \
-u email:password

ویژگی های پیکربندی بسته محصول API برای API

گزینه های پیکربندی بسته محصول API زیر در معرض API قرار می گیرند:

نام توضیحات پیش فرض مورد نیاز؟
description

شرح بسته محصول API.

N/A بله
displayName

نامی که باید برای بسته محصول API نمایش داده شود (به عنوان مثال، در کاتالوگ بسته های API).

N/A بله
name

نام بسته محصول API.

N/A بله
organization

سازمانی که حاوی بسته محصول API است.

N/A خیر
product

آرایه ای از یک یا چند محصول در بسته محصول API.

N/A خیر
status

یک نشانگر وضعیت برای بسته محصول API. نشانگر وضعیت می تواند یکی از مقادیر زیر را داشته باشد: CREATED، ACTIVE، INACTIVE.

N/A بله
،

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

یک یا چند محصول API را در یک محفظه دارای درآمد واحد که به آن دسته محصول API گفته می شود، دسته بندی کنید، همانطور که در بخش های زیر توضیح داده شده است.

بسته محصول API چیست؟

بسته محصول API مجموعه‌ای از محصولات API است که به صورت گروهی به توسعه‌دهندگان ارائه می‌شود و معمولاً با یک یا چند طرح نرخ برای کسب درآمد همراه است. می‌توانید چندین بسته محصول API ایجاد کنید و یک یا چند محصول API را در هر کدام بگنجانید. می‌توانید یک محصول یا محصولات API را در بسته‌های مختلف قرار دهید و آنها را با برنامه‌های نرخ متفاوت (یا یکسان) مرتبط کنید.

توسعه‌دهندگان می‌توانند برنامه‌های خود را برای استفاده از یک بسته محصول API ثبت کنند، فقط با خرید یکی از طرح‌های نرخ در حال حاضر در حال اجرا. یک بسته محصول API برای برنامه‌نویسان قابل مشاهده نمی‌شود مگر اینکه یک طرح نرخ برای بسته محصول (با تاریخ شروع تاریخ فعلی یا تاریخ آینده) اضافه و منتشر کنید (به‌عنوان عمومی)، همانطور که در مدیریت برنامه‌های نرخ‌گذاری توضیح داده شده است. پس از اضافه کردن و انتشار یک طرح نرخ، توسعه دهندگانی که وارد پورتال توسعه‌دهنده شما می‌شوند می‌توانند بسته محصول API را انتخاب کرده و طرح نرخ را انتخاب کنند. از طرف دیگر، می‌توانید با استفاده از API مدیریت، یک برنامه نرخ برای توسعه‌دهنده بپذیرید. برای اطلاعات بیشتر، به خرید طرح‌های نرخ منتشر شده با استفاده از API مراجعه کنید.

بعد از اینکه یک محصول API را به یک بسته محصول API اضافه کردید، ممکن است لازم باشد امتیاز قیمت برای محصول API تنظیم کنید. فقط در صورتی باید این کار را انجام دهید که همه موارد زیر درست باشد:

  • شما یک طرح نرخ اشتراک درآمد برای محصول API تنظیم می کنید.
  • توسعه دهندگان برای استفاده از منابع در محصول API از اشخاص ثالث هزینه می گیرند.
  • حداقل یا حداکثر محدودیتی برای مبلغی که توسعه‌دهندگان می‌توانند شارژ کنند وجود دارد و می‌خواهید این محدودیت را به برنامه‌نویسان اطلاع دهید.

حداقل و حداکثر قیمت ها در جزئیات بسته محصول API نمایش داده می شود.

کاوش در صفحه بسته‌های محصول

همانطور که در زیر توضیح داده شده است به صفحه Product Bundles دسترسی پیدا کنید.

لبه

برای دسترسی به صفحه بسته‌های محصول API با استفاده از رابط کاربری Edge، Publish > Monetization > Product Bundles را در نوار پیمایش سمت چپ انتخاب کنید.

همانطور که در شکل قبل مشخص شده است، صفحه Product Bundles شما را قادر می سازد:

شما می توانید محصولات API را در یک بسته محصول مدیریت کنید یا یک بسته محصول را حذف کنید (اگر هیچ برنامه نرخی تعریف نشده باشد) فقط با استفاده از API.

Classic Edge (ابر خصوصی)

برای دسترسی به صفحه بسته‌های API با استفاده از رابط کاربری Classic Edge، Publish > Packages را در نوار پیمایش بالا انتخاب کنید.

صفحه بسته‌های API شما را قادر می‌سازد:

  • اطلاعات خلاصه برای همه بسته‌های API از جمله محصولات API موجود در آن و برنامه‌های نرخ مرتبط را مشاهده کنید
  • یک بسته API اضافه کنید
  • یک بسته API را ویرایش کنید
  • برنامه های نرخ را اضافه و مدیریت کنید
  • تغییر تنظیمات دسترسی به طرح نرخ (عمومی/خصوصی)
  • لیست بسته ها را فیلتر کنید

می‌توانید محصولات API را در یک بسته API مدیریت کنید یا بسته API را حذف کنید (اگر هیچ برنامه نرخی تعریف نشده باشد) فقط با استفاده از API.

اضافه کردن یک بسته محصول

برای افزودن یک بسته محصول API:

  1. روی + API Product Bundle در صفحه Product Bundles کلیک کنید.
  2. یک نام برای بسته محصول API وارد کنید.
  3. نام محصول API را در قسمت Add a Product وارد کنید.

    همانطور که نام یک محصول API را تایپ می کنید، لیستی از محصولات API که حاوی رشته هستند به صورت کشویی نمایش داده می شود. روی نام یک محصول API کلیک کنید تا آن را به بسته اضافه کنید. برای افزودن محصولات API اضافی تکرار کنید.

  4. مرحله 3 را برای افزودن نام محصولات API اضافی تکرار کنید.
  5. برای هر محصول API که اضافه می کنید، خط مشی ضبط تراکنش را پیکربندی کنید .
  6. روی Save Product Bundle کلیک کنید.

ویرایش یک بسته محصول

برای ویرایش یک بسته محصول:

  1. در صفحه Product Bundles ، در ردیف بسته محصولی که می‌خواهید ویرایش کنید، کلیک کنید.

    پانل بسته محصول نمایش داده می شود.

  2. در صورت لزوم، فیلدهای بسته محصول را ویرایش کنید.

    برای اطلاعات بیشتر به پیکربندی خط مشی ضبط تراکنش مراجعه کنید.

  3. روی Update Product Bundle کلیک کنید.

مدیریت بسته‌های محصول API با استفاده از API

بخش‌های زیر نحوه مدیریت بسته‌های محصول API را با استفاده از API شرح می‌دهند.

ایجاد یک بسته محصول API با استفاده از API

برای ایجاد یک بسته محصول API، یک درخواست POST به /organizations/ {org_name} /monetization-packages صادر کنید. هنگام صدور درخواست، باید:

  • محصولات API را برای گنجاندن در بسته محصول API شناسایی کنید.
  • یک نام و توضیحات برای بسته محصول API مشخص کنید.
  • یک نشانگر وضعیت برای بسته محصول API تنظیم کنید. نشانگر وضعیت می تواند یکی از مقادیر زیر را داشته باشد: CREATED، ACTIVE، INACTIVE. در حال حاضر، مقدار نشانگر وضعیتی که مشخص می‌کنید در بسته محصول API حفظ می‌شود، اما برای هیچ هدفی استفاده نمی‌شود.

به صورت اختیاری، می توانید سازمان را مشخص کنید.

برای لیستی از گزینه های در معرض API ، ویژگی های پیکربندی بسته محصول API را ببینید.

به عنوان مثال:

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "description": "payment messaging package",
     "displayName": "Payment Messaging Package",
     "name": "Payment Messaging Package",
     "organization": { "id": "{org_name}" },
     "product": [
       { "id": "messaging" },
       { "id": "payment" }
     ],
     "status": "CREATED"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \
-u email:password

در زیر نمونه ای از پاسخ ارائه شده است:

{
   "description" : "payment messaging package",
   "displayName" : "Payment Messaging Package",
   "id" : "payment_messaging_package",
   "name" : "Payment Messaging Package",
   "organization" : {
     "id" : "{org_name}",
     "separateInvoiceForFees" : false
   },
   "product" : [ {
     "customAtt1Name" : "user",
     "description" : "Messaging",
     "displayName" : "Messaging",
     "id" : "messaging",
     "name" : "messaging",
     "organization" : {
       "id" : "{org_name}",
       "separateInvoiceForFees" : false
     },
     "status" : "CREATED"
   }, {
     "customAtt1Name" : "user",
     "description" : "Payment",
     "displayName" : "Payment",
     "id" : "payment",
     "name" : "payment",
     "organization" : {
       "id" : "{org_name}",
       "separateInvoiceForFees" : false
     },
     "status" : "CREATED"
   }],
   "status" : "CREATED"
 }

توجه داشته باشید که پاسخ شامل اطلاعات اضافی درباره محصولات API و هر ویژگی سفارشی مشخص شده برای آن محصولات API است. (هنگامی که یک محصول API ایجاد می‌کنید ویژگی‌های سفارشی مشخص می‌شوند.) ویژگی‌های سفارشی برای یک محصول API را می‌توان در طرح‌های نرخ مختلف لحاظ کرد. برای مثال، اگر یک طرح کارت نرخ راه‌اندازی کنید، جایی که برای هر تراکنش از توسعه‌دهنده هزینه دریافت می‌کنید، می‌توانید نرخ آن را بر اساس یک ویژگی سفارشی مانند تعداد بایت‌های ارسال شده در یک تراکنش تنظیم کنید.

مدیریت محصولات API در یک بسته محصول API با استفاده از API

همانطور که در بخش‌های زیر توضیح داده شده است، می‌توانید با استفاده از API یک محصول API را از یک بسته محصول API اضافه یا حذف کنید.

افزودن یک محصول API به یک بسته محصول API

برای افزودن یک محصول API به یک بسته محصول API، یک درخواست POST به organizations/ {org_name} /monetization-packages/ {package_id} /products/ {product_id} ، جایی که {org_name} نام سازمان شما را مشخص می‌کند، {package_id} نام بسته محصول API را مشخص می کند و {product_id} شناسه محصول API را مشخص می کند.

به عنوان مثال:

$ curl -H "Accept:application/json" -X POST -d \
'{}'\
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

افزودن یک محصول API به یک بسته محصول API با برنامه‌های نرخ ویژه محصول API

برای افزودن یک محصول API به یک بسته محصول API که یک یا چند طرح نرخ ویژه محصول API تعریف شده است (کارت نرخ یا سهم درآمد)، یک درخواست POST برای organizations/ {org_name} /monetization-packages/ {package_id} /products/ {product_id} صادر کنید. organizations/ {org_name} /monetization-packages/ {package_id} /products/ {product_id} ، جایی که {org_name} نام سازمان شما را مشخص می کند، {package_id} نام بسته محصول API را مشخص می کند و {product_id} شناسه محصول API را مشخص می کند.

باید جزئیات طرح نرخ را برای محصول جدید API در بدنه درخواست ارسال کنید. به جز آرایه ratePlanRates ، مقادیر طرح نرخ باید با مقادیر مشخص شده برای سایر محصولات API مطابقت داشته باشد. برای اطلاعات بیشتر درباره ویژگی‌های طرح نرخ قابل تعریف، به ویژگی‌های پیکربندی برای طرح‌های نرخ رجوع کنید.

به عنوان مثال:

$ curl -H "Content-Type:application/json" -X POST -d \
'{
    "ratePlan": [ 
        {
            "id": "mypackage_rateplan1",
            "ratePlanDetails": [
                {
                    "currency": {
                        "id": "usd"
                    },
                    "duration": 1,
                    "durationType": "MONTH",
                    "meteringType": "UNIT",
                    "organization" : {
                        "id": "{org_name}",
                    "paymentDueDays": "30",
                    "ratePlanRates": [
                        {
                            "rate": "1.99",
                            "startUnit": "0",
                            "type": "RATECARD"
                        }
                    ],
                    "ratingParameter": "VOLUME",
                    "type": "RATECARD"
                }
            ]
        }
    ]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

حذف یک محصول API از یک بسته محصول API

برای حذف یک محصول API از یک بسته محصول API، یک درخواست DELETE به organizations/ {org_name} /monetization-packages/ {package_id} /products/ {product_id} ، جایی که {org_name} نام سازمان شما را مشخص می‌کند، {package_id} نام بسته محصول API را مشخص می کند و {product_id} شناسه محصول API را مشخص می کند.

به عنوان مثال:

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}/products/{product_id}" \
-u email:password

مشاهده بسته‌های محصول API با استفاده از API

می‌توانید یک بسته محصول API خاص یا همه بسته‌های محصول API در یک سازمان را بازیابی کنید. همچنین می‌توانید بسته‌های محصول API را بازیابی کنید که دارای تراکنش‌هایی در یک محدوده تاریخ معین هستند، یعنی فقط بسته‌هایی که کاربران برای آنها برنامه‌هایی را فراخوانی می‌کنند که در یک تاریخ شروع و پایان مشخص به APIهای آن بسته‌ها دسترسی دارند.

مشاهده یک بسته محصول API خاص: برای بازیابی یک بسته محصول API خاص، یک درخواست GET به /organizations/ {org_name} /monetization-packages/ {package_id} صادر کنید، جایی که {package_id} شناسایی بسته محصول API است (شناسه هنگامی که بسته محصول API را ایجاد می کنید، در پاسخ برگردانده می شود. به عنوان مثال:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/payment_messaging_package" \
-u email:password

مشاهده همه بسته‌های محصول API: برای بازیابی همه بسته‌های محصول API برای یک سازمان، یک درخواست GET به /organizations/ {org_name} /monetization-packages صادر کنید. به عنوان مثال:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages" \
-u email:password

برای فیلتر کردن نتایج می توانید پارامترهای پرس و جو زیر را ارسال کنید:

پارامتر پرس و جو توضیحات
all پرچمی که مشخص می‌کند همه بسته‌های محصول API بازگردانده شوند یا خیر. اگر روی false تنظیم شود، تعداد بسته‌های محصول API که در هر صفحه بازگردانده می‌شوند، با پارامتر size درخواست تعریف می‌شود. پیش فرض ها به false .
size تعداد بسته‌های محصول API برگردانده شده در هر صفحه. پیش‌فرض 20 است. اگر پارامتر all query روی true تنظیم شود، این پارامتر نادیده گرفته می‌شود.
page شماره صفحه ای که می خواهید برگردانید (اگر محتوا صفحه بندی شده باشد). اگر پارامتر all query روی true تنظیم شود، این پارامتر نادیده گرفته می شود.

پاسخ برای مشاهده همه بسته‌های محصول API در یک سازمان باید به شکل زیر باشد (فقط بخشی از پاسخ نشان داده شده است):

{
  "monetizationPackage" : [ {
    "description" : "payment messaging package",
    "displayName" : "Payment Messaging Package",
    "id" : "payment_messaging_package",
    "name" : "Payment Messaging Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Messaging",
      "displayName" : "Messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    }, {
      "customAtt1Name" : "user",
      "description" : "Payment",
      "displayName" : "Payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "Communications",
    "displayName" : "Communications",
    "id" : "communications",
    "name" : "Communications",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Location",
      "displayName" : "Location",
      "id" : "location",
      "name" : "location",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    }, {
      "customAtt1Name" : "user",
      "description" : "Messaging",
      "displayName" : "Messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "Payment",
    "displayName" : "Payment",
    "id" : "payment",
    "name" : "Payment",
    "organization" : {
     ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "description" : "Payment",
      "displayName" : "Payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED"
    } ],
    "status" : "CREATED"
  } ],
  "totalRecords" : 3
}

مشاهده بسته‌های محصول API همراه با تراکنش‌ها: برای بازیابی بسته‌های محصول API با تراکنش‌هایی در محدوده تاریخ معین، یک درخواست GET به /organizations/ {org_name} /packages-with-transactions صادر کنید. هنگامی که درخواست را صادر می کنید، باید به عنوان پارامترهای پرس و جو تاریخ شروع و تاریخ پایان محدوده تاریخ را مشخص کنید. برای مثال، درخواست زیر بسته‌های محصول API را با تراکنش‌های ماه آگوست ۲۰۱۳ بازیابی می‌کند.

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/packages-with-transactions?START_DATE=2013-08-01&END_DATE=2013-08-31" \
-u email:password

پاسخ باید چیزی شبیه به این باشد (فقط بخشی از پاسخ نشان داده شده است):

{
  "monetizationPackage" : [ {
    "description" : "Payment Package",
    "displayName" : "Payment Package",
    "id" : "payment_package",
    "name" : "Payment Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "customAtt2Name" : "response size",
      "customAtt3Name" : "content-length",
      "description" : "payment api product",
      "displayName" : "payment",
      "id" : "payment",
      "name" : "payment",
      "organization" : {
        ...
      },
      "status" : "CREATED",
      "transactionSuccessCriteria" : "status == 'SUCCESS'"
    } ],
    "status" : "CREATED"
  }, {
    "description" : "messaging package",
    "displayName" : "Messaging Package",
    "id" : "messaging_package",
    "name" : "Messaging Package",
    "organization" : {
      ...
    },
    "product" : [ {
      "customAtt1Name" : "user",
      "customAtt2Name" : "response size",
      "customAtt3Name" : "content-length",
      "description" : "messaging api product",
      "displayName" : "messaging",
      "id" : "messaging",
      "name" : "messaging",
      "organization" : {
        ...
      },
      "status" : "CREATED",
      "transactionSuccessCriteria" : "status == 'SUCCESS'"
    } ],
    "status" : "CREATED"
  },
     ...
  } ]
}

مشاهده بسته‌های محصول API پذیرفته‌شده توسط یک توسعه‌دهنده یا شرکت با استفاده از API

بسته‌های محصول API پذیرفته‌شده توسط یک توسعه‌دهنده یا شرکت خاص را با ارسال یک درخواست GET به ترتیب برای API‌های زیر مشاهده کنید:

  • /organizations/ {org_name} /developers/ {developer_id} /monetization-packages ، که در آن {developer_id} شناسه (آدرس ایمیل) توسعه دهنده است.
  • /organizations/ {org_name} /companies/ {company_id} /monetization-packages ، که {company_id} شناسه شرکت است.

هنگامی که درخواست را صادر می کنید، می توانید به صورت اختیاری پارامترهای پرس و جو زیر را مشخص کنید:

پارامتر پرس و جو توضیحات پیش فرض
current پرچمی که مشخص می‌کند فقط بسته‌های محصول فعال API ( current=true ) یا همه بسته‌ها ( current=false ) بازیابی شوند. تمام طرح های نرخ در یک بسته فعال موجود در نظر گرفته می شود. current=false
allAvailable پرچمی که مشخص می‌کند همه بسته‌های محصول API موجود ( allAvailable=true ) یا فقط بسته‌های محصول API که به‌طور خاص برای توسعه‌دهنده یا شرکت در دسترس هستند ( allAvailable=false ) را مشخص می‌کند. همه موجود به بسته‌های محصول API اشاره دارد که علاوه بر توسعه‌دهندگان یا شرکت‌های دیگر در اختیار توسعه‌دهنده یا شرکت مشخص‌شده است. بسته‌های محصول API که به‌طور خاص برای یک شرکت یا توسعه‌دهنده در دسترس هستند، فقط شامل برنامه‌های نرخ هستند که منحصراً در اختیار آن شرکت یا توسعه‌دهنده است. allAvailable=true

برای مثال، درخواست زیر همه بسته‌های محصول API پذیرفته شده توسط یک توسعه‌دهنده خاص را بازیابی می‌کند:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/dev1@myorg.com/monetization-packages" \
-u email:password

درخواست زیر فقط بسته های API فعال پذیرفته شده توسط یک شرکت خاص را بازیابی می کند:

$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/companies/myCompany/monetization-packages?current=true" \
-u email:password

حذف یک بسته محصول API با استفاده از API

فقط در صورتی می‌توانید یک بسته محصول API را حذف کنید که هیچ برنامه نرخی تعریف نشده باشد.

برای حذف یک بسته محصول API که هیچ طرح نرخی تعریف نشده است، یک درخواست DELETE برای organizations/ {org_name} /monetization-packages/ {package_id} ، جایی که {org_name} نام سازمان شما را مشخص می‌کند و {package_id} نام بسته محصول API.

به عنوان مثال:

$ curl -H "Accept:application/json" -X DELETE \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/{package_id}" \
-u email:password

ویژگی های پیکربندی بسته محصول API برای API

گزینه های پیکربندی بسته محصول API زیر در معرض API قرار می گیرند:

نام توضیحات پیش فرض مورد نیاز؟
description

شرح بسته محصول API.

N/A بله
displayName

نامی که باید برای بسته محصول API نمایش داده شود (به عنوان مثال، در کاتالوگ بسته های API).

N/A بله
name

نام بسته محصول API.

N/A بله
organization

سازمانی که حاوی بسته محصول API است.

N/A خیر
product

آرایه ای از یک یا چند محصول در بسته محصول API.

N/A خیر
status

یک نشانگر وضعیت برای بسته محصول API. نشانگر وضعیت می تواند یکی از مقادیر زیر را داشته باشد: CREATED، ACTIVE، INACTIVE.

N/A بله