MID Teknologi – Seiring berkembangnya kebutuhan akan pengelolaan dan pembuatan aplikasi internet mikrotik maka belajar mikrotik API adalah hal wajib yang harus dikuasai bagi staff IT di perusahaan ataupun freelance programmer karena kebutuhan management perangkat mikrotik yang mudah dan simple akan semakin di butuhkan oleh perusahaan dan industri
Pada tutorial kali ini kita akan belajar membuat aplikasi sederhana dengan memanfaatkan api pada mikrotik yang sudah tersedia secara gratis mulai dari router versi 6 dan di versi 7 seharusnya akan sangat powerfull lagi sehingga mengembangkan application mikrotik akan menjadi cepat dan mudah
Apa Itu Mikrotik API ?
Mikrotik API adalah services yang di sediakan oleh mikrotik yang berjalan di port 8728 dan 8729 (versi ssl) dimana dengan menggunakan services ini kita dapat api memungkinkan programmer mengembangkan aplikasi management jaringan mikrotik berbasi web,desktop ataupun mobile menggunakan bahasa pemograman seperti php ataupun bahasa pemograman lainnya seperti c# ataupun .net.
Bagi anda yang ingin mengetahui lebih lengkap mengenai mikrotik api silahkan baca disini
Apa Saja Hardware Dan Software Yang Perlu Di Persiapkan Untuk Belajar API Mikrotik ?
Software yang perlu anda install di laptop atau pc antara lain :
- Laragon atau WSL2 Dan Docker Desktop ( Pilih Salah Satu )
- Install Visual Studio Code
- Fresh Install Laravel Framework
- Laravel Mikrotik Package Dari EvilFreelance : https://github.com/EvilFreelancer/routeros-api-php
- Laravel Template Menggunakan LaraStarter Dari Laravel Daily : https://github.com/LaravelDaily/Larastarters ( Template Volt )
- Bootstrap CSS atau Tailwind CSS ( Di tutorial ini kami menggunakan bootstrap css )
- Uji coba di artikel ini menggunakan router os v6 namun kedepannya akan kami uji coba di router os mikrotik v7 terbaru
Untuk Hardware ( Optional ) :
- Satu Unit Perangkat Router Mikrotik
Namun jika anda tidak memiliki perangkat router mikrotik anda dapat menginstall mikrotik secara virtual
Pengetahuan Dasar Yang Dibutuhkan :
- Memahami Dasar- dasar Laravel
- Memahami Konfigurasi Dasar Mikrotik CLI
Video Tutorial Mikrotik API
Tutorial Lengkap Mikrotik API PHP Menggunakan Laravel Framework
Silahkan sobat simak tutorial mikrotik api php di bawah ini dengan baik agar sobat dapat memahami bagaimana membangun aplikasi management router mikrotik menggunakan services api mikrotik
Langkah #1 : Cara Instalasi Laravel Framework
pada bagian ini kita akan belajar cara instalasi laravel framework yaitu sebagai berikut :
- Windows Subsytem Linux Dan Docker Desktop
- Jalankan Docker Desktop
- Install Os Linux Yang ingin anda gunakan disini saya menggunakan ubuntu 22.04 LTS
- Setelah Berhasil buka Windows Terminal
- Pada Sheel Linux ubuntu Anda silahkan install laravel
- Perintah Instalasi Laravel : curl -s https://laravel.build/mikrotik-api-youtube | bash
- tunggu hingga proses instalasi hingga selesai
Keterangan :
- Mikrotik-api-youtube adalah nama project laravel mikrotik API kita
- Jika anda menggunakan OS lain Silahkan baca disini untuk dokumentasi instalasi laravelnya
Langkah #2 : Install Laravel Templates untuk Aplikasi API Mikrotik
silahkan ikuti langkah-langkah di bawah ini untuk melakukan instalasi laravel templates :
- Buka Windows terminal dan pindah ke directory project laravel mikrotik api
- lalu di shell linux atau command prompt ketik perintah : composer require laraveldaily/larastarters –dev
- lalu jalankan lagi perintah : php artisan larastarters:install
- php artisan migrate
- npm install & npm run dev
Setela mengikuti langkah-langkah diatas seharusnya sobat sudah berhasil melakukan instalasi template aplikasi managemant mikrotik menggunakan laravel
Langkah #3 : Install Laravel Package Mikrotik API
selanjutnya agar lebih memudahkan untuk berinteraksi dengan API mikrotik maka kita perlu melakukan instalasai package laravel untuk mikrotik yaitu sebagai berikut :
- Buka Windows Terminal WSL2 Sobat
- Setelah itu ketika perintah : composer require evilfreelancer/routeros-api-php
- Tunggu hingga proses instalasi selesai
- Jika sudah selesai maka tahapan selanjutnya adalah menghubungkan laravel dengan api mikrotik
Langkah #4 : Menghubungkan Laravel Dengan Mikrotik API
Agar Aplikasi Web Laravel kita dapat terhubung ke router os mikrotik maka kita perlu memastikan services api di mikrotik tidak di nonaktifkan ( di disabled )
- Cek Apakah Aplikasi Laravel dapat terhubung dengan mikrotik API sobat caranya klik menu ip Dan Pilih Services, jika tanda mikrotik services anda aktif maka akan centang hijauh dan anda tidak akan takut mati
- Pastikan Port Mikrotik API Services di buka port api http ( 8728 ) jika menggunakan https aktifkan port ( 8729 )
- Lalu buka project laravel mikrotik anda menggunakan vscode ( visual studio code )
- buka file .env dan masukkan authentikasi router mikrotik anda seperti dibawah ini :
#Authentikasi Mikrotik
host ="192.168.17.1"
user = "mikrotikapi"
pass = "123"
Untuk Lebih jelasnya silahkan lihat gambar di bawah ini :

