Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi
Apigee X. info
Konfigurasi kebijakan perekaman transaksi untuk setiap produk API dalam paket produk API Anda, seperti yang dijelaskan di bagian berikut.
Pengantar
Kebijakan pencatatan transaksi memungkinkan monetisasi untuk merekam parameter transaksi dan atribut kustom. Monetisasi memerlukan informasi ini untuk melakukan pemrosesan monetisasi, seperti menerapkan paket tarif.
Misalnya, jika Anda menyiapkan paket tarif pembagian keuntungan, persentase pendapatan yang dihasilkan dari setiap transaksi yang melibatkan produk API yang dimonetisasi akan dibagikan kepada developer aplikasi yang mengeluarkan permintaan. Pembagian keuntungan didasarkan pada harga bersih atau kotor transaksi (Anda menentukan mana yang digunakan), yaitu persentase harga kotor atau bersih setiap transaksi digunakan untuk menentukan pembagian keuntungan. Oleh karena itu, monetisasi perlu mengetahui harga kotor atau bersih transaksi, sebagaimana berlaku. Harga kotor atau bersih diperoleh dari setelan yang Anda buat di kebijakan perekaman transaksi.
Jika Anda menyiapkan paket kartu tarif, tempat Anda menagih developer untuk setiap transaksi, Anda dapat menetapkan tarif untuk paket berdasarkan atribut kustom seperti jumlah byte yang ditransmisikan dalam transaksi. Monetisasi perlu mengetahui apa yang dimaksud dengan atribut kustom dan tempat menemukannya. Jadi, Anda perlu menentukan atribut kustom dalam kebijakan perekaman transaksi.
Selain menentukan atribut transaksi dalam kebijakan perekaman transaksi, Anda dapat menentukan kriteria keberhasilan transaksi untuk menentukan kapan transaksi berhasil (untuk tujuan penagihan). Untuk contoh cara menetapkan kriteria keberhasilan transaksi, lihat Contoh cara menetapkan kriteria keberhasilan transaksi dalam kebijakan perekaman transaksi. Anda juga dapat menentukan atribut kustom untuk produk API (yang menjadi dasar biaya paket tarif).
Mengonfigurasi kebijakan perekaman transaksi
Akses halaman Paket Produk, seperti yang dijelaskan di bawah.
Edge
Saat menambahkan paket produk API menggunakan UI Edge, Anda perlu mengonfigurasi kebijakan perekaman transaksi dengan melakukan langkah-langkah berikut:
- Pilih produk API yang akan dikonfigurasi di bagian Kebijakan Perekaman Transaksi (jika ada beberapa produk API dalam paket produk).
- Mengonfigurasi atribut transaksi.
- Mengonfigurasi atribut kustom.
- Tautkan aset dengan ID transaksi unik.
- Konfigurasi pengembalian dana.
- Ulangi untuk setiap produk API yang ditentukan dalam paket produk API.
Classic Edge (Private Cloud)
Untuk mengonfigurasi kebijakan perekaman transaksi menggunakan UI Edge Klasik:
- Login ke
http://ms-ip:9000, dengan ms-ip adalah alamat IP atau nama DNS node Server Pengelolaan. - Pilih Publikasikan > Produk di menu navigasi atas.
- Klik + Transaction Recording Policy di baris untuk produk API yang berlaku. Jendela Kebijakan Perekaman Transaksi Baru akan ditampilkan.
- Konfigurasi kebijakan perekaman transaksi dengan melakukan langkah-langkah berikut:
- Klik Simpan.
Mengonfigurasi atribut transaksi
Di bagian Atribut Transaksi, tentukan kriteria yang menunjukkan transaksi monetisasi yang berhasil.
- Di kolom Kriteria Keberhasilan Transaksi, tentukan ekspresi berdasarkan nilai atribut Status
(dijelaskan berikutnya) untuk menentukan kapan transaksi berhasil (untuk tujuan penagihan). Transaksi yang tidak berhasil
(yaitu, tidak memenuhi kriteria dalam ekspresi) dicatat, tetapi paket tarif tidak diterapkan padanya. Contoh:
txProviderStatus == 'OK' - Atribut Status berisi nilai yang digunakan oleh ekspresi yang dikonfigurasi di
kolom Kriteria Keberhasilan Transaksi. Konfigurasi atribut Status dengan menentukan kolom berikut:
Kolom Deskripsi Resource API Pola URI yang ditentukan dalam produk API yang akan digunakan dalam mengidentifikasi transaksi yang dimonetisasi. Lokasi Respons Lokasi respons tempat atribut ditentukan. Nilai yang valid mencakup: Variabel Alur, Header, Isi JSON, dan Isi XML. Nilai Nilai respons. Untuk menentukan lebih dari satu nilai, klik + Tambahkan x (misalnya, + Tambahkan Variabel Alur). - Untuk mengonfigurasi atribut transaksi opsional, aktifkan tombol Gunakan Atribut Opsional dan konfigurasikan
atribut transaksi yang ditentukan dalam tabel berikut.
Atribut Deskripsi Harga kotor Atribut ini hanya berlaku untuk paket tarif yang menggunakan model pembagian keuntungan. Untuk paket tarif tersebut, Harga Kotor atau Harga Bersih wajib diisi. Pastikan bahwa nilai numerik dinyatakan sebagai jenis String. Harga kotor untuk transaksi. Untuk rencana pembagian keuntungan, Anda harus mencatat atribut Harga Kotor atau atribut Harga Bersih. Atribut yang diperlukan bergantung pada dasar pembagian keuntungan. Misalnya, Anda dapat menyiapkan paket tarif pembagian keuntungan yang didasarkan pada harga kotor transaksi. Dalam hal ini, kolom Harga Kotor wajib diisi.
Harga bersih Atribut ini hanya berlaku untuk paket tarif yang menggunakan model pembagian keuntungan. Untuk paket tarif tersebut, Harga Kotor atau Harga Bersih wajib diisi. Pastikan bahwa nilai numerik dinyatakan sebagai jenis String. Harga bersih untuk transaksi. Untuk rencana pembagian keuntungan, Anda harus mencatat kolom Harga Bersih atau kolom Harga Kotor. Kolom yang wajib diisi bergantung pada dasar pembagian keuntungan. Misalnya, Anda dapat menyiapkan paket tarif pembagian keuntungan yang didasarkan pada harga bersih transaksi. Dalam hal ini, kolom Harga Bersih wajib diisi.
Mata Uang Atribut ini wajib ada untuk paket tarif yang menggunakan model pembagian keuntungan. Jenis mata uang yang berlaku untuk transaksi.
Kode Error Kode error yang terkait dengan transaksi. Memberikan informasi lebih lanjut tentang transaksi yang gagal.
Deskripsi Item Deskripsi transaksi.
Pajak Atribut ini hanya relevan untuk model pembagian keuntungan dan hanya jika jumlah pajak dicatat dalam panggilan API. Pastikan nilai numerik dinyatakan sebagai jenis String. Jumlah pajak atas pembelian. Harga bersih ditambah pajak = harga kotor.
Misalnya, dengan menetapkan nilai berikut, monetisasi akan mendapatkan nilai flow variable dari respons pesan dalam
variabel yang disebut response.reason.phrase. Jika nilainya adalah OK, dan
kebijakan Pemeriksaan Batas Monetisasi dilampirkan
ke permintaan ProxyEndpoint proxy API, monetisasi akan menghitungnya sebagai transaksi.
| Kolom | Nilai |
|---|---|
| Kriteria Keberhasilan Transaksi | txProviderStatus == 'OK' |
| Status: Resource API | ** |
| Status: Lokasi Respons | Variabel Alur |
| Status: Variabel Alur | response.reason.phrase |
Mengonfigurasi atribut khusus
Di bagian Atribut Kustom, Anda mengidentifikasi atribut kustom yang akan disertakan dalam kebijakan perekaman transaksi. Misalnya, jika Anda menyiapkan paket kartu tarif, tempat Anda menagih developer untuk setiap transaksi, Anda dapat menetapkan tarif untuk paket berdasarkan atribut kustom seperti jumlah byte yang ditransmisikan dalam transaksi. Kemudian, Anda harus menyertakan atribut kustom tersebut dalam kebijakan perekaman transaksi.
Setiap atribut ini disimpan dalam log transaksi, yang dapat Anda kueri. Atribut ini juga ditampilkan saat Anda membuat paket tarif (sehingga Anda dapat memilih satu atau beberapa atribut ini sebagai dasar tarif untuk paket).
Anda dapat menyertakan atribut kustom yang ditentukan dalam kebijakan perekaman transaksi di laporan ringkasan pendapatan, seperti yang dijelaskan dalam Menyertakan atribut transaksi kustom dalam laporan ringkasan pendapatan.
Untuk mengonfigurasi atribut kustom, aktifkan tombol Gunakan Atribut Kustom dan tentukan hingga 10 atribut kustom. Untuk setiap atribut kustom yang Anda sertakan dalam kebijakan perekaman transaksi, Anda perlu menentukan informasi berikut.
| Kolom | Deskripsi |
|---|---|
| Nama Atribut Khusus | Masukkan nama yang menjelaskan atribut kustom. Jika paket tarif didasarkan pada atribut kustom, nama ini ditampilkan kepada pengguna dalam detail paket tarif. Misalnya, jika atribut kustom mencatat durasi, Anda harus memberi nama atribut tersebut durasi. Satuan sebenarnya untuk atribut kustom (seperti jam, menit, atau detik) ditetapkan di kolom satuan rating saat Anda membuat paket tarif atribut kustom (lihat Menentukan paket tarif dengan detail atribut kustom). |
| Resource API | Pilih satu atau beberapa akhiran URI (yaitu, fragmen URI setelah jalur dasar) dari resource API yang diakses dalam transaksi. Resource yang tersedia sama dengan atribut transaksi. |
| Lokasi Respons | Pilih lokasi dalam respons tempat atribut ditentukan. Nilai yang valid mencakup: Variabel Alur, Header, Isi JSON, dan Isi XML. |
| Nilai | Tentukan nilai untuk atribut kustom. Setiap nilai yang Anda tentukan sesuai dengan kolom, parameter,
atau elemen konten yang menyediakan atribut kustom di lokasi yang Anda tentukan. Untuk menentukan lebih dari satu nilai, klik + Tambahkan x (misalnya, + Tambahkan Variabel Alur).
Misalnya, jika Anda mengonfigurasi atribut kustom bernama Panjang Konten dan memilih Header sebagai lokasi respons,
jika nilai Panjang Konten diberikan di kolom HTTP Content-Length, Anda akan menentukan |
Menautkan resource dengan ID transaksi unik
Beberapa transaksi bersifat sederhana, yang melibatkan panggilan API ke satu resource. Namun, transaksi lain bisa lebih kompleks. Misalnya, transaksi untuk membeli produk dalam aplikasi di aplikasi game seluler melibatkan beberapa panggilan resource:
- Panggilan ke API cadangan yang memastikan bahwa pengguna prabayar memiliki kredit yang cukup untuk membeli produk dan mengalokasikan ("mencadangkan") dana untuk pembelian.
- Panggilan ke API pengisian saldo yang memotong dana dari akun pengguna prabayar.
Untuk memproses seluruh transaksi, monetisasi memerlukan cara untuk menautkan resource pertama (panggilan dan respons ke dan dari Reserve API) dengan resource kedua (panggilan dan respons ke dan dari Charge API). Untuk melakukannya, API ini mengandalkan informasi yang Anda tentukan di bagian Tautkan Resource dengan ID Transaksi Unik.
Untuk mengonfigurasi atribut kustom, aktifkan tombol Gunakan ID Transaksi Unik dan tautkan transaksi. Untuk setiap transaksi, Anda menentukan resource, lokasi respons, dan nilai atribut yang ditautkan dengan nilai yang sesuai dalam transaksi lainnya.
Misalnya, anggaplah panggilan API cadangan dan panggilan API penagihan ditautkan sebagai berikut: kolom
bernama session_id di header respons dari API cadangan sesuai dengan
header respons bernama reference_id dari API penagihan. Dalam hal ini, Anda dapat menetapkan entri
di bagian Tautkan Resource dengan ID Transaksi Unik sebagai berikut:
| Resource | Lokasi respons | Nilai |
|---|---|---|
reserve/{id}** |
Header |
session_id |
/charge/{id}** |
Header |
reference_id |
Mengonfigurasi pengembalian dana
Di bagian Pengembalian dana, Anda menentukan atribut yang digunakan monetisasi untuk memproses pengembalian dana.
Misalnya, anggaplah pengguna membeli produk dari aplikasi seluler yang menggunakan API yang dimonetisasi. Transaksi dimonetisasi berdasarkan paket pendapatan bersama. Namun, misalkan pengguna tidak puas dengan produk dan ingin mengembalikannya. Jika produk dikembalikan dananya menggunakan panggilan ke API Anda yang melakukan pengembalian dana, monetisasi akan melakukan penyesuaian monetisasi yang diperlukan. Hal ini dilakukan berdasarkan informasi yang Anda tentukan di bagian Pengembalian dana pada kebijakan pencatatan transaksi.
Untuk mengonfigurasi pengembalian dana, aktifkan tombol Gunakan Atribut Pengembalian Dana dan tentukan detail pengembalian dana:
- Tentukan kriteria pengembalian dana dengan menentukan kolom berikut:
Kolom Deskripsi Lokasi Respons Resource untuk transaksi pengembalian dana. Jika produk API menyediakan beberapa resource, Anda hanya dapat memilih resource yang melakukan pengembalian dana. Kriteria Keberhasilan Pengembalian Dana Ekspresi berdasarkan nilai atribut Status (dijelaskan berikutnya) untuk menentukan kapan transaksi pengembalian dana berhasil (untuk tujuan penagihan). Transaksi pengembalian dana yang tidak berhasil (yaitu, tidak memenuhi kriteria dalam ekspresi) dicatat, tetapi paket tarif tidak diterapkan padanya. Contoh: txProviderStatus == 'OK' - Konfigurasi atribut Status dengan menentukan kolom berikut:
Kolom Deskripsi Lokasi Respons Lokasi respons tempat atribut ditentukan. Nilai yang valid mencakup: Variabel Alur, Header, Isi JSON, dan Isi XML. Nilai Nilai respons. Untuk menentukan lebih dari satu nilai, klik + Tambahkan x (misalnya, + Tambahkan Variabel Alur). - Konfigurasi atribut ID Induk dengan menentukan kolom berikut:
Kolom Deskripsi Lokasi Respons Lokasi respons tempat atribut ditentukan. Nilai yang valid mencakup: Variabel Alur, Header, Isi JSON, dan Isi XML. Nilai ID transaksi yang pengembalian dananya diproses. Misalnya, jika pengguna membeli produk lalu meminta pengembalian dana, ID Transaksi Induk adalah ID transaksi pembelian. Untuk menentukan lebih dari satu nilai, klik + Tambahkan x (misalnya, + Tambahkan Variabel Alur). - Untuk mengonfigurasi atribut pengembalian dana opsional, aktifkan tombol Gunakan Atribut Pengembalian Dana Opsional dan konfigurasi atribut. Atribut pengembalian dana opsional sama dengan atribut transaksi opsional, seperti yang ditentukan dalam Mengonfigurasi atribut transaksi.
Mengelola kebijakan perekaman transaksi menggunakan API
Bagian berikut menjelaskan cara mengelola kebijakan perekaman transaksi menggunakan API.
Membuat kebijakan perekaman transaksi menggunakan API
Anda menentukan kebijakan perekaman transaksi sebagai atribut produk API. Nilai atribut mengidentifikasi:
- Sufiks URI resource produk yang kebijakan perekaman transaksinya dilampirkan. Sufiks mencakup variabel pola yang disertakan dalam tanda kurung kurawal. Variabel
pola dievaluasi oleh Layanan API saat runtime. Misalnya, akhiran URI berikut
mencakup variabel pola
{id}./reserve/{id}**Dalam hal ini, Layanan API mengevaluasi akhiran URI resource sebagai
/reserveyang diikuti oleh subdirektori apa pun yang dimulai dengan ID yang ditentukan oleh penyedia API. - Resource dalam respons yang dilampirkan. Produk API dapat memiliki beberapa resource dan setiap resource dapat memiliki kebijakan perekaman transaksi yang dilampirkan ke respons dari resource tersebut.
- Kebijakan variabel ekstrak yang memungkinkan kebijakan perekaman transaksi mengekstrak konten dari pesan respons untuk parameter transaksi yang ingin Anda ambil.
Anda menambahkan atribut kebijakan perekaman transaksi ke produk API dengan mengirimkan permintaan PUT
ke Management API
https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id}
(dan bukan ke Monetization API).
Menentukan kriteria keberhasilan transaksi menggunakan API
Anda dapat menentukan kriteria keberhasilan transaksi untuk menentukan kapan transaksi berhasil (untuk tujuan penagihan). Transaksi yang tidak berhasil (yaitu, memenuhi kriteria dalam ekspresi) dicatat, tetapi paket tarif tidak diterapkan padanya. Untuk contoh cara menetapkan kriteria keberhasilan transaksi, lihat Contoh cara menetapkan kriteria keberhasilan transaksi dalam kebijakan perekaman transaksi.
Anda menentukan kriteria keberhasilan transaksi sebagai atribut produk API. Lakukan ini dengan
mengirimkan permintaan PUT ke Management API
https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id}
(dan bukan ke Monetization API).
Misalnya, dalam permintaan berikut, transaksi berhasil jika nilai
txProviderStatus adalah success (spesifikasi terkait kriteria keberhasilan transaksi
ditandai).
$ curl -H "Content-Type: application/json" -X PUT -d \
'{
"apiResources": [
"/reserve/{id}**"
],
"approvalType": "auto",
"attributes": [
{
"name": "MINT_TRANSACTION_SUCCESS_CRITERIA",
"value": "txProviderStatus == 'OK'"
}
],
"description": "Payment",
"displayName": "Payment",
"environments": [
"dev"
],
"name": "payment",
"proxies": [],
"scopes": [
""
]
}' \
"https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \
-u email:password
Menentukan atribut kustom menggunakan API
Anda dapat menentukan atribut kustom untuk produk API yang menjadi dasar biaya paket tarif. Misalnya, jika Anda menyiapkan paket kartu tarif, tempat Anda menagih developer untuk setiap transaksi, Anda dapat menetapkan tarif untuk paket berdasarkan atribut kustom seperti jumlah byte yang ditransmisikan dalam transaksi. Saat membuat paket tarif, Anda dapat menentukan satu atau beberapa atribut kustom yang akan menjadi dasar tarif paket Anda. Namun, setiap produk tertentu dalam paket tarif hanya dapat memiliki satu atribut kustom yang menjadi dasar tarif untuk paket tersebut.
Anda menentukan atribut kustom sebagai atribut produk API. Lakukan ini dengan mengirimkan permintaan PUT
ke Management API
https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/{apiproduct_Id}
(dan bukan ke Monetization API).
Untuk setiap atribut kustom yang Anda tambahkan ke produk API, Anda perlu menentukan nama dan nilai atribut. Nama harus dalam bentuk MINT_CUSTOM_ATTRIBUTE_{num}, dengan
{num} adalah bilangan bulat.
Misalnya, permintaan berikut menentukan tiga atribut kustom.
$ curl -H "Content-Type: application/json" -X PUT -d \ '{ "apiResources": [ "/reserve/{id}**", "/charge/{id}**" ], "approvalType": "auto", "attributes": [ { "name": "MINT_CUSTOM_ATTRIBUTE_1", "value": "test1" }, { "name": "MINT_CUSTOM_ATTRIBUTE_2", "value": "test2" } ], "name": "payment", "proxies": [], "scopes": [ "" ] }' \ "https://api.enterprise.apigee.com/v1/organizations/{org_name}/apiproducts/payment" \ -u email:password
Contoh menetapkan kriteria keberhasilan transaksi dalam kebijakan perekaman transaksi
Tabel berikut memberikan contoh transaksi yang berhasil dan tidak berhasil, berdasarkan
ekspresi kriteria keberhasilan transaksi dan nilai txProviderStatus yang ditampilkan
oleh proxy API. txProviderStatus adalah variabel internal yang digunakan monetisasi
untuk menentukan keberhasilan transaksi.
| Ekspresi kriteria keberhasilan | Ekspresi valid? | Nilai txProviderStatus dari proxy API | Hasil evaluasi |
|---|---|---|---|
null |
true | "200" |
false |
"" |
false | "200" |
false |
" " |
false | "200" |
false |
"sdfsdfsdf" |
false | "200" |
false |
"txProviderStatus =='100'" |
true | "200" |
false |
"txProviderStatus =='200'" |
true | "200" |
true |
"true" |
true | "200" |
true |
"txProviderStatus=='OK' OR |
true | "OK" |
true |
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" |
true | "OK" |
true |
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" |
true | "Not Found" |
true |
"txProviderStatus matches '(OK)|(Not Found)|(Bad Request)'" |
true | "Bad Request" |
true |
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
true | "Bad Request" |
true |
"(txProviderStatus?:'') matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
true | null |
false |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
true | "bad request" |
true |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
true | "Redirect" |
false |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
true | "heeeelllooo" |
false |
"txProviderStatus matches '(?i)(OK)|(Not Found)|(Bad Request)'" |
true | null |
false |
"txProviderStatus == 100" |
true | "200" |
false |