Özel özelliklerle ücret planını yapılandırma

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

Giriş

Bazı durumlarda, işlem sayaçlarının bir değişkene veya özel değere dayalı olması gerekebilir. Örneğin, şunları yapmanız gerekebilir:

  • Geliştiricilerden, bir API çağrısının mesajında sağlanan değere göre değişken bir tutar alın. Örneğin, uygulama geliştiricilerden API isteğinde iletilen bayt sayısına göre ücret almak isteyebilirsiniz.
  • Birden fazla API çağrısını tek bir işlemde paketleyin.

Özel özelliklere sahip fiyat planlarını kullanarak bir API çağrısının mesajında sayaç görevi gören ve işlem sayılarını ve ücretleri hesaplamak için kullanılan bir değeri belirleyebilirsiniz.

Özel özelliklere sahip aşağıdaki fiyat planları desteklenir:

  • Özel özellik içeren ücret listesi
  • Özel özellik içeren ayarlanabilir bildirim

Fiyat planı başına en fazla on özel özellik belirleyebilirsiniz.

Özel özellik hesaplamalarını anlama

Özel özellik değerinin, aşağıdaki tabloda özetlendiği gibi, ücretlendirme modeline bağlı olarak fiyat planı işlem sayılarına ve ücretlere nasıl dahil edildiği açıklanmaktadır.

Şarj modeli Özel özellik hesaplaması
Sabit ücret ve hacim aralığına göre ücretlendirme

custom attribute number * rate = charge to developer

Sabit ücret için özel özellik sayısı, ücretle çarpılan işlem sayısı olur. Hacim aralığı için bir aralıktaki işlem sayısı, özel özellik numarası kadar artırılır ve geliştiriciden bu işlem sayısı için ücret alınır. Örneğin, iletideki özel özellik değeri 10 ise geliştiriciden 10 işlem için ücret alınır ve mevcut bant sayısına 10 işlem eklenir. Geliştiricinin mevcut bantta yalnızca 6 işlemi kaldıysa 6, bu banttaki oranla çarpılır. Kalan 4, bir sonraki banda girer ve bu bandın oranıyla çarpılır.

Hacim bantlı bir planda, son hacim bandının bir sınırı varsa ("sınırsız" değilse) ve bir işlem bu sınırı aşarsa iki şey olur:

Paketler

Paketler işlem bazında değil, grup bazında ücretlendirildiğinden aşağıdaki hesaplama yapılır:

custom attribute number = amount added to bundle count

Örneğin, iletideki özel özellik numarası 10 ise pakette kullanılan işlem sayısına 10 eklenir. Geliştiricinin mevcut pakette yalnızca 6 işlemi kalmışsa bu paket doldurulur ve sonraki paket sayısı 4 artırılır. Varsa bir sonraki paketin ücreti alınır.

Son paketin bir limiti varsa ("sınırsız" değilse) ve bir işlem bu limiti aşarsa iki şey olur:

Ayarlanabilir bildirimler

Ayarlanabilir bildirim için aşağıdaki hesaplama yapılır:

custom attribute number = amount added to transaction count

Örneğin, iletideki özel özellik numarası 10 ise toplam işlem sayısına 10 eklenir.

Fiyat planının özel özellik değerini aldığı yer

İşlem Kaydı Politikası (API ürün paketinde), para kazanma özelliğine özel özellik değeri için mesajda nereye bakması gerektiğini söyler. Özel özelliği, API ürün paketi için işlem kaydı politikasının Özel Özellikler bölümünde tanımlarsınız.

Ardından, özel özellik tanımlanmış işlem kaydı politikasını içeren bir API ürün paketi oluşturduktan sonra bu özel özelliği fiyat planında seçebilirsiniz.

Genel akış şu şekildedir:

  1. API ürünü eklerken özel özellikleri tanımlayın.
  2. Ürünü içeren bir API ürün paketi oluşturun.
    API ürün paketi için işlem kaydı politikasına, fiyat planlarını tanımlamak üzere kullanılacak özel özellikleri ekleyin.
  3. API ürün paketi için ücret tablosu veya ayarlanabilir bildirim türünde bir ücret planı oluşturun ve özel derecelendirme parametresi belirtin.

Aşağıdaki şekilde, işlem kayıt politikasında tanımlanan özel özellik ile fiyat listesi planı yapılandırması arasındaki ilişki gösterilmektedir. Özel özellik ücret planı ilişkisine sahip ayarlanabilir bildirim de benzerdir ancak hacim aralığına göre belirlenen değer geçerli değildir.

Mesajda özel özellik değeri oluşturma

