MikroTik, znany z ogromnej elastyczności, oferuje wiele funkcji, w tym możliwość wysyłania wiadomości SMS bezpośrednio z routera. Dzięki API REST, dodanym w RouterOS 7.x, możesz łatwo wysyłać wiadomości SMS za pomocą prostego zapytania HTTP. W tym artykule pokażę, jak skonfigurować tę funkcję i wysyłać SMS-y za pomocą polecenia curl.
Wymagania
Aby wysyłać wiadomości SMS za pomocą MikroTika, potrzebujesz:
- Routera MikroTik z systemem RouterOS 7.x.
- Modemu GSM podłączonego do routera (np. lte1 lub usb2).
- Użytkownika z odpowiednimi uprawnieniami w MikroTik (więcej o tym poniżej).
- Narzędzia curl na komputerze do wysyłania zapytań HTTP.
Konfiguracja użytkownika z uprawnieniami
Najpierw musisz skonfigurować użytkownika, który będzie mógł wysyłać SMS-y za pomocą API REST. Aby to zrobić:
- Zaloguj się do MikroTik i przejdź do System > Users.
- Dodaj nowego użytkownika (np.
api_user_sms
). - Upewnij się, że użytkownik ma przypisane odpowiednie policy. Konieczne są: local, read, write, test, api, oraz rest-api.
- Zapisz zmiany.
Wysyłanie SMS-a za pomocą CURL
Kiedy użytkownik jest już skonfigurowany, możesz wysłać SMS za pomocą narzędzia curl. Przykładowe wywołanie wygląda następująco:
curl -k -u api_user_sms:haslo http://10.9.46.1/rest/tool/sms/send \ -H "Content-Type: application/json" \ --data '{"port": "lte1", "message": "Test SMS z Mikrotika Curlem", "phone-number": "+48666666666"}'
Wyjaśnienie komendy:
- -k – opcja ignorowania weryfikacji certyfikatu SSL (przy połączeniu nieszyfrowanym).
- -u api_user_sms:haslo – uwierzytelnienie za pomocą loginu i hasła użytkownika MikroTik.
- http://10.9.46.1/rest/tool/sms/send – adres REST API MikroTika.
- -H „Content-Type: application/json” – nagłówek, który informuje, że dane przesyłane są w formacie JSON.
- –data – przesyłane dane, zawierające port modemu GSM, wiadomość SMS oraz numer telefonu odbiorcy.
Wymagane parametry:
- port – Nazwa interfejsu modemu GSM, np.
lte1
lubusb2
. - message – Treść wiadomości SMS.
- phone-number – Numer telefonu odbiorcy w formacie międzynarodowym (np. +48 dla Polski).
Uprawnienia
Podczas testowania okazało się, że użytkownik musi mieć przypisane następujące uprawnienia: local, read, write, test, api, rest-api. Bez tych uprawnień otrzymasz błąd „not enough permissions”.
Podsumowanie
Dzięki API REST w MikroTik, możesz łatwo integrować router z innymi systemami i wysyłać SMS-y bezpośrednio z poziomu routera, wykorzystując CURL lub inne narzędzia HTTP. Jest to bardzo wygodne rozwiązanie, gdy potrzebujesz zdalnie monitorować i zarządzać urządzeniami, np. do wysyłania alertów lub powiadomień SMS.
Dzięki prostemu zapytaniu, jak przedstawione powyżej, możesz wykorzystać pełny potencjał MikroTika, aby automatyzować wysyłanie SMS-ów z routera.
R.
Podoba Ci się to co robię? Może Ci się to przydało? Doceń moje starania…