Anda sedang melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Apa itu webhook?
webhook menentukan pengendali callback HTTP yang dipicu oleh peristiwa. Anda dapat membuat webhook dan mengonfigurasinya untuk menangani notifikasi peristiwa, sebagai alternatif untuk menggunakan template notifikasi monetisasi, seperti yang dijelaskan dalam Menyiapkan notifikasi menggunakan template notifikasi.
Untuk menyiapkan notifikasi menggunakan webhook, selesaikan langkah-langkah berikut menggunakan UI Pengelolaan Edge, atau Management and Monetization API:
- Tambahkan webhook yang menentukan pengendali callback untuk peristiwa notifikasi menggunakan UI atau API.
- Siapkan handler callback.
- Siapkan notifikasi untuk paket tarif yang dapat disesuaikan menggunakan UI atau API.
Mengelola webhook
Tambahkan dan kelola webhook yang menentukan pengendali callback untuk peristiwa notifikasi menggunakan UI atau API.
Mengelola webhook menggunakan UI
Tambahkan dan kelola webhook yang menentukan pengendali callback untuk peristiwa notifikasi menggunakan UI, seperti yang dijelaskan di bagian berikut.
- Menjelajahi halaman Webhook
- Menambahkan webhook menggunakan UI
- Mengedit webhook menggunakan UI
- Menghapus webhook menggunakan UI
Menjelajahi halaman Webhook
Akses halaman Webhook, seperti yang dijelaskan di bawah ini.
Edge
Untuk mengakses halaman Webhook menggunakan UI Edge:
- Login ke apigee.com/edge.
- Pilih Publikasi > Monetisasi > Webhook di menu navigasi sebelah kiri.
Halaman Webhook ditampilkan.
Seperti yang disorot dalam gambar, halaman Webhook memungkinkan Anda untuk:
- Lihat detail untuk webhook yang ada.
- Tambahkan webhook.
- Aktifkan atau nonaktifkan, edit, atau hapus webhook.
- Telusuri daftar webhook.
Edge Klasik (Private Cloud)
Untuk mengakses halaman Webhook menggunakan UI Edge Klasik:
- Login ke
http://ms-ip:9000
, dengan ms-ip adalah alamat IP atau nama DNS node Server Pengelolaan. Pilih Admin > Webhook.
Halaman Webhook akan ditampilkan.
Halaman Webhook memungkinkan Anda untuk:
- Lihat detail untuk webhook yang ada.
- Tambahkan webhook.
- Aktifkan atau nonaktifkan, edit, atau hapus webhook.
- Telusuri daftar webhook.
Menambahkan webhook menggunakan UI
Untuk menambahkan webhook menggunakan UI:
- Akses halaman Webhook.
- Klik + Webhook.
- Masukkan informasi berikut (semua kolom wajib diisi).
Kolom Deskripsi Name Nama webhook. URL URL handler callback yang akan dipanggil saat notifikasi peristiwa dipicu. Lihat Menyiapkan handler callback. - Klik Save.
Webhook ditambahkan ke daftar dan diaktifkan secara default.
Mengedit webhook menggunakan UI
Untuk mengedit webhook menggunakan UI:
- Akses halaman Webhook.
- Posisikan kursor ke webhook yang ingin Anda edit, lalu klik
di menu tindakan.
- Edit kolom webhook, sesuai kebutuhan.
- Klik Update Webhook.
Mengaktifkan atau menonaktifkan webhook menggunakan UI
Untuk mengaktifkan atau menonaktifkan webhook menggunakan UI:
- Akses halaman Webhook.
- Posisikan kursor di atas webhook dan alihkan tombol status untuk mengaktifkan atau menonaktifkannya.
Menghapus webhook menggunakan UI
Untuk menghapus webhook menggunakan UI:
- Akses halaman Webhook.
- Posisikan kursor ke webhook yang ingin Anda hapus, lalu klik
.
Webhook akan dihapus dari daftar.
Mengelola webhook menggunakan API
Tambahkan dan kelola webhook menggunakan API seperti yang dijelaskan di bagian berikut.
- Melihat semua webhook menggunakan API
- Melihat webhook menggunakan API
- Menambahkan webhook menggunakan API
- Mengedit webhook menggunakan API
- Menghapus webhook menggunakan API
Melihat semua webhook menggunakan API
Lihat semua webhook dengan mengeluarkan permintaan GET ke /mint/organizations/{org_name}/webhooks
.
Contoh:
curl -X GET "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks" \ -H "Content-Type: application/json " \ -u email:password
Berikut ini contoh respons yang ditampilkan:
{ "totalRecords": 2, "webhooks": [ { "created": 1460162656342, "enabled": false, "id": "21844a37-d26d-476c-93ed-38f3a4b24691", "name": "webhook1", "postUrl": "http://mycompany.com/callbackhandler1", "updated": 1460162656342, "updatedBy": "joe@example.com" }, { "created": 1460138724352, "createdBy": "joe@example.com", "enabled": true, "id": "a39ca777-1861-49cf-a397-c9e92ab3c09f", "name": "webhook2", "postUrl": "http://mycompany.com/callbackhandler2", "updated": 1460138724352, "updatedBy": "joe@example.com" } ] }
Melihat webhook menggunakan API
Lihat satu webhook dengan mengeluarkan permintaan GET ke /mint/organizations/{org_name}/webhooks/{webhook_id}
.
Contoh:
curl -X GET "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/21844a37-d26d-476c-93ed-38f3a4b24691" \ -H "Content-Type: application/json " \ -u email:password
Berikut ini contoh responsnya:
{ "created": 1460162656342, "enabled": false, "id": "21844a37-d26d-476c-93ed-38f3a4b24691", "name": "webhook1", "postUrl": "http://mycompany.com/callbackhandler1", "updated": 1460162656342, "updatedBy": "joe@example.com" }
Menambahkan webhook menggunakan API
Tambahkan webhook dengan mengeluarkan permintaan POST ke /mint/organizations/{org_name}/webhooks
.
Anda harus meneruskan nama webhook dan URL handler callback yang akan dipanggil saat notifikasi peristiwa dipicu.
Misalnya, skrip berikut membuat webhook bernama webhook3
dan menetapkan callbackhandler3
ke webhook:
curl -X POST "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks" -H "Content-Type: application/json " -d '{ "name": "webhook3", "postURL": "http://mycompany.com/callbackhandler3" }' \ -u email:password
Berikut ini contoh responsnya:
{ "created": 1460385534555, "createdBy": "joe@example.com", "enabled": false, "id": "0a07eb1f-f485-4539-8beb-01be449699b3", "name": "webhook3", "orgId": "myorg", "postUrl": "http://mycompany.com/callbackhandler3", "updated": 1460385534555, "updatedBy": "joe@example.com" }
Mengedit webhook menggunakan API
Edit webhook dengan mengeluarkan permintaan PUT ke
/mint/organizations/{org_name}/webhooks/{webhook_id}
. Teruskan update dalam isi
permintaan.
Misalnya, kode berikut akan mengupdate handler callback yang terkait dengan webhook1
:
curl -X PUT "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/0a07eb1f-f485-4539-8beb-01be449699b3" \ -H "Content-Type: application/json " \ -d '{ "postURL": "http://mycompany.com/callbackhandler4" }' \ -u email:password
Berikut ini contoh responsnya:
{ "created": 1460385534555, "enabled": false, "id": "0a07eb1f-f485-4539-8beb-01be449699b3", "name": "webhook3", "orgId": "myorg", "postUrl": "http://mycompany.com/callbackhandler4", "updated": 1460385534555, "updatedBy": "joe@example.com" }
Mengaktifkan atau menonaktifkan webhook menggunakan API
Aktifkan atau nonaktifkan webhook dengan mengeluarkan permintaan POST ke
/mint/organizations/{org_name}/webhooks/{webhook_id}
, seperti yang Anda lakukan saat mengupdate webhook,
dan tetapkan atribut yang diaktifkan dalam isi permintaan ke true atau false. Jika dinonaktifkan, webhook tidak akan terpicu saat terjadi peristiwa.
Misalnya, kode berikut akan mengaktifkan webhook3
:
curl -X POST "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/0a07eb1f-f485-4539-8beb-01be449699b3" \ -H "Content-Type: application/json " \ -d '{ "enabled": "true" }' \ -u email:password
Berikut ini contoh responsnya:
{ "created": 1460385534555, "enabled": true, "id": "0a07eb1f-f485-4539-8beb-01be449699b3", "name": "webhook3", "orgId": "myorg", "postUrl": "http://mycompany.com/callbackhandler4", "updated": 1460385534555, "updatedBy": "joe@example.com" }
Menghapus webhook menggunakan API
Hapus webhook dengan mengeluarkan permintaan DELETE ke
/mint/organizations/{org_name}/webhooks/{webhook_id}
.
Untuk menentukan apakah akan memaksa penghapusan webhook jika ada proses yang sedang berlangsung, tetapkan parameter kueri forceDelete
ke true
atau false
. Parameter kueri forceDelete
diaktifkan (true
)
secara default.
Misalnya, perintah berikut akan menghapus webhook3
:
curl -X DELETE "https://api.enterprise.apigee.com/v1/mint/organizations/myorg/webhooks/21844a37-d26d-476c-93ed-38f3a4b24691" \ -H "Content-Type: application/json " \ -u email:password
Menyiapkan handler callback
Berikut ini format permintaan JSON yang dikirim ke pengendali callback yang ditentukan oleh webhook saat notifikasi peristiwa dipicu. Anda harus memastikan bahwa handler callback memproses permintaan dengan tepat.
{ "orgName": "{org_id}", "developerEmail": "{dev_email}", "developerFirstName": "{first_name}", "developerLastName": "{last_name}", "companyName": "{company_name}", "applicationName": "{app_name}", "packageName": "{api_package_name}", "packageId": "{api_package_id}", "ratePlanId": "{rateplan_id}", "ratePlanName": "{rateplan_name}", "ratePlanType": "{rateplan_type}", "developerRatePlanQuotaTarget": {quota_target}, "quotaPercentUsed": {percentage_quota_used}, "ratePlanStartDate": {rateplan_startdate}, "ratePlanEndDate": {rateplan_enddate}, "nextBillingCycleStartDate": {next_billing_cycle_startdate}, "products": ["{api_product_name}","{api_product_name}"], "developerCustomAttributes": [], "triggerTime": {trigger_time}, "triggerReason": "{trigger_reason}", "developerQuotaResetDate": "{devquota_resetdate}" }
Menyiapkan notifikasi untuk rencana tarif yang dapat disesuaikan
Siapkan notifikasi menggunakan webhook untuk paket tarif yang dapat disesuaikan menggunakan UI atau API.
Menyiapkan notifikasi untuk rencana tarif yang dapat disesuaikan menggunakan UI
Siapkan notifikasi menggunakan webhook untuk paket tarif yang dapat disesuaikan menggunakan UI, seperti yang dijelaskan di bawah.
Akses dialog Notifikasi untuk paket tarif yang dapat disesuaikan
Akses dialog Notifikasi untuk paket tarif yang dapat disesuaikan, seperti yang dijelaskan di bawah.
Edge
Untuk mengakses dialog notifikasi menggunakan UI Edge:
- Buat dan publikasikan paket kecepatan notifikasi yang dapat disesuaikan, seperti yang dijelaskan dalam Menentukan detail paket notifikasi yang dapat disesuaikan.
- Buka halaman Paket Tarif dengan memilih Publikasikan > Monetisasi > Paket Tarif di menu navigasi sebelah kiri.
- Posisikan kursor di atas rencana Tingkat notifikasi yang dapat disesuaikan yang dipublikasikan untuk menampilkan tindakan.
- Klik +Beri tahu.
Dialog Notifikasi akan ditampilkan.
Catatan: Paket tarif harus dipublikasikan agar tindakan +Beri tahu ditampilkan.
Edge Klasik (Private Cloud)
Untuk mengakses halaman Notifikasi:
- Buat paket tarif notifikasi yang dapat disesuaikan, seperti yang dijelaskan dalam Menentukan detail paket notifikasi yang dapat disesuaikan.
- Pilih Publish > Packages untuk melihat paket tarif.
- Klik +Beri tahu di kolom Tindakan untuk paket tarif.
Dialog Notifikasi akan ditampilkan.
Menambahkan notifikasi untuk paket tarif yang dapat disesuaikan menggunakan UI
Untuk menambahkan notifikasi untuk rencana tarif yang dapat disesuaikan, UI-nya:
- Akses dialog Notifikasi.
- Tetapkan kondisi notifikasi di bagian Interval Notifikasi dengan menentukan persentase dari jumlah transaksi target saat Anda ingin notifikasi dipicu. Khususnya:
- Untuk menetapkan persentase yang tepat, masukkan persentase di kolom At/From % dan biarkan kolom To % kosong.
- Untuk menetapkan rentang persentase, masukkan persentase start dan end masing-masing di kolom At/From % dan To %, serta nilai inkremental di kolom Step %. Secara default, notifikasi dikirim dengan kelipatan 10% dalam rentang yang ditentukan.
Kolom
Notify At
diperbarui untuk mencerminkan setiap persentase jumlah transaksi yang ditargetkan yang akan memicu peristiwa. - Untuk menetapkan kondisi notifikasi tambahan, klik +Add dan ulangi langkah 4.
- Tetapkan tindakan notifikasi di bagian Webhooks dengan memilih satu atau beberapa webhook untuk mengelola penanganan callback saat notifikasi dipicu.
- Klik Buat Notifikasi.
Mengedit notifikasi untuk rencana tarif yang dapat disesuaikan menggunakan UI
Guna mengedit notifikasi untuk rencana tarif yang dapat disesuaikan, UI-nya:
- Akses dialog Notifikasi.
- Klik +Beri tahu di kolom Tindakan untuk paket tarif.
- Klik Edit.
- Ubah nilainya, sesuai kebutuhan.
- Klik Simpan Notifikasi.
Menghapus notifikasi untuk paket tarif yang dapat disesuaikan menggunakan UI
Untuk menghapus kondisi dan tindakan notifikasi:
- Akses dialog Notifikasi.
- Klik +Beri tahu di kolom Tindakan untuk paket tarif.
- Klik Hapus Notifikasi.
Menyiapkan notifikasi untuk rencana tarif yang dapat disesuaikan menggunakan API
Guna menyiapkan notifikasi untuk paket tarif yang dapat disesuaikan menggunakan API, gunakan prosedur yang dijelaskan dalam Mengelola kondisi dan tindakan notifikasi menggunakan API lalu gunakan atribut yang dijelaskan di bagian ini.
Untuk menyiapkan kondisi notifikasi (notificationCondition
), gunakan nilai atribut berikut. Untuk informasi selengkapnya, lihat Properti konfigurasi untuk kondisi notifikasi.
Atribut | Nilai |
---|---|
RATEPLAN |
ID paket tarif notifikasi yang dapat disesuaikan. |
PUBLISHED |
TRUE untuk menunjukkan bahwa rencana tarif notifikasi yang dapat disesuaikan harus dipublikasikan. |
UsageTarget |
Persentase jumlah transaksi yang ditargetkan saat Anda ingin notifikasi dipicu.
Atribut ini memungkinkan Anda memberi tahu developer saat mereka mendekati atau telah mencapai jumlah transaksi target untuk paket kartu tarif notifikasi yang dapat disesuaikan yang telah mereka beli. Misalnya, jika developer telah membeli paket tarif notifikasi yang dapat disesuaikan dan jumlah target transaksi untuk developer telah ditetapkan ke 1.000, Anda dapat memberi tahu mereka saat mereka mencapai 800 transaksi (80% dari jumlah target transaksi), 1.000 transaksi (100%), atau 1.500 transaksi (150%).
|
Untuk menyiapkan tindakan notifikasi, di bagian actions
, tetapkan nilai berikut. Untuk
informasi selengkapnya, lihat Properti
konfigurasi untuk tindakan notifikasi.
Atribut | Nilai |
---|---|
actionAttribute |
WEBHOOK untuk memicu webhook. |
value |
ID webhook yang Anda tentukan di bagian sebelumnya, Membuat webhook menggunakan API. |
Berikut ini contoh cara membuat kondisi notifikasi yang memicu webhook saat persentase jumlah transaksi target mencapai 80%, 90%, 100%, 110%, dan 120%.
{ "notificationCondition": [ { "attribute": "RATEPLAN", "value": "123456" }, { "attribute": "PUBLISHED", "value": "TRUE" }, { "attribute": "UsageTarget", "value": "%= 80 to 120 by 10" } } ], "actions": [{ "actionAttribute": "WEBHOOK", "value": "b0d77596-142e-4606-ae2d-f55c3c6bfebe", }] }
Untuk informasi tentang cara melihat, memperbarui, dan menghapus kondisi dan tindakan notifikasi, lihat:
- Melihat kondisi dan tindakan notifikasi menggunakan API
- Mengedit kondisi dan tindakan notifikasi menggunakan API
- Menghapus kondisi dan tindakan notifikasi menggunakan API
Kode respons webhook
Berikut rangkuman kode respons webhook dan cara kode tersebut ditafsirkan oleh sistem.
Kode Respons | Deskripsi |
---|---|
2xx |
Berhasil |
5xx |
Permintaan gagal. Sistem akan mencoba kembali permintaan hingga tiga kali dalam interval 5 menit. Catatan: Waktu tunggu baca dan koneksi untuk permintaan webhook masing-masing adalah 3 detik, yang dapat mengakibatkan permintaan gagal. |
Other response |
Permintaan gagal. Sistem tidak akan mencoba lagi permintaan tersebut. |