Batasan tarif mengontrol jumlah permintaan yang dapat Anda buat ke endpoint dalam jendela waktu tertentu. Batasan ini membantu memastikan stabilitas layanan dan melindungi sumber daya Roblox dari penyalahgunaan.
Penemuan
Ada dua cara untuk menentukan batasan tarif: dokumentasi referensi dan header respons.
Halaman dokumentasi
Batasan tarif publik dapat ditemukan di bagian Batasan untuk setiap endpoint pada halaman dokumentasinya. Lihat bagian ini untuk memahami batasan tarif yang berlaku sebelum membuat permintaan.
Header respons
Banyak respons API menyertakan header yang memberikan informasi tentang status batasan tarif Anda saat ini.
| Header | Deskripsi |
|---|---|
| x-ratelimit-limit | Jumlah total permintaan yang diizinkan dalam jendela batasan tarif. Ini mungkin mencakup beberapa nilai batasan untuk jendela waktu yang berbeda. |
| x-ratelimit-remaining | Jumlah permintaan yang masih dapat Anda buat dengan autentikasi Anda saat ini. Ketika ini mencapai 0, Anda akan menerima respons HTTP 429. |
| x-ratelimit-reset | Jumlah detik yang tersisa hingga kuota batasan tarif Anda direset ke batas penuh. |
Berikut adalah contoh header batasan tarif dalam respons API:
x-ratelimit-limit: 1000, 1000;w=60, 1000;w=60x-ratelimit-remaining: 998x-ratelimit-reset: 20
Dalam contoh ini:
- Anda memiliki 998 permintaan yang tersisa dari total batasan Anda.
- Kuota Anda akan direset dalam 20 detik.
Perilaku
Perilaku batasan tarif berbeda berdasarkan metode autentikasi dan asal permintaan, termasuk apakah Anda membuat permintaan dari dalam sebuah permainan Roblox.
Kunci API
Batasan tarif untuk kunci API diterapkan di seluruh semua kunci API per pemilik, yang bisa berupa pengguna atau grup. Batasan ini ditegakkan secara konsisten, terlepas dari tempat permintaan berasal—baik dari HttpService, aplikasi web, atau sumber lainnya.
Di dalam permainan dengan HttpService
Saat memanggil endpoint dalam permainan menggunakan HttpService, permintaan juga berkontribusi pada batas tetap 500 permintaan HTTP per menit untuk setiap server permainan Roblox. Lihat Permintaan HTTP dalam permainan untuk rincian lebih lanjut.
OAuth 2.0
Batasan tarif OAuth 2.0 diterapkan per token akses. Karena setiap token akses mewakili kombinasi unik pengguna dan aplikasi, setiap pengguna yang menggunakan aplikasi Anda menerima kuota batasan tarif independen mereka sendiri.
Menangani batasan tarif
Tulis kode Anda untuk mengharapkan dan menangani respons HTTP 429 (Terlalu Banyak Permintaan) akibat batasan yang terdokumentasi, pencegahan penyalahgunaan, atau skenario beban tinggi. Ketika terbatas, periksa header respons retry-after sebagai panduan untuk kapan sebaiknya mencoba lagi. Jika tidak ada header respons retry-after yang ada, implementasikan strategi percobaan kembali dengan jeda eksponensial.