API'yi kullanarak satın alma oranı planları

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

Bu bölümde, yayınlanmış bir ücret planının API kullanılarak nasıl satın alınacağı ve satın alınan bir ücret planının istenirse nasıl sona erdirileceği veya iptal edileceği açıklanmaktadır.

API'yi kullanarak yayınlanmış bir ücret planı satın alma

Bir ücret planı yayınlandıktan sonra, bir geliştirici veya şirket /mint/organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans adresine bir POST isteği göndererek planı satın alabilir (veya "kabul edebilir"). Burada {org_name}, kuruluşun adı, {developer_or_company_id} ise geliştiricinin veya şirketin kimliğidir.

Ücret planı satın alırken kurulum ücretlerinden muaf olmak için waivefees sorgu parametresini true olarak ayarlayın. Bu işaret, Geliştiricileri para kazanmaya taşıma bölümünde açıklandığı gibi, geliştiricileri para kazanmaya taşıdığınızda kullanışlıdır.

Aşağıdaki tabloda, istek gövdesinde belirtebileceğiniz yapılandırma özellikleri, varsayılan değerleri ve zorunlu olup olmadıkları özetlenmiştir.

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

Fiyat planının başladığı tarih. Örneğin: 2017-03-24.

Yok Evet
endDate

Ücret planının sona erdiği tarih. Örneğin: 2017-09-24.

Ücret planı, belirtilen tarihte günün sonuna kadar geçerli olacaktır. Örneğin, bir fiyat planının 1 Aralık 2017'de geçerliliğini yitirmesini istiyorsanız endDate değerini 2017-11-30 olarak ayarlamanız gerekir. Bu durumda, fiyat planının süresi 30 Kasım 2017'de günün sonunda dolar ve 1 Aralık 2017'deki tüm istekler engellenir.

Yok Hayır
developer

Ücret planını satın alan geliştiricinin veya şirketin kimliğini tanımlayan id özelliği.

Yok Evet
quotaTarget

Uygulama geliştiricinin hedeflediği işlem sayısı. Hedef sayının hangi yüzdesine (ör. %90, %100 veya %150) ulaşıldığında bildirim gönderileceğini yapılandırabilirsiniz. Hedef sayıya ulaşıldıktan sonra ek işlemler engellenmez.

Bir uygulama geliştiricinin bildirimlerini devre dışı bırakmak için bu değeri pozitif bir tam sayı veya 0 olarak ayarlayın.

0 Hayır
ratePlan

Ücret planının kimliğini tanımlayan id özelliği.

Ücret planı kimliği, görünen addan farklı. Kimlik de dahil olmak üzere fiyat planı ayrıntılarını görüntülemek için Fiyat planları sayfasını keşfetme başlıklı makaleyi inceleyin.

Yok Evet
suppressWarning

Geliştirici, satın alınan başka bir ücret planıyla çakışan bir ücret planı satın almaya çalıştığında hatanın gizlenip gizlenmeyeceğini belirten işaret. Değer aşağıdakilerden biri olabilir:

  • true - Monetization, geliştiricinin çakışan API ürünlerini içeren API paketlerine satın aldığı tüm ücret planlarını sonlandırır. Ardından, geliştirici için yeni bir API paketi satın alır.
  • false - Çakışan bir fiyat planı varsa hata verilir.
Yok Hayır
waveTerminationCharge

Etkin bir fiyat planı, yeni fiyat planının etkinleştirilmesi kapsamında sonlandırıldığında sonlandırma ücretlerinin alınmayacağını belirten işaret. Değer aşağıdakilerden biri olabilir:

  • true - Yeni fiyat planı etkinleştirilirken etkin bir fiyat planı sonlandırıldığında sonlandırma ücretini iptal edin.
  • false - Etkin bir fiyat planı, yeni fiyat planının etkinleştirilmesi kapsamında sonlandırıldığında sonlandırma ücretinden feragat etmeyin.
Yok Hayır

Örneğin, aşağıdaki istek, belirtilen geliştirici için location_&_messaging fiyat planını satın alır:

curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \
  -X POST \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "developer":{
     "id":"5cTWgdUvdr6JW3xU"
   },
   "startDate":"2017-08-30",
   "ratePlan":{
     "id":"location_&_messaging"
   },
   "suppressWarning":false
  }'

