API ürün paketlerini yönetme

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Aşağıdaki bölümlerde açıklandığı gibi, bir veya daha fazla API ürününü API ürün paketi olarak adlandırılan tek bir para kazanma kapsayıcısında paketleyin.

API ürün paketi nedir?

API ürün paketi, geliştiricilere grup olarak sunulan ve genellikle para kazanma için bir veya daha fazla ücret planıyla ilişkilendirilen API ürünleri koleksiyonudur. Birden fazla API ürün paketi oluşturabilir ve her birine bir veya daha fazla API ürünü ekleyebilirsiniz. Aynı API ürününü veya ürünlerini farklı paketlere yerleştirebilir ve bunları farklı (veya aynı) ücret planlarıyla ilişkilendirebilirsiniz.

Geliştiriciler, uygulamalarını bir API ürün paketini kullanacak şekilde yalnızca şu anda geçerli olan ücret planlarından birini satın alarak kaydedebilir. Bir API ürün paketi, Fiyat planlarını yönetme bölümünde açıklandığı gibi ürün paketi için bir fiyat planı ekleyip yayınlayana (herkese açık olarak) kadar geliştiricilere görünmez. Fiyat planı, geçerli tarih veya gelecekteki bir tarihle başlayacak şekilde ayarlanmalıdır. Bir fiyat planı ekleyip yayınladıktan sonra geliştirici portalınıza giriş yapan geliştiriciler API ürün paketini seçip fiyat planını belirleyebilir. Alternatif olarak, yönetim API'sini kullanarak bir geliştirici için ücret planını kabul edebilirsiniz. Daha fazla bilgi için API kullanarak yayınlanmış fiyat planları satın alma başlıklı makaleyi inceleyin.

API ürün paketine API ürünü ekledikten sonra API ürünü için fiyat noktaları ayarlamanız gerekebilir. Bunu yalnızca aşağıdaki koşulların tamamı geçerliyse yapmanız gerekir:

  • API ürünü için gelir paylaşımı ücret planı ayarlarsınız.
  • Geliştiriciler, API ürünündeki kaynakların kullanımı için üçüncü taraflardan ücret alır.
  • Geliştiricilerin alabileceği tutarla ilgili minimum veya maksimum kısıtlama var ve geliştiricileri bu kısıtlama hakkında bilgilendirmek istiyorsunuz.

Minimum ve maksimum fiyatlar, API ürün paketinin ayrıntılarında gösterilir.

Ürün paketleri sayfasını keşfetme

Aşağıda açıklandığı şekilde Ürün Paketleri sayfasına erişin.

Edge

Edge kullanıcı arayüzünü kullanarak API ürün paketleri sayfasına erişmek için soldaki gezinme çubuğunda Yayınla > Para kazanma > Ürün Paketleri'ni seçin.

Önceki şekilde vurgulandığı gibi, Ürün Paketleri sayfası şunları yapmanıza olanak tanır:

  • Paket adı ve içerdiği API ürünlerinin listesi dahil olmak üzere tüm ürün paketleriyle ilgili özet bilgileri görüntüleme
  • Ürün paketi ekleme
  • Ürün paketini düzenleme
  • Görünen herhangi bir alanda ürün paketleri listesinde arama yapın.

Yalnızca API'yi kullanarak ürün paketindeki API ürünlerini yönetebilir veya ürün paketini silebilirsiniz (ücret planı tanımlanmamışsa).

Classic Edge (Private Cloud)

Klasik Edge kullanıcı arayüzünü kullanarak API paketleri sayfasına erişmek için üst gezinme çubuğunda Yayınla > Paketler'i seçin.

API Paketleri sayfası şunları yapmanıza olanak tanır:

  • İçerdiği API ürünleri ve ilişkili ücret planları da dahil olmak üzere tüm API paketlerinin özet bilgilerini görüntüleme
  • API paketi ekleme
  • API paketini düzenleme
  • Ücret planları ekleme ve yönetme
  • Ücret planı erişimi ayarını (herkese açık/gizli) değiştirin.
  • Paket listesini filtreleme

Yalnızca API'yi kullanarak API paketindeki API ürünlerini yönetebilir veya API paketini silebilirsiniz (ücret planı tanımlanmamışsa).

Ürün paketi ekleme

API ürün paketi eklemek için:

  1. Ürün Paketleri sayfasında + API Ürün Paketi'ni tıklayın.
  2. API ürün paketi için bir ad girin.
  3. Ürün ekle alanına bir API ürününün adını girin.

    Bir API ürününün adını yazarken, dizeyi içeren API ürünlerinin listesi açılır listede gösterilir. Pakete eklemek istediğiniz API ürününün adını tıklayın. Başka API ürünleri eklemek için bu işlemi tekrarlayın.

  4. Başka API ürünü adları eklemek için 3. adımı tekrarlayın.
  5. Eklediğiniz her API ürünü için işlem kaydı politikasını yapılandırın.
  6. Ürün Paketini Kaydet'i tıklayın.

Ürün paketi düzenleme

