Jak wysłać wiele SMS-ów z Node.js

Najprostszym sposobem wysyłania SMS-ów z Node.Js jest użycie wbudowanego interfejsu HTTP/Rest SMS API Ozeki SMS Gateway. Korzystając z tego API, możesz wysyłać wiadomości SMS, wysyłając żądanie HTTP Post do bramki SMS. Żądanie HTTP Post będzie zawierać wiadomość w formacie JSON. Bramka SMS wyśle tę wiadomość na telefon odbiorcy i zwróci odpowiedź HTTP 200 OK na Twoje żądanie.

jak wysyłać wiadomości SMS za pomocą node js
Rysunek 1 - Jak wysłać wiele SMS-ów z Node.Js

Kod JavaScript do wysyłania SMS-ów na telefon

Poniższy przykładowy kod JavaScript do wysyłania SMS-ów demonstruje, jak możesz wysyłać SMS-y, korzystając z interfejsu HTTP REST SMS API Ozeki SMS Gateway za pomocą biblioteki JavaScript Ozeki.Libs.Rest. Ta biblioteka jest dostarczana bezpłatnie i możesz jej używać oraz modyfikować w dowolnym z Twoich projektów.

SendMultipleSms.mjs
import { Configuration, Message, MessageApi } from './Ozeki.Libs.Rest.js';


var configuration = new  Configuration();
configuration.Username = "http_user";
configuration.Password = "qwe123";
configuration.ApiUrl = "http://127.0.0.1:9509/api";

var msg1 = new Message();
msg1.ToAddress = "+36201111111";
msg1.Text = "Hello world 1";

var msg2 = new Message();
msg2.ToAddress = "+36202222222";
msg2.Text = "Hello world 2";

var msg3 = new Message();
msg3.ToAddress = "+36203333333";
msg3.Text = "Hello world 3";

var messages = new Array();

messages.push(msg1);
messages.push(msg2);
messages.push(msg3);

var api = new MessageApi(configuration);

const result = await api.Send(messages);

console.log(result.toString());
	

Jak używać przykładu kodu JavaScript do wysyłania SMS-ów:

Możesz użyć klasy Message do tworzenia SMS-ów, a klasy MessageApi do wysyłania SMS-ów do bramki SMS. Bramka SMS przekaże Twoją wiadomość do sieci komórkowej za pośrednictwem połączenia bezprzewodowego lub przez Internet.

Pobierz SendMultipleSms.js

Kod źródłowy omówiony w tym artykule można pobrać, używać i modyfikować bezpłatnie.
Pobierz: SendMultipleSms.js.zip (3.62Kb)

Co znajduje się w pliku SendMultipleSms.js.zip?

Plik SendMultipleSms.js.zip zawiera bibliotekę Ozeki.Libs.Rest, która zapewnia wszystkie narzędzia niezbędne do wysyłania i odbierania wiadomości SMS. Znajdziesz tam również plik SendMultipleSms.mjs w projekcie, który zawiera przykładowy kod pokazujący, jak wysłać SMS. Przykładowy kod jest wymieniony poniżej.

przykładowy projekt do wysyłania wielu SMS-ów za pomocą node js
Rysunek 2 - Katalog SendMultipleSms.js

Ten projekt ma zależności, więc przed rozpoczęciem należy zainstalować pakiet node-fetch za pomocą następującego polecenia:

npm install node-fetch
	

Kod 1 - Polecenie do zainstalowania pakietu node-fetch

.

Jak wysłać SMS z Node.Js (Szybkie kroki)

Aby wysłać SMS z Node.Js:

  1. Zainstaluj Ozeki SMS Gateway
  2. Podłącz Ozeki SMS Gateway do sieci komórkowej
  3. Wyślij testowy SMS z interfejsu Ozeki
  4. Utwórz użytkownika HTTP SMS API
  5. Apache NetBeans
  6. Pobierz przykładowy projekt powyżej
  7. Utwórz SMS, tworząc nowy obiekt Message
  8. Utwórz API do wysłania wiadomości
  9. Użyj metody Send do wysłania wiadomości
  10. Odczytaj odpowiedź na konsoli
  11. Sprawdź logi w bramce SMS

Zainstaluj Ozeki SMS Gateway i utwórz użytkownika HTTP API

Aby móc wysyłać SMS-y z Node.Js, najpierw musisz zainstalować Ozeki SMS Gateway. Bramka SMS może być zainstalowana na tym samym komputerze, na którym tworzysz swój kod JavaScript w Visual Studio Code lub innym edytorze kodu. Po instalacji następnym krokiem jest podłączenie Ozeki SMS Gateway do sieci komórkowej. Możesz wysłać testowy SMS z interfejsu Ozeki, aby sprawdzić, czy Twoje połączenie z siecią komórkową działa. Ostatnim krokiem przygotowania środowiska jest utworzenie użytkownika HTTP SMS API. Utwórz użytkownika z nazwą "http_user" i hasłem "qwe123", aby przykład działał bez modyfikacji.

Po skonfigurowaniu środowiska możesz uruchomić swój kod JavaScript.

URL API HTTP do wysyłania SMS-ów z Node.Js

Aby wysłać SMS z Node.Js, Twój JavaScript będzie musiał wysłać żądanie HTTP do bramki SMS. URL API jest pokazany poniżej. Pamiętaj, że adres IP (127.0.0.1) powinien zostać zastąpiony adresem IP Twojej bramki SMS. Jeśli Ozeki SMS Gateway jest zainstalowany na tym samym komputerze, na którym działa aplikacja JavaScript do wysyłania SMS-ów, może to być 127.0.0.1. Jeśli jest zainstalowany na innym komputerze, powinien to być adres IP tego komputera.

http://127.0.0.1:9509/api?action=rest
	

Uwierzytelnianie HTTP do wysyłania SMS-ów z JavaScript

Aby uwierzytelnić klienta SMS w Node.Js, należy wysłać nazwę użytkownika i hasło w formie zakodowanego ciągu base64 do serwera w żądaniu HTTP. Używany format to: base64(nazwa_użytkownika+":"+hasło). W JavaScript możesz użyć następującego kodu do wykonania tego kodowania:

var usernamePassword = username + ":" + password;
return `Basic ${Base64.encode(usernamePassword)}`;
	

Na przykład, jeśli zakodujesz nazwę użytkownika 'http_user' i hasło 'qwe123', otrzymasz następujący zakodowany ciąg base64: aHR0cF91c2VyOnF3ZTEyMw==. Aby wysłać

Nagłówek żądania HTTP do wysyłania SMS-ów z JavaScript

Aby wysłać wiadomości SMS, należy uwzględnić następujące linie jako nagłówki w żądaniu HTTP. Zwróć uwagę, że zawieramy typ zawartości i nagłówek Authorization.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	

Żądanie HTTP do wysyłania SMS-ów z Node.Js

Aby przesłać SMS, Twoja aplikacja Node.Js wyśle żądanie HTTP podobne do poniższego. Zauważ, że to żądanie zawiera część nagłówka HTTP i część ciała HTTP. Ciało HTTP to ciąg danych zakodowany w formacie JSON. Zawiera numer odbiorcy i tekst wiadomości.

POST /api?action=sendmsg HTTP/1.1
Connection: close
Content-Length: 932
Content-Type: application/json
Accept: */*
Accept-Encoding: gzip,deflate
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
User-Agent: node-fetch/1.0 (+https://github.com/bitinn/node-fetch)

{
	"messages":	[
		{
			"message_id":	"bda3e52a-6081-4c7e-954a-e3baf41d68bd",
			"to_address":	"+36201111111",
			"text":	"Hello world 1",
			"create_date":	"2021-06-14T09:45:52",
			"vaild_date":	"2021-06-21T09:45:52",
			"time_to_send":	"2021-06-14T09:45:52",
			"submit_report_requested":	true,
			"delivery_report_requested":	true,
			"view_report_requested":	true
		},
		{
			"message_id":	"50147a56-d453-50ba-b0ba-567c789cb539",
			"to_address":	"+36202222222",
			"text":	"Hello world 2",
			"create_date":	"2021-06-14T09:45:52",
			"vaild_date":	"2021-06-21T09:45:52",
			"time_to_send":	"2021-06-14T09:45:52",
			"submit_report_requested":	true,
			"delivery_report_requested":	true,
			"view_report_requested":	true
		},
		{
			"message_id":	"f05671e8-7664-d1c0-82da-0934464e2978",
			"to_address":	"+36203333333",
			"text":	"Hello world 3",
			"create_date":	"2021-06-14T09:45:52",
			"vaild_date":	"2021-06-21T09:45:52",
			"time_to_send":	"2021-06-14T09:45:52",
			"submit_report_requested":	true,
			"delivery_report_requested":	true,
			"view_report_requested":	true
		}
	]
}
	

Odpowiedź HTTP otrzymana przez przykład SMS w JavaScript

Gdy brama SMS otrzyma to żądanie, wygeneruje odpowiedź HTTP. Odpowiedź HTTP będzie zawierać kod statusu, aby wskazać, czy żądanie wysłania SMS zakończyło się sukcesem, czy nie. Zwróci również strukturę zakodowaną w formacie JSON, aby dostarczyć przydatne informacje dotyczące przesłania wiadomości.

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.120 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Mon, 14 Jun 2021 09:12:00 GMT
Server: 10/10.3.120
Transfer-Encoding: chunked
{
	"http_code": 200,
	"response_code": "SUCCESS",
	"response_msg": "Messages queued for delivery.",
	"data": {
	  "total_count": 3,
	  "success_count": 3,
	  "failed_count": 0,
	  "messages": [
	    {
	      "message_id": "bda3e52a-6081-4c7e-954a-e3baf41d68bd",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world 1",
	      "create_date": "2021-06-14 09:45:52",
	      "valid_until": "2021-06-21 09:45:52",
	      "time_to_send": "2021-06-14 09:45:52",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    },
	    {
	      "message_id": "50147a56-d453-50ba-b0ba-567c789cb539",
	      "from_station": "%",
	      "to_address": "+36202222222",
	      "to_station": "%",
	      "text": "Hello world 2",
	      "create_date": "2021-06-14 09:45:52",
	      "valid_until": "2021-06-21 09:45:52",
	      "time_to_send": "2021-06-14 09:45:52",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    },
	    {
	      "message_id": "f05671e8-7664-d1c0-82da-0934464e2978",
	      "from_station": "%",
	      "to_address": "+36203333333",
	      "to_station": "%",
	      "text": "Hello world 3",
	      "create_date": "2021-06-14 09:45:52",
	      "valid_until": "2021-06-21 09:45:52",
	      "time_to_send": "2021-06-14 09:45:52",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	

Jak wysyłać SMS-y z Node.Js za pomocą API SMS (Samouczek wideo)

Ten film pokazuje, jak pobrać i użyć projektu SendMultipleSms.js. Po dodaniu potrzebnych plików do projektu możesz zauważyć, że istnieje plik o nazwie Ozeki.Lbis.Rest.js. To plik zawierający MessageApi i wszystko, czego potrzebujesz, aby wysłać SMS za pomocą JavaScript.

Wideo 1 - Jak pobrać Ozeki.Libs.Rest i skonfigurować projekt (Samouczek wideo)

Przykład SMS w Node.Js: SendMultipleSms.mjs (w Notatniku)

Na tym obrazku (Rysunek 3) można znaleźć kod źródłowy projektu, otwarty w notatniku. Możesz również edytować go w notatniku. Jeśli znasz Node.js, śmiało zmień zmienne w kodzie i wyślij spersonalizowaną wiadomość na wybrany adres.

przykład javascript do wysyłania wielu sms
Rysunek 3 - SendMultipleSms.mjs w Notatniku

Przykład SMS w Node.Js: SendMultipleSms.mjs (w Visual Studio Code)

Jeśli szukasz łatwiejszego sposobu otwierania i edycji kodu źródłowego, spróbuj użyć Visual Studio Code (Rysunek 4). Oferuje kolorowanie składni, więcej pomocy i automatyczne uzupełnianie. To lekkie IDE (Zintegrowane Środowisko Programistyczne), które jest open-source i darmowe.

przykład javascript do wysyłania wielu sms
Rysunek 4 - SendMultipleSms.mjs w Visual Studio Code

Jak sprawdzić, czy SMS został zaakceptowany przez użytkownika HTTP

Po wysłaniu SMS-a warto sprawdzić bramkę SMS, aby zobaczyć, co otrzymała. Możesz sprawdzić logi, otwierając szczegóły użytkownika HTTP w konsoli zarządzania Ozeki SMS Gateway. Poniższy film pokazuje, na co zwrócić uwagę.

Wideo 2 - Jak wysłać wiele wiadomości SMS za pomocą powyższego kodu JavaScript (Samouczek wideo)

Jak sprawdzić, czy SMS został wysłany do sieci komórkowej

Ostatnim krokiem weryfikacji procedury jest sprawdzenie logów połączenia z siecią komórkową. Może być konieczne włączenie logowania w konfiguracji połączenia przed wysłaniem wiadomości, aby zobaczyć logi. Jeśli logowanie jest włączone, zobaczysz numer telefonu i treść wysłanej wiadomości.

Podsumowanie

Ten przewodnik zawiera wszystkie niezbędne informacje, aby nauczyć się wysyłać wiele wiadomości SMS z aplikacji Node.js za pomocą użytkownika HTTP Ozeki SMS Gateway. To rozwiązanie oferuje wszechstronne zastosowanie, ponieważ API SMS Node.js działa również z Androidową Bramką SMS, która pozwala na bezprzewodowe wysyłanie SMS-ów, co jest bardzo korzystne. Korzystanie z tej usługi sprawia, że Twoje wiadomości są bardziej efektywne i dynamiczne, pozwalając na dostarczanie cennych informacji i ważnych powiadomień na wiele telefonów komórkowych jednocześnie.

Na stronie Ozeki znajdziesz wiele więcej artykułów na temat funkcjonalności API SMS Node.js. Śmiało, ucz się więcej, kontynuuj z Jak zaplanować SMS w Node.js.

Do dzieła, przede wszystkim pobierz Ozeki SMS Gateway!

More information