Ö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, API çağrısı mesajında sağlanan bir değere göre farklı bir ücret alır. Ö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 gruplandırma.

Ücret planlarını özel özelliklerle 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ğer tanımlayabilirsiniz.

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

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

Ücret planı başına en fazla on özel özellik ayarlayabilirsiniz.

Özel özellik hesaplamalarını anlama

Özel özellik değerinin ücret planı işlem sayılarına ve ücretlerine nasıl dahil edildiği, aşağıdaki tabloda özetlendiği üzere ödeme modeline bağlıdır.

Şarj modeli Özel özellik hesaplaması
Sabit Ücret ve Hacim Bantlı

custom attribute number * rate = charge to developer

Sabit Ücret için özel özellik numarası, ücretle çarpılan işlem sayısı haline gelir. Hacim Bantlı için, bir banttaki işlemlerin sayısı özel özellik numarası ile artar ve geliştirici bu işlem sayısı için ücretlendirilir. Örneğin, mesajdaki ö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 geçerli aralıkta yalnızca 6 işlemi kaldıysa 6, bu aralığın ücretiyle çarpılır. Kalan 4 değer bir sonraki gruba gider ve ilgili grubun ücretiyle çarpılır.

Hacim Bantlı planda, son ses bandının 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 tarafından değil, grup tarafından ücretlendirildiği için aşağıdaki hesaplama yapılır:

custom attribute number = amount added to bundle count

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

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

Ayarlanabilir bildirimler

Ayarlanabilir bildirimler için aşağıdaki hesaplama gerçekleşir:

custom attribute number = amount added to transaction count

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

Ücret planının özel özellik değerini aldığı yer

İşlem Kaydetme Politikası (API ürün paketinde), para kazanmaya özel özellik değeri için mesajda nereye bakılacağını bildirir. Özel özelliği, API ürün paketinin işlem kaydetme politikasının Özel Özellikler bölümünde tanımlarsınız.

Ardından, ücret planında bu özel özelliği seçebilirsiniz. Bunun ardından, özel özelliğin tanımlı olduğu işlem kayıt politikasını içeren bir API ürün paketi oluşturduktan sonra bunu yapabilirsiniz.

Üst düzey akış şu şekildedir:

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

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

Mesajda özel özellik değeri oluşturma

İşlem kaydetme 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. (Bir işlem, başarılı bir yanıt alana kadar resmi olmadığı için istek kullanılamaz.) Aşağıda, sayısal değerini içeren bir yanıt üstbilgisinin mesaja nasıl ekleneceğini gösteren örnekler verilmiştir. Her iki durumda da değişkenlerle birlikte Mesaj Atama politikasını kullanacağı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ç Nokta yanıtına bir Mesaj Atama politikası ekleyerek messageSize adlı, uzunluk değerini içeren 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>

Başlığa bir uygulama özel özellik değeri ekleme

Aynı şekilde, bir uygulamadaki özel özellik değerine sahip bir başlık da oluşturabiliriz. Örneğin, her geliştirici uygulamasına apprating adlı bir özel özellik eklerseniz aşağıdaki gibi:

Doğrulama API Anahtarı politikasını (para kazanma için gereklidir) kullanırken bu değer, verifyapikey.{policy_name}.apprating adlı bir değişkende depolanır. Proxy Uç Noktası yanıtına eklenen Mesaj Ata 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>

Ücret planını oluşturma

Yukarıda açıklanan özel özellik kurulumu dışında, ücret planı normalde olduğu gibi (özel özellikleri olmayan ücret planlarında) ayarlanır ancak aşağıdaki şartlara uyması gerekir.

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

Ücret listesi planlarını, Edge kullanıcı arayüzünü veya Klasik Edge kullanıcı arayüzünü kullanarak aşağıdaki bölümlerde açıklandığı gibi özel özelliklerle yapılandırın.

Edge

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

  1. Bir 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 bölümüne bakın.
    API ürün paketinin işlem kaydetme politikasında, ücret planlarını tanımlamak için kullanılacak özel özellikleri ekleyin. Ayrıntılı bilgi için bu konudaki giriş bölümünü ve İşlem kaydetme politikası oluşturma bölümünü inceleyin.
  3. API ürün paketi için bir ücret planı oluşturun ve özel puan parametresi belirtin.

Daha fazla bilgi için Kullanıcı arayüzünü kullanarak ücret listesi planı ayrıntılarını yapılandırma bölümüne bakın.

