SUPONO.
NetAuto • Kursus PraktisiPanduan Praktik Hands-On

Modul Bab 2: MikroTik REST API di RouterOS v7

Arsitektur REST API native RouterOS v7, autentikasi SSL/TLS, RBAC user policy, dan endpoint mapping.

Format: Markdown (.MD)•File: bab_2_mikrotik_rest_api_routeros_v7.md•Sasaran: Praktisi & DevOps
Filter Versi CLI:

RouterOS v7 memperkenalkan native REST API berbasis HTTPS dan JSON yang menggantikan protokol proprietary RouterOS API port 8728. Dengan REST API, engineer dapat menggunakan standar HTTP method (GET, POST, PATCH, PUT, DELETE) langsung dari bahasa pemrograman apapun (Python, Node.js, Go) atau HTTP client seperti Postman dan cURL tanpa library biner khusus.

sequenceDiagram autonumber actor Dev as Network DevOps / Script participant API as MikroTik REST API (:443) participant Core as RouterOS v7 Kernel / System Dev->>API: POST /rest/ip/address (JSON Payload) Note over API: Basic Auth (SSL/TLS Encrypted) API->>Core: Commit IP Configuration Core-->>API: Status OK / Created (.id: *3) API-->>Dev: 201 Created HTTP Response (JSON)

2.1 Arsitektur & Keunggulan REST API v7 #

  1. Stateless HTTP/HTTPS Protocol: Tidak memerlukan persistent raw socket connection seperti API port 8728.
  2. Standard JSON Data Interchange: Seluruh request body dan response diformat dalam RFC 8259 JSON murni.
  3. Role-Based Access Control (RBAC): REST API menggunakan user group yang sama dengan RouterOS policy (read, write, test, api).
  4. Endpoint Path Mapping: Format URL REST API merefleksikan hierarki CLI RouterOS:
    • CLI: /ip address print $\rightarrow$ REST: GET https://router-ip/rest/ip/address
    • CLI: /ip firewall filter print $\rightarrow$ REST: GET https://router-ip/rest/ip/firewall/filter
    • CLI: /interface bridge add name=br-lan $\rightarrow$ REST: PUT /rest/interface/bridge

2.2 Mengaktifkan Service REST API & Sertifikat SSL #

Secara default, service www-ssl harus aktif untuk mengizinkan HTTPS REST API yang aman.

ROUTEROS
# Verifikasi status service www dan www-ssl
/ip service print

# Mengaktifkan service www-ssl pada port standar 443
/ip service enable www-ssl
/ip service set www-ssl address=192.168.10.0/24 certificate=none

# Membuat User Khusus API dengan Policy Terbatas
/user group add name=api-admin policy=api,read,write,test,!policy,!password
/user add name=netdev-user group=api-admin password="P@ssw0rdDevOps2026!"

2.3 Pemetaan Operasi CRUD ke HTTP Methods #

Operasi RouterOS HTTP Method Endpoint URI Contoh Format Request Body
Read (Print) GET /rest/ip/address None / Query Params
Create (Add) PUT /rest/ip/address {"address": "10.0.0.1/24", "interface": "ether2"}
Update (Set) PATCH /rest/ip/address/*1 {"comment": "Updated via REST"}
Delete (Remove) DELETE /rest/ip/address/*1 None
Run Command POST /rest/system/reboot {}

[!TIP]
Pada RouterOS REST API, gunakan method PUT saat membuat entri item baru, dan method PATCH saat memperbarui property dari entri yang sudah ada berdasarkan ID internal (misal *1).