Ürün paketi düzenlemek için:

  1. Ürün paketleri sayfasında, düzenlemek istediğiniz ürün paketinin satırını tıklayın.

    Ürün paketi paneli gösterilir.

  2. Gerekirse ürün paketi alanlarını düzenleyin.

    Daha fazla bilgi için işlem kaydı politikasını yapılandırma başlıklı makaleyi inceleyin.

  3. Ürün paketini güncelle'yi tıklayın.

API'yi kullanarak API ürün paketlerini yönetme

Aşağıdaki bölümlerde, API ürün paketlerinin API kullanılarak nasıl yönetileceği açıklanmaktadır.

API'yi kullanarak API ürünü paketi oluşturma

API ürün paketi oluşturmak için /organizations/{org_name}/monetization-packages adresine bir POST isteği gönderin. Talebi gönderirken şunları yapmanız gerekir:

  • API ürün paketine dahil edilecek API ürünlerini belirleyin.
  • API ürün paketi için bir ad ve açıklama belirtin.
  • API ürün paketi için bir durum göstergesi ayarlayın. Durum göstergesi aşağıdaki değerlerden birine sahip olabilir: CREATED, ACTIVE, INACTIVE. Şu anda, belirttiğiniz durum göstergesi değeri API ürün paketinde korunur ancak herhangi bir amaçla kullanılmaz.

İsteğe bağlı olarak kuruluşu belirtebilirsiniz.

API'ye sunulan seçeneklerin listesi için API ürün paketi yapılandırma özellikleri konusuna bakın.

Örneğin:

$ 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

Aşağıda, yanıta dair bir örnek verilmiştir:

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

Yanıtın, API ürünleri ve bu API ürünleri için belirtilen özel özellikler hakkında ek bilgiler içerdiğini unutmayın. (Özel özellikler, API ürünü oluştururken belirtilir.) Bir API ürünü için özel özellikler çeşitli ücret planlarına dahil edilebilir. Örneğin, geliştiriciden her işlem için ücret aldığınız bir ücret tarifesi planı oluşturursanız planın ücretini, bir işlemde iletilen bayt sayısı gibi özel bir özelliğe göre belirleyebilirsiniz.

API'yi kullanarak API ürün paketindeki API ürünlerini yönetme

Aşağıdaki bölümlerde açıklandığı gibi, API'yi kullanarak bir API ürün paketine API ürünü ekleyebilir veya API ürün paketinden API ürünü silebilirsiniz.

API ürün paketine API ürünü ekleme

Bir API ürününü API ürün paketine eklemek için organizations/{org_name}/monetization-packages/{package_id}/products/{product_id} adresine bir POST isteği gönderin. Burada {org_name} kuruluşunuzun adını, {package_id} API ürün paketi adını ve {product_id} API ürününün kimliğini belirtir.

Örneğin:

$ 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 ürününe özel ücret planları içeren bir API ürünü paketine API ürünü ekleme

Bir veya daha fazla API ürününe özel fiyat planı (fiyat listesi veya gelir paylaşımı) tanımlanmış bir API ürünü paketine API ürünü eklemek için organizations/{org_name}/monetization-packages/{package_id}/products/{product_id} adresine bir POST isteği gönderin. Burada {org_name} kuruluşunuzun adını, {package_id} API ürünü paketinin adını ve {product_id} API ürününün kimliğini belirtir.

İstek gövdesinde yeni API ürünü için ücret planı ayrıntılarını iletmeniz gerekir. ratePlanRates dizisi hariç, ücret planı değerleri diğer tüm API ürünleri için belirtilen değerlerle eşleşmelidir. Tanımlanabilen fiyat planı özellikleri hakkında daha fazla bilgi için Fiyat planları için yapılandırma özellikleri başlıklı makaleyi inceleyin.

Örneğin:

$ 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 ürün paketinden API ürünü silme

Bir API ürün paketinden API ürünü silmek için organizations/{org_name}/monetization-packages/{package_id}/products/{product_id} adresine bir DELETE isteği gönderin. Burada {org_name} kuruluşunuzun adını, {package_id} API ürün paketi adını ve {product_id} API ürününün kimliğini belirtir.

Örneğin:

$ 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'yi kullanarak API ürün paketlerini görüntüleme

Belirli bir API ürün paketini veya bir kuruluştaki tüm API ürün paketlerini alabilirsiniz. Belirli bir tarih aralığında işlemleri olan API ürün paketlerini de alabilirsiniz. Yani yalnızca kullanıcıların, belirtilen başlangıç ve bitiş tarihi içinde bu paketlerdeki API'lere erişen uygulamaları çağırdığı paketler.

Belirli bir API ürün paketini görüntüleme: Belirli bir API ürün paketini almak için /organizations/{org_name}/monetization-packages/{package_id} adresine bir GET isteği gönderin. Burada {package_id}, API ürün paketinin tanımlayıcısıdır (API ürün paketini oluşturduğunuzda yanıt içinde kimlik döndürülür). Örneğin:

