Wysyłanie wiadomości SMS z MikroTika za pomocą API REST i CURL

By | Wrzesień 7, 2024

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:

  1. Routera MikroTik z systemem RouterOS 7.x.
  2. Modemu GSM podłączonego do routera (np. lte1 lub usb2).
  3. Użytkownika z odpowiednimi uprawnieniami w MikroTik (więcej o tym poniżej).
  4. 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ć:

  1. Zaloguj się do MikroTik i przejdź do System > Users.
  2. Dodaj nowego użytkownika (np. api_user_sms).
  3. Upewnij się, że użytkownik ma przypisane odpowiednie policy. Konieczne są: local, read, write, test, api, oraz rest-api.
  4. Zapisz zmiany.

Konfiguracja użytkownika i uprawnień do wysyłki SMS

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:

  1. port – Nazwa interfejsu modemu GSM, np. lte1 lub usb2.
  2. message – Treść wiadomości SMS.
  3. 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…

Postaw mi kawę na buycoffee.to