API ürün paketlerini yönetme

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

Bir veya daha fazla API ürününü aşağıdaki bölümlerde açıklandığı gibi, API ürün paketi olarak adlandırılan tek bir para kazanılan kapsayıcıda paket haline getirin.

API ürün paketi nedir?

API ürün paketi, geliştiricilere grup halinde sunulan ve genellikle para kazanma için bir veya daha fazla ücret planıyla ilişkilendirilen API ürünlerinden oluşan bir koleksiyondur. 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 yalnızca şu anda geçerli olan ücret planlarından birini satın alarak uygulamalarını bir API ürün paketi kullanacak şekilde kaydedebilir. Ücret planlarını yönetme bölümünde açıklandığı gibi, ürün paketi için bir ücret planı (herkese açık olarak) ekleyip yayınlamadığınız sürece API ürün paketi geliştiriciler tarafından görülmez. Ücret planı ekleyip yayınladıktan sonra, geliştirici portalınıza giriş yapan geliştiriciler API ürün paketini seçebilir ve ücret planını seçebilir. Alternatif olarak, Management API'yi kullanarak geliştirici için ücret planını kabul edebilirsiniz. Daha fazla bilgi için API'yi kullanarak yayınlanan ücret planları başlıklı makaleyi inceleyin.

Bir API ürün paketine API ürünü ekledikten sonra API ürünü için fiyat noktaları ayarlamanız gerekebilir. Bunu yalnızca aşağıdakilerin tümü geçerliyse yapmanız gerekir:

  • API ürünü için bir gelir paylaşımı ücret planı belirlersiniz.
  • Geliştiriciler API ürününde kaynakların kullanımı için üçüncü taraflardan ücret alır.
  • Geliştiricilerin alabileceği miktarla ilgili minimum veya maksimum kısıtlama vardır ve geliştiricileri kısıtlama hakkında bilgilendirmek istersiniz.

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 sol gezinme çubuğunda Yayınla > Para Kazanma > Ürün Paketleri'ni seçin.

Önceki şekilde vurgulandığı gibi, Ürün Paketleri sayfasında aşağıdakileri yapabilirsiniz:

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

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

Klasik 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ında şunları yapabilirsiniz:

  • İçerdiği API ürünleri ve ilişkili ücret planları dahil olmak üzere tüm API paketleriyle ilgili özet bilgileri görüntüleme
  • API paketi ekleyin
  • API paketini düzenleme
  • Ücret planları ekleme ve yönetme
  • Ücret planı erişim ayarını (herkese açık/gizli) açın/kapatın
  • Paket listesini filtreleme

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

Ürün paketi ekleme

Bir 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 bir açılır listede görüntülenir. 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 kayıt politikasını yapılandırın.
  6. Ürün Paketini Kaydet'i tıklayın.

Ürün paketini düzenleme

Bir ürün paketini düzenlemek için:

  1. Ürün Paketleri sayfasında düzenlemek istediğiniz ürün paketi satırını tıklayın.

    Ürün paketi paneli gösteriliyor.

  2. Ürün paketi alanlarını gerektiği gibi düzenleyin.

    Daha fazla bilgi için İşlem kaydetme politikasını yapılandırma bölümüne bakın.

  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'yi kullanarak API ürün paketlerinin 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 POST isteği gönderin. İsteği gönderdiğinizde:

  • API ürün paketine dahil edilecek API ürünlerini tanımlayın.
  • 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östergesinde şu değerlerden biri olabilir: OLUŞTURULDU, ETKİN, ETKİN DEĞİL. Belirttiğiniz durum göstergesi değeri şu anda API ürün paketinde saklanmaktadır ancak herhangi bir amaçla kullanılmaz.

İsterseniz kuruluşu belirtebilirsiniz.

API'de kullanıma sunulan seçeneklerin listesi için API ürün paketi yapılandırma özelliklerine 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ıtla ilgili bir örnek yer almaktadır:

