Pengantar produk API

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Baca dokumentasi Apigee Edge.

Bagian berikut memperkenalkan produk API dan konsep terkait seperti kuota dan kunci API.

Apa yang dimaksud dengan produk API?

Sebagai penyedia API, Anda membuat produk API untuk memaketkan API dan menyediakannya untuk digunakan oleh developer aplikasi. Anda dapat menganggap produk API sebagai lini produk Anda.

Secara khusus, produk API memadukan satu operasi atau lebih. Operasi menentukan proxy API dan jalur resource yang dapat diakses pada proxy tersebut. Operasi yang dilakukan juga dapat membatasi akses berdasarkan metode HTTP dan kuota.

Produk API adalah mekanisme sentral untuk kontrol akses ke API Anda. Dengan menentukan satu atau beberapa produk API di aplikasi developer, Anda dapat membatasi akses ke proxy dengan kunci API. Di Apigee, kunci API disediakan, bukan untuk API itu sendiri, tetapi untuk produk API. Dengan kata lain, kunci API disediakan untuk paket operasi yang menentukan lini produk atau paket layanan tertentu.

Kasus penggunaan umum

Anda dapat membuat beberapa produk API yang berisi operasi untuk mengatasi kasus penggunaan tertentu. Misalnya, Anda dapat membuat produk API yang memaketkan sejumlah operasi yang berisi resource pemetaan agar developer dapat dengan mudah mengintegrasikan peta ke dalam aplikasi mereka.

Selain itu, Anda dapat menggunakan produk API untuk menentukan kriteria berbasis tingkat harga seperti:

Jumlah permintaan:

  • Premium: Permintaan tidak terbatas per hari
  • Dasar: Hingga 1.000 permintaan per hari
  • Gratis: Hingga 100 permintaan per hari

Atau tingkat akses:

  • Premium: Membaca, menulis, memperbarui, dan menghapus
  • Dasar: Membaca dan memperbarui
  • Gratis: Hanya baca

Atau kombinasi dari hal-hal di atas:

  • Extra Premium: Membaca dan menulis tanpa batas per hari
  • Premium: Membaca dan menulis hingga 1.000 permintaan per hari
  • Dasar: Akses baca dan tulis hingga 100 kali per hari
  • Gratis: Membaca hingga 1.000 kali per hari
  • Gratis: Akses hanya baca dibatasi hingga 100 permintaan per hari

Persyaratan

Produk API yang merupakan bagian dari Bayar sesuai penggunaan harus menyertakan:

Operasi

Operasi adalah sekelompok atribut yang membatasi akses ke satu atau beberapa proxy API berdasarkan kriteria seperti jalur resource, metode HTTP, dan kuota. Operasi mencakup atribut berikut:

Atribut Wajib? Deskripsi
Proxy API Wajib Setiap grup operasi harus menentukan proxy API. Hanya satu proxy yang diizinkan per grup operasi.
Layanan Jarak Jauh Bergantung Hanya diperlukan jika Anda menginstal dan berencana menggunakan Adaptor Apigee untuk Envoy.
Jalur resource Wajib Setiap grup operasi harus menentukan satu atau beberapa jalur resource. Jalur resource dalam operasi membatasi akses resource tertentu di proxy API. (Jalur resource adalah bagian dari URL permintaan proxy API yang muncul setelah jalur dasar proxy.)
Metode HTTP Opsional Anda juga dapat membatasi akses ke proxy berdasarkan metode HTTP. Misalnya, jika Anda menentukan metode GET dan POST untuk grup operasi, hanya permintaan GET dan POST HTTP yang dapat mengakses proxy untuk jalur resource yang ditentukan. Jika tidak ada metode yang ditentukan, semua metode diizinkan.
Kuota Opsional Anda dapat menentukan kuota untuk grup operasi. Kuota yang ditentukan dalam grup operasi lebih diutamakan daripada kuota tingkat produk API, jika ditentukan.
Atribut khusus Opsional Atribut kustom berguna untuk metrik, pemantauan, atau kasus saat Anda ingin menyimpan informasi tambahan dengan produk API yang dapat diakses atau diambil nanti. Atribut kustom yang terkait dengan operasi ada selain atribut kustom tingkat produk API dan dapat diakses dalam runtime sebagai variabel alur dengan awalan apiproduct.operation.attributes.

Kunci API

Saat Anda mendaftarkan aplikasi developer di organisasi, aplikasi tersebut harus dikaitkan dengan setidaknya satu produk API. Sebagai hasil dari penyambungan aplikasi dengan satu atau beberapa produk API, Apigee akan menetapkan kunci konsumen unik ke aplikasi. Lihat juga Mengontrol akses ke API Anda dengan mendaftarkan aplikasi.

Kunci konsumen atau token akses berfungsi sebagai kredensial permintaan. Developer aplikasi menyematkan kunci konsumen ke dalam aplikasi, sehingga saat aplikasi membuat permintaan ke API yang dihosting oleh Apigee, aplikasi akan meneruskan kunci konsumen dalam permintaan dengan salah satu cara berikut:

  • Jika API menggunakan verifikasi kunci API, aplikasi harus meneruskan kunci konsumen secara langsung.
  • Saat API menggunakan verifikasi Token OAuth, aplikasi harus meneruskan token yang telah berasal dari kunci konsumen.

