REST API untuk sistem manajemen TSA (Taman Spiritual Anak) dengan autentikasi API Key.
X-API-Key atau parameter api_key.
GET /tsa-api/pengeluaran.php - Get all
GET /tsa-api/pengeluaran.php/{id} - Get by ID
POST /tsa-api/pengeluaran.php - Create
PUT /tsa-api/pengeluaran.php/{id} - Update
DELETE /tsa-api/pengeluaran.php/{id} - Delete
Catatan: Field created_by wajib mengacu ke anggota.id dan id_pengeluaran wajib mengacu ke kategori_pengeluaran.id.
Query params (opsional): ?created_by=1&id_pengeluaran=2&from=2025-01-01&to=2025-12-31&page=1&limit=50
GET /tsa-api/kategori_pengeluaran.php - Get all
GET /tsa-api/kategori_pengeluaran.php/{id} - Get by ID
POST /tsa-api/kategori_pengeluaran.php - Create
PUT /tsa-api/kategori_pengeluaran.php/{id} - Update
DELETE /tsa-api/kategori_pengeluaran.php/{id} - Delete
POST /tsa-api/login.php
Login menggunakan nomor HP dan password dengan hashing bcrypt (kompatibel mundur dengan MD5; password lama akan otomatis dimigrasi ke bcrypt saat login sukses).
Request Body:{
"no_hp": "080000000000",
"password": "Admin@12345"
}
POST /tsa-api/logout.php - Logout dan revoke token aktif
GET /tsa-api/anggota.php - Get all anggota
GET /tsa-api/anggota.php/{id} - Get anggota by ID
POST /tsa-api/anggota.php - Create new anggota
PUT /tsa-api/anggota.php/{id} - Update anggota
DELETE /tsa-api/anggota.php/{id} - Delete anggota
Catatan: Field sosial media baru: whatsapp, tiktok, facebook, instagram, youtube. Password kini disimpan menggunakan bcrypt.
PUT /tsa-api/anggota.php/{id}/password - Ganti password (butuh old_password), simpan sebagai bcrypt.
PUT /tsa-api/anggota.php/{id}/reset_password - Reset password (khusus Super Admin), tanpa old_password, simpan sebagai bcrypt.
GET /tsa-api/jabatan.php - Get all jabatan
GET /tsa-api/jabatan.php/{id} - Get jabatan by ID
POST /tsa-api/jabatan.php - Create new jabatan
PUT /tsa-api/jabatan.php/{id} - Update jabatan
DELETE /tsa-api/jabatan.php/{id} - Delete jabatan
GET /tsa-api/status_anggota.php - Get all status anggota
GET /tsa-api/status_anggota.php/{id} - Get status anggota by ID
POST /tsa-api/status_anggota.php - Create new status anggota
PUT /tsa-api/status_anggota.php/{id} - Update status anggota
DELETE /tsa-api/status_anggota.php/{id} - Delete status anggota
GET /tsa-api/penyaluran_quran.php - Get all penyaluran quran
GET /tsa-api/penyaluran_quran.php/{id} - Get penyaluran quran by ID
POST /tsa-api/penyaluran_quran.php - Create new penyaluran quran
PUT /tsa-api/penyaluran_quran.php/{id} - Update penyaluran quran
DELETE /tsa-api/penyaluran_quran.php/{id} - Delete penyaluran quran
GET /tsa-api/status_pengajuan.php - Get all status pengajuan
GET /tsa-api/status_pengajuan.php/{id} - Get status pengajuan by ID
POST /tsa-api/status_pengajuan.php - Create new status pengajuan
PUT /tsa-api/status_pengajuan.php/{id} - Update status pengajuan
DELETE /tsa-api/status_pengajuan.php/{id} - Delete status pengajuan
GET /tsa-api/role.php - Get all roles
GET /tsa-api/role.php/{id} - Get role by ID
POST /tsa-api/role.php - Create new role
PUT /tsa-api/role.php/{id} - Update role
DELETE /tsa-api/role.php/{id} - Delete role
GET /tsa-api/penerimaan_infak.php - Get all
GET /tsa-api/penerimaan_infak.php/{id} - Get by ID
POST /tsa-api/penerimaan_infak.php - Create
PUT /tsa-api/penerimaan_infak.php/{id} - Update
DELETE /tsa-api/penerimaan_infak.php/{id} - Delete
Catatan: Field created_by wajib mengacu ke anggota.id.
Query params (opsional): ?created_by=1&from=2025-01-01&to=2025-12-31&page=1&limit=50
GET /tsa-api/penerimaan_wakaf_mushaf.php - Get all
GET /tsa-api/penerimaan_wakaf_mushaf.php/{id} - Get by ID
POST /tsa-api/penerimaan_wakaf_mushaf.php - Create
PUT /tsa-api/penerimaan_wakaf_mushaf.php/{id} - Update
DELETE /tsa-api/penerimaan_wakaf_mushaf.php/{id} - Delete
Catatan: Field created_by wajib mengacu ke anggota.id.
Query params (opsional): ?created_by=1&from=2025-01-01&to=2025-12-31&page=1&limit=50
GET /tsa-api/penerimaan_wakaf_uang.php - Get all
GET /tsa-api/penerimaan_wakaf_uang.php/{id} - Get by ID
POST /tsa-api/penerimaan_wakaf_uang.php - Create
PUT /tsa-api/penerimaan_wakaf_uang.php/{id} - Update
DELETE /tsa-api/penerimaan_wakaf_uang.php/{id} - Delete
Catatan: Field created_by wajib mengacu ke anggota.id.
Query params (opsional): ?created_by=1&from=2025-01-01&to=2025-12-31&page=1&limit=50
# Login (Default Super Admin)
curl -X POST "http://localhost/tsa-api/login.php" \
-H "Content-Type: application/json" \
-H "X-API-Key: tsa-api-key-2024" \
-d '{"no_hp":"080000000000","password":"Admin@12345"}'
# Get all anggota
curl -X GET "http://localhost/tsa-api/anggota.php" \
-H "X-API-Key: tsa-api-key-2024"
# Create new anggota
curl -X POST "http://localhost/tsa-api/anggota.php" \
-H "Content-Type: application/json" \
-H "X-API-Key: tsa-api-key-2024" \
-d '{"nama":"John Doe","gender":"L","no_hp":"081234567890","password":"password123"}'
API ini menggunakan database dengan 11 tabel utama:
| Table | Description |
|---|---|
| anggota | Data anggota TSA |
| jabatan | Master data jabatan |
| status_anggota | Master data status anggota |
| penyaluran_quran | Data penyaluran Al-Quran dan Iqra |
| status_pengajuan | Master data status pengajuan |
| role | Master data role pengguna |
| penerimaan_infak | Data penerimaan infak (dengan created_by anggota) |
| penerimaan_wakaf_mushaf | Data penerimaan wakaf mushaf (dengan created_by anggota) |
| penerimaan_wakaf_uang | Data penerimaan wakaf uang (dengan created_by anggota) |
| pengeluaran | Data pengeluaran kas (dengan created_by anggota) |
| kategori_pengeluaran | Kategori/jenis pengeluaran |
Semua response menggunakan format JSON dengan struktur:
{
"status": "success|error",
"message": "Response message",
"data": {} // Data object (optional)
}
Developed with ❤️ for TSA Management System