{
   "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 hakkında ek bilgiler ve bu API ürünleri için belirtilen özel özellikler içerdiğine dikkat edin. (Özel özellikler, bir API ürünü oluşturduğunuzda belirtilir.) Bir API ürününün özel özellikleri, çeşitli ücret planlarında hesaba katılabilir. Örneğin, her işlem için geliştiriciden ödeme aldığınız bir ücret listesi planı oluşturursanız planın ücretini bir işlemde iletilen bayt sayısı gibi özel bir özelliğe göre ayarlayabilirsiniz.

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

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

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

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 paketi adını ve {product_id} politikası, 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ı ile API ürün paketine bir API ürünü ekleme

Bir veya daha fazla API ürününe özel ücret planı (ücret 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 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.

Yeni API ürünü için ücret planı ayrıntılarını istek gövdesinde 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 ücret planı özellikleri hakkında daha fazla bilgi edinmek için Ücret planları için yapılandırma özellikleri bölümüne bakın.

Ö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 bir API ürününü silme

API ürün paketinden bir API ürününü silmek için organizations/{org_name}/monetization-packages/{package_id}/products/{product_id} öğesine 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

Kuruluştaki belirli bir API ürün paketini veya 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 belirli bir başlangıç ve bitiş tarihi içinde bu paketlerdeki API'lere erişen uygulamaları çağırdığı paketleri de alabilirsiniz.

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 kimliğidir (Kimlik, API ürün paketini oluşturduğunuzda yanıtta 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şun tüm API ürün paketlerini almak için /organizations/{org_name}/monetization-packages adresine 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 aktarabilirsiniz:

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 parametresi tarafından tanımlanır. Varsayılan olarak false (yanlış) 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 yok sayılır.
page Döndürmek istediğiniz sayfanın sayısı (içerik sayfalara ayrılmışsa). all sorgu parametresi true olarak ayarlanırsa bu parametre yok sayılır.

Bir kuruluştaki tüm API ürün paketlerini görüntüleme yanıtı aşağıdaki gibi görünmelidir (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
}

İşlem içeren API ürün paketlerini görüntüleme: Belirli bir tarih aralığındaki işlemlere sahip API ürün paketlerini almak için /organizations/{org_name}/packages-with-transactions adresine GET isteği gönderin. İsteği gönderdiğinizde, sorgu parametreleri olarak tarih aralığı için bir başlangıç tarihi ve bitiş tarihi belirtmeniz gerekir. Örneğin, aşağıdaki istek 2013 Ağustos ayı boyunca gerçekleştirilen işlemlerle 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österilir):

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

Sırasıyla, aşağıdaki API'lere 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 adresidir).
  • /organizations/{org_name}/companies/{company_id}/monetization-packages; burada {company_id}, şirketin kimliğidir.

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

Sorgu Parametresi Açıklama Varsayılan
current Yalnızca etkin API ürün paketlerinin mi (current=true) yoksa tüm paketlerin mi (current=false) alınacağını belirten işaret. Etkin bir paketteki tüm ücret planları kullanılabilir olarak kabul edilir. current=false
allAvailable Mevcut tüm API ürün paketlerinin mi (allAvailable=true) yoksa yalnızca geliştirici veya şirkete (allAvailable=false) özel olarak sunulan API ürün paketlerinin mi alınacağını belirten işarettir. Sunulan tüm seçenekler, diğer geliştiriciler veya şirketlerin yanı sıra belirtilen geliştirici veya şirketin kullanımına sunulan API ürün paketlerini ifade eder. Özel olarak bir şirket veya geliştiriciye sunulan API ürün paketleri, yalnızca söz konusu şirket veya geliştiriciye sunulan ücret planları 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'yi kullanarak API ürün paketini silme

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

Tanımlı ücret planı olmayan bir API ürün paketini silmek için organizations/{org_name}/monetization-packages/{package_id} adresine DELETE isteği gönderin. Burada {org_name} kuruluşunuzun adını, {package_id} ise API ürün paketi 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

API, aşağıdaki API ürün paketi yapılandırma seçenekleri için kullanılabilir:

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

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

Yok Evet
displayName

API ürün paketi için gösterilecek ad (ör. 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ün dizisi.

Yok Hayır
status

API ürün paketi için bir durum göstergesi. Durum göstergesinde şu değerlerden biri olabilir: OLUŞTURULDU, ETKİN, ETKİN DEĞİL.

Yok Evet