- Selanjutnya silahkan buka file config > services.php lalu tambahkan config sevices mikrotik seperti di bawah ini :
'mikrotik' => [
'host' => env('host'),
'user' => env('user'),
'pass' => env('pass'),
],
Untuk Lebih jelasnya silahkan lihat gambar di bawah ini :

- Untuk ujicoba kita buat controller dengan nama : “TestingController”
berikut ini perintah membuat controller di laravel :
php artisan make:controller TestingController
dan pada function index silahkan isi dengan code sbb :
public function index() {
// Initiate client with config object
$client = new Client([
'host' => config('services.mikrotik.host'),
'user' => config('services.mikrotik.user'),
'pass' => config('services.mikrotik.pass'),
]);
// Create "where" Query object for RouterOS
$query =
(new Query('/ip/address/print'));
// Send query and read response from RouterOS
$response = $client->query($query)->read();
return dd ( $response);
}
Setelah membuat controller jangan lupa tambahkan route dari controller caranya buka file Routes > web.php dan tambahkan baris di bawah ini :
Route::get('/testing', [App\Http\Controllers\TestingController::class, 'index'])->name('testing');
langkah terakhir lakukan uji coba di browser dengan membuka url : http://localhost/testing
Jika tidak ada kendala akan menghasilkan output ip mikrotik yang ada pada router mikrotik kita seperti di bawah ini :
array:3 [▼ // app/Http/Controllers/TestingController.php:29
0 => array:9 [▼
".id" => "*3"
"address" => "192.168.9.97/24"
"network" => "192.168.9.0"
"interface" => "ether1"
"actual-interface" => "ether1"
"invalid" => "false"
"dynamic" => "false"
"disabled" => "false"
"comment" => "MODEM"
]
1 => array:9 [▼
".id" => "*4"
"address" => "192.168.17.1/24"
"network" => "192.168.17.0"
"interface" => "wlan1"
"actual-interface" => "wlan1"
"invalid" => "false"
"dynamic" => "false"
"disabled" => "false"
"comment" => "LAN"
]
2 => array:8 [▼
".id" => "*5"
"address" => "192.168.18.1/24"
"network" => "192.168.18.0"
"interface" => "VAP-SECURITY"
"actual-interface" => "VAP-SECURITY"
"invalid" => "true"
"dynamic" => "false"
"disabled" => "false"
]
]
Untuk Detailnya silahkan lihat gambar di bawah ini :

