Anda sedang melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Pengantar
Dalam beberapa kasus, Anda mungkin perlu 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. Misalnya, Anda mungkin ingin menagih developer aplikasi berdasarkan jumlah byte yang dikirim dalam permintaan API.
- Gabungkan beberapa panggilan API ke dalam satu transaksi.
Dengan menggunakan paket tarif dengan atribut kustom, Anda dapat mengidentifikasi nilai dalam pesan panggilan API yang berfungsi sebagai penghitung, dan digunakan untuk menghitung jumlah dan tagihan transaksi.
Paket tarif berikut dengan atribut kustom didukung:
- Kartu tarif dengan atribut khusus
- Notifikasi yang dapat disesuaikan dengan atribut khusus
Anda dapat menetapkan maksimal sepuluh atribut kustom per paket tarif.
Memahami penghitungan atribut kustom
Cara nilai atribut khusus diperhitungkan dalam jumlah dan biaya transaksi paket tarif bergantung pada model penagihan, seperti yang diringkas dalam tabel berikut.
Model pengisian daya | Penghitungan atribut khusus |
---|---|
Tarif Tetap dan Volume Berikat |
Untuk Tarif Tetap, nomor atribut kustom menjadi jumlah transaksi yang dikalikan dengan tarif. Untuk Volume yang Diikat, jumlah transaksi dalam sebuah tali ditambahkan dengan nomor atribut khusus, dan developer akan dikenai biaya 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 band saat ini. Jika developer hanya memiliki 6 transaksi yang tersisa dalam band saat ini, 6 akan dikalikan dengan tarif untuk band tersebut. 4 sisanya masuk ke band berikutnya dan dikalikan dengan kecepatan band tersebut. Dalam paket Volume Banded, jika band 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, penghitungan berikut akan terjadi:
Misalnya, jika nomor atribut khusus dalam pesan adalah 10, 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 "tanpa batas") dan transaksi melebihi batas tersebut, dua hal akan terjadi:
|
Notifikasi yang dapat disesuaikan |
Untuk notifikasi yang dapat disesuaikan, penghitungan berikut akan terjadi:
Misalnya, jika nomor atribut kustom dalam pesan adalah 10, maka 10 akan ditambahkan ke jumlah total transaksi. |
Tempat paket tarif mendapatkan nilai atribut khusus
Kebijakan Perekaman Transaksi (di paket produk API) memberi tahu monetisasi tempat mencari nilai atribut kustom dalam pesan. Anda menentukan atribut kustom di bagian Atribut Kustom dalam kebijakan perekaman transaksi untuk paket produk API.
Kemudian, Anda dapat memilih atribut kustom tersebut dalam paket tarif—setelah membuat paket produk API yang berisi kebijakan perekaman transaksi dengan atribut kustom yang ditentukan.
Berikut adalah alur tingkat tinggi:
- Tentukan atribut khusus saat menambahkan produk API.
- Buat paket produk API yang berisi produk.
Dalam kebijakan pencatatan transaksi untuk paket produk API, tambahkan atribut khusus yang akan digunakan untuk menentukan paket tarif. - 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 kustom yang ditentukan dalam kebijakan perekaman transaksi dan konfigurasi paket tarif. Notifikasi yang dapat disesuaikan dengan hubungan paket tarif atribut kustom serupa, meskipun nilai volume-banded tidak berlaku.
Cara membuat nilai atribut khusus dalam pesan
Kebijakan perekaman transaksi dapat mencari nilai atribut kustom di beberapa tempat, seperti header respons, isi respons, atau variabel alur yang telah ditentukan sebelumnya dalam respons. (Permintaan tidak tersedia, karena transaksi tidak resmi hingga Anda mendapatkan respons yang berhasil.) Berikut adalah contoh yang menunjukkan cara menambahkan header respons beserta 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 Proxy Endpoint, 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 khusus aplikasi ke header
Dengan cara yang sama, kita dapat membuat header dengan nilai atribut kustom di aplikasi.
Misalnya, jika Anda menyertakan atribut kustom bernama apprating
di 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 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 konfigurasi atribut khusus yang dijelaskan di atas, paket tarif disiapkan dengan cara yang sama seperti biasanya (untuk paket tarif tanpa atribut khusus), tetapi harus mematuhi persyaratan berikut.
Mengonfigurasi paket kartu tarif dengan atribut kustom menggunakan UI
Konfigurasikan paket 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 khusus menggunakan UI Edge:
- Tentukan atribut khusus saat menambahkan produk API.
- Buat paket produk API yang berisi produk. Lihat Membuat paket produk API.
Di kebijakan pencatatan 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 pencatatan transaksi. - Buat paket tarif untuk paket produk API dan tentukan parameter rating kustom.
Untuk informasi selengkapnya, lihat Mengonfigurasi detail paket tarif menggunakan UI.
Edge Klasik (Private Cloud)
Gunakan langkah-langkah berikut untuk membuat Kartu Tarif dengan paket Atribut Kustom menggunakan UI Edge Klasik:
- Dalam kebijakan pencatatan transaksi produk API, tambahkan atribut kustom 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.
- 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 ditagih
berdasarkan nilai atribut kustom yang dipilih dalam setiap transaksi.
(Nilai atribut * tarif = tagihan kepada developer) - Secara opsional, siapkan paket freemium seperti yang dijelaskan dalam Menentukan detail paket kartu tarif.
- Siapkan model pengisian daya seperti yang dijelaskan di Menentukan detail paket kartu tarif. Namun, perlu diperhatikan 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 pengisian daya, 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 informasi selengkapnya.
-
Klik Simpan Draf.
Publikasikan rencana hanya jika Anda benar-benar yakin bahwa rencana tersebut sudah final. Lihat Memublikasikan paket tarif untuk mengetahui informasi tentang cara menetapkan Tanggal Publikasi dan memublikasikan paket.
Untuk informasi selengkapnya, lihat Menentukan detail paket tarif kartu menggunakan UI.
Mengonfigurasi rencana notifikasi yang dapat disesuaikan dengan atribut kustom menggunakan UI
Konfigurasi paket notifikasi yang dapat disesuaikan dengan atribut khusus, seperti yang dijelaskan di bawah ini.Edge
Untuk mengonfigurasi paket tarif kartu dengan atribut kustom menggunakan UI Edge:
- Tentukan atribut khusus saat menambahkan produk API.
- Buat paket produk API yang berisi produk. Lihat Membuat paket produk API.
Dalam kebijakan pencatatan transaksi untuk paket produk API, tambahkan atribut khusus yang akan digunakan untuk menentukan paket tarif. Untuk detailnya, lihat pengantar dalam topik ini, serta Membuat kebijakan pencatatan transaksi. - 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 tarif dengan atribut kustom menggunakan UI Edge Klasik:
- Dalam kebijakan pencatatan transaksi produk API, tambahkan atribut kustom yang akan digunakan untuk menentukan paket tarif. Untuk mengetahui detailnya, lihat pengantar dalam topik ini, serta Membuat kebijakan pencatatan 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 Notifikasi yang Dapat Disesuaikan dengan Atribut Kustom.
-
Klik link Details. Tindakan ini akan membuka jendela Notifikasi yang Dapat Disesuaikan.
- Pilih atribut kustom di menu drop-down Custom Attribute. Menu ini mencantumkan atribut kustom yang dibuat untuk produk dalam kebijakan perekaman transaksi. Jumlah transaksi total developer dihitung berdasarkan nilai atribut khusus yang dipilih dalam setiap transaksi.
- Tetapkan Basis Agregasi ke periode 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 rencana hanya jika Anda benar-benar yakin rencana tersebut sudah final. Lihat Memublikasikan paket tarif untuk mengetahui informasi tentang cara menetapkan Tanggal Publikasi dan memublikasikan paket.
Untuk informasi selengkapnya, lihat Menentukan detail rencana notifikasi yang Dapat Disesuaikan menggunakan UI.
Menentukan detail untuk paket tarif dengan atribut kustom menggunakan API
Lakukan langkah-langkah prasyarat berikut:
- Dalam kebijakan pencatatan transaksi produk API, tambahkan atribut khusus yang akan digunakan untuk menentukan paket tarif. Untuk detailnya, lihat pengantar dalam topik ini, serta Membuat kebijakan pencatatan transaksi. Lakukan ini untuk setiap produk API yang ingin Anda sertakan dalam paket API.
- 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 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
detailnya, Anda menetapkan 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 Setelan konfigurasi detail paket tarif untuk mengetahui daftar lengkap opsi detail paket tarif.
Misalnya, kode berikut akan membuat Kartu Tarif dengan paket Atribut Kustom berdasarkan atribut kustom
bernama messageSize
(lihat item dalam cetak 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
Parameter berikut akan membuat Notifikasi yang Dapat Disesuaikan dengan paket tarif Atribut Khusus berdasarkan atribut khusus bernama messageSize
(lihat item dalam 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