API Overview
IsiKuota API adalah REST API berbasis POST dengan format JSON. Semua komunikasi melalui HTTPS.
Base URL
https://api.isikuota.com/v1
Daftar Endpoint
| Endpoint | Deskripsi |
|---|---|
POST /v1/balance | Cek saldo akun |
POST /v1/products | Daftar produk (prepaid, game, pascabayar) |
POST /v1/order | Order prepaid/game, inquiry tagihan, bayar tagihan pascabayar |
POST /v1/status | Cek status transaksi |
Semua endpoint memerlukan parameter autentikasi: api_id, timestamp, signature.
Format Request
Semua request menggunakan POST dengan Content-Type: application/json:
{
"api_id": "your_api_id",
"timestamp": 1748678400,
"signature": "abc123def456...",
"cmd": "prepaid",
"code": "TSEL21",
"customer_no": "08123456789"
}
| Ketentuan | Nilai |
|---|---|
| Method | POST |
| Content-Type | application/json |
| Encoding | UTF-8 |
Format Response
Semua response mengikuti struktur yang konsisten:
{
"success": true,
"code": "ORDER_SUCCESS",
"message": "Transaksi berhasil diproses",
"data": {
"ref_id": "TRX12345asdxxx",
"status": "Success",
"name": "Telkomsel 21.000",
"price": 21425,
"sn": "1234-5678-9012",
"created_at": "2026-05-31 12:36:46"
},
"errors": null,
"meta": null
}
| Field | Tipe | Keterangan |
|---|---|---|
success | boolean | true jika request berhasil |
code | string | Kode status — lihat daftar lengkap |
message | string | Pesan deskriptif |
data | object/null | Data hasil transaksi |
errors | object/null | Detail error jika ada |
meta | object/null | Informasi tambahan (pagination, dll) |
Jika gagal, success bernilai false:
{
"success": false,
"code": "INVALID_SIGNATURE",
"message": "Signature tidak valid, periksa kembali api_key dan urutan parameter",
"data": null,
"errors": null,
"meta": null
}
Alur Transaksi Prepaid & Game
1. POST /v1/products (cmd: prepaid/game) → pilih kode produk
2. POST /v1/order (cmd: prepaid/game) → kirim transaksi
3. POST /v1/status → cek jika masih pending
4. Webhook/Callback → terima notifikasi status final
Alur Transaksi Pascabayar
1. POST /v1/products (cmd: pasca) → pilih kode produk
2. POST /v1/order (cmd: inquiry) → cek tagihan, simpan ref_id
3. POST /v1/order (cmd: pay-pasca) → bayar dengan ref_id yang sama
4. POST /v1/status → cek jika masih pending
5. Webhook/Callback → terima notifikasi status final
Setelah inquiry, pembayaran harus dilakukan dalam 5 menit menggunakan ref_id yang sama. Lewat dari itu, ulangi inquiry dari awal.
Idempotency
Gunakan ref_id yang unik per transaksi. Jika request dengan ref_id yang sama dikirim ulang, API mengembalikan data transaksi yang sudah ada — tidak membuat transaksi baru.
Jika request timeout, cek dulu status via POST /v1/status menggunakan ref_id sebelum membuat transaksi baru. Transaksi mungkin sudah berhasil meski response tidak diterima.
Mode Testing
Tambahkan "testing": true untuk simulasi transaksi tanpa memotong saldo:
{
"api_id": "your_api_id",
"timestamp": 1748678400,
"signature": "abc123...",
"cmd": "prepaid",
"code": "TSEL21",
"customer_no": "08123456789",
"testing": true
}