betterapp / laravel-server-sms
This is a Laravel package for communication with the API v2 SerwerSMS.pl
1.0.2
2023-08-03 08:59 UTC
Requires
- php: >=8.0
- laravel/framework: ^10.0
This package is auto-updated.
Last update: 2024-11-03 11:40:56 UTC
README
Klient PHP do komunikacji zdalnej z API v2 SerwerSMS.pl
Zalecane jest, aby komunikacja przez HTTPS API odbywała się z loginów utworzonych specjalnie do połączenia przez API. Konto użytkownika API można utworzyć w Panelu Klienta → Ustawienia interfejsów → HTTPS XML API → Użytkownicy.
Instalacja
Instalacja odbywa się poprzez composer:
composer require betterapp/laravel-server-sms
Konfiguracja
php artisan vendor:publish
Uruchom dla betterapp\LaravelServerSms\ServerSmsServiceProvider
app/config/server-sms.php:
<?php return [ 'username' => 'username', 'password' => 'password', 'api_url' => 'https://api2.serwersms.pl/', 'format' => 'json', 'sender' => '', ]
Wysyłka SMS
Controller.php
try{ $serverSms = new \ServerSms; // SMS FULL $result = $serverSms->messages->sendSms( array( '+48500600700', '+48600700800' ), 'Test FULL message', 'INFORMACJA', array( 'test' => true, 'details' => true ) ); // SMS ECO $result = $serverSms->messages->sendSms( array( '+48500600700', '+48600700800' ), 'Test ECO message', null, array( 'test' => true, 'details' => true ) ); // VOICE from text $result = $serverSms->messages->sendVoice( array( '+48500600700', '+48600700800' ), array( 'text' => 'Test message', 'test' => true, 'details' => true ) ); // MMS $list = $serverSms->files->index('mms'); $result = $serverSms->messages->sendMms( array( '+48500600700', '+48600700800' ), 'MMS Title', array( '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
try{ $serverSms = new \ServerSms; $messages[] = array( 'phone' => '500600700', 'text' => 'First message' ); $messages[] = array( 'phone' => '600700800', 'text' => 'Second message' ); $result = $serverSms->messages->sendPersonalized( $messages, 'INFORMACJA', array( '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ń
try{ $serverSms = new \ServerSms; // Get messages reports $result = $serverSms->messages->reports(array('id' => array('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
try{ $serverSms = new \ServerSms; // Get recived messages $result = $serverSms->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 >=7.*
Laravel = 10.*
Dokumentacja
Konsola API