---
title: "Batasan, Versi & Rencana"
summary: "Apa yang sengaja tidak ada di API v1 dan alasannya, janji kompatibilitas versi, serta daftar rencana pengembangan berikutnya."
slug: developer-api-batasan
product: LENSIRO
source: https://lensiro.com/dokumentasi/developer-api-batasan
updated: 2026-08-23
---

# Batasan, Versi & Rencana

> Apa yang sengaja tidak ada di API v1 dan alasannya, janji kompatibilitas versi, serta daftar rencana pengembangan berikutnya.

## Yang sengaja tidak ada di v1

Bukan karena terlewat — masing-masing punya alasan.

| Tidak tersedia | Alasan |
|---|---|
| **Endpoint tulis** (buat, ubah, hapus) | Perlu rancangan tersendiri: kunci idempotensi, validasi setara aplikasi, dan pencatatan audit. Menempelkannya ke rancangan baca hanya akan menghasilkan API yang rapuh |
| **HPP, harga modal, harga supplier** | Data margin. Di dalam aplikasi pun dilindungi izin terpisah, jadi tidak pantas terbuka lewat key yang berakses penuh |
| **Resep kacamata dan rekam medis pelanggan** | Data kesehatan, kelas paling sensitif dalam sistem. Menunggu dukungan *scoped key* |
| **Pembelian, kas kecil, biaya** | Sisi pengeluaran belum diekspos. Ini item nomor satu di daftar rencana |
| **Data dokter dan komisi** | Data penggajian dan kemitraan internal |
| **Harga per cabang atau per supplier** | Ada di rencana |
| **Gambar barang, atribut Lensiro Fit** | Belum ada permintaan |
| **Riwayat pesan WhatsApp atau email pelanggan** | Data komunikasi pribadi |
| **Webhook atau notifikasi dorong** | v1 murni polling. Webhook butuh infrastruktur pengiriman ulang dan penanganan gagal kirim |
| **Scope dan pembatasan cabang pada key** | Satu key berarti akses baca penuh. Karena setiap klien punya server sendiri, pemegang key adalah pemilik datanya |

> **Kalau Anda perlu memberi akses ke pihak ketiga** yang tidak boleh melihat semua data, tunggu dukungan scoped key. Jangan memberikan key penuh Anda.

## Batas teknis

| Batas | Nilai |
|---|---|
| Request per menit per key | 60 |
| Request per menit per IP | 120 |
| Baris per halaman | default 100, maksimal 500 |
| Baris `/warehouse/items/{id}/stocks` | sampai 1000, tanpa paginasi |
| Metode HTTP | `GET` saja |

## Janji kompatibilitas

Selama masih di `/api/v1`:

- Field baru **bisa muncul kapan saja tanpa pemberitahuan.** Klien Anda harus mengabaikan field yang tidak dikenal.
- Field yang sudah ada **tidak akan** diganti nama, dihapus, atau berubah tipe.
- Nilai enum baru bisa muncul, misalnya jenis pergerakan stok baru. Tangani nilai yang tidak dikenal dengan aman, jangan sampai error.
- Perubahan yang merusak kompatibilitas akan terbit sebagai `/api/v2`, dan `/api/v1` tetap berjalan.

Yang **tidak** dijanjikan: urutan field di dalam JSON, isi cursor, dan kata-kata di `error.message`.

## Rencana pengembangan

Urutannya mengikuti permintaan yang masuk; tidak ada tanggal yang dijanjikan.

| Rencana | Isi |
|---|---|
| `GET /purchases` | Pembelian, penerimaan, dan pembayaran ke supplier — melengkapi sisi pengeluaran laporan keuangan |
| `GET /petty-cash` | Kas kecil masuk dan keluar |
| `GET /warehouse/item-prices` | Daftar harga per cabang atau per supplier |
| Status alert stok | Penanda minimum dan maksimum pada `/warehouse/stocks` |
| Scoped key | Key dengan akses terbatas per domain data dan per cabang — prasyarat untuk membuka data pelanggan yang sensitif ke pihak ketiga |
| Webhook | Notifikasi dorong saat transaksi dibuat atau diubah, supaya tidak perlu polling |
| Endpoint tulis | Misalnya pembuatan pelanggan dari CRM eksternal |

## Mengusulkan kebutuhan baru

Kalau integrasi Anda butuh data yang belum ada, sampaikan ke tim Lensiro dengan tiga hal: **data apa** yang dibutuhkan, **untuk keperluan apa**, dan **seberapa sering** akan ditarik. Menambah satu resource baru relatif ringan karena seluruh fondasinya — autentikasi, envelope, paginasi, sinkronisasi — sudah bisa dipakai ulang; yang menentukan urutan pengerjaan adalah kejelasan kebutuhannya.


---

Dokumentasi Lensiro · https://lensiro.com/dokumentasi/developer-api-batasan · diperbarui 23 Agustus 2026
