serwersms / serwersms-php-client
SerwerSMS API PHP
Package info
github.com/SerwerSMSpl/serwersms-php-api-v2
pkg:composer/serwersms/serwersms-php-client
v3.0.0
2026-06-17 07:15 UTC
Requires
- php: >=8.3
- ext-curl: *
- ext-json: *
- lib-curl: >=8.0
Requires (Dev)
- phpunit/phpunit: ^12.0
README
Klient PHP do komunikacji zdalnej z API v2 SerwerSMS.pl
W celu autoryzacji za pośrednictwem Tokenu API, należy wygenerować go po stronie Panelu Klienta w menu Ustawienia interfejsów → HTTP API → Tokeny API. Format nagłówka autoryzacyjnego jest zgodna z formatem Bearer token
Wysyłka SMS
require_once('vendor/autoload.php'); try { $serwersms = new SerwerSMS\SerwerSMS($token); // SMS FULL $result = $serwersms->messages->sendSms( [ '+48500600700', '+48600700800' ], 'Test FULL message', 'INFORMACJA', [ 'test' => true, 'details' => true ] ); // SMS ECO $result = $serwersms->messages->sendSms( [ '+48500600700', '+48600700800' ], 'Test ECO message', null, [ 'test' => true, 'details' => true ] ); // VOICE from text $result = $serwersms->messages->sendVoice( [ '+48500600700', '+48600700800' ], [ 'text' => 'Test message', 'test' => true, 'details' => true ] ); // MMS $list = $serwersms->files->index('mms'); $result = $serwersms->messages->sendMms( [ '+48500600700', '+48600700800' ], 'MMS Title', [ 'test' => true, 'file_id' => $list->items[0]->id, 'details' => true ] ); echo 'Skolejkowano: ' . $result->queued . '<br />'; echo 'Niewysłano: ' . $result->unsent . '<br />'; foreach ($result->items as $sms) { echo 'ID: ' . $sms->id . '<br />'; echo 'NUMER: ' . $sms->phone . '<br />'; echo 'STATUS: ' . $sms->status . '<br />'; echo 'CZĘŚCI: ' . $sms->parts . '<br />'; echo 'WIADOMOŚĆ: ' . $sms->text . '<br />'; } } catch(Exception $e) { echo 'ERROR: ' . $e->getMessage(); }
Wysyłka spersonalizowanych SMS
require_once('vendor/autoload.php'); try { $serwersms = new SerwerSMS\SerwerSMS($token); $messages[] = [ 'phone' => '500600700', 'text' => 'First message' ]; $messages[] = [ 'phone' => '600700800', 'text' => 'Second message' ]; $result = $serwersms->messages->sendPersonalized( $messages, 'INFORMACJA', [ 'test' => true, 'details' => true ] ); echo 'Skolejkowano: ' . $result->queued . '<br />'; echo 'Niewysłano: ' . $result->unsent . '<br />'; foreach ($result->items as $sms) { echo 'ID: ' . $sms->id . '<br />'; echo 'NUMER: ' . $sms->phone . '<br />'; echo 'STATUS: ' . $sms->status . '<br />'; echo 'CZĘŚCI: ' . $sms->parts . '<br />'; echo 'WIADOMOŚĆ: ' . $sms->text . '<br />'; } } catch(Exception $e) { echo 'ERROR: ' . $e->getMessage(); }
Pobieranie raportów doręczeń
require_once('vendor/autoload.php'); try { $serwersms = new SerwerSMS\SerwerSMS($token); $result = $serwersms->messages->reports(['id' => ['aca3944055']]); foreach ($result->items as $sms) { echo 'ID: ' . $sms->id . '<br />'; echo 'NUMER: ' . $sms->phone . '<br />'; echo 'STATUS: ' . $sms->status . '<br />'; echo 'SKOLEJKOWANO: ' . $sms->queued . '<br />'; echo 'WYSŁANO: ' . $sms->sent . '<br />'; echo 'DORĘCZONO: ' . $sms->delivered . '<br />'; echo 'NADAWCA: ' . $sms->sender . '<br />'; echo 'TYP: ' . $sms->type . '<br />'; echo 'WIADOMOŚĆ: ' . $sms->text . '<br />'; } } catch(Exception $e) { echo 'ERROR: ' . $e->getMessage(); }
Pobieranie wiadomości przychodzących
require_once('vendor/autoload.php'); try { $serwersms = new SerwerSMS\SerwerSMS($token); $result = $serwersms->messages->recived('ndi'); foreach ($result->items as $sms) { echo 'ID: ' . $sms->id . '<br />'; echo 'TYP: ' . $sms->type . '<br />'; echo 'NUMER: ' . $sms->phone . '<br />'; echo 'DATA: ' . $sms->recived . '<br />'; echo 'CZARNA LISTA: ' . $sms->blacklist . '<br />'; echo 'WIADOMOŚĆ: ' . $sms->text . '<br />'; } } catch(Exception $e) { echo 'ERROR: ' . $e->getMessage(); }
Wymagania
php >= 8.3
lib-curl >= 7.88
Dokumentacja
Konsola api: http://apiconsole.serwersms.pl
Instalacja
Instalacja przez Composera (https://getcomposer.org/):
composer require serwersms/serwersms-php-client