Spesifikasi REST API & Konfigurasi Server

12:48:00
Spesifikasi REST API & Konfigurasi Server - fingerspot.space
Koneksi Perangkat & Integrasi

Daftar ENDPOINT & API KEY Web Server

Gunakan informasi Endpoint dan API Key ini pada sketch Arduino ESP32, cURL, maupun otomasi n8n.

PORT 3000 REST API
SERVER ENDPOINT BASE URL
https://fingerspot.space/api

Isikan alamat URL ini pada variabel SERVER_URL di sketch program Arduino ESP32.

SECRET API KEY
••••••••••••••••••••••••••••

Kirimkan pada HTTP header: X-API-Key: esp32_att_secret_key_2026

POST /api/attendance/scan
Scan Sidik Jari (Presensi)

ESP32 mengirim ID sidik jari saat siswa menempelkan jarinya ke sensor AS608.

Request Body (JSON):
{
    "fingerprintId": 1,
    "deviceId": "ESP32-ATTENDANCE-01",
    "confidence": 140
}
Sample Response (JSON):
{
    "success": true,
    "message": "Absensi Berhasil: Ahmad Fauzi"
}
POST /api/device/heartbeat
Heartbeat & Polling Perintah Enroll

ESP32 mengirim sinyal online tiap 8 detik dan menerima instruksi enroll otomatis dari web.

Request Body (JSON):
{
    "deviceId": "ESP32-ATTENDANCE-01",
    "ip": "192.168.1.145",
    "rssi": -62
}
Sample Response (JSON):
{
    "success": true,
    "command": "ENROLL",
    "targetEnrollId": 5
}
GET /api/students
Daftar Siswa (Kelas, Jurusan, Absen, Nama)

Mengambil data seluruh siswa beserta status nomor ID sidik jari sensor.

Sample Response (JSON):
{
    "students": [
        {
            "nama": "Ahmad Fauzi",
            "kelas": "XII",
            "jurusan": "RPL",
            "noAbsen": 1
        }
    ],
    "total": 8
}
GET /api/attendance
Riwayat Kehadiran Hari Ini

Mengambil daftar siswa yang sudah dan belum hadir.

Sample Response (JSON):
{
    "date": "2026-10-13",
    "records": [],
    "totalRecords": 0
}
GET /api/n8n/summary
Rekapitulasi Kehadiran untuk AI n8n

Endpoint JSON ringkas untuk ditarik oleh alur kerja n8n (HTTP Request Node).

Sample Response (JSON):
{
    "tanggal": "2026-10-13",
    "totalSiswa": 8,
    "totalHadir": 2,
    "persentaseKehadiran": 25
}