> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wappfy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Batas Laju

> Kebijakan pembatasan laju API dan cara menangani error batas laju.

# Batas Laju

Wappfy API menerapkan batas laju untuk memastikan penggunaan yang adil dan stabilitas platform.

## Batas default

| Cakupan                    | Batas          | Jendela Waktu |
| -------------------------- | -------------- | ------------- |
| Per pengguna               | 100 permintaan | 1 menit       |
| Per IP (tanpa autentikasi) | 20 permintaan  | 1 menit       |

## Header batas laju

Setiap respons menyertakan informasi batas laju:

```http theme={null}
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1707580800
```

| Header                  | Deskripsi                                                     |
| ----------------------- | ------------------------------------------------------------- |
| `X-RateLimit-Limit`     | Jumlah permintaan maksimum yang diizinkan dalam jendela waktu |
| `X-RateLimit-Remaining` | Sisa permintaan dalam jendela waktu saat ini                  |
| `X-RateLimit-Reset`     | Timestamp Unix saat jendela waktu direset                     |

## Menangani batas laju

Ketika Anda melebihi batas, Anda akan menerima respons `429`:

```json theme={null}
{
  "success": false,
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Too many requests, please try again later"
  }
}
```

### Praktik terbaik

<AccordionGroup>
  <Accordion title="Terapkan exponential backoff">
    Saat menerima 429, tunggu dan coba lagi dengan jeda yang meningkat: 1 detik, 2 detik, 4 detik, 8 detik...
  </Accordion>

  <Accordion title="Gunakan header Reset">
    Periksa `X-RateLimit-Reset` untuk mengetahui kapan tepatnya Anda dapat melanjutkan.
  </Accordion>

  <Accordion title="Kelompokkan operasi jika memungkinkan">
    Kirim pesan dengan jeda yang wajar di antaranya daripada mengirim secara beruntun.
  </Accordion>

  <Accordion title="Cache respons">
    Hindari mengambil ulang data yang belum berubah (misalnya, detail instance, info kontak).
  </Accordion>
</AccordionGroup>
