Anda melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Pengantar
Dalam beberapa kasus, Anda mungkin memerlukan penghitung transaksi yang didasarkan pada variabel atau nilai kustom. Misalnya, Anda mungkin perlu:
- Menagih developer jumlah variabel berdasarkan nilai yang diberikan dalam pesan panggilan API call. Misalnya, Anda mungkin ingin menagih biaya kepada developer aplikasi berdasarkan jumlah byte dikirim dalam permintaan API.
- Menggabungkan beberapa panggilan API ke dalam satu transaksi.
Dengan menggunakan paket tarif dengan atribut kustom, Anda dapat mengidentifikasi nilai dalam pesan panggilan API yang bertindak sebagai penghitung, dan yang digunakan untuk menghitung jumlah dan biaya transaksi.
Paket tarif berikut dengan atribut kustom didukung:
- Kartu tarif dengan atribut kustom
- Notifikasi yang dapat disesuaikan dengan atribut kustom
Anda dapat menetapkan maksimum sepuluh atribut kustom per paket tarif.
Memahami perhitungan atribut kustom
Cara nilai atribut kustom diperhitungkan dalam jumlah dan biaya transaksi paket tarif bergantung pada model penagihan, seperti yang dirangkum dalam tabel berikut.
| Model penagihan | Perhitungan atribut kustom |
|---|---|
| Tarif Tetap dan Volume Bertingkat |
Untuk Tarif Tetap, angka atribut kustom menjadi jumlah transaksi yang dikalikan dengan tarif. Untuk Volume Bertingkat, jumlah transaksi dalam rentang akan bertambah dengan angka atribut kustom, dan developer akan ditagih untuk jumlah transaksi tersebut. Misalnya, Jika nilai atribut kustom dalam pesan adalah 10, developer akan ditagih untuk 10 transaksi, dan 10 transaksi akan ditambahkan ke jumlah rentang saat ini. Jika developer hanya memiliki 6 transaksi yang tersisa dalam rentang saat ini, 6 akan dikalikan dengan tarif untuk rentang tersebut. 4 transaksi yang tersisa akan masuk ke rentang berikutnya dan dikalikan dengan tarif rentang tersebut. Dalam paket Volume Bertingkat, jika rentang volume terakhir memiliki batas (bukan "tidak terbatas") dan transaksi melebihi batas tersebut, dua hal akan terjadi:
|
| Bundles |
Karena paket ditagih berdasarkan grup, bukan berdasarkan transaksi, perhitungan berikut akan terjadi:
Misalnya, jika angka atribut kustom 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 diisi dan jumlah paket berikutnya akan bertambah 4. Tarif untuk paket berikutnya, jika ada, akan ditagih. Jika paket terakhir memiliki batas (bukan "tidak terbatas") dan transaksi melebihi batas tersebut, dua hal akan terjadi:
|
| Notifikasi yang dapat disesuaikan |
Untuk notifikasi yang dapat disesuaikan, perhitungan berikut akan terjadi:
Misalnya, jika angka atribut kustom dalam pesan adalah 10, maka 10 akan ditambahkan ke jumlah total transaksi. |
Tempat paket tarif mendapatkan nilai atribut kustom
Kebijakan Perekaman Transaksi (pada paket produk API) memberi tahu monetisasi tempat untuk mencari nilai atribut kustom dalam pesan. Anda menentukan atribut kustom di bagian Atribut Kustom dari kebijakan perekaman transaksi untuk paket produk API.
Kemudian, Anda dapat memilih atribut kustom tersebut dalam paket tarif—setelah Anda membuat paket produk API yang berisi kebijakan perekaman transaksi dengan atribut kustom yang ditentukan.
Berikut adalah alur tingkat tinggi:
- Tentukan atribut kustom saat menambahkan produk API.
- Buat paket produk API yang berisi produk.
Dalam kebijakan perekaman transaksi untuk paket produk API, tambahkan atribut kustom yang akan digunakan untuk menentukan paket tarif. - Buat paket tarif jenis kartu tarif atau notifikasi yang dapat disesuaikan untuk paket produk API dan tentukan parameter rating kustom.
Gambar berikut menunjukkan hubungan antara atribut kustom yang ditentukan dalam kebijakan perekaman transaksi dan konfigurasi paket kartu tarif. Hubungan paket tarif notifikasi yang dapat disesuaikan dengan atribut kustom serupa, meskipun nilai volume bertingkat tidak berlaku.

