Jak odeslat SMS z PHP

Nejjednodušší způsob, jak odeslat SMS z PHP, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Při použití tohoto API budete odesílat SMS zprávy odesláním HTTP POST požadavku na SMS bránu. HTTP POST požadavek bude obsahovat zprávu ve formátu JSON. SMS brána odešle tuto SMS příjemci a vrátí HTTP 200 OK odpověď na váš požadavek.

jak odeslat sms z php
Obrázek 1 - Jak odeslat SMS z PHP

PHP kód pro odeslání SMS na mobil

Níže uvedený ukázkový kód PHP pro SMS demonstruje, jak můžete odesílat SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s využitím knihovny PHP Ozeki.Libs.Rest. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli svém projektu.

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 použít příklad PHP SMS:

Tento příklad PHP SMS lze použít v jakékoli PHP aplikaci. Pro použití je nutné přidat složku MessageApi do vašeho projektu. Můžete použít třídu Message k vytvoření SMS a třídu MessageApi k odeslání SMS na SMS bránu. SMS brána přepošle vaši zprávu do mobilní sítě buď prostřednictvím bezdrátového připojení nebo přes internet.

Stáhnout SendSMS.php

Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: SendSMS.zip (5.9Kb)

Co obsahuje soubor SendSMS.zip?

Soubor SendSMS.zip obsahuje knihovnu Ozeki.Libs.Rest.Php, která vám poskytuje všechny nástroje potřebné pro odesílání a přijímání SMS zpráv. V zipu také najdete projekt SendSMS, který obsahuje ukázkový kód, který vám ukáže, jak odeslat SMS. Tento ukázkový kód je uveden níže.

Obrázek 2 - Co je uvnitř SendSMS.zip

Jak odeslat SMS z PHP (Rychlé kroky)

Pro odeslání SMS z PHP:

  1. Nainstalujte Ozeki SMS Gateway
  2. Připojte Ozeki SMS Gateway k mobilní síti
  3. Odešlete testovací SMS z Ozeki GUI
  4. Vytvořte uživatele HTTP SMS API
  5. Spusťte Wamp server
  6. Stáhněte výše uvedený příklad
  7. Vytvořte SMS vytvořením nového objektu Message
  8. Použijte metodu SendSingle k odeslání vaší zprávy
  9. Přečtěte si HTTP odpověď
  10. Zkontrolujte protokoly v SMS bráně

Instalace Ozeki SMS Gateway a vytvoření uživatele HTTP API

Abyste mohli odesílat SMS z PHP, musíte nejprve nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj PHP kód. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací SMS z Ozeki GUI a ověřit, že vaše připojení k mobilní síti funguje. Posledním krokem k přípravě vašeho prostředí je vytvoření uživatele HTTP SMS API. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby příklad fungoval bez úprav.

Po nastavení prostředí můžete spustit svůj PHP kód.

URL HTTP API pro odesílání SMS z PHP

Pro odeslání SMS z PHP bude vaše PHP muset odeslat HTTP požadavek na SMS bránu. API URL je uvedeno níže. Poznámka: IP adresa (127.0.0.1) by měla být nahrazena IP adresou vaší SMS brány. Pokud je Ozeki SMS Gateway nainstalována na stejném počítači, kde běží C# SMS aplikace, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by to být IP adresa tohoto počítače.

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

HTTP hlavička požadavku pro odeslání SMS z PHP

Pro odeslání SMS zpráv musíte do HTTP požadavku zahrnout následující řádky jako hlavičky. Poznámka: Zahrnujeme hlavičku Content-Type a Authorization.

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

HTTP požadavek pro odeslání SMS z PHP

Pro odeslání SMS bude vaše PHP aplikace odesílat HTTP požadavek podobný tomu níže. Poznámka: Tento požadavek obsahuje část HTTP hlavičky a část HTTP těla. HTTP tělo je řetězec dat zakódovaný v JSON. Obsahuje číslo příjemce a text zprávy.

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": []
    }
  ]
}

HTTP odpověď přijatá PHP SMS příkladem

Jakmile SMS brána obdrží tento požadavek, vygeneruje HTTP odpověď. HTTP odpověď bude obsahovat stavový kód, který indikuje, zdařilo se odeslání SMS nebo ne. Také vrátí strukturu zakódovanou v JSONu, která poskytuje užitečné detaily o odeslání zprávy.

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": "Zprávy zařazeny do fronty k odeslání.",
  "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 odeslat SMS z PHP pomocí PHP SMS API (Video tutoriál)

Toto video vám ukáže, jak stáhnout a použít projekt SendSMS php. Jakmile přidáte potřebné soubory do svého projektu, můžete si všimnout, že existuje soubor s názvem MessageApi.php. Tento soubor obsahuje MessageApi a vše, co potřebujete k odeslání SMS pomocí PHP.

Video 1 - Jak stáhnout a spustit příklad projektu

Příklad PHP SMS: Send_Message.php

Obrázek 2 - Send_Message.php

Jak zkontrolovat, že SMS byla přijata HTTP uživatelem

Po odeslání SMS je dobré zkontrolovat vaši SMS bránu, abyste viděli, co přijala. Protokol můžete zkontrolovat otevřením detailů HTTP uživatele v konzoli pro správu Ozeki SMS Gateway. Následující video vám ukáže, na co se zaměřit.

Video 2 - Odesílání SMS pomocí výše uvedeného PHP kódu

Jak zkontrolovat, že SMS byla odeslána do mobilní sítě

Posledním krokem při ověřování postupu je podívat se na protokoly připojení k mobilní síti. Možná budete muset před odesláním zprávy zapnout protokolování v konfiguraci připojení, abyste viděli protokoly. Pokud je protokolování povoleno, uvidíte telefonní číslo a text odeslané zprávy.

Video 3 - Jak zapnout protokolování v Ozeki SMS Gateway

Pro zapnutí protokolování v http_user musíte postupovat stejně.

Závěrečné myšlenky

Tato příručka poskytla všechny potřebné informace o tom, jak odesílat SMS zprávy z PHP pomocí HTTP REST SMS API Ozeki SMS Gateway. Toto řešení vyžaduje připojení HTTP uživatele v Ozeki SMS Gateway, což vám nabízí velmi spolehlivé připojení, které pracuje s úžasnou rychlostí. Tato služba může vaši organizaci učinit efektivnější, protože vám umožňuje doručovat klíčové informace dostupné v e-mailu na mobilní telefony, čímž urychluje pracovní postupy.

Existuje mnohem více článků, které vám mohou pomoci, takže si je určitě přečtěte. Začněte například tím, který se jmenuje Jak odeslat více SMS z PHP a rozšiřte své možnosti.

Začněte používat Ozeki SMS Gateway nyní! Vše je připraveno k nastavení a spuštění během několika minut.

More information