Dari output diatas kita sudah berhasil menampilkan ip address yang ada pada router mikrotik kita, sehingga dapat kita pastikan aplikasi web laravel kita sudah terhubung dengan mikrotik menggunakan services API Mikrotik
Langkah #5 : Tampilkan Data IP Address Mikrotik Di Aplikasi Web Laravel
Pada langkah ke #4 kita sudah berhasil menghubungkan laravel dengna mikrotik dan di tahap ke-5 ini kita akan menampilkan data ip address di mikrotik ke views aplikasi web laravel agar tampilannya lebih bagus menggunakan tempalate volt berikut caranya :
- buat views dengan nama “testing.blade.php” pada folder resources > views
- karena kita menggunakan templates maka kita cukup extends layout tempalatesnya di file testing.blade.php
Berikut ini script lengkap pada view testing.blade.php :
@extends('layouts.app')
@section('content')
<div class="main py-4">
<div class="row">
<div class="col-12 col-xl-12">
<div class="col-12 px-0">
<div class="card border-0 shadow">
<div class="card-body">
<h2 class="fs-5 fw-bold mb-1">{{ __('Table IP Address') }}</h2>
<p>{{ __('Ini Adalah Data IP Address') }}</p>
<div class="table-responsive">
<table class="table table-centered table-nowrap mb-0 rounded">
<thead class="thead-light">
<tr>
<th class="border-0 rounded-start">IP Address</th>
<th class="border-0">In-Interface</th>
<th class="border-0 rounded-end">Keterangan</th>
</tr>
</thead>
<tbody>
@foreach ($response as $item)
<!-- Item -->
<tr>
<td class="border-0 font-weight-bold">{{ $item['address'] ?? '' }}</td>
<td class="border-0 font-weight-bold">{{ $item['interface'] ?? '' }}</td>
<td class="border-0 font-weight-bold">{{ $item['comment'] ?? '' }}</td>
</tr>
<!-- End of Item -->
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
lalu jangan lupa pada file controller testing kita return ke view testing.blade.php agar outputnya di kirim ke views berikut script lengkap di TestingController :
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\config\Mikrotik;
use Config;
use RouterOS\Client;
use RouterOS\Query;
class TestingController extends Controller
{
public function index() {
// Initiate client with config object
$client = new Client([
'host' => config('services.mikrotik.host'),
'user' => config('services.mikrotik.user'),
'pass' => config('services.mikrotik.pass'),
]);
// Create "where" Query object for RouterOS
$query =
(new Query('/ip/address/print'));
// Send query and read response from RouterOS
$response = $client->query($query)->read();
return view('testing', compact('response'));
}
}
setelah semua langkah diatas anda ikuti maka akan menghasilkan tampilan seperti gambar di bawah ini :

Contoh Aplikasi Menggunakan Mikrotik API
berikut ini adalah beberapa aplikasi yang dapat anda kembangkan menggunakan mikrotik API :
- Membangun aplikasi management VPN seperti menambah user vpn ataupun menghapus user vpn
- Membangun Aplikasi Management Mikrotik Hotspot
- Membangun Aplikasi Trafick Monitoring
Dan Masih banyak lagi contoh-contoh aplikasi yang dapat anda buat dengna menggunakan rest API mikrotik
Apakah Bisa Manajemen VPN Menggunakan API Mikrotik ?
Bisa, Sobat bisa mengelola atau melakukan manajemen akun VPN Mikrotik melalui aplikasi web laravel yang sudah terhubung dengan mikrotik melalui services api mikrotik
Pertanyaan Terkait Mikrotik API
Apa perbedaan port api mikrotik 8728 dengan 8729 ?
Perbedaan Port 8728 dan 8729 terdapat pada protokol jaringan aplikasi yang digunakan untuk mengakses service api jika anda menggunakan protokol http maka aktifkan lah service api mikrotik dengan port 8728 namun api yang diakses melalui protokol https maka services port yang anda aktifkan adalah port 8729
Kesimpulan
Dengan adanya service API di router mikrotik sangat memudahkan kita untuk mengembangkan aplikasi management jaringan yang terhubung dengan router mikrotik secara realtime sehingga data yang kita tampilkan pada aplikasi akan up to date, silahkan anda berkreasi dan mengembangkan karya aplikasi mikrotik anda dengan memanfaatkan service API yang sudah di sediakan gratis oleh mikrotik
Tutorial Belajar Mikrotik Lainnnya :
- Kumpulan Mikrotik Scripts Terbaru Dan Terlengkap
- Cara Upgrade Winbox Mikrotik Versi Terbaru
- Link Download Winbox Mikrotik Terbaru 2022
- Monitoring Traffic Mikrotik

Adinata is a tech expert and content creator experience more than 5 years on networking, coding and managed cloud vps server