Cum să trimiți SMS din PHP

Cea mai simplă metodă de a trimite SMS din PHP este utilizarea API-ului HTTP/Rest SMS integrat al Ozeki SMS Gateway. Când folosești acest API, vei trimite mesaje SMS prin efectuarea unei cereri HTTP Post către gateway-ul SMS. Cererea HTTP Post va conține un mesaj formatat în format json. Gateway-ul SMS va trimite acest SMS către telefonul destinatar și va returna un răspuns HTTP 200 OK la cererea ta.

cum să trimiți sms din php
Figura 1 - Cum să trimiți SMS din PHP

Cod PHP pentru a trimite SMS pe mobil

Exemplul de cod PHP pentru SMS de mai jos demonstrează cum poți trimite SMS folosind API-ul http rest sms al Ozeki SMS Gateway cu ajutorul bibliotecii PHP Ozeki.Libs.Rest. Această bibliotecă este oferită gratuit și poți să o folosești și să o modifici în oricare dintre proiectele tale.

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 = "Bună, lume!";
			
		$api = new MessageApi($configuration);
		
		$result = $api -> SendSingle($msg);	
		
		echo strval($result);
}			

Cum să folosești exemplul PHP pentru SMS:

Acest exemplu PHP pentru SMS poate fi folosit în orice aplicație PHP. Pentru a-l folosi, trebuie să adaugi folderul MessageApi în proiectul tău. Poți folosi clasa Message pentru a crea SMS-ul și poți folosi clasa MessageApi pentru a trimite SMS-ul către gateway-ul SMS. Gateway-ul SMS va transmite mesajul tău către rețeaua mobilă fie printr-o conexiune wireless, fie prin Internet.

Descarcă SendSMS.php

Codul sursă explicat în acest articol poate fi descărcat, folosit și modificat gratuit.
Descarcă: SendSMS.zip (5.9Kb)

Ce conține fișierul SendSMS.zip?

Fișierul SendSMS.zip conține biblioteca Ozeki.Libs.Rest.Php, care îți oferă toate instrumentele necesare pentru a trimite și primi mesaje SMS. De asemenea, vei găsi în zip proiectul SendSMS, care conține codul exemplu pentru a-ți arăta cum să trimiți un SMS. Acest cod exemplu este listat mai jos.

Figura 2 - Ce conține SendSMS.zip

Cum să trimiți SMS din PHP (Pași rapizi)

Pentru a trimite SMS din PHP:

  1. Instalează Ozeki SMS Gateway
  2. Conectează Ozeki SMS Gateway la rețeaua mobilă
  3. Trimite un SMS test din interfața Ozeki
  4. Creează un utilizator HTTP sms api
  5. Pornește serverul Wamp
  6. Descarcă exemplul de mai sus
  7. Creează SMS-ul prin crearea unui nou obiect Message
  8. Folosește metoda SendSingle pentru a trimite mesajul tău
  9. Citește răspunsul HTTP
  10. Verifică jurnalele din gateway-ul SMS
Instalează Ozeki SMS Gateway și creează un utilizator HTTP API

Pentru a putea trimite SMS din PHP, mai întâi trebuie să instalezi Ozeki SMS Gateway. Gateway-ul SMS poate fi instalat pe același calculator unde dezvolți codul PHP. După instalare, următorul pas este să conectezi Ozeki SMS Gateway la rețeaua mobilă. Poți trimite un SMS test din interfața Ozeki pentru a verifica dacă conexiunea ta la rețeaua mobilă funcționează. Ultimul pas pentru a-ți pregăti mediul este să creezi un utilizator HTTP sms api. Creează un utilizator cu numele "http_user" și parola "qwe123" pentru a face exemplul să funcționeze fără modificări.

După ce mediul este configurat, poți rula codul PHP.

URL API HTTP pentru a trimite SMS din PHP