Cara membuat nilai atribut kustom dalam pesan
Kebijakan perekaman transaksi dapat mencari nilai atribut kustom di beberapa tempat, seperti header respons, isi respons, atau variabel alur yang telah ditentukan dalam respons. (Permintaan tidak tersedia, karena transaksi tidak resmi hingga Anda mendapatkan respons yang 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 yang disebut 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 kustom aplikasi ke header
Dengan cara yang sama, kita dapat membuat header dengan nilai atribut kustom pada aplikasi.
Misalnya, jika Anda menyertakan atribut kustom yang disebut apprating pada setiap aplikasi developer
seperti 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 yang disebut
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 kustom yang dijelaskan di atas, paket tarif disiapkan dengan cara yang sama seperti biasanya (untuk paket tarif tanpa atribut kustom), tetapi harus mematuhi persyaratan berikut.
Mengonfigurasi paket kartu tarif dengan atribut kustom menggunakan UI
Konfigurasikan paket kartu tarif dengan atribut kustom menggunakan UI Edge atau UI Edge Klasik, seperti yang dijelaskan di bagian berikut.
Edge
Untuk mengonfigurasi paket kartu tarif dengan atribut kustom menggunakan UI Edge:
- Tentukan atribut kustom saat menambahkan produk API.
- Buat paket produk API yang berisi produk. Lihat Membuat paket produk API.
Dalam kebijakan perekaman transaksi untuk paket produk API, tambahkan atribut kustom yang akan digunakan untuk menentukan paket tarif. Untuk mengetahui detailnya, lihat pengantar dalam topik ini, serta Membuat kebijakan perekaman transaksi. - 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 paket Kartu Tarif dengan Atribut Kustom menggunakan UI Edge Klasik:
- Dalam kebijakan perekaman transaksi produk API, tambahkan atribut kustom yang akan digunakan untuk menentukan paket tarif. Untuk mengetahui detailnya, lihat pengantar dalam topik ini, serta Membuat kebijakan perekaman transaksi. Lakukan hal ini untuk setiap produk API yang ingin Anda sertakan dalam paket API.
- Setelah produk API dan kebijakan perekaman transaksi dikonfigurasi persis seperti yang Anda inginkan, buat paket API yang berisi produk tersebut. Lihat Membuat paket API.
- Buat paket tarif untuk paket API, dengan memilih jenis paket tarif Kartu Tarif dengan Atribut Kustom.
-
Klik link Kartu Tarif. Tindakan ini akan membuka jendela Kartu Tarif.

- Pilih atribut kustom di menu drop-down Atribut Kustom. Menu ini mencantumkan atribut kustom
yang dibuat untuk produk dalam kebijakan perekaman transaksi. Developer akan ditagih
berdasarkan nilai atribut kustom yang dipilih dalam setiap transaksi.
(Nilai atribut * tarif = biaya untuk developer) - Secara opsional, siapkan paket freemium seperti yang dijelaskan di Menentukan detail paket kartu tarif.
- Siapkan model penagihan seperti yang dijelaskan di Menentukan detail paket kartu tarif. Namun, perhatikan bahwa untuk jenis paket tarif Kartu Tarif dengan Atribut Kustom, model penagihan didasarkan pada atribut kustom yang Anda pilih. Misalnya, jika Anda memilih Tarif Tetap sebagai model penagihan, developer akan ditagih tarif tetap berdasarkan atribut kustom, seperti jumlah byte yang dikirim dalam setiap transaksi (bukan tarif tetap untuk setiap transaksi). Lihat Perhitungan untuk mengetahui informasi selengkapnya.
-
Klik Simpan
Draf.
Publikasikan paket hanya jika Anda benar-benar yakin bahwa paket tersebut sudah final. Lihat Memublikasikan paket tarif untuk mengetahui informasi tentang cara menetapkan Tanggal Publikasi dan memublikasikan paket.
Untuk mengetahui informasi selengkapnya, lihat Menentukan detail paket kartu tarif menggunakan UI.
Mengonfigurasi paket notifikasi yang dapat disesuaikan dengan atribut kustom menggunakan UI
Konfigurasikan paket notifikasi yang dapat disesuaikan dengan atribut kustom, seperti yang dijelaskan di bawah.Edge
Untuk mengonfigurasi paket kartu tarif dengan atribut kustom menggunakan UI Edge:
- Tentukan atribut kustom saat menambahkan produk API.
- Buat paket produk API yang berisi produk. Lihat Membuat paket produk API.
Dalam kebijakan perekaman transaksi untuk paket produk API, tambahkan atribut kustom yang akan digunakan untuk menentukan paket tarif. Untuk mengetahui detailnya, lihat pengantar dalam topik ini, serta Membuat kebijakan perekaman transaksi. - Buat paket tarif untuk paket produk API dan tentukan parameter rating kustom.
Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi paket notifikasi yang dapat disesuaikan menggunakan UI.
Edge Klasik (Private Cloud)
Untuk mengonfigurasi paket kartu tarif dengan atribut kustom menggunakan UI Edge Klasik:
- Dalam kebijakan perekaman transaksi produk API, tambahkan atribut kustom yang akan digunakan untuk menentukan paket tarif. Untuk mengetahui detailnya, lihat pengantar dalam topik ini, serta Membuat kebijakan perekaman transaksi. Lakukan hal ini untuk setiap produk API yang ingin Anda sertakan dalam paket API.
- Setelah produk API dan kebijakan perekaman transaksi dikonfigurasi persis seperti yang Anda inginkan, buat paket API yang berisi produk tersebut. Lihat Membuat paket API.
- Buat paket tarif untuk paket API, dengan memilih jenis paket tarif Dapat Disesuaikan Notifikasi dengan Atribut Kustom.
-
Klik link Detail. Tindakan ini akan membuka jendela Notifikasi yang Dapat Disesuaikan.

- Pilih atribut kustom di menu drop-down Atribut Kustom. Menu ini mencantumkan atribut kustom yang dibuat untuk produk dalam kebijakan perekaman transaksi. Jumlah total transaksi developer dihitung berdasarkan nilai atribut kustom yang dipilih dalam setiap transaksi.
- Tetapkan Basis Agregasi ke jangka waktu penggabungan volume transaksi. Pilih angka antara 1 dan 24 bulan. Nilai ini secara default adalah 1 bulan.
- Klik Terapkan dan Tutup.
-
Klik Simpan
Draf.
Publikasikan paket hanya jika Anda benar-benar yakin bahwa paket tersebut sudah final. Lihat Memublikasikan paket tarif untuk mengetahui informasi tentang cara menetapkan Tanggal Publikasi dan memublikasikan paket.
Untuk mengetahui informasi selengkapnya, lihat Menentukan detail paket Notifikasi yang dapat disesuaikan menggunakan UI.
Menentukan detail untuk paket tarif dengan atribut kustom menggunakan API
Lakukan langkah-langkah prasyarat berikut:
- Dalam kebijakan perekaman transaksi produk API, tambahkan atribut kustom yang akan digunakan untuk menentukan paket tarif. Untuk mengetahui detailnya, lihat pengantar dalam topik ini, serta Membuat kebijakan perekaman transaksi. Lakukan hal ini untuk setiap produk API yang ingin Anda sertakan dalam paket API.
- Setelah produk API dan kebijakan perekaman transaksi dikonfigurasi persis seperti yang Anda inginkan, buat paket API yang berisi produk tersebut. Lihat Membuat paket API.
Selanjutnya, Anda menggunakan API untuk membuat paket tarif.
Anda menentukan detail untuk paket tarif dengan atribut kustom saat membuat paket tarif. Anda
menentukan detail di properti ratePlanDetails dalam isi permintaan dalam panggilan ke /organizations/{org_name}/monetization-packages/{package_id}/rate-plans. Dalam
detail, Anda menentukan nilai parameter rating yang mengidentifikasi nama atribut kustom. Anda juga dapat menentukan nilai parameter rating yang menggabungkan atribut kustom
selama interval waktu yang ditentukan.
Lihat Detail konfigurasi paket tarif untuk mengetahui daftar lengkap opsi detail paket tarif.
Misalnya, kode berikut membuat paket Kartu Tarif dengan Atribut Kustom berdasarkan atribut kustom bernama messageSize (lihat item dengan huruf 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
Kode berikut membuat paket tarif Notifikasi yang Dapat Disesuaikan dengan Atribut Kustom berdasarkan a
atribut kustom bernama messageSize (lihat item dengan huruf 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