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

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

Bu bölümde, yayınlanan bir ücret planının nasıl satın alınacağı ve istenirse API kullanılarak satın alınan bir ücret planının süresinin nasıl dolacağı 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 geliştirici veya şirket, /mint/organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans adresine POST isteği göndererek bu planı satın alabilir (veya "kabul edebilir"). {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 kazanma özelliğine taşıma bölümünde açıklandığı gibi, geliştiricileri para kazanma özelliğine taşırken 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

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

Yok Evet
endDate

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

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

Yok Hayır
developer

id mülkünü kullanarak ücret planını satın alan geliştiricinin veya şirketin kimliğini tanımlayabilirsiniz.

Yok Evet
quotaTarget

Uygulama geliştirici için izin verilen hedef işlem sayısı. Hedef sayının yüzde 90, %100 veya %150 gibi ulaşılma yüzdesine göre bildirim gönderilip gönderilmeyeceğini ve ne zaman gönderileceğini yapılandırabilirsiniz. Hedef sayıya ulaşıldığında ek işlemler engellenmez.

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

0 Hayır
ratePlan

Ücret planının kimliğini tanımlayan id mülkü.

Ücret planı kimliği, görünen addan farklı. Kimlik dahil ücret planı ayrıntılarını görüntülemek için Ücret 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ışık bir ücret planı satın almaya çalışırsa hatanın atlanıp atlanmayacağını belirten işaret. Değer aşağıdakilerden biri olabilir:

  • true: Para kazanma özelliği, geliştiricinin çakışan API ürünlerini içeren API paketleri için satın aldığı tüm ücret planlarını fesheder. Ardından geliştirici için yeni bir API paketi satın alır.
  • false: Çakışan bir ücret planı varsa hata oluşur.
Yok Hayır
waveTerminationCharge

Yeni ücret planının etkinleştirilmesi kapsamında etkin bir ücret planı sonlandırılırken fesih ücretlerinin kaldırılıp kaldırılmayacağını belirten işaret. Değer aşağıdakilerden biri olabilir:

  • true - Etkin bir ücret planı sonlandırılırken yeni ücret planının etkinleştirilmesi kapsamında fesih ücretinden vazgeçme.
  • false - Yeni ücret planının etkinleştirilmesi kapsamında etkin bir ücret planı feshedildiğinde feshedme ücretinden vazgeçmeyin.
Yok Hayır

Örneğin, aşağıdaki istek belirtilen geliştirici için location_&_messaging ücret 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ı durumunda bir hata mesajı gösterilir. Örneğin, geliştirici satın alınan başka bir ücret planıyla örtüşen bir ücret planı satın almaya çalışırsa hata meydana gelir. Bu sayede, para kazanma için kullanıcı arayüzü sağlayan bir uygulama, hatayı yakalayabilir ve çelişen ürünleri geliştiriciye onay için gösterebilir (uygun olduğunda). 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 bir 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 örneklerden birinde aşağıdaki hata mesajı döndürülürse:

Developer legal name not specified. 

Ardından para kazanma özelliklerini MINT_DEVELOPER_ADDRESS ve MINT_DEVELOPER_LEGAL_NAME ayarlayın ve API çağrısını tekrarlayın.

Bir geliştirici tarafından API kullanılarak satın alınan bir ücret planının süresinin dolması

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

Fiyat planı, belirtilen bitiş tarihinde günün sonuna kadar geçerli olur. Örneğin, bir ücret planının süresinin 1 Aralık 2017'de dolmasını istiyorsanız endDate değerini 2017-11-30 olarak ayarlamanız gerekir. Bu durumda, ücret planının süresi 30 Kasım 2017'nin son gününde dolacak ve 1 Aralık 2017'deki tüm istekler engellenecektir.

Yayınlanan ücret 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, {developer_id} geliştiricinin e-posta adresi olmak üzere /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans adresine GET isteği göndererek geliştirici ücret planı için {developer-rateplan-id} değerini elde edebilirsiniz. Daha fazla bilgi için Geliştirici tarafından satın alınan tüm ücret 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 ücret planının süresi 30 Kasım 2017'nin son gününde dolacak ve 1 Aralık 2017'deki tüm istekler engellenecektir.

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
  }'