Klasik Edge (Private Cloud)

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

  1. Bir API ürününün işlem kaydetme politikasına, ücret planlarını tanımlamak için kullanılacak özel özellikleri ekleyin. Ayrıntılı bilgi için bu konudaki giriş sayfasını ve İşlem kaydetme politikası oluşturma bölümünü inceleyin. API paketine eklemek istediğiniz her API ürünü için bunu yapın.
  2. API ürünleri ve işlem kaydetme 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 bölümüne bakın.
  3. Özel Özellik içeren Ücret Listesi'nin ücret planı türünü seçerek API paketi için bir ücret planı oluşturun.
  4. Ücret Listesi bağlantısını tıklayın. Ücret Listesi penceresi açılır.

  5. Özel Özellik açılır menüsünden özel bir özellik seçin. Menüde, işlem kaydetme 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 * ücret = geliştiriciden alınan ücret)
  6. İsteğe bağlı olarak, Ücret listesi planı ayrıntılarını belirtme bölümünde açıklandığı gibi bir freemium plan oluşturun.
  7. Ücret listesi planı ayrıntılarını belirtme bölümünde açıklandığı şekilde bir ücretlendirme modeli oluşturun. Bununla birlikte, Özel Özellik ücret planı türüne sahip Ücret Listesi için ücretlendirme modelinin seçtiğiniz özel özelliğe dayalı olduğunu unutmayın. Örneğin, ödeme modeli olarak Sabit Ücret'i seçerseniz geliştiriciden, özel özelliğe (ör. her işlemde aktarılan bayt sayısı) 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 nihai olduğundan kesinlikle emin olduğunuzda yayınlayın. Yayınlama Tarihi'ni ayarlama ve planı yayınlama hakkında bilgi edinmek için Ücret planlarını yayınlama bölümüne bakın.

Daha fazla bilgi için Kullanıcı arayüzünü kullanarak ücret listesi planı ayrıntılarını belirtme bölümüne bakın.

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

Düzenlenebilir bildirim planlarını özel özelliklerle aşağıda açıklandığı şekilde yapılandırın.

Edge

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

  1. Bir 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 bölümüne bakın.
    API ürün paketinin işlem kaydetme politikasında, ücret planlarını tanımlamak için kullanılacak özel özellikleri ekleyin. Ayrıntılı bilgi için bu konudaki giriş bölümünü ve İşlem kaydetme politikası oluşturma bölümünü inceleyin.
  3. API ürün paketi için bir ücret planı oluşturun ve özel puan parametresi belirtin.

Daha fazla bilgi için Kullanıcı arayüzünü kullanarak ayarlanabilir bir bildirim planı yapılandırma bölümüne göz atın.

Klasik Edge (Private Cloud)

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

  1. Bir API ürününün işlem kaydetme politikasına, ücret planlarını tanımlamak için kullanılacak özel özellikleri ekleyin. Ayrıntılı bilgi için bu konudaki giriş sayfasını ve İşlem kaydetme politikası oluşturma bölümünü inceleyin. API paketine eklemek istediğiniz her API ürünü için bunu yapın.
  2. API ürünleri ve işlem kaydetme 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 bölümüne bakın.
  3. Ücret planı türünü Özel Özellik içeren Ayarlanabilir Bildirim'i seçerek API paketi için bir ücret planı oluşturun.
  4. Ayrıntılar bağlantısını tıklayın. Ayarlanabilir Bildirim penceresi açılır.

  5. Özel Özellik açılır menüsünden özel bir özellik seçin. Menüde, işlem kaydetme 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ğeri üzerinden hesaplanır.
  6. Toplama Temeli'ni, işlem hacminin toplandığı döneme ayarlayın. 1 ile 24 ay arasında bir sayı seçin. Bu değer varsayılan olarak 1 aydır.
  7. Uygula ve Kapat'ı tıklayın.
  8. Taslağı Kaydet'i tıklayın.
    Planı yalnızca nihai olduğundan kesinlikle emin olduğunuzda yayınlayın. Yayınlama Tarihi'ni ayarlama ve planı yayınlama hakkında bilgi edinmek için Ücret planlarını yayınlama bölümüne bakın.

Daha fazla bilgi için Kullanıcı arayüzünü kullanarak ayarlanabilir bildirim planı ayrıntılarını belirtme bölümüne bakın.

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 kaydetme politikasına, ücret planlarını tanımlamak için kullanılacak özel özellikleri ekleyin. Ayrıntılı bilgi için bu konudaki giriş sayfasını ve İşlem kaydetme politikası oluşturma bölümünü inceleyin. API paketine eklemek istediğiniz her API ürünü için bunu yapın.
  2. API ürünleri ve işlem kaydetme 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 bölümüne bakın.

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

Ücret planını oluştururken özel özellikler içeren 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ının istek gövdesinde yer alan ratePlanDetails özelliğinde belirtirsiniz. Ayrıntılarda, özel özelliğin adını tanımlayan bir puan parametresi değeri belirtirsiniz. Ayrıca, özel özelliği belirli bir zaman aralığında toplayan bir puan parametresi değeri de belirtebilirsiniz.

Ücret planı ayrıntı seçeneklerinin tam listesi için Ücret planı ayrıntıları yapılandırma ayarları bölümüne bakın.

Örneğin, aşağıda messageSize adlı bir özel özelliğe dayalı olarak Özel Özellik planı içeren bir Ücret Listesi oluşturulur (kalın metindeki öğ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 komut, messageSize adlı bir özel özelliğe dayalı olarak Özel Özellik ücret planı içeren bir Ayarlanabilir Bildirim oluşturur (öğenin kalın bölümüne 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