Penerapan kunci API tidak terjadi secara otomatis. Baik menggunakan kunci konsumen atau token OAuth sebagai kredensial permintaan, proxy API akan memvalidasi kredensial permintaan di proxy API Anda dengan menyertakan kebijakan VerifyAPIKey atau konfigurasi kebijakan VerifyAccessToken (lihat kebijakan OAuthv2) dalam alur yang sesuai. Jika Anda tidak menyertakan kebijakan penegakan kredensial di Proxy API, pemanggil mana pun dapat memanggil API Anda.

Untuk memverifikasi kredensial yang diteruskan dalam permintaan, Apigee melakukan langkah-langkah berikut:

  1. Dapatkan kredensial yang diteruskan dengan permintaan. Dalam kasus verifikasi token OAuth, Apigee memverifikasi bahwa token belum habis masa berlakunya, lalu mencari kunci konsumen yang digunakan untuk membuat token.
  2. Ambil daftar produk API yang telah dikaitkan dengan kunci konsumen.
  3. Pastikan bahwa Proxy API saat ini disertakan dalam Produk API, jika jalur resource saat ini (jalur URL) diaktifkan di Produk API dan, jika disertakan dalam produk, bahwa permintaan menggunakan kata kerja HTTP yang ditentukan.
  4. Pastikan kuota, jika ditentukan, belum terlampaui.
  5. Pastikan kunci konsumen belum habis masa berlakunya atau dicabut, pastikan aplikasi tidak dicabut, dan pastikan developer aplikasi aktif.

Jika semua pemeriksaan di atas lulus, verifikasi kredensial akan berhasil.

Intinya, Apigee otomatis membuat kunci konsumen, tetapi penayang API harus menerapkan pemeriksaan kunci di proxy API dengan menggunakan kebijakan yang sesuai.

Persetujuan kunci

Secara default, semua permintaan untuk mendapatkan kunci guna mengakses produk API dari aplikasi akan otomatis disetujui. Atau, Anda dapat mengonfigurasi produk API sehingga Anda harus menyetujui kunci secara manual. Setelan untuk hal ini dijelaskan dalam Mengelola produk API. Dalam hal ini, Anda harus menyetujui permintaan kunci dari aplikasi apa pun yang menambahkan produk API. Untuk mengetahui informasi selengkapnya, lihat Mengontrol akses ke API Anda dengan mendaftarkan aplikasi.

Kuota

Kuota dapat melindungi server backend Anda dari variasi traffic yang tinggi dan membedakan lini produk Anda. Misalnya, Anda dapat memaketkan resource dengan kuota tinggi sebagai produk premium, dan menggunakan paket yang sama dengan kuota yang lebih rendah sebagai produk dasar. Kuota dapat membantu melindungi server Anda agar tidak kelebihan beban jika produk populer dan menerima permintaan dalam jumlah besar dalam waktu singkat.

Anda dapat menentukan kuota yang berlaku untuk semua proxy API yang disertakan dengan produk API, atau menentukan kuota tingkat operasi. Kuota yang ditentukan dalam operasi lebih diutamakan daripada kuota yang ditetapkan di tingkat produk API.

Menetapkan batas kuota pada produk API tidak akan menerapkan kuota secara otomatis. Ini hanyalah batas default yang dapat dirujuk dalam kebijakan kuota. Berikut beberapa keuntungan menetapkan kuota pada produk untuk dirujuk oleh kebijakan kuota:

  • Gunakan Kebijakan kuota untuk menerapkan setelan yang seragam di semua proxy API dalam produk API.
  • Jika Anda mengubah setelan kuota produk API saat runtime, kebijakan Kuota akan otomatis mereferensikan setelan kuota yang diperbarui.

Untuk informasi selengkapnya, lihat referensi berikut:

Cakupan OAuth

Anda dapat menentukan cakupan OAuth sebagai daftar yang dipisahkan koma yang harus ada dalam token akses yang terkait dengan produk. Untuk informasi selengkapnya tentang cara menggunakan cakupan dengan kebijakan OAuth Apigee, lihat Menggunakan cakupan OAuth2.

Tingkat akses

Saat menentukan produk API, Anda dapat menetapkan tingkat akses berikut:

Tingkat Akses Deskripsi
Public Produk API yang tersedia untuk semua developer. Anda dapat menambahkannya ke portal developer terintegrasi atau berbasis Drupal.
Private atau Internal only Produk API yang dirancang untuk penggunaan pribadi atau internal.

Untuk portal terintegrasi, Anda dapat menambahkan produk API Private atau Internal only dan menyediakannya untuk developer aplikasi, sesuai kebutuhan.

Untuk portal developer berbasis Drupal, Anda dapat mengelola akses ke produk API Private atau Internal only di portal developer, seperti yang dijelaskan di bagian berikut:

  • Untuk portal developer Drupal 10, Anda dapat mengonfigurasi akses ke produk API Private atau Internal only di portal developer, seperti yang dijelaskan dalam Mengonfigurasi izin akses ke produk API.
  • Untuk portal developer Drupal 7, Anda tidak dapat menambahkan produk API Private atau Internal only ke portal developer.

    Agar produk API Private atau Internal only tersedia bagi developer aplikasi, Anda harus menambahkannya secara manual ke aplikasi terdaftar dari UI atau API Apigee, seperti yang dijelaskan dalam Mengontrol akses ke API Anda dengan mendaftarkan aplikasi.

    Setelah ditambahkan, developer akan melihat produk API yang terkait dengan aplikasi di portal Anda, seperti yang dijelaskan dalam Mengelola produk API di aplikasi. Jika developer aplikasi menonaktifkan akses ke produk API yang merupakan Private atau Internal only, produk API akan dihapus dari aplikasi dan harus ditambahkan kembali secara manual oleh administrator portal.