İşlem kaydı politikası, özel özellik değerini yanıt başlığı, yanıt gövdesi veya yanıttaki önceden tanımlanmış akış değişkenleri gibi çeşitli yerlerde arayabilir. (Başarılı bir yanıt alana kadar işlemler resmi olarak kabul edilmediğinden istek kullanılamaz.) Aşağıda, sayısal değeriyle birlikte mesaja nasıl yanıt başlığı ekleyeceğinizi gösteren örnekler verilmiştir. Her iki durumda da değişkenlerle birlikte Assign Message politikasını kullanırız.

Yanıt başlığına istek yükü boyutu ekleme

Her mesaj isteğinde, istek yükündeki bayt sayısını içeren bir client.received.content.length değişkeni bulunur. Proxy uç noktası yanıtına bir Assign Message politikası ekleyerek, uzunluk değerini içeren messageSize adlı bir yanıt başlığı oluşturabiliriz:

<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1">
    <DisplayName>Assign Message 1</DisplayName>
    <Set>
        <Headers>
          <Header name="messageSize">{client.received.content.length}</Header> 
        </Headers>  
    </Set>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>

Üstbilgiye uygulama özel özellik değeri ekleme

Benzer şekilde, bir uygulamadaki özel özelliğin değeriyle bir başlık oluşturabiliriz. Örneğin, her geliştirici uygulamasında apprating adlı bir özel özellik eklerseniz:

Para kazanma için gerekli olan API anahtarını doğrulama politikası kullanılırken bu değer verifyapikey.{policy_name}.apprating adlı bir değişkende saklanır. Proxy uç noktası yanıtına eklenen Assign Message politikasını kullanarak, uygulamanın apprating değerini içeren apprating adlı bir başlık oluşturabilirsiniz:

<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Message-1">
    <DisplayName>Assign Message 1</DisplayName>
    <Set>
        <Headers>
          <Header name="apprating">{verifyapikey.Verify-API-Key-1.apprating}</Header> 
        </Headers>  
    </Set>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>

Fiyat planını ayarlama

Yukarıda açıklanan özel özellik kurulumu dışında, fiyat planı normalde olduğu gibi (özel özellik içermeyen fiyat planları için) aynı şekilde ayarlanır ancak aşağıdaki koşullara uyması gerekir.

Kullanıcı arayüzünü kullanarak özel özellikli ücret listesi planını yapılandırma

Aşağıdaki bölümlerde açıklandığı gibi, Edge kullanıcı arayüzünü veya Classic Edge kullanıcı arayüzünü kullanarak özel özelliklere sahip fiyat listesi planları yapılandırın.

Edge

Edge kullanıcı arayüzünü kullanarak özel özelliklere sahip bir fiyat listesi planı yapılandırmak için:

  1. API ürünü eklerken özel özellikleri tanımlayın.
  2. Ürünü içeren bir API ürün paketi oluşturun. API ürün paketleri oluşturma başlıklı makaleyi inceleyin.
    API ürün paketi için işlem kaydı politikasına, fiyat planlarını tanımlamak üzere kullanılacak özel özellikleri ekleyin. Ayrıntılar için bu konudaki girişin yanı sıra İşlem kaydı politikası oluşturma başlıklı makaleyi inceleyin.
  3. API ürün paketi için ücret planı oluşturun ve özel derecelendirme parametresi belirtin.

Daha fazla bilgi için Kullanıcı arayüzünü kullanarak fiyat listesi planı ayrıntılarını yapılandırma başlıklı makaleyi inceleyin.

Classic Edge (Private Cloud)

Klasik Edge kullanıcı arayüzünü kullanarak özel özellik planı içeren bir ücret tablosu oluşturmak için aşağıdaki adımları uygulayın:

  1. Bir API ürününün işlem kaydı politikasına, fiyat planlarını tanımlamak için kullanılacak özel özellikleri ekleyin. Ayrıntılar için bu konudaki girişin yanı sıra İşlem kaydı politikası oluşturma başlıklı makaleyi inceleyin. API paketine eklemek istediğiniz her API ürünü için bu işlemi yapın.
  2. API ürünleri ve işlem kaydı politikaları tam olarak istediğiniz şekilde yapılandırıldıktan sonra ürünü içeren bir API paketi oluşturun. API paketleri oluşturma başlıklı makaleyi inceleyin.
  3. API paketi için Özel Özellikli Fiyat Listesi ücret planı türünü seçerek bir ücret planı oluşturun.
  4. Fiyat Listesi bağlantısını tıklayın. Bu işlem, Fiyat Listesi penceresini açar.

  5. Özel özellik açılır menüsünde bir özel özellik seçin. Menüde, işlem kaydı politikasında ürün için oluşturulan özel özellikler listelenir. Geliştiriciden, her işlemde seçilen özel özelliğin değerine göre ücret alınır.
    (Özellik değeri * oran = geliştiriciden alınan ücret)
  6. İsteğe bağlı olarak, Ücret tarifesi planı ayrıntılarını belirtme bölümünde açıklandığı gibi bir freemium planı ayarlayın.
  7. Ücret tarifesi planı ayrıntılarını belirtme bölümünde açıklandığı şekilde bir ücretlendirme modeli ayarlayın. Ancak, özel özellikli fiyat listesi fiyat planı türünde, ücretlendirme modelinin seçtiğiniz özel özelliğe dayandığını unutmayın. Örneğin, ödeme modeli olarak Sabit Ücret'i seçerseniz geliştiriciden her işlemde iletilen bayt sayısı gibi özel özelliğe göre sabit bir ücret alınır (her işlem için sabit bir ücret alınmaz). Daha fazla bilgi için Hesaplamalar bölümünü inceleyin.
  8. Taslağı kaydet'i tıklayın.
    Planı yalnızca kesinleştiğinden emin olduğunuzda yayınlayın. Yayın tarihi ayarlama ve planı yayınlama hakkında bilgi için Yayınlama ücret planları başlıklı makaleyi inceleyin.

