serwersms / serwersmsbundle
This is a Symfony2,3,4 Bundle for communication with the API v2 SerwerSMS.pl
Installs: 12 153
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 5
Open Issues: 4
Type:symfony-bundle
Requires
- php: >=5.3.9
This package is auto-updated.
Last update: 2024-11-19 10:30:45 UTC
README
Klient PHP dla frameworka Symfony (ver 2,3,4) 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 → HTTP API → Użytkownicy API.
Instalacja
Instalacja odbywa się poprzez composer i dodanie do pliku composer.json poniższego kodu:
{ "require": { "serwersms/serwersmsbundle" : "1.0.3" } }
Wysyłka SMS Symfony 4
#service.yml:
parameters: serwer_sms_username: "username" serwer_sms_password: "password" serwer_sms_api_url: "https://api2.serwersms.pl/" serwer_sms_format: "json"
Controller:
namespace App\Controller; use SerwerSMS\SerwerSMSBundle\SerwerSMS\SerwerSMS; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; class TestController extends AbstractController { public function index(SerwerSMS $serwersms) { try{ $result = $serwersms->messages->sendSms( array( '+48500600700', '+48600700800' ), 'Test FULL message', 'INFORMACJA', array( 'test' => true, 'details' => true ) ); die(var_dump($result)); } catch(Exception $e){ echo 'ERROR: '.$e->getMessage(); } } }
Wysyłka SMS Symfony 2,3
AppKernel.php:
class AppKernel extends Kernel { public function registerBundles() { $bundles = array( ... new SerwerSMS\SerwerSMSBundle\SerwerSMSBundle(), ); ... return $bundles; } }
config.php:
parameters: serwer_sms_username: "username" serwer_sms_password: "password" serwer_sms_api_url: "https://api2.serwersms.pl/" serwer_sms_format: "json"
App:
try{ $serwersms = $this->get('serwer_sms'); // SMS FULL $result = $serwersms->messages->sendSms( array( '+48500600700', '+48600700800' ), 'Test FULL message', 'INFORMACJA', array( 'test' => true, 'details' => true ) ); // SMS ECO $result = $serwersms->messages->sendSms( array( '+48500600700', '+48600700800' ), 'Test ECO message', null, array( 'test' => true, 'details' => true ) ); // VOICE from text $result = $serwersms->messages->sendVoice( array( '+48500600700', '+48600700800' ), array( 'text' => 'Test message', 'test' => true, 'details' => true ) ); // MMS $list = $serwersms->files->index('mms'); $result = $serwersms->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{ $serwersms = $this->get('serwer_sms'); $messages[] = array( 'phone' => '500600700', 'text' => 'First message' ); $messages[] = array( 'phone' => '600700800', 'text' => 'Second message' ); $result = $serwersms->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{ $serwersms = $this->get('serwer_sms'); // Get messages reports $result = $serwersms->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{ $serwersms = $this->get('serwer_sms'); // Get recived messages $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 >= 5.3.9
symfony >= 2.7.*
Dokumentacja
Konsola API