Bu örnekte, suppressWarning özelliği false olarak ayarlanmıştır. Bu durumda, çakışma olması halinde hata verilir. Örneğin, geliştirici satın alınan başka bir ücret planıyla çakışan bir ücret planı satın almaya çalışırsa hata verilir. Bu sayede, para kazanma için kullanıcı arayüzü sağlayan bir uygulama hatayı yakalayabilir ve çakışan ürünleri onay için geliştiriciye gösterebilir (uygun olduğu şekilde). suppressWarning, true olarak ayarlanırsa para kazanma özelliği, geliştiricinin çakışan ürünleri içeren API paketleri için satın aldığı tüm ücret planlarını sonlandırır. Ardından, geliştirici için yeni bir API paketi satın alır.

Aşağıdaki istek, ayarlanabilir bildirim hızı planı satın alır ve hedef işlem sayısını 4.000 olarak ayarlar.

curl "https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developers/5cTWgdUvdr6JW3xU/developer-rateplans" \
  -X POST \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "developer":{
     "id":"5cTWgdUvdr6JW3xU"
   },
   "ratePlan":{
     "id":"adjustable-notification-plan"
   },
   "startDate": "2017-03-24",
   "quotaTarget": 4000,
   "suppressWarning":false
  }'

Yukarıdaki örneklerin her ikisinde de şu hata mesajı döndürülürse:

Developer legal name not specified. 

Ardından, para kazandırma özelliklerini MINT_DEVELOPER_ADDRESS ve MINT_DEVELOPER_LEGAL_NAME olarak ayarlayıp API çağrısını tekrarlamanız gerekir.

Geliştirici tarafından API kullanılarak satın alınan bir ücret planının süresini sona erdirme

Bir geliştirici tarafından satın alınan bir fiyat planının süresini sona erdirmek (veya iptal etmek) için satın alınan fiyat planı ayrıntılarını güncelleyin ve /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id} kaynağına yönelik bir PUT isteğinde istek gövdesinde endDate özelliğini belirtin.

Ücret planı, belirtilen bitiş tarihinde günün sonuna kadar geçerli olur. Örneğin, 1 Aralık 2017'de bir fiyat planının süresinin dolmasını istiyorsanız endDate değerini 2017-11-30 olarak ayarlamanız gerekir. Bu durumda, fiyat planının süresi 30 Kasım 2017'de günün sonunda sona erer. 1 Aralık 2017'deki tüm istekler engellenir.

Yayınlanan fiyat planını satın aldığınızda yanıtta {developer_rateplan_id} döndürülür.

Örneğin:

{
  "created": "2017-03-31 18:59:54",
  "developer": {
    ...
  },
  "id": "b1c600b8-f871-496d-8173-12b9950d6ab1",
  "quotaTarget": 3000,
  "ratePlan": {
    ...
  },
  "startDate": "2017-03-31 00:00:00",
  "updated": "2017-03-31 18:59:54",
  "waiveTerminationCharge": false
}

Alternatif olarak, geliştirici fiyat planı için /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans adresine bir GET isteği göndererek {developer-rateplan-id} elde edebilirsiniz. Burada {developer_id}, geliştiricinin e-posta adresidir. Daha fazla bilgi için Geliştirici tarafından satın alınan tüm fiyat planlarını görüntüleme başlıklı makaleyi inceleyin.

Aşağıdaki istek, bitiş tarihini 1 Aralık 2017 olarak günceller. Yani, fiyat planının süresi 30 Kasım 2017'de günün sonunda sona erecek ve 1 Aralık 2017'deki tüm istekler engellenecek.

curl "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/developers/dev@mycompany.com/developer-rateplans/b1c600b8-f871-496d-8173-12b9950d6ab1"
  -X PUT \
  -H "Content-Type:application/json" \
  -u email:password \
  -d '{
   "id" : "b1c600b8-f871-496d-8173-12b9950d6ab1",
   "developer":{
     "id":"dev@mycompany.com"
   },
   "ratePlan":{
     "id":"p1_adjustable-notification-plan"
   },
   "startDate": "2017-04-15 00:00:00",
   "endDate": "2017-11-30",
   "quotaTarget": 3000,
   "suppressWarning":false
  }'