@php $globalApi = \App\Models\WabaPlatformSetting::rateLimit('global_api_per_minute', 60); $globalMessage = \App\Models\WabaPlatformSetting::rateLimit('global_message_per_minute', 30); $burstEnabled = \App\Models\WabaPlatformSetting::rateLimit('burst_protection_enabled', true); @endphp
Konfigurasi rate limiting per tipe paket
Pengaturan default yang berlaku untuk semua client jika tidak ada setting khusus per paket.
Menggunakan nomor WABA bersama
@foreach($settings[$groupKey] ?? [] as $setting) @if($setting['key'] === 'shared_api_per_minute')Nomor WABA khusus, dikelola platform
@foreach($settings[$groupKey] ?? [] as $setting) @if($setting['key'] === 'dedicated_api_per_minute')Client kelola sendiri via OAuth
@foreach($settings[$groupKey] ?? [] as $setting) @if($setting['key'] === 'self_service_api_per_minute')Mencegah client mengirim request secara massal dalam waktu singkat (flood protection).
Jika diaktifkan dengan setting di atas, client yang mengirim lebih dari {{ \App\Models\WabaPlatformSetting::rateLimit('max_burst_requests', 10) }} request dalam {{ \App\Models\WabaPlatformSetting::rateLimit('burst_window_seconds', 5) }} detik akan di-throttle sementara.
| Paket | API / Menit | Pesan / Menit | Tier |
|---|---|---|---|
| Shared Paket Shared | {{ \App\Models\WabaPlatformSetting::rateLimit('shared_api_per_minute', 30) }} | {{ \App\Models\WabaPlatformSetting::rateLimit('shared_message_per_minute', 20) }} | Basic |
| Dedicated Paket Dedicated | {{ \App\Models\WabaPlatformSetting::rateLimit('dedicated_api_per_minute', 100) }} | {{ \App\Models\WabaPlatformSetting::rateLimit('dedicated_message_per_minute', 50) }} | Standard |
| Self Service Paket Self Service | {{ \App\Models\WabaPlatformSetting::rateLimit('self_service_api_per_minute', 200) }} | {{ \App\Models\WabaPlatformSetting::rateLimit('self_service_message_per_minute', 100) }} | Premium |