Partner API Mutasiku memungkinkan developer mengambil data mutasi rekening secara terprogram, server-to-server, tanpa harus login ke dashboard setiap kali. Artikel ini adalah panduan integrasi langkah demi langkah, berdasarkan dokumentasi resmi yang bisa dibaca lengkap di bank.mutasiku.id/dokumentasi.
Jika Anda belum familiar dengan konsep dasar Partner API itu sendiri, baca dulu apa itu Partner API sebagai pengantar.
Langkah 1: Dapatkan kredensial dari dashboard
Semua kredensial Partner API dibuat dari dashboard Mutasiku, bukan lewat pendaftaran manual terpisah. Buka menu Setting > Setting API, dan pada kunjungan pertama, sistem akan otomatis membuatkan dua hal untuk akun Anda: USERID (dengan format seperti C0001) dan SECRET CODE (string 64 karakter heksadesimal). Kedua nilai ini adalah identitas unik akun Anda di Partner API dan harus dijaga kerahasiaannya seperti kata sandi.
Langkah 2: Daftarkan IP server Anda ke whitelist
Masih di halaman yang sama, isi kolom IP 1 dengan alamat IP publik server atau hosting yang akan memanggil Partner API. Kolom ini wajib diisi. Jika Anda punya lebih dari satu server yang perlu mengakses API (misalnya server produksi dan server staging), Anda bisa menambahkan hingga tiga IP tambahan di kolom IP 2 sampai IP 4, yang sifatnya opsional. Setelah mengisi, klik Update untuk menyimpan.
Permintaan yang datang dari IP di luar daftar ini akan ditolak dengan status 403, meskipun USERID dan SECRET CODE yang dikirim benar. Jika suatu saat SECRET CODE perlu diganti — misalnya karena dicurigai bocor — centang opsi Regenerate Secret Code? di halaman yang sama; SECRET CODE lama langsung tidak berlaku begitu diganti.
Untuk pembahasan lebih dalam tentang kenapa kombinasi USERID, SECRET CODE, dan whitelist IP ini dipakai bersamaan, baca keamanan API: USERID, SECRET CODE, dan whitelist IP dijelaskan.
Langkah 3: Kirim permintaan pertama
Semua permintaan Partner API dikirim ke base URL https://api.mutasiku.id. Untuk mengambil daftar mutasi rekening, gunakan endpoint GET /partner-api/mutations, dengan dua header wajib pada setiap permintaan:
| Header | Keterangan |
|---|---|
| X-Api-Userid | USERID Anda, format C0001 |
| X-Api-Secret | SECRET CODE Anda (64 karakter heksadesimal) |
Endpoint ini juga menerima parameter query opsional rekeningId untuk membatasi hasil hanya pada satu rekening tertentu. Jika parameter ini tidak disertakan, hasil akan menggabungkan mutasi dari semua rekening yang terhubung di akun Anda. Jika rekeningId yang dikirim bukan milik akun Anda, API akan merespons dengan status 404.
Berikut contoh permintaan menggunakan curl:
curl https://api.mutasiku.id/partner-api/mutations \
-H "X-Api-Userid: C0001" \
-H "X-Api-Secret: <secret_code_anda>"Langkah 4: Parse bentuk respons
Respons berhasil berbentuk array objek JSON, diurutkan dari mutasi terbaru lebih dulu. Setiap objek berisi field berikut:
| Field | Tipe | Keterangan |
|---|---|---|
| id | number | ID mutasi |
| txDate | string (ISO 8601, UTC) | Waktu transaksi |
| amount | string | Nominal transaksi sebagai string desimal — jangan diasumsikan sebagai tipe number |
| direction | string | "credit" (masuk) atau "debit" (keluar) |
| description | string | Keterangan transaksi dari bank |
| bankCode | string | Kode bank, misalnya "bri" atau "bni" |
| accountNumber | string | Nomor rekening |
| alias | string atau null | Alias rekening jika diisi di dashboard |
Satu detail yang sering terlewat developer yang baru pertama kali integrasi: field amount dikirim sebagai string (contoh: "727050.00"), bukan tipe number. Ini sengaja dilakukan untuk menghindari masalah presisi angka desimal yang umum terjadi pada beberapa bahasa pemrograman. Pastikan kode parsing Anda mengonversinya secara eksplisit sesuai tipe data yang dipakai di sistem Anda.
Menangani error dan rate limit
Endpoint ini dibatasi 60 permintaan per menit per alamat IP; melebihi batas ini akan direspons dengan status 429. Status 401 berarti USERID atau SECRET CODE tidak valid, sementara 403 berarti IP pemanggil tidak ada di whitelist atau akun dinonaktifkan. Setiap panggilan — berhasil maupun gagal — tercatat dan bisa dilihat di Setting > API Activity pada dashboard, lengkap dengan kolom IP, jenis permintaan, status, pesan, dan waktu. Log ini berguna untuk memastikan integrasi berjalan normal, sekaligus mendeteksi upaya akses tidak sah ke kredensial Anda.
Ringkasan alur integrasi
- 1
Ambil kredensial
Buka Setting > Setting API untuk mendapatkan USERID dan SECRET CODE yang dibuat otomatis oleh sistem.
- 2
Whitelist IP server
Isi IP 1 (wajib) dan opsional IP 2-4 dengan alamat IP server yang akan memanggil API, lalu simpan.
- 3
Kirim permintaan pertama
Panggil GET /partner-api/mutations dengan header X-Api-Userid dan X-Api-Secret, opsional parameter rekeningId.
- 4
Parse dan proses respons
Baca array JSON yang dikembalikan, perhatikan tipe string pada field amount, dan tangani kode error sesuai dokumentasi.
Dengan empat langkah ini, sistem internal Anda — baik itu aplikasi akuntansi, dashboard operasional, atau skrip pemantauan sederhana — bisa mengambil data mutasi rekening secara otomatis, tanpa campur tangan manual membuka aplikasi bank. Untuk referensi lengkap dan paling mutakhir, selalu rujuk ke dokumentasi resmi Partner API.