Daha fazla bilgi için Kullanıcı arayüzünü kullanarak fiyat listesi planı ayrıntılarını belirtme başlıklı makaleyi inceleyin.

Kullanıcı arayüzünü kullanarak özel özelliklerle ayarlanabilir bir bildirim planı yapılandırma

Aşağıda açıklandığı gibi, özel özelliklerle ayarlanabilir bildirim planları yapılandırın.

Edge

Edge kullanıcı arayüzünü kullanarak özel özelliklere sahip bir fiyat listesi planı yapılandırmak için:

  1. API ürünü eklerken özel özellikleri tanımlayın.
  2. Ürünü içeren bir API ürün paketi oluşturun. API ürün paketleri oluşturma başlıklı makaleyi inceleyin.
    API ürün paketi için işlem kaydı politikasına, fiyat planlarını tanımlamak üzere kullanılacak özel özellikleri ekleyin. Ayrıntılar için bu konudaki girişin yanı sıra İşlem kaydı politikası oluşturma başlıklı makaleyi inceleyin.
  3. API ürün paketi için ücret planı oluşturun ve özel derecelendirme parametresi belirtin.

Daha fazla bilgi için Kullanıcı arayüzünü kullanarak ayarlanabilir bildirim planı yapılandırma başlıklı makaleyi inceleyin.

Classic Edge (Private Cloud)

Klasik Edge kullanıcı arayüzünü kullanarak özel özelliklere sahip bir fiyat listesi planı yapılandırmak için:

  1. Bir API ürününün işlem kaydı politikasına, fiyat planlarını tanımlamak için kullanılacak özel özellikleri ekleyin. Ayrıntılar için bu konudaki girişin yanı sıra İşlem kaydı politikası oluşturma başlıklı makaleyi inceleyin. API paketine eklemek istediğiniz her API ürünü için bu işlemi yapın.
  2. API ürünleri ve işlem kaydı politikaları tam olarak istediğiniz şekilde yapılandırıldıktan sonra ürünü içeren bir API paketi oluşturun. API paketleri oluşturma başlıklı makaleyi inceleyin.
  3. Özel Özellikli Ayarlanabilir Bildirim ücret planı türünü seçerek API paketi için bir ücret planı oluşturun.
  4. Ayrıntılar bağlantısını tıklayın. Bu işlem, Ayarlanabilir Bildirim penceresini açar.

  5. Özel Özellik açılır menüsünde bir özel özellik seçin. Menüde, işlem kaydı politikasında ürün için oluşturulan özel özellikler listelenir. Geliştiricinin toplam işlem sayısı, her işlemde seçilen özel özelliğin değerine göre hesaplanır.
  6. Toplama Temeli'ni, işlem hacminin toplandığı süre olarak ayarlayın. 1 ile 24 ay arasında bir sayı seçin. Bu değer varsayılan olarak 1 ay olur.
  7. Uygula ve Kapat'ı tıklayın.
  8. Taslağı kaydet'i tıklayın.
    Planı yalnızca kesinleştiğinden emin olduğunuzda yayınlayın. Yayın tarihi ayarlama ve planı yayınlama hakkında bilgi için Yayınlama ücret planları başlıklı makaleyi inceleyin.

Daha fazla bilgi için Kullanıcı arayüzünü kullanarak ayarlanabilir bildirim planı ayrıntılarını belirtme başlıklı makaleyi inceleyin.

API'yi kullanarak özel özelliklere sahip bir ücret planının ayrıntılarını belirtme

