Pengantar produk API

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Lihat 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 bagi developer aplikasi untuk digunakan. Anda dapat menganggap produk API sebagai lini produk Anda.

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

Produk API adalah mekanisme utama untuk kontrol akses ke API Anda. Dengan menentukan satu atau beberapa produk API dalam 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 kumpulan 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 menggabungkan sejumlah operasi yang berisi pemetaan resource untuk memungkinkan developer mengintegrasikan peta dengan mudah ke dalam aplikasi mereka.

Selain itu, Anda dapat menggunakan produk API untuk menentukan tingkat harga berdasarkan kriteria 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: Baca dan perbarui
  • Gratis: Hanya baca

Atau kombinasi apa pun dari hal di atas:

  • Premium Ekstra: 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: Baca 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 mencakup:

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 Tergantung Hanya diperlukan jika Anda menginstal dan berencana menggunakan Apigee Adapter for Envoy.
Jalur resource Wajib Setiap grup operasi harus menentukan satu atau beberapa jalur resource. Jalur resource dalam operasi membatasi akses ke resource tertentu pada proxy API. (Jalur resource adalah bagian dari URL permintaan proxy API yang muncul setelah basepath 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 HTTP GET dan POST 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 di runtime sebagai variabel alur dengan awalan apiproduct.operation.attributes.

Kunci API

Saat Anda mendaftarkan aplikasi developer di organisasi Anda, aplikasi tersebut harus dikaitkan dengan setidaknya satu produk API. Sebagai hasil dari penyandingan aplikasi dengan satu atau beberapa produk API, Apigee menetapkan kunci konsumen unik untuk aplikasi tersebut. 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 meneruskan kunci konsumen dalam permintaan dengan salah satu cara berikut:

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

Penerapan kunci API tidak terjadi secara otomatis. Baik menggunakan kunci konsumen atau token OAuth sebagai kredensial permintaan, proxy API 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 penerapan kredensial di Proxy API, pemanggil mana pun dapat memanggil API Anda.

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

  1. Mendapatkan 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. Mengambil 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, tidak terlampaui.
  5. Pastikan kunci konsumen tidak habis masa berlakunya atau dicabut, pastikan aplikasi tidak dicabut, dan pastikan developer aplikasi aktif.

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

Intinya, Apigee otomatis membuat kunci konsumen, tetapi penerbit 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 mana pun yang menambahkan produk API. Untuk 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 menggabungkan 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 suatu produk populer dan menerima banyak permintaan 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 secara otomatis menerapkan kuota. Ini hanyalah batas default yang dapat dirujuk dalam kebijakan kuota. Berikut beberapa keuntungan menetapkan kuota pada produk agar dirujuk oleh kebijakan kuota:

  • Gunakan Kebijakan kuota untuk menerapkan setelan 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 di token akses yang terkait dengan produk. Untuk mengetahui informasi selengkapnya tentang cara menggunakan cakupan dengan kebijakan OAuth Apigee, lihat Bekerja dengan 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 Anda, 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 Anda, 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 Anda.

    Untuk menyediakan produk API Private atau Internal only 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 Private atau Internal only, produk API akan dihapus dari aplikasi dan harus ditambahkan kembali secara manual oleh administrator portal.