Dokumentasi API

RESTful API untuk integrasi data gempa dengan aplikasi pihak ketiga

Endpoint API

GET
/api/gempa/terkini
Mendapatkan data gempa terkini
Response Contoh:
{
    "status": "success",
    "data": {
        "magnitude": 5.2,
        "kedalaman": "12 km",
        "lokasi": "8.34° LS, 115.20° BT",
        "waktu": "2026-05-09T07:30:00Z"
    }
}
GET
/api/gempa/riwayat
Mendapatkan riwayat gempa (maksimal 50 data terakhir)
Parameter Query:
  • limit (opsional) - Jumlah data yang ditampilkan, default 10
Response Contoh:
{
    "status": "success",
    "data": [
        {
            "waktu": "2026-05-09T07:35:00Z",
            "nilai": 560,
            "status": "Sedang"
        }
    ]
}
POST
/api/sensor/data
Mengirim data dari sensor (memerlukan API Key)
Request Body:
{
    "sensor_id": "ESP32_01",
    "nilai_getaran": 1240,
    "magnitude": 4.2,
    "api_key": "your-api-key-here"
}
Response:
{
    "status": "success",
    "message": "Data berhasil disimpan"
}
GET
/api/sensor/status/{id}
Mengecek status sensor berdasarkan ID
Response Contoh:
{
    "status": "success",
    "data": {
        "sensor_id": "ESP32_01",
        "is_online": true,
        "last_heartbeat": "2026-05-09T07:35:00Z",
        "battery": 85
    }
}

Autentikasi

Untuk endpoint yang memerlukan autentikasi, gunakan API Key di header:

X-API-Key: your-api-key-here

Hubungi administrator untuk mendapatkan API Key.

Rate Limit

  • Endpoint publik: 100 request/menit
  • Endpoint sensor: 10 request/detik
  • Melebihi batas akan menerima response 429 Too Many Requests