$ 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

Tüm API ürün paketlerini görüntüleme: Bir kuruluşa ait tüm API ürün paketlerini almak için /organizations/{org_name}/monetization-packages adresine bir GET isteği gönderin. Örneğin:

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

Sonuçları filtrelemek için aşağıdaki sorgu parametrelerini iletebilirsiniz:

Sorgu Parametresi Açıklama
all Tüm API ürün paketlerinin döndürülüp döndürülmeyeceğini belirten işaret. false olarak ayarlanırsa sayfa başına döndürülen API ürün paketlerinin sayısı size sorgu parametresiyle tanımlanır. Varsayılan olarak false değerine ayarlanır.
size Sayfa başına döndürülen API ürün paketlerinin sayısı. Varsayılan değer 20'dir. all sorgu parametresi true olarak ayarlanırsa bu parametre yoksayılır.
page Dönmek istediğiniz sayfanın numarası (içerik sayfalandırılmışsa). all sorgu parametresi true olarak ayarlanırsa bu parametre yoksayılır.

Bir kuruluştaki tüm API ürün paketlerini görüntüleme yanıtı aşağıdaki gibi olmalıdır (yanıtın yalnızca bir kısmı gösterilir):

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

İşlemlerle birlikte API ürün paketlerini görüntüleme: Belirli bir tarih aralığında işlemlere sahip API ürün paketlerini almak için /organizations/{org_name}/packages-with-transactions adresine bir GET isteği gönderin. İsteği gönderirken tarih aralığı için başlangıç ve bitiş tarihini sorgu parametreleri olarak belirtmeniz gerekir. Örneğin, aşağıdaki istek, Ağustos 2013'te işlemleri olan API ürün paketlerini alır.

$ 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

Yanıt aşağıdaki gibi görünmelidir (yanıtın yalnızca bir kısmı gösterilmektedir):

{
  "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'yi kullanan bir geliştirici veya şirket tarafından kabul edilen API ürün paketlerini görüntüleme

Aşağıdaki API'lere sırasıyla bir GET isteği göndererek belirli bir geliştirici veya şirket tarafından kabul edilen API ürün paketlerini görüntüleyin:

  • /organizations/{org_name}/developers/{developer_id}/monetization-packages, burada {developer_id}, geliştiricinin kimliğidir (e-posta adresi).
  • /organizations/{org_name}/companies/{company_id}/monetization-packages, burada {company_id}, şirketin kimliğidir.

İsteği gönderirken aşağıdaki sorgu parametrelerini isteğe bağlı olarak belirtebilirsiniz:

Sorgu Parametresi Açıklama Varsayılan
current Yalnızca etkin API ürün paketlerinin (current=true) mi yoksa tüm paketlerin (current=false) mi alınacağını belirten işaret. Etkin bir paketteki tüm ücret planları kullanılabilir olarak kabul edilir. current=false
allAvailable Kullanılabilir tüm API ürün paketlerinin (allAvailable=true) mi yoksa yalnızca geliştiriciye veya şirkete özel olarak sunulan API ürün paketlerinin (allAvailable=false) mi alınacağını belirten işaret. Kullanılabilir tüm, diğer geliştiricilere veya şirketlere ek olarak belirtilen geliştiriciye ya da şirkete sunulan API ürün paketlerini ifade eder. Yalnızca belirli bir şirket veya geliştiriciye sunulan API ürünü paketleri, yalnızca söz konusu şirket veya geliştiriciye sunulan ücret planlarını içerir. allAvailable=true

Örneğin, aşağıdaki istek belirli bir geliştirici tarafından kabul edilen tüm API ürün paketlerini alır:

$ 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

Aşağıdaki istek, yalnızca belirli bir şirket tarafından kabul edilen etkin API paketlerini alır:

$ 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 kullanarak API ürün paketi silme

API ürün paketlerini yalnızca tanımlanmış bir ücret planı yoksa silebilirsiniz.

Hız planı tanımlanmamış bir API ürün paketini silmek için organizations/{org_name}/monetization-packages/{package_id} adresine bir DELETE isteği gönderin. Burada {org_name}, kuruluşunuzun adını, {package_id} ise API ürün paketinin adını belirtir.

Örneğin:

$ 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 için API ürün paketi yapılandırma özellikleri

Aşağıdaki API ürünü paketi yapılandırma seçenekleri API'ye sunulur:

Ad Açıklama Varsayılan Zorunlu mu?
description

API ürün paketinin açıklaması.

Yok Evet
displayName

API ürün paketi için görüntülenecek ad (örneğin, API paketleri kataloğunda).

Yok Evet
name

API ürün paketinin adı.

Yok Evet
organization

API ürün paketini içeren kuruluş.

Yok Hayır
product

API ürün paketindeki bir veya daha fazla üründen oluşan bir dizi.

Yok Hayır
status

API ürün paketi için bir durum göstergesi. Durum göstergesi aşağıdaki değerlerden birine sahip olabilir: CREATED, ACTIVE, INACTIVE.

Yok Evet