Paket rasio pembelian menggunakan API

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Bagian ini menjelaskan cara membeli paket tarif yang dipublikasikan, serta menghentikan atau membatalkan paket tarif yang dibeli, jika diinginkan, menggunakan API.

Membeli paket tarif yang dipublikasikan menggunakan API

Setelah paket tarif dipublikasikan, developer atau perusahaan dapat membelinya (atau "menerimanya") dengan mengeluarkan permintaan POST ke /mint/organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans, dengan {org_name} adalah nama organisasi dan {developer_or_company_id} adalah ID developer atau perusahaan.

Untuk menghapus biaya penyiapan saat membeli paket tarif, tetapkan parameter kueri waivefees ke true. Flag ini berguna saat Anda memigrasikan developer ke monetisasi, seperti yang dijelaskan dalam Memigrasikan developer ke monetisasi.

Tabel berikut meringkas properti konfigurasi yang dapat Anda tetapkan dalam isi permintaan, nilai defaultnya, dan apakah diperlukan atau tidak.

Nama Deskripsi Default Wajib?
startDate

Tanggal saat paket tarif dimulai. Misalnya: 24-03-2017.

T/A Ya
endDate

Tanggal saat paket tarif berakhir. Misalnya: 24-09-2017.

Paket tarif akan berlaku hingga akhir hari pada tanggal yang ditentukan. Misalnya, jika Anda ingin masa berlaku paket tarif berakhir pada 1 Desember 2017, Anda harus menetapkan nilai endDate ke 2017-11-30. Dalam hal ini, masa berlaku paket tarif akan berakhir pada akhir hari tanggal 30 November 2017; semua permintaan pada 1 Desember 2017 akan diblokir.

T/A Tidak
developer

Properti id yang menentukan ID developer atau perusahaan yang membeli paket tarif.

T/A Ya
quotaTarget

Target jumlah transaksi yang diizinkan untuk developer aplikasi. Anda dapat mengonfigurasi apakah dan kapan notifikasi dikirim berdasarkan persentase jumlah target yang telah tercapai, seperti 90%, 100%, atau 150%. Transaksi tambahan tidak diblokir setelah jumlah target tercapai.

Tetapkan nilai ini ke nilai bilangan bulat positif atau 0 untuk menonaktifkan notifikasi bagi developer aplikasi.

0 Tidak
ratePlan

Properti id yang menentukan ID paket tarif.

ID paket tarif berbeda dengan nama tampilan. Untuk melihat detail paket tarif, termasuk ID, lihat Melihat halaman paket tarif.

T/A Ya
suppressWarning

Tanda yang menentukan apakah akan menyembunyikan error jika developer mencoba membeli paket tarif yang tumpang-tindih dengan paket tarif lain yang dibeli. Nilainya dapat berupa salah satu dari berikut:

  • true - Monetisasi menghentikan semua paket tarif yang dibeli dan developer harus menggunakan paket API yang berisi produk API yang bertentangan. Kemudian, API ini akan membeli paket API baru untuk developer.
  • false - Error akan ditampilkan jika ada paket tarif yang tumpang-tindih.
T/A Tidak
waveTerminationCharge

Tanda yang menentukan apakah biaya penghentian dibebaskan ketika paket tarif aktif dihentikan sebagai bagian dari pengaktifan paket tarif baru. Nilainya bisa berupa salah satu dari berikut:

  • true - Membebaskan biaya penghentian saat paket tarif aktif dihentikan sebagai bagian dari pengaktifan paket tarif baru.
  • false - Jangan menghapus biaya penghentian saat paket tarif aktif dihentikan sebagai bagian dari pengaktifan paket tarif baru.
T/A Tidak

Misalnya, permintaan berikut membeli paket tarif location_&_messaging untuk developer yang ditentukan:

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

Dalam contoh ini, properti suppressWarning disetel ke false. Dalam hal ini, error akan ditampilkan jika terjadi konflik. Misalnya, jika developer mencoba membeli paket tarif yang tumpang-tindih dengan paket tarif lain yang dibeli, error akan ditampilkan. Hal ini memungkinkan aplikasi yang menyediakan antarmuka pengguna untuk monetisasi menangkap error dan menampilkan produk yang bertentangan kepada developer untuk dikonfirmasi (sebagaimana diperlukan). Jika suppressWarning ditetapkan ke true, monetisasi akan menghentikan semua paket tarif yang dibeli oleh developer untuk paket API yang berisi produk yang bertentangan. Kemudian, API ini akan membeli paket API baru untuk developer.

Permintaan berikut membeli paket tarif notifikasi yang dapat disesuaikan dan menetapkan jumlah target transaksi ke 4.000.

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

Pada salah satu contoh di atas, jika pesan error berikut ditampilkan:

Developer legal name not specified. 

Kemudian, Anda harus menetapkan atribut monetisasi MINT_DEVELOPER_ADDRESS dan MINT_DEVELOPER_LEGAL_NAME, lalu mengulangi panggilan API.

Mengakhiri masa berlaku paket tarif yang dibeli oleh developer menggunakan API

Untuk mengakhiri masa berlaku (atau membatalkan) paket tarif yang telah dibeli oleh developer, perbarui detail paket tarif yang dibeli dan tentukan properti endDate dalam isi permintaan dalam permintaan PUT ke resource /organizations/{org_name}/developers/{developer_or_company_id}/developer-rateplans/{developer_rateplan_id}.

Paket tarif akan berlaku hingga akhir hari pada tanggal akhir yang ditentukan. Misalnya, jika Anda ingin masa berlaku paket tarif berakhir pada 1 Desember 2017, Anda harus menetapkan nilai endDate ke 2017-11-30. Dalam hal ini, paket tarif akan berakhir pada akhir hari pada 30 November 2017; semua permintaan pada 1 Desember 2017 akan diblokir.

{developer_rateplan_id} ditampilkan sebagai respons saat Anda membeli paket tarif yang dipublikasikan.

Contoh:

{
  "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
}

Atau, Anda bisa mendapatkan {developer-rateplan-id} untuk paket tarif developer dengan mengeluarkan permintaan GET ke /organizations/{org_name}/developers/{developer_id}/developer-accepted-rateplans, dengan {developer_id} adalah alamat email developer. Untuk mengetahui informasi selengkapnya, lihat Melihat semua paket tarif yang dibeli oleh developer.

Permintaan berikut memperbarui tanggal akhir menjadi 1 Desember 2017. Artinya, paket tarif akan berakhir pada penghujung hari pada 30 November 2017; semua permintaan pada 1 Desember 2017 akan diblokir.

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