API Reference
Selamat datang di dokumentasi API MasterPulsa Gateway. Semua permintaan (request) harus dikirimkan menggunakan metode POST dengan tipe konten application/json.
Otentikasi (Signature)
Setiap request wajib menyertakan parameter sign untuk memvalidasi identitas mitra. Nilai sign dihasilkan menggunakan algoritma MD5. Rumus penggabungan string untuk di-hash berbeda-beda pada setiap endpoint.
apikey Anda TIDAK BOLEH dikirimkan di dalam payload request. apikey bersifat rahasia dan hanya digunakan di sisi server mitra untuk menghitung hash MD5.
/api/balance
Endpoint ini digunakan untuk mengecek sisa saldo Anda.
Rumus Sign:
MD5(username + apikey + memberID)
Parameter JSON:
| Field | Wajib | Deskripsi |
|---|---|---|
| username | Ya | Username akun mitra Anda. |
| memberID | Ya | ID Agen / Member ID Anda. |
| pin | Ya | PIN transaksi Anda. |
| password | Ya | Password akun Anda. |
| sign | Ya | Hasil hash MD5. |
Contoh Request Payload
{
"username": "mitra01",
"memberID": "MBR12345",
"pin": "123456",
"password": "password123",
"sign": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}
/api/trx
Endpoint ini digunakan untuk melakukan transaksi pengisian pulsa/PPOB.
Rumus Sign:
MD5(username + apikey + refID)
Parameter JSON:
| Field | Wajib | Deskripsi |
|---|---|---|
| username | Ya | Username akun mitra Anda. |
| product | Ya | Kode produk (misal: S10). |
| qty | Ya | Jumlah/Kuantitas (default: 1). |
| dest | Ya | Nomor tujuan / ID Pelanggan. |
| refID | Ya | ID Transaksi dari sisi mitra (harus unik). |
| memberID | Ya | ID Agen / Member ID Anda. |
| pin | Ya | PIN transaksi Anda. |
| password | Ya | Password akun Anda. |
| sign | Ya | Hasil hash MD5. |
Contoh Request Payload
{
"username": "mitra01",
"product": "S10",
"qty": "1",
"dest": "081234567890",
"refID": "TRX-20261012-001",
"memberID": "MBR12345",
"pin": "123456",
"password": "password123",
"sign": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}
/api/saldo
Endpoint ini digunakan untuk request penambahan saldo (Tiket Deposit).
Rumus Sign:
MD5(username + apikey + amount)
Parameter JSON:
| Field | Wajib | Deskripsi |
|---|---|---|
| username | Ya | Username akun mitra Anda. |
| memberid | Ya | ID Agen / Member ID Anda. |
| amount | Ya | Nominal request tiket (hanya angka). |
| pin | Ya | PIN transaksi Anda. |
| password | Ya | Password akun Anda. |
| sign | Ya | Hasil hash MD5. |
Contoh Request Payload
{
"username": "mitra01",
"memberid": "MBR12345",
"amount": "500000",
"pin": "123456",
"password": "password123",
"sign": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}
/api/GetTrx
RESPON JSONEndpoint ini digunakan untuk mengambil detail & status satu transaksi berdasarkan ID transaksi. Nama endpoint bersifat case-sensitive (harus persis /api/GetTrx).
Rumus Sign:
MD5(username + apikey + trxid)
Parameter JSON:
| Field | Wajib | Deskripsi |
|---|---|---|
| username | Ya | Username akun mitra Anda. |
| trxid | Ya | ID transaksi (kode) yang ingin dicek. |
| sign | Ya | Hasil hash MD5. |
Contoh Request Payload
{
"username": "mitra01",
"trxid": 82353109,
"sign": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}
Contoh Respon (JSON)
{
"ok": true,
"result": {
"kode": 82353109,
"kode_reseller": "MBR12345",
"tgl_entri": "2026-09-13T12:25:35.707",
"kode_produk": "SN10",
"tujuan": "082298769000",
"qty": 1,
"harga": 10175.0,
"status": 20,
"ref_id": "DJW95VHJ",
"sn": "2500XZ1YGBOAGXVNE3DGB8D",
"statusDesc": "Sukses"
}
}
/api/GetTrxHistory
RESPON JSONEndpoint ini digunakan untuk mengambil riwayat transaksi dalam rentang tanggal. Nama endpoint bersifat case-sensitive (harus persis /api/GetTrxHistory).
Rumus Sign:
MD5(username + apikey + kode_reseller)
Parameter JSON:
| Field | Wajib | Deskripsi |
|---|---|---|
| username | Ya | Username akun mitra Anda. |
| kode_reseller | Ya | Kode reseller / Member ID (alias: memberid). |
| tgl_awal | Ya | Tanggal awal rentang, format YYYY-MM-DD. |
| tgl_akhir | Ya | Tanggal akhir rentang, format YYYY-MM-DD. |
| limit | Tidak | Batas jumlah baris (angka). Opsional. |
| sign | Ya | Hasil hash MD5. |
Contoh Request Payload
{
"username": "mitra01",
"kode_reseller": "MBR12345",
"tgl_awal": "2026-09-01",
"tgl_akhir": "2026-09-23",
"limit": 10,
"sign": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}
Contoh Respon (JSON)
{
"ok": true,
"count": 3,
"result": [
{
"kode": 82353107,
"kode_reseller": "MBR12345",
"kode_produk": "SN20",
"tujuan": "081282706050",
"harga": 19910.0,
"status": 20,
"ref_id": "TPKHGBAR",
"sn": "2500EE90K94LJW748YQVG4E",
"statusDesc": "Sukses"
}
]
}
Respon & Reply
Respon Transaksi (Proses)
Sukses Transaksi
Gagal Transaksi
Kode Respon (Status)
Berikut adalah daftar kode respon (status) yang mungkin dikembalikan oleh server.
| Status Code | Keterangan |
|---|---|
| 2 | Menunggu jawaban |
| 20 | Sukses |
| 40 | Gagal |
| 43 | Saldo tidak cukup |
| 45 | Stok kosong |
| 46 | Transaksi double |
| 47 | Produk gangguan |
| 50 | Dibatalkan |
| 52 | Tujuan salah |
| 53 | Tujuan di luar wilayah |
| 54 | Kode area tidak sesuai |
| 56 | Nomor blacklist |
| 58 | Nomor tidak aktif |
| 59 | Harga tidak sesuai |
| 61 | Qty tidak sesuai |
| 69 | Cutoff |
Informasi Response (Format XML/Text)
Saat ini API Gateway akan merespon menggunakan format asal dari server Engine. Pastikan sistem Anda siap mem-parsing balasan berformat teks plain atau XML sesuai standar engine yang kami gunakan.