# Batas permintaan, kirim ulang yang aman, dan fitur paket.

Batas melindungi nomor WhatsApp Anda dan layanan untuk semua bisnis. Saat batas tercapai, API menjawab 429 dengan header `Retry-After` (detik).

Sumber: https://klikflow.id/docs/api/batas-dan-paket

## Batas API v2

- Permintaan per menit, per kunci live: sesuai paket (bawaan 300).
- Pesan per hari, per bisnis untuk semua kunci live: sesuai paket (bawaan 5.000). Dihitung ulang tengah malam waktu bisnis Anda (zona waktu di Pengaturan › Profil bisnis).
- Chat WhatsApp (scan QR) ke nomor baru: 50 per kunci per hari.
- Kunci tes: 60 permintaan per menit dan 100 pesan per hari, terpisah dari kuota paket.
- Batas paket Anda tampil di Pengaturan › API & Webhook.

## Header batas

Setiap jawaban API v2 membawa `RateLimit-Limit`, `RateLimit-Remaining`, dan `RateLimit-Reset` (detik sampai batas per menit dibuka lagi). Jawaban 429 menambah `Retry-After`: untuk batas harian, nilainya detik sampai tengah malam waktu bisnis.

## Kirim ulang yang aman (Idempotency-Key)

Kirim header `Idempotency-Key` (misalnya UUID baru per pesan) di setiap `POST` dan `PATCH` API v2. Kunci disimpan 24 jam per Kunci API.

- Ulangan dengan kunci dan isi yang sama mendapat jawaban pertama lagi dengan header `Idempotency-Replayed: true`; pesan tidak terkirim dua kali.
- Kunci yang sama dengan isi berbeda ditolak `idempotency_conflict` (409).
- Selama permintaan pertama masih diproses, ulangan mendapat `request_in_progress` (409) dengan `Retry-After: 2`.
- Jawaban 5xx, 429, dan `request_in_progress` tidak disimpan, jadi ulangan dengan kunci yang sama diproses lagi.

## Kapan mengirim ulang

- Kirim ulang hanya setelah 429 (tunggu `Retry-After`), 5xx, atau koneksi terputus, dengan Idempotency-Key yang sama.
- Jangan kirim ulang setelah 4xx selain 429: perbaiki permintaannya dulu.
- Sebutkan `request_id` (juga di header `Request-Id`) saat menghubungi dukungan Klik Flow. Cari permintaannya di Pengaturan › API & Webhook › Log permintaan.

## Fitur paket

Kunci live API v2 butuh paket dengan fitur API; kunci tes bisa dipakai di semua paket. Nomor WhatsApp yang melebihi kuota paket dijeda dan kirimannya ditolak `channel_paused`.
