by: CITRAWEB SOLUSI TEKNOLOGI, PT
Aturan | Tentang Kami | Kontak Kami

Artikel

Rest API pada MikroTik RouterOS

Senin, 10 Januari 2022, 08:57:04 WIB
Kategori: Fitur & Penggunaan
API adalah singkatan dari Application Programming Interface. API sendiri merupakan interface yang dapat menghubungkan satu aplikasi dengan aplikasi lainnya.

 

Bisa diartikan juga sebagai sekumpulan perintah, fungsi, serta protokol yang dapat digunakan oleh programmer saat membangun perangkat lunak untuk sistem operasi tertentu. API memungkinkan programmer untuk menggunakan fungsi standar untuk berinteraksi dengan sistem operasi.

 

 
Rest API merupakan gaya atau aturan untuk membuat web service, nah di mikrotik routeros sudah terdapat fitur rest api mulai dari RouterOS v7.1beta4..
Istilah "REST API" umumnya mengacu pada API yang diakses melalui protokol HTTP pada serangkaian URL berorientasi sumber daya yang telah ditentukan sebelumnya.
 
Ini membungkus API console mikrotik ke dalam json, sehingga memungkinkan kita untuk melakukan CRUD dan beberapa command khusus.
 
Kita bisa mengaksesnya menggunakan http client. Paling mudah adalah browser. Kita bisa menggunakan curl, guzzle, atau library lain bahkan bisa menggunakan fetch pada routeros.
 

Prasyarat

  1. mengaktifkan www-ssl pada router
  2. menggunakan ssl certificate pada router
  3. software test api, pada artikel ini kita akan menggunakan postman
  4. mengerti dasar bahasa pemrograman, pada artikel ini kita akan menggunakan php
 
Autentikasi rest api pada routeros menggunakan basic auth dimana user dan password router yang akan digunakan
 
Rest api pada routeros menggunakan format json dengan beberapa catatan yaitu semua objek dikodekan sebagai string, server juga menerima angka dalam format oktal (diawali dengan 0) dan format heksadesimal (diawali dengan 0x). Jika angka dikirim dalam format string, angka tersebut dianggap dalam format desimal. Angka dengan eksponen tidak didukung.
 

HTTP Method

Berikut HTTP Method yang di support oleh routeros.
 HTTP Method
 CRUD
 ROS Command
 Keterangan
 GET
 Read
 print
 untuk membaca
 PATCH
 Update
 set
 untuk mengedit
 PUT
 Create
 add
 untuk menambah
 DELETE
 Delete
 remove
 untuk menghapus
 POST
 
 ros command
 untuk menjalankan ros command, misal set, print, add, atau yang lain.
 

Quick Start

 
Kita coba dulu request get menggunakan curl pada cmd windows dengan cara curl -k -u user:password https://host:port/rest/system/resource jika www-ssl menggunakan port default maka tidak perlu ditulis.
 

 

Kita coba juga menggunakan fitur tool fetch pada mikrotik routeros.

 

 

 

Persiapan

Install ssl certificate pada router.
Pada artikel ini kami menggunakan bantuan mesin ubuntu untuk request ssl certificate gratis dari letsencrypt kemudian di pindahkan ke mikrotik routeros dan dipasang pada www-ssl.

 

 
Sertifikat ssl bisa Anda beli pada penyedia atau generate sendiri.
 
Pada saat artikel ini dibuat, kita belum bisa memanfaatkan letsencrypt certificate yang di request oleh routeros, jadi kita harus request letsencrypt menggunakan mesin lain.
 
Jika sudah siap kita bisa menggunakan software postman untuk melakukan tes rest api dari mikrotik routeros ini, postman tersedia dalam web dan juga aplikasi untuk windows/linux/macos.
 
Untuk itu kita coba beberapa command sebelum di implementasikan pada aplikasi yang akan kita buat nanti.
 
Konfigurasikan postman, pertama kita akan coba method get, dan jangan lupa masukkan user & password router ke dalam tab authentication nya dengan tipe basic auth.
 
 

GET

 
Metode ini memungkinkan mendapatkan daftar semua catatan atau satu catatan dari menu tertentu yang dikodekan dalam URL. Misalnya, dapatkan semua alamat IP (setara dengan perintah 'ppp/secret/print' dari CLI):
 
Atau jika ingin mendapatkan pengembalian spesifik, bisa tambahkan /id di belakang url.
 

PATCH

method patch digunakan untuk mengupdate atau mengedit konfigurasi. Sebagai contoh kita akan edit user ppp dengan id *5

Kirimkan data pada body dengan format json.
 

PUT

method put digunakan untuk menambah konfigurasi. Lagi lagi kita akan coba pada ppp/secret, kita tambahkan user vpn baru.
 
Disini kita juga kirimkan body dalam bentuk json, isikan parameter yang dibutuhkan seperti nama, password, profil, dan juga parameter lain.
 

Delete

Method delete bisa kita gunakan untuk menghapus konfigurasi tertentu. Penulisan url nya diikuti dengan id di akhirnya.
 
Saat delete berhasil tidak mengembalikan response, namun ketika kita coba lagi untuk delete di id yang sama, hasilnya akan error 404.
 
 

POST

Untuk penggunaan post disini bisa lebih luas, karena digunakan sesuai command routeros. Sebagai contoh disini kita lakukan penambahan user ppp dimana command nya adalah ppp/secret/add.
 
 
Kita request get untuk mengetahui daftar user dan untuk memastikan user vpn dengan id *B sudah terbuat.
 
Dokumentasi lengkap mengenai rest api pada routeros bisa Anda lihat pada halaman berikut: https://help.mikrotik.com/docs/display/ROS/REST+API
 
 
Artikel ini dibuat pada 10 Januari 2022 menggunakan ROS v7.1 di CHR



Kembali ke :
Halaman Artikel | Kategori Fitur & Penggunaan