Mengonfigurasi paket tarif dengan atribut khusus

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

Pengantar

Dalam beberapa kasus, Anda mungkin perlu penghitung transaksi didasarkan pada variabel atau nilai kustom. Misalnya, Anda mungkin perlu:

  • Membebankan biaya kepada developer berdasarkan nilai yang diberikan dalam pesan panggilan API. Misalnya, Anda mungkin ingin menagih developer aplikasi berdasarkan jumlah byte yang ditransmisikan dalam permintaan API.
  • Paketkan beberapa panggilan API ke dalam satu transaksi.

Dengan menggunakan paket tarif dengan atribut khusus, Anda dapat mengidentifikasi nilai dalam pesan panggilan API yang bertindak sebagai penghitung, dan yang digunakan untuk menghitung jumlah serta tagihan transaksi.

Paket tarif dengan atribut khusus berikut didukung:

  • Kartu tarif dengan atribut khusus
  • Notifikasi yang dapat disesuaikan dengan atribut khusus

Anda dapat menetapkan maksimal sepuluh atribut khusus per paket tarif.

Memahami penghitungan atribut khusus

Cara nilai atribut khusus diperhitungkan dalam jumlah dan tagihan transaksi paket tarif bergantung pada model penagihan, seperti yang diringkas dalam tabel berikut.

Model pengisian daya Penghitungan atribut khusus
Tarif Tetap dan Volume yang Dibanding

custom attribute number * rate = charge to developer

Untuk Tarif Tetap, jumlah atribut khusus menjadi jumlah transaksi yang dikalikan dengan tarif tersebut. Untuk Volume Banded, jumlah transaksi dalam band ditambah dengan nomor atribut khusus, dan developer dikenai biaya untuk jumlah transaksi tersebut. Misalnya, jika nilai atribut khusus dalam pesan adalah 10, developer akan dikenai biaya untuk 10 transaksi, dan 10 transaksi ditambahkan ke jumlah band saat ini. Jika developer hanya memiliki 6 transaksi yang tersisa dalam band saat ini, 6 akan dikalikan dengan frekuensi untuk band tersebut. 4 sisanya masuk ke band berikutnya dan dikalikan dengan laju band tersebut.

Dalam paket Volume Banded, jika band volume terakhir memiliki batas (bukan "tidak terbatas") dan transaksi melebihi batas tersebut, dua hal akan terjadi:

  • Developer mendapatkan jumlah "lebih" gratis.
  • Aplikasi developer diblokir agar tidak melakukan panggilan lebih lanjut ke API hingga periode paket direset.
    Lihat Kapan biaya berulang ditagih dan paket paket direset? untuk mengetahui detail tentang kapan paket direset.
Bundles

Karena paket ditagih oleh grup, bukan berdasarkan transaksi, penghitungan berikut akan terjadi:

custom attribute number = amount added to bundle count

Misalnya, jika nomor atribut khusus dalam pesan adalah 10, maka 10 akan ditambahkan ke jumlah transaksi yang digunakan dalam paket. Jika developer hanya memiliki 6 transaksi yang tersisa dalam paket saat ini, paket tersebut akan terisi dan jumlah paket berikutnya bertambah 4. Tarif untuk paket berikutnya, jika ada, akan dikenakan.

Jika paket terakhir memiliki batas (bukan "tidak terbatas") dan transaksi melebihi batas tersebut, dua hal akan terjadi:

  • Developer mendapatkan jumlah "lebih" gratis.
  • Aplikasi developer diblokir agar tidak melakukan panggilan lebih lanjut ke API hingga periode paket direset.
    Lihat Kapan biaya berulang ditagih dan paket paket direset? untuk mengetahui detail tentang kapan paket direset.
Notifikasi yang dapat disesuaikan

Untuk notifikasi yang dapat disesuaikan, penghitungan berikut akan terjadi:

custom attribute number = amount added to transaction count

Misalnya, jika nomor atribut khusus dalam pesan adalah 10, maka 10 akan ditambahkan ke jumlah total transaksi.

Tujuan paket tarif mendapatkan nilai atribut khusus

Kebijakan Pencatatan Transaksi (pada paket produk API) memberi tahu monetisasi tempat untuk mencari nilai atribut khusus di pesan. Anda menentukan atribut khusus di bagian Atribut Khusus pada kebijakan pencatatan transaksi untuk paket produk API.

Kemudian, Anda dapat memilih atribut khusus tersebut dalam paket tarif—setelah membuat paket produk API yang berisi kebijakan pencatatan transaksi dengan atribut khusus yang ditentukan.

Berikut adalah alur tingkat tingginya:

  1. Tentukan atribut khusus saat menambahkan produk API.
  2. Buat paket produk API yang berisi produk tersebut.
    Dalam kebijakan pencatatan transaksi untuk paket produk API, tambahkan atribut khusus yang akan digunakan untuk menentukan paket tarif.
  3. Buat paket tarif dari jenis kartu tarif atau notifikasi yang dapat disesuaikan untuk paket produk API dan tentukan parameter rating kustom.