Pentru a trimite SMS din PHP, aplicația ta PHP va trebui să efectueze o cerere HTTP către gateway-ul SMS. URL-ul API este afișat mai jos. Reține că adresa IP (127.0.0.1) ar trebui să fie înlocuită cu adresa IP a gateway-ului tău SMS. Dacă Ozeki SMS Gateway este instalat pe același calculator unde rulează aplicația C# pentru SMS, aceasta poate fi 127.0.0.1. Dacă este instalat pe un alt calculator, ar trebui să fie adresa IP a acelui calculator.

http://127.0.0.1:9509/api?action=rest
Antet cerere HTTP pentru a trimite SMS din PHP

Pentru a trimite mesajele SMS, trebuie să incluzi următoarele linii ca antete în cererea HTTP. Reține că includem un antet Content-Type și un antet Authorization.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Cerere HTTP pentru a trimite SMS din PHP

Pentru a trimite SMS-ul, aplicația ta PHP va trimite o cerere HTTP similară cu cea de mai jos. Reține că această cerere conține o parte de antet HTTP și o parte de corp HTTP. Corpul HTTP este un șir de date codificat în JSON. Acesta conține numărul destinatarului și textul mesajului.

Cerere HTTP primită de la 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": "Bună, lume!",
      "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": []
    }
  ]
}

Odată ce gateway-ul SMS primește această solicitare, va genera un răspuns HTTP. Răspunsul HTTP va conține un cod de stare, pentru a indica dacă trimiterea SMS a fost reușită sau nu. De asemenea, va returna o structură codificată în JSON pentru a vă oferi detalii utile despre trimiterea mesajului.

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": "Messages queued for delivery.",
  "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"
      }
    ]
  }
}
Cum să trimiți SMS din PHP folosind API-ul PHP SMS (Tutorial video)

Acest videoclip vă arată cum să descărcați și să utilizați proiectul SendSMS php. După ce ați adăugat fișierele necesare în proiectul dvs., s-ar putea să observați că există un fișier numit MessageApi.php. Acesta este fișierul care conține MessageApi și toate elementele necesare pentru a trimite un SMS folosind PHP.

Video 1 - Cum să descărcați și să rulați proiectul exemplu

Exemplu PHP SMS: Send_Message.php

Figura 2 - Send_Message.php

Cum să verificați dacă SMS-ul a fost acceptat de utilizatorul HTTP

După ce SMS-ul a fost trimis, este o idee bună să verificați gateway-ul SMS, pentru a vedea ce a primit. Puteți verifica jurnalul deschizând detaliile utilizatorului HTTP din consola de management Ozeki SMS Gateway. Următorul videoclip vă arată ce să căutați.

Video 2 - Trimiterea SMS-ului cu codul PHP de mai sus

Cum să verificați dacă SMS-ul a fost trimis către rețeaua mobilă

Pasul final în verificarea procedurii este să aruncați o privire asupra jurnalelor conexiunii la rețeaua mobilă. S-ar putea să fie nevoie să activați jurnalizarea în configurația conexiunii înainte de a trimite mesajul pentru a vedea jurnalele. Dacă jurnalizarea este activată, veți vedea numărul de telefon și textul mesajului pe care l-ați trimis.

Video 3 - Cum să activați jurnalizarea în Ozeki SMS Gateway

Pentru a activa jurnalizarea în http_user, trebuie să urmați aceleași instrucțiuni.

Gânduri finale

Acest ghid a furnizat toate informațiile necesare despre cum să trimiteți mesaje SMS din PHP cu API-ul HTTP REST SMS al Ozeki SMS Gateway. Această soluție necesită o conexiune de utilizator HTTP în Ozeki SMS Gateway, astfel vă oferă o conexiune foarte fiabilă care funcționează cu o viteză uimitoare. Acest serviciu vă poate face organizația mai eficientă, deoarece vă permite să livrați informații cheie disponibile în e-mail pe telefoanele mobile, accelerând astfel fluxurile de lucru.

Există mult mai multe articole pentru a vă ajuta, așa că asigurați-vă că le citiți. Începeți cu cel numit Cum să trimiteți mai multe SMS-uri din PHP și multiplicați-vă oportunitățile.

Începeți să utilizați Ozeki SMS Gateway acum! Totul este acolo pentru a-l configura și a-l face să funcționeze în câteva minute.

More information