Lunos logoLunos

API Saldo

GET /v1/balance digunakan untuk mengembalikan informasi saldo akun pengguna Anda saat ini beserta konfigurasi peringatan apabila saldo sudah hampir habis. Endpoint ini sangat berguna untuk ditampilkan pada halaman dashboard, widget penagihan, ataupun sebagai pengaman otomatis untuk mencegah pengeluaran berlebih.

Autentikasi: Wajib — sertakan API Key Anda sebagai Bearer token.

Endpoint

GET https://api.lunos.tech/v1/balance
Header Tipe Wajib Deskripsi
Authorization string Ya Bearer YOUR_SECRET_KEY

Contoh Pemanggilan

curl -X GET "https://api.lunos.tech/v1/balance" \
  -H "Authorization: Bearer YOUR_SECRET_KEY" \
  -H "Content-Type: application/json"

Response Berhasil

{
  "success": true,
  "message": "Balance retrieved successfully",
  "data": {
    "balance": 10.5,
    "email": "user@example.com",
    "alertBalance": 1.0,
    "enableAlert": 1,
    "updatedAt": "2024-01-15T10:30:00.000Z",
    "isAlertEnabled": true,
    "isBalanceLow": false
  }
}

Penjelasan Field

Field Tipe Deskripsi
success boolean Status apakah API berhasil dieksekusi
message string Pesan status human-readable
data.balance number Total saldo dompet akun saat ini
data.email string Email pengguna akun
data.alertBalance number Batas limit minimum untuk peringatan saldo rendah
data.enableAlert number Status legacy flag (1 jika aktif, 0 jika nonaktif)
data.updatedAt string Waktu update terakhir dengan format cap waktu ISO
data.isAlertEnabled boolean Status boolean apakah fitur peringatan saldo aktif
data.isBalanceLow boolean Status boolean yang menunjukkan apakah saldo saat ini di bawah ambang batas aman

Contoh Response Error

401 — API Key Hilang atau Tidak Valid

{
  "success": false,
  "message": "Missing or invalid secret key",
  "error": "UNAUTHORIZED"
}

401 — API Key Kedaluwarsa (Expired)

{
  "success": false,
  "message": "Secret key expired",
  "error": "UNAUTHORIZED"
}

500 — Internal Server Error

{
  "success": false,
  "message": "Internal server error",
  "error": "INTERNAL_ERROR"
}

Contoh Penggunaan di Aplikasi

JavaScript

const response = await fetch("https://api.lunos.tech/v1/balance", {
  method: "GET",
  headers: {
    Authorization: "Bearer YOUR_SECRET_KEY",
    "Content-Type": "application/json",
  },
});
const data = await response.json();
console.log("Current balance:", data.data.balance);

Python

import requests

r = requests.get(
    "https://api.lunos.tech/v1/balance",
    headers={
        "Authorization": "Bearer YOUR_SECRET_KEY",
        "Content-Type": "application/json",
    },
)
data = r.json()
print(f"Current balance: {data['data']['balance']}")

PHP

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.lunos.tech/v1/balance');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer YOUR_SECRET_KEY',
    'Content-Type: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
echo "Current balance: " . $data['data']['balance'];

Catatan: Apabila akun Anda belum pernah melakukan pengisian wallet (dompet) sebelumnya, API ini mungkin akan mengembalikan nilai balance sebesar nol (0) sebagai tahap inisialisasi awal.


Pelajari Lebih Lanjut