Basis menyediakan REST API berbasis JSON untuk integrasi dengan aplikasi lain, otomatisasi entri data, dan membangun pelaporan khusus. Semua request dan response menggunakan application/json, dan setiap response dibungkus dalam satu envelope standar.
Referensi interaktif: API ini dilengkapi Swagger UI di
/swaggerdan ReDoc di/redoc, yang dihasilkan dari definisi OpenAPI live. Keduanya mendokumentasikan setiap endpoint, request body, dan skema response — referensi paling otoritatif. Bagian di bawah mencakup hal-hal penting untuk memulai.
API memakai autentikasi JWT Bearer. Anda login sekali untuk memperoleh access token, lalu menyertakan token tersebut pada setiap request berikutnya.
POST /api/Users/login
Content-Type: application/json
{
"credential": "anda@contoh.com",
"password": "kata-sandi-anda"
}
credential menerima email atau username. Response sukses mengembalikan access token:
{
"success": true,
"message": "Success",
"data": {
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expiresIn": 3600,
"user": { "id": "user-uuid", "email": "anda@contoh.com", "displayName": "Anda" }
}
}
Sertakan access token pada header Authorization di setiap request:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Token kedaluwarsa setelah expiresIn detik; login kembali untuk memperoleh token baru.
| Edisi | Base URL |
|---|---|
| Server (self-hosted) | https://domain-anda.com/api |
| Cloud | https://tenant-anda.basis-apps.net/api |
Sebagian besar sumber daya (resource) dimiliki oleh perusahaan (business) tertentu, sehingga path-nya ber-scope dengan ID perusahaan:
/api/{businessId}/{resource}
Untuk melihat daftar perusahaan yang dapat diakses akun Anda (beserta ID-nya):
GET /api/Businesses
Authorization: Bearer TOKEN_ANDA
Setiap response memakai pembungkus yang sama agar klien menangani sukses dan error secara seragam:
{
"success": true,
"message": "Success",
"data": { },
"errors": null
}
Saat gagal, success bernilai false, data bernilai null, dan errors dapat berisi pesan per-field. Endpoint daftar mengembalikan hasil berhalaman (paginated) di dalam data.
Berikut sebagian contoh; cakupan lengkapnya meliputi hampir semua dokumen dan master data aplikasi.
| Resource | Path |
|---|---|
| Pihak (pelanggan/pemasok) | /api/{businessId}/parties |
| Item | /api/{businessId}/items |
| Bagan akun | /api/{businessId}/chart-of-accounts |
| Penjualan | /api/{businessId}/sales |
| Pesanan penjualan | /api/{businessId}/sales-orders |
| Pembelian | /api/{businessId}/purchases |
| Penerimaan (kas/bank) | /api/{businessId}/receipts |
| Pembayaran | /api/{businessId}/payments |
| Jurnal | /api/{businessId}/journals |
| Laporan | /api/{businessId}/reports |
Setiap resource mengikuti konvensi REST standar:
GET /api/{businessId}/parties # daftar (paginated)
GET /api/{businessId}/parties/{id} # ambil satu
POST /api/{businessId}/parties # buat
PUT /api/{businessId}/parties/{id} # ubah
DELETE /api/{businessId}/parties/{id} # hapus
Jelajahi dan coba seluruh API secara langsung pada instalasi Anda:
https://<host-anda>/swagger — telusuri endpoint, lihat skema, dan kirim request uji ber-autentikasi.https://<host-anda>/redoc/index.html?url=/swagger/v1/swagger.json — tampilan referensi yang rapi dan mudah dibaca.https://<host-anda>/swagger/v1/swagger.json — pakai untuk menghasilkan klien bertipe untuk bahasa pilihan Anda.Untuk tenant Cloud, <host-anda> adalah subdomain Anda, mis. https://perusahaan-anda.basis-apps.net/swagger. Untuk edisi Server, gunakan domain Anda sendiri.