Jak wysłać wiele SMS-ów z PHP

Najprostszym sposobem wysyłania SMS-ów z PHP jest użycie wbudowanego interfejsu HTTP/Rest SMS API Ozeki SMS Gateway. Korzystając z tego API, wysyłasz wiadomości SMS poprzez wysłanie żądania HTTP Post do bramki SMS. Żądanie HTTP Post będzie zawierać wiadomość sformatowaną w formacie JSON. Bramka SMS wyśle tę wiadomość na numer telefonu odbiorcy i zwróci odpowiedź HTTP 200 OK na Twoje żądanie.

jak wysłać wiele sms-ów z php
Rysunek 1 - Jak wysłać wiele SMS-ów z PHP

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

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

SendSMS.cs
namespace Ozeki_PHP_Rest
{
require 'MessageApi/MessageApi.php';

		$configuration = new Configuration();
		
		$configuration -> Username = "http_user";
		$configuration -> Password = "qwe123";
		$configuration -> ApiUrl = "http://127.0.0.1:9509/api"; 	
		$msg1 = new Message();
		$msg2 = new Message();
		
		$msg1 -> ToAddress = "+36201111111";
		$msg1 -> Text = "Hello, World 1!";
		$msg2 -> ToAddress = "+36202222222";
		$msg2 -> Text = "Hello, World 2!";
			
		$api = new MessageApi($configuration);
		
		$result = $api -> SendMultiple([$msg1,$msg2]);	
		
		echo strval($result);
}		

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

Ten przykład PHP do wysyłania SMS-ów może być używany w dowolnej aplikacji PHP. Aby go użyć, musisz dodać folder MessageApi do swojego projektu. 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 poprzez połączenie bezprzewodowe lub przez Internet.

Pobierz Send-multiple-SMS.php

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

Co znajduje się w pliku Send-multiple-SMS.js.zip?

Plik Send-multiple-SMS.zip zawiera bibliotekę Ozeki.Libs.Rest, która dostarcza wszystkich narzędzi niezbędnych do wysyłania i odbierania wiadomości SMS. Znajdziesz tam również plik SendMultipleSms 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 z php
Rysunek 2 - Katalog Send-multiple-SMS

Jak wysłać SMS z PHP (Szybkie kroki)

Aby wysłać SMS z PHP:

  1. Zainstaluj Ozeki SMS Gateway
  2. Podłącz Ozeki SMS Gateway do sieci komórkowej
  3. Wyślij testowego SMS-a z interfejsu Ozeki
  4. Utwórz użytkownika HTTP SMS API
  5. Uruchom serwer Wamp
  6. Pobierz powyższy przykład
  7. Utwórz SMS, tworząc nowy obiekt Message
  8. Użyj metody SendSingle do wysłania wiadomości
  9. Odczytaj odpowiedź HTTP
  10. Sprawdź logi w bramce SMS

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

Aby móc wysyłać SMS-y z PHP, najpierw musisz zainstalować Ozeki SMS Gateway. Bramka SMS może być zainstalowana na tym samym komputerze, na którym tworzysz swój kod PHP. Po instalacji następnym krokiem jest podłączenie Ozeki SMS Gateway do sieci komórkowej. Możesz wysłać testowego SMS-a 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 PHP.

URL API HTTP do wysyłania SMS-ów z PHP

Aby wysłać SMS z PHP, Twoje PHP będzie musiało 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 zainstalowana na tym samym komputerze, na którym działa aplikacja C# do wysyłania SMS-ów, może to być 127.0.0.1. Jeśli jest zainstalowana na innym komputerze, powinien to być adres IP tego komputera.

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

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

Aby wysłać wiadomości SMS, musisz uwzględnić następujące linie jako nagłówki w żądaniu HTTP. Pamiętaj, że uwzględniamy nagłówek Content-Type i Authorization.

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

Żądanie HTTP do wysłania SMS-a z PHP

Aby wysłać SMS, Twoja aplikacja PHP 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.

HTTP request received from 127.0.0.1:55788
POST /api?action=sendmsg HTTP/1.1
Content-Length: 856
Content-Type: application/json
Accept: */*
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509

{
  "messages": [
    {
      "message_id": "973c88f2-ae30-4b46-a4cd-e497151d38f3",
      "from_connection": null,
      "from_address": null,
      "from_station": null,
      "to_connection": null,
      "to_address": "+36201111111",
      "to_station": null,
      "text": "Hello, World 1!",
      "create_date": "2021-06-16 12:18:04",
      "valid_until": "2021-06-23 12:18:04",
      "time_to_send": "2021-06-16 12:18:04",
      "submit_report_requested": true,
      "delivery_report_requested": true,
      "view_report_requested": true,
      "tags": []
    },
    {
      "message_id": "dd910a4f-9172-4f35-9231-8dc83a5fc401",
      "from_connection": null,
      "from_address": null,
      "from_station": null,
      "to_connection": null,
      "to_address": "+36202222222",
      "to_station": null,
      "text": "Hello, World 2!",
      "create_date": "2021-06-16 12:18:04",
      "valid_until": "2021-06-23 12:18:04",
      "time_to_send": "2021-06-16 12:18:04",
      "submit_report_requested": true,
      "delivery_report_requested": true,
      "view_report_requested": true,
      "tags": []
    }
  ]
}

Odpowiedź HTTP otrzymana przez przykład SMS w PHP

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

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.116 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Wed, 16 Jun 2021 10:04:01 GMT
Server: 10/10.3.116
Transfer-Encoding: chunked

{
  "http_code": 200,
  "response_code": "SUCCESS",
  "response_msg": "Messages queued for delivery.",
  "data": {
    "total_count": 2,
    "success_count": 2,
    "failed_count": 0,
	"messages": [
      {
        "message_id": "63d2303d-9add-44d3-afd6-f27d6b6966ba",
        "from_station": "%",
        "to_address": "+36201111111",
        "to_station": "%",
        "text": "Hello, World 1!",
        "create_date": "2021-06-16 12:18:04",
        "valid_until": "2021-06-23 12:18:04",
        "time_to_send": "2021-06-16 12:18:04",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      },
      {
        "message_id": "f393dd6c-6d6c-4b87-b069-78166a25b894",
        "from_station": "%",
        "to_address": "+36202222222",
        "to_station": "%",
        "text": "Hello, World 2!",
        "create_date": "2021-06-16 12:18:04",
        "valid_until": "2021-06-23 12:18:04",
        "time_to_send": "2021-06-16 12:18:04",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      }
    ]
  }
}

Jak wysłać SMS z PHP za pomocą API SMS w PHP (Samouczek wideo)

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

Wideo 1 - Jak wysłać SMS z PHP za pomocą API SMS w PHP (Samouczek wideo)

Przykład SMS w PHP: Send_Message.php

Rysunek 3 - Send_Message.php

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

Po wysłaniu SMS-a warto sprawdzić w bramie SMS, co zostało odebrane. Możesz sprawdzić log, otwierając szczegóły użytkownika HTTP w konsoli zarządzania bramą SMS Ozeki. Poniższy film pokazuje, na co zwrócić uwagę.

Wideo 2 - Jak wysłać SMS za pomocą powyższego kodu PHP (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 tekst wiadomości, które wysłałeś.

Wideo 3 - Jak włączyć logowanie w bramie SMS Ozeki

Aby włączyć logowanie w użytkowniku HTTP, należy postępować zgodnie z tymi samymi instrukcjami.

Podsumowanie

Ten przewodnik zawiera wszystkie kluczowe informacje na temat wysyłania wielu wiadomości SMS z PHP za pomocą HTTP REST SMS API bramki SMS Ozeki. Przekonasz się, że korzystanie z PHP SMS API jest bardzo opłacalne, ponieważ działa nie tylko z dostawcami usług SMS online; działa również z bramką SMS na Androida, umożliwiając bezprzewodowe wysyłanie SMS-ów. Ta usługa może uczynić Twoje komunikowanie się bardziej efektywnym, ponieważ pozwala dostarczać cenne informacje na więcej niż jeden telefon komórkowy jednocześnie.

Na stronie Ozeki znajdziesz znacznie więcej podobnych przewodników, uczmy się więcej! Dowiedz się, jak możesz wykorzystać PHP do innych celów, zacznij od wysyłania zaplanowanych wiadomości SMS.

Skonfiguruj bramkę SMS Ozeki już teraz i wprowadź w życie to, czego się nauczyłeś!

More information