RESTful API untuk mengintegrasikan kalkulator KalkuLink ke dalam aplikasi Anda dengan mudah dan aman
Dapatkan API key dari dashboard
Kirim HTTP request ke endpoint
Terima response JSON
https://api.kalkulink.com
Autentikasi menggunakan API key di header
Authorization: Bearer your-api-key
Use Case: Server-to-server integration
Autentikasi OAuth untuk aplikasi user-facing
Authorization: Bearer oauth-token
Use Case: Web dan mobile applications
Akses tanpa autentikasi untuk endpoint publik
No authentication required
Use Case: Public calculator data
/api/calculators
Mendapatkan daftar kalkulator publik
/api/calculators/{id}
Mendapatkan detail kalkulator spesifik
/api/calculators/{id}/calculate
Menjalankan perhitungan dengan input data
/api/calculators
Membuat kalkulator baru
/api/calculators/{id}
Update kalkulator yang sudah ada
// JavaScript/Node.js Example
const apiKey = 'your-api-key';
const calculatorId = 'calc-123';
// Get calculator details
async function getCalculator(id) {
const response = await fetch(`https://api.kalkulink.com/calculators/${id}`, {
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
}
});
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return await response.json();
}
// Perform calculation
async function calculate(id, inputs) {
const response = await fetch(`https://api.kalkulink.com/calculators/${id}/calculate`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ inputs })
});
return await response.json();
}
// Usage
const calculator = await getCalculator('calc-123');
const result = await calculate('calc-123', {
principal: 100000000,
rate: 12,
years: 5
});
console.log('Monthly payment:', result.monthlyPayment);
{
"id": "calc-123",
"title": "Kalkulator Pinjaman KPR",
"description": "Hitung cicilan rumah dengan berbagai pilihan tenor",
"category": "finance",
"isPublic": true,
"fields": [
{
"id": "field-1",
"name": "principal",
"label": "Jumlah Pinjaman",
"type": "number",
"required": true,
"min": 50000000,
"max": 5000000000,
"prefix": "Rp "
},
{
"id": "field-2",
"name": "rate",
"label": "Suku Bunga (%)",
"type": "number",
"required": true,
"min": 1,
"max": 30,
"suffix": "%"
}
],
"formulas": [
{
"id": "formula-1",
"name": "monthlyPayment",
"label": "Cicilan Bulanan",
"expression": "principal * (rate/100/12) * pow(1 + rate/100/12, years*12) / (pow(1 + rate/100/12, years*12) - 1)",
"prefix": "Rp ",
"suffix": "/bulan"
}
],
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-20T14:22:00Z"
}
Plan | API Requests | Calculations | Analytics | Support |
---|---|---|---|---|
Free | 1,000/month | 500/month | 50/month | Community |
Pro | 10,000/month | 5,000/month | 1,000/month | |
Business | 100,000/month | 50,000/month | 10,000/month | Priority |
Enterprise | Unlimited | Unlimited | Unlimited | Dedicated |
Request tidak valid atau missing parameters
Invalid input format
API key tidak valid atau missing
Invalid API key
Akses ditolak untuk resource ini
Calculator is private
Resource tidak ditemukan
Calculator not found
Terlalu banyak requests
Rate limit exceeded, try again in 60 seconds
Error pada server
Internal server error