Aşağıdaki ön koşul adımlarını uygulayın:

  1. Bir API ürününün işlem kaydı politikasına, fiyat planlarını tanımlamak için kullanılacak özel özellikleri ekleyin. Ayrıntılar için bu konudaki girişin yanı sıra İşlem kaydı politikası oluşturma başlıklı makaleyi inceleyin. API paketine eklemek istediğiniz her API ürünü için bu işlemi yapın.
  2. API ürünleri ve işlem kaydı politikaları tam olarak istediğiniz şekilde yapılandırıldıktan sonra ürünü içeren bir API paketi oluşturun. API paketleri oluşturma başlıklı makaleyi inceleyin.

Ardından, ücret planını oluşturmak için API'yi kullanırsınız.

Ücret planını oluştururken özel özelliklere sahip bir ücret planının ayrıntılarını belirtirsiniz. Ayrıntıları, /organizations/{org_name}/monetization-packages/{package_id}/rate-plans çağrısında istek gövdesindeki ratePlanDetails özelliğinde belirtirsiniz. Ayrıntılarda, özel özelliğin adını tanımlayan bir derecelendirme parametresi değeri belirtirsiniz. Ayrıca, özel özelliği belirli bir zaman aralığında toplayan bir derecelendirme parametresi değeri de belirtebilirsiniz.

Ücret planı ayrıntısı seçeneklerinin tam listesi için Ücret planı ayrıntıları yapılandırma ayarları başlıklı makaleyi inceleyin.

Örneğin, aşağıdakiler messageSize adlı özel bir özelliğe dayalı özel özellik planı içeren bir fiyat listesi oluşturur (kalın olarak belirtilen öğelere bakın).

$ curl -H "Content-Type:application/json" -X POST -d \
'{
   "name": "Custom attribute-based rate card plan",
   "developer":null,
   "developerCategory":null,
   "currency": {
     "id" : "usd"
     },     
   "description": "Custom attribute-based rate card plan",
   "displayName" : "Custom attribute-based rate card plan",
   "frequencyDuration": "1",
   "frequencyDurationType": "MONTH",
   "earlyTerminationFee": "10",
   "monetizationPackage": {
      "id": "location"
        },
      "organization": {
       "id": "{org_name}"
      },    
   "paymentDueDays": "30",
   "prorate": "false",
   "published": "false",     
   "ratePlanDetails":[
      {
        "currency":{
           "id":"usd"
        },
      "duration":1,
      "durationType":"MONTH",
      "meteringType":"VOLUME",
      "paymentDueDays":"30",
      "ratingParameter":"messageSize",
      "ratingParameterUnit":"MB",
      "organization":{
         "id":"{org_name}"
      },
      "ratePlanRates":[
         {
           "rate":0.15,
           "startUnit":0,
           "type":"RATECARD",
           "endUnit":1000
         },
         {
           "rate":0.1,
           "startUnit":1000,
           "type":"RATECARD",
           "endUnit":null
         }
      ],
      "freemiumUnit":0,
      "freemiumDuration":0,
      "freemiumDurationType":"MONTH",
      "type":"RATECARD",
      "customPaymentTerm":false
      }
    ],
    "freemiumUnit":0,
    "freemiumDuration":0,
    "freemiumDurationType":"MONTH",
    "contractDuration":"1",
    "contractDurationType":"YEAR", 
    "recurringStartUnit": 1,
    "recurringType": "CALENDAR",
    "recurringFee": "10",
    "setUpFee": "10",
    "startDate": "2013-09-15 00:00:00",
    "type": "STANDARD"
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/location/rate-plans" \
-u email:password

Aşağıdaki örnekte, messageSize adlı özel özelliğe dayalı özel özellikli esnek bildirimli fiyat planı oluşturulmaktadır (kalın olarak belirtilen öğeye bakın).

$ curl -H "Content-Type:application/json" -X POST -d \
'{
     "name": "AdjustableNotification",
     "displayName": "Custom attribute-based adjustable notification plan",
     "description": "Custom attribute-based adjustable notification plan",
     "published": "true",  
     "organization": {
      "id": "myorg"
     },
     "startDate": "2016-04-15 00:00:00",
     "type": "STANDARD",
     "monetizationPackage": {
        "id": "p1",
        "name": "test"
     },
     "currency": {
        "id" : "usd",
        "name" : "USD"
     },
     "ratePlanDetails": [
        {
           "type": "USAGE_TARGET",
           "meteringType": "DEV_SPECIFIC",
           "duration": 1,
           "durationType": "MONTH",
           "ratingParameter": "messageSize",
           "ratingParameterUnit": "MB",
           "organization": {
             "id": "myorg"
           },
           "currency": {
             "id": "usd",
             "name": "USD"
           }
        }
     ]
}' \
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/monetization-packages/p1/rate-plans"  \
-u email:password