MikroTik

How to Configure JSON API on MikroTik: Step by Step

A JSON API no Mikrotik é uma interface que permite a comunicação com o roteador usando o formato JSON. Ela é amplamente utilizada para integrar o Mikrotik a sistemas externos, como ferramentas de monitoramento ou automação, proporcionando uma maneira eficiente de gerenciar e monitorar o dispositivo remotamente.

Step-by-Step Guide to Configure JSON API on MikroTik

1. Access the MikroTik

  • Conecte-se ao roteador via WinBox, SSH, ou interface Web.

2. Enable the API Service

  • Certifique-se de que o serviço API está ativo no roteador. Use o comando:
    RouterOS
    /ip service enable api
  • Por padrão, o serviço API utiliza a porta 8728. Para habilitar a versão segura (SSL):
    RouterOS
    /ip service enable api-ssl

3. Adjust the API Service Port (optional)

  • Caso queira alterar a porta padrão para evitar conflitos ou melhorar a segurança:
    RouterOS
    /ip service set api port=8080

4. Configure the Firewall for the API Service

  • Garanta que o acesso ao serviço API seja permitido apenas para IPs confiáveis:
    RouterOS
    /ip firewall filter add chain=input protocol=tcp dst-port=8728 src-address=192.168.1.0/24 action=accept comment="Permitir acesso API"
    /ip firewall filter add chain=input protocol=tcp dst-port=8728 action=drop comment="Bloquear outros acessos API"

5. Test API Access

  • Use uma ferramenta de requisições, como Postman ou cURL, para enviar comandos ao Mikrotik.
  • Example cURL command: curl -u admin:password -X POST http://192.168.1.1:8728/jsonrpc -d '{"id":1, "method":"/ip/address/print"}'

6. Integrate MikroTik with External Systems

  • Utilize bibliotecas compatíveis com JSON API, como RouterOS API for PHP ou scripts personalizados em Python: import requests url = "<a target="_new" rel="noopener">http://192.168.1.1:8728/jsonrpc</a>" payload = {"id": 1, "method": "/ip/address/print"} response = requests.post(url, json=payload, auth=('admin', 'senha')) print(response.json())

7. Enable Logs to Monitor the API Service (optional)

  • Ative logs específicos para acompanhar o uso da API:
    RouterOS
    /system logging add topics=api action=memory

Final Considerations

A JSON API no Mikrotik é uma solução poderosa para gerenciar e monitorar o roteador de maneira automatizada. Configurá-la corretamente garante integração segura com sistemas externos, otimizando o gerenciamento da sua rede.