Gambar berikut menunjukkan hubungan antara atribut khusus yang ditentukan dalam kebijakan pencatatan transaksi dan konfigurasi paket kartu tarif. Notifikasi yang dapat disesuaikan dengan hubungan paket tarif atribut khusus serupa, meskipun nilai volume-band yang tidak berlaku.

Cara membuat nilai atribut khusus dalam pesan

Kebijakan pencatatan transaksi dapat mencari nilai atribut khusus di beberapa tempat, seperti header respons, isi respons, atau variabel alur yang telah ditetapkan dalam respons. (Permintaan tidak tersedia, karena transaksi tidak resmi hingga Anda mendapatkan respons berhasil.) Berikut adalah contoh yang menunjukkan cara menambahkan header respons dengan nilai numeriknya ke pesan. Dalam kedua kasus tersebut, kita akan menggunakan kebijakan Tetapkan Pesan bersama dengan variabel.

Menambahkan ukuran payload permintaan ke header respons

Dalam setiap permintaan pesan, ada variabel client.received.content.length yang berisi jumlah byte dalam payload permintaan. Dengan melampirkan kebijakan Tetapkan Pesan ke respons Endpoint Proxy, kita dapat membuat header respons bernama messageSize yang berisi nilai panjang:

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

Menambahkan nilai atribut khusus aplikasi ke header

Dengan cara yang sama, kita dapat membuat header dengan nilai atribut khusus pada aplikasi. Misalnya, jika Anda menyertakan atribut khusus bernama apprating pada setiap aplikasi developer, lakukan sebagai berikut:

Saat menggunakan kebijakan Verifikasi Kunci API (yang diperlukan untuk monetisasi), nilai ini disimpan dalam variabel yang disebut verifyapikey.{policy_name}.apprating. Dengan menggunakan kebijakan Tetapkan Pesan yang dilampirkan ke respons Endpoint Proxy, Anda dapat membuat header bernama apprating yang berisi nilai apprating aplikasi:

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

Menyiapkan paket tarif

Selain penyiapan atribut khusus yang dijelaskan di atas, paket tarif disiapkan dengan cara yang sama seperti yang biasa Anda lakukan (untuk paket tarif tanpa atribut khusus), tetapi harus mematuhi persyaratan berikut.

Mengonfigurasi paket kartu tarif dengan atribut khusus menggunakan UI

Konfigurasikan paket kartu tarif dengan atribut khusus menggunakan UI Edge atau UI Edge Klasik, seperti yang dijelaskan di bagian berikut.

Edge

Untuk mengonfigurasi paket kartu tarif dengan atribut khusus menggunakan UI Edge:

  1. Tentukan atribut khusus saat menambahkan produk API.
  2. Buat paket produk API yang berisi produk tersebut. Lihat Membuat paket produk API.
    Dalam kebijakan pencatatan transaksi untuk paket produk API, tambahkan atribut khusus yang akan digunakan untuk menentukan paket tarif. Untuk mengetahui detailnya, lihat pengantar dalam topik ini serta Membuat kebijakan pencatatan transaksi.
  3. Buat paket tarif untuk paket produk API dan tentukan parameter rating kustom.

Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi detail paket kartu tarif menggunakan UI.

Edge Klasik (Private Cloud)

Gunakan langkah-langkah berikut untuk membuat Kartu Tarif dengan paket Atribut Khusus menggunakan UI Edge Klasik:

  1. Dalam kebijakan pencatatan transaksi produk API, tambahkan atribut khusus yang akan digunakan untuk menentukan paket tarif. Untuk mengetahui detailnya, lihat pengantar dalam topik ini, serta Membuat kebijakan pencatatan transaksi. Lakukan ini untuk setiap produk API yang ingin Anda sertakan dalam paket API.
  2. Setelah produk API dan kebijakan pencatatan transaksi dikonfigurasi persis seperti yang Anda inginkan, buat paket API yang berisi produk tersebut. Lihat Membuat paket API.
  3. Buat paket tarif untuk paket API, dengan memilih jenis paket tarif Kartu Tarif dengan Atribut Khusus.
  4. Klik link Kartu Tarif. Tindakan ini akan membuka jendela Kartu Tarif.

  5. Pilih atribut khusus di menu drop-down Atribut Khusus. Menu tersebut mencantumkan atribut khusus yang dibuat untuk produk dalam kebijakan pencatatan transaksi. Developer dikenai biaya berdasarkan nilai atribut khusus yang dipilih dalam setiap transaksi.
    (Nilai atribut * tarif = biaya ke developer)
  6. Atau, siapkan paket freemium seperti yang dijelaskan dalam Menentukan detail paket kartu tarif.
  7. Siapkan model pengisian daya seperti yang dijelaskan di Menentukan detail paket kartu tarif. Namun, perhatikan bahwa untuk Kartu Tarif dengan jenis paket tarif Atribut Khusus, model penagihan didasarkan pada atribut khusus yang Anda pilih. Misalnya, jika Anda memilih Tarif Tetap sebagai model penagihan, developer akan dikenai tarif tetap berdasarkan atribut khusus, seperti jumlah byte yang ditransmisikan dalam setiap transaksi (bukan tarif tetap untuk setiap transaksi). Lihat Penghitungan untuk selengkapnya.
  8. Klik Save Draft.
    Publikasikan rencana hanya jika Anda benar-benar yakin rencana tersebut telah final. Lihat Paket tarif publikasi untuk mendapatkan informasi tentang cara menetapkan Tanggal Publikasi dan memublikasikan paket.

Untuk informasi selengkapnya, lihat Menentukan detail paket kartu tarif menggunakan UI.

Mengonfigurasi paket notifikasi yang dapat disesuaikan dengan atribut khusus menggunakan UI

Konfigurasikan paket notifikasi yang dapat disesuaikan dengan atribut khusus, seperti yang dijelaskan di bawah ini.

Edge

Untuk mengonfigurasi paket kartu tarif dengan atribut khusus menggunakan UI Edge:

  1. Tentukan atribut khusus saat menambahkan produk API.
  2. Buat paket produk API yang berisi produk tersebut. Lihat Membuat paket produk API.
    Dalam kebijakan pencatatan transaksi untuk paket produk API, tambahkan atribut khusus yang akan digunakan untuk menentukan paket tarif. Untuk mengetahui detailnya, lihat pengantar dalam topik ini serta Membuat kebijakan pencatatan transaksi.
  3. Buat paket tarif untuk paket produk API dan tentukan parameter rating kustom.

Untuk informasi selengkapnya, lihat Mengonfigurasi rencana notifikasi yang dapat disesuaikan menggunakan UI.

Edge Klasik (Private Cloud)

Untuk mengonfigurasi paket kartu tarif dengan atribut khusus menggunakan UI Edge Klasik:

  1. Dalam kebijakan pencatatan transaksi produk API, tambahkan atribut khusus yang akan digunakan untuk menentukan paket tarif. Untuk mengetahui detailnya, lihat pengantar dalam topik ini, serta Membuat kebijakan pencatatan transaksi. Lakukan ini untuk setiap produk API yang ingin Anda sertakan dalam paket API.
  2. Setelah produk API dan kebijakan pencatatan transaksi dikonfigurasi persis seperti yang Anda inginkan, buat paket API yang berisi produk tersebut. Lihat Membuat paket API.
  3. Buat paket tarif untuk paket API, dengan memilih jenis paket tarif Notifikasi yang Dapat Disesuaikan dengan Atribut Khusus.
  4. Klik link Details. Tindakan ini akan membuka jendela Adjustable Notification.

  5. Pilih atribut khusus di menu drop-down Atribut Khusus. Menu tersebut mencantumkan atribut khusus yang dibuat untuk produk dalam kebijakan pencatatan transaksi. Jumlah total transaksi developer dihitung pada nilai atribut khusus yang dipilih dalam setiap transaksi.
  6. Tetapkan Dasar Agregasi ke periode waktu saat volume transaksi diagregasi. Pilih angka antara 1 dan 24 bulan. Nilai ini ditetapkan secara default ke 1 bulan.
  7. Klik Terapkan dan Tutup.
  8. Klik Save Draft.
    Publikasikan rencana hanya jika Anda benar-benar yakin rencana tersebut telah final. Lihat Paket tarif publikasi untuk mendapatkan informasi tentang cara menetapkan Tanggal Publikasi dan memublikasikan paket.

Untuk informasi selengkapnya, lihat Menentukan detail paket notifikasi yang Dapat Disesuaikan menggunakan UI.

Menentukan detail untuk paket tarif dengan atribut khusus menggunakan API

Lakukan langkah-langkah prasyarat berikut:

  1. Dalam kebijakan pencatatan transaksi produk API, tambahkan atribut khusus yang akan digunakan untuk menentukan paket tarif. Untuk mengetahui detailnya, lihat pengantar dalam topik ini, serta Membuat kebijakan pencatatan transaksi. Lakukan ini untuk setiap produk API yang ingin Anda sertakan dalam paket API.
  2. Setelah produk API dan kebijakan pencatatan transaksi dikonfigurasi persis seperti yang Anda inginkan, buat paket API yang berisi produk tersebut. Lihat Membuat paket API.

Selanjutnya, gunakan API untuk membuat paket tarif.

Anda menentukan detail untuk paket tarif dengan atribut khusus saat membuat paket tarif. Anda menentukan detailnya di properti ratePlanDetails dalam isi permintaan dalam panggilan ke /organizations/{org_name}/monetization-packages/{package_id}/rate-plans. Dalam detailnya, Anda menentukan nilai parameter rating yang mengidentifikasi nama atribut khusus. Anda juga dapat menentukan nilai parameter rating yang menggabungkan atribut khusus selama interval waktu yang ditentukan.

Lihat Setelan konfigurasi detail paket tarif untuk daftar lengkap opsi detail paket tarif.

Misalnya, perintah berikut akan membuat Kartu Tarif dengan paket Atribut Khusus berdasarkan atribut khusus bernama messageSize (lihat item dicetak tebal).

$ 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

Berikut ini adalah pembuatan Notifikasi yang Dapat Disesuaikan dengan paket tarif Atribut Khusus berdasarkan atribut khusus bernama messageSize (lihat item dicetak tebal).

$ 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