Jak wysłać SMS z PHP

Najprostszym sposobem wysłania SMS z PHP jest użycie wbudowanego interfejsu HTTP/Rest SMS API Ozeki SMS Gateway. Korzystając z tego API, będziesz wysyłać 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ść SMS na telefon odbiorcy i zwróci odpowiedź HTTP 200 OK na Twoje żądanie.

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

Kod PHP do wysłania SMS na telefon

Poniższy przykładowy kod PHP do wysyłania SMS demonstruje, jak możesz wysłać SMS przy użyciu interfejsu HTTP REST SMS API Ozeki SMS Gateway z wykorzystaniem biblioteki PHP Ozeki.Libs.Rest. Ta biblioteka jest dostarczana bezpłatnie i możesz jej używać oraz modyfikować w dowolnym z Twoich projektów.

SendSMS.cs

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

		$configuration = new Configuration();
		
		$configuration -> Username = "http_user";
		$configuration -> Password = "qwe123";
		$configuration -> ApiUrl = "http://192.168.0.113:9509/api";
		
		$msg = new Message();
		
		$msg -> ToAddress = "+36201111111";
		$msg -> Text = "Hello, World!";
			
		$api = new MessageApi($configuration);
		
		$result = $api -> SendSingle($msg);	
		
		echo strval($result);
}			

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

Ten przykład wysyłania SMS w PHP 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 stworzenia SMS, a klasy MessageApi do wysłania SMS do bramki SMS. Bramka SMS przekaże Twoją wiadomość do sieci komórkowej poprzez połączenie bezprzewodowe lub przez Internet.

Pobierz SendSMS.php

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

Co znajduje się w pliku SendSMS.zip?

Plik SendSMS.zip zawiera bibliotekę Ozeki.Libs.Rest.Php, która dostarcza wszystkich narzędzi niezbędnych do wysyłania i odbierania wiadomości SMS. Znajdziesz tam również projekt SendSMS, który zawiera przykładowy kod pokazujący, jak wysłać SMS. Ten przykładowy kod jest wymieniony poniżej.

Rysunek 2 - Co znajduje się w SendSMS.zip

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 testową wiadomość SMS z interfejsu Ozeki
  4. Utwórz użytkownika HTTP SMS API
  5. Uruchom serwer Wamp
  6. Pobierz powyższy przykład
  7. Utwórz wiadomość SMS, tworząc nowy obiekt Message
  8. Użyj metody SendSingle, aby wysłać swoją wiadomość
  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 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ć testową wiadomość 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 PHP.

URL API HTTP do wysyłania SMS 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. Zauważ, ż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 C# do wysyłania SMS, 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

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

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

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

Żądanie HTTP do wysyłania SMS z PHP

Aby przesł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 192.168.0.113:62101
POST /api?action=sendmsg HTTP/1.1
Content-Length: 433
Content-Type: application/json
Accept: */*
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 192.168.0.113:9509

{
  "messages": [
    {
      "message_id": "f259f9de-bc27-4794-8d2b-691af76b551b",
      "from_connection": null,
      "from_address": null,
      "from_station": null,
      "to_connection": null,
      "to_address": "+36201111111",
      "to_station": null,
      "text": "Hello, World!",
      "create_date": "2021-06-15 15:10:16",
      "valid_until": "2021-06-22 15:10:16",
      "time_to_send": "2021-06-15 15:10:16",
      "submit_report_requested": true,
      "delivery_report_requested": true,
      "view_report_requested": true,
      "tags": []
    }
  ]
}

Odebrana odpowiedź HTTP przez przykład PHP SMS

Gdy bramka SMS odbierze to żądanie, wygeneruje odpowiedź HTTP. Odpowiedź HTTP będzie zawierać kod statusu, wskazujący, 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.118 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Mon, 14 Jun 2021 07:43:45 GMT
Server: 10/10.3.118
Transfer-Encoding: chunked

{
  "http_code": 200,
  "response_code": "SUCCESS",
  "response_msg": "Wiadomości dodane do kolejki dostarczenia.",
  "data": {
    "total_count": 1,
    "success_count": 1,
    "failed_count": 0,
    "messages": [
      {
        "message_id": "a451446c-db80-4009-b51d-31d0675e28c4",
        "from_station": "%",
        "to_address": "+36201111111",
        "to_station": "%",
        "text": "Hello, World!",
        "create_date": "2021-06-15 15:10:16",
        "valid_until": "2021-06-22 15:10:16",
        "time_to_send": "2021-06-15 15:10:16",
        "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 przy użyciu API SMS PHP (Samouczek wideo)

Ten film pokazuje, jak pobrać i użyć projektu SendSMS 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 do wysłania SMS-a za pomocą PHP.

Wideo 1 - Jak pobrać i uruchomić przykładowy projekt

Przykład PHP SMS: Send_Message.php

Rysunek 2 - Send_Message.php

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

Po przesłaniu SMS-a warto sprawdzić w bramce SMS, co zostało odebrane. 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 - Wysyłanie SMS-a z powyższym kodem PHP

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.

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

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

Podsumowanie

Ten przewodnik dostarczył wszystkich niezbędnych informacji na temat wysyłania wiadomości SMS z PHP za pomocą HTTP REST SMS API Ozeki SMS Gateway. To rozwiązanie wymaga połączenia użytkownika HTTP w Ozeki SMS Gateway, co zapewnia bardzo niezawodne połączenie o niesamowitej szybkości. Ta usługa może zwiększyć efektywność Twojej organizacji, ponieważ umożliwia dostarczanie kluczowych informacji dostępnych w e-mailach na telefony komórkowe, przyspieszając przepływ pracy.

Istnieje wiele więcej artykułów, które mogą Ci pomóc, więc upewnij się, że je przeczytasz. Zacznij od artykułu pt. Jak wysłać wiele SMS-ów z PHP i pomnóż swoje możliwości.

Zacznij korzystać z Ozeki SMS Gateway już teraz! Wszystko jest gotowe, aby uruchomić go w kilka minut.

More information