Ringkasan
Core Accounting adalah aplikasi accounting engine multi-tenant (multi-company). Setiap company (tenant) memiliki data yang terisolasi penuh — Chart of Accounts, jurnal, dan laporan satu tenant tidak pernah bercampur dengan tenant lain. Dokumen ini menjelaskan cara mengakses data tenant Anda melalui webhook publik, tanpa perlu login ke aplikasi.
Autentikasi
Setiap tenant memiliki API key unik yang di-generate otomatis saat company disetujui (approved) oleh Super Admin. API key dapat dilihat dan di-generate ulang oleh Admin tenant melalui menu Master → Company setelah login.
API key dapat dikirim dengan salah satu dari dua cara berikut:
- Sebagai query parameter:
?api_key=YOUR_API_KEY - Sebagai HTTP header:
X-API-KEY: YOUR_API_KEY(direkomendasikan, lebih aman karena tidak tercatat di access log URL)
Webhook: Chart of Accounts
https://akuntansi.kiosq.id/api/webhook/coa
Mengembalikan seluruh Chart of Accounts (COA) milik satu tenant.
Parameter Query
| Nama | Wajib | Keterangan |
|---|---|---|
| tenant | Ya | Kode company/tenant, mis. MJS01. Dapat dilihat di halaman Company Profile. |
| api_key | Ya, jika tidak dikirim via header | API key milik tenant tersebut. |
Contoh Request
curl -X GET "https://akuntansi.kiosq.id/api/webhook/coa?tenant=MJS01" \
-H "X-API-KEY: YOUR_API_KEY"
Contoh Response - Berhasil (200)
{
"success": true,
"tenant": { "code": "MJS01", "name": "PT Maju Jaya Sejahtera" },
"count": 26,
"data": [
{
"id": 1,
"code": "1000",
"name": "ASSET",
"account_type": "ASSET",
"normal_balance": "DEBIT",
"parent_code": null,
"is_active": true
},
{
"id": 2,
"code": "1100",
"name": "Cash",
"account_type": "ASSET",
"normal_balance": "DEBIT",
"parent_code": "1000",
"is_active": true
}
],
"generated_at": "2026-06-30T10:15:00+07:00"
}
Respons Error
| HTTP Status | Penyebab |
|---|---|
| 400 | Parameter tenant atau api_key tidak dikirim. |
| 401 | API key salah / tidak cocok dengan tenant. |
| 403 | Tenant ditemukan tapi statusnya bukan APPROVED (mis. PENDING, SUSPENDED). |
| 404 | Kode tenant tidak ditemukan. |
{
"success": false,
"message": "API key tidak valid."
}
Catatan Keamanan
- Setiap tenant hanya bisa mengakses datanya sendiri — API key terikat ke satu company (tidak ada cross-tenant access).
- Selalu gunakan HTTPS di lingkungan production agar API key tidak terekspos di jaringan.
- Endpoint ini read-only (GET) — tidak ada operasi tulis/ubah data melalui webhook.