fruitware / prostor-sms-php-sdk
0.1.5
2016-03-19 16:06 UTC
Requires
- php: >=5.4.0
- guzzlehttp/guzzle: ~5.0
- guzzlehttp/guzzle-services: ~0.5
Suggests
- guzzlehttp/log-subscriber: ~1.0
- monolog/monolog: ~1.14
This package is auto-updated.
Last update: 2024-11-15 19:51:49 UTC
README
Ссылки на внешнюю документацию:
Установка
composer require fruitware/prostor-sms-php-sdk
Инициализация
use Fruitware\ProstorSms\Client; use GuzzleHttp\Client as GuzzleClient; //set basic access authentication $options = [ 'defaults' => [ 'auth' => ['username', 'password'], ], ]; $smsGate = new Client(new GuzzleClient($options));
Включение логов (необязательно)
Требуются зависимости
composer require guzzlehttp/log-subscriber monolog/monolog
use GuzzleHttp\Subscriber\Log\Formatter; use GuzzleHttp\Subscriber\Log\LogSubscriber; use Monolog\Handler\StreamHandler; use Monolog\Logger; $log = new Logger('maib_guzzle_request'); $log->pushHandler(new StreamHandler(__DIR__.'/logs/prostor_sms_guzzle_request.log', Logger::DEBUG)); $subscriber = new LogSubscriber($log, Formatter::SHORT); $smsGate->getHttpClient()->getEmitter()->attach($subscriber);
Примеры использования
Проверить баланс
$balance = $smsGate->balance(); var_dump('balance', $balance);
Отослать sms
Простой вариант
use Fruitware\ProstorSms\Model\Sms; use Fruitware\ProstorSms\Exception\BadSmsStatusException; $sms = new Sms(); $sms ->setId(unique()) // id sms в вашей системе ->setPhone('+71234567890') ->setText('тест sms') ; try { $smsGate->send($sms); } catch (BadSmsStatusException $ex) { // что-то сделать с ошибкой } var_dump('sms', $sms);
Отсылка нескольких
$sms = new Sms(); $sms ->setId(unique()) // id sms в вашей системе ->setPhone('+71234567890') ->setText('тест sms') ->sender('TEST') // Подпись отправителя (например TEST) ; // Название очереди статусов отправленных сообщений $queueName = 'myQueue1'; // Дата для отложенной отправки сообщения $scheduleTime = (new \DateTime())->modify('+1 day'); $smsCollection = $smsGate->sendQueue([$sms, $sms], $queueName, $scheduleTime); foreach ($smsCollection as $sms) { if ($sms->getStatus() !== $sms::STATUS_ACCEPTED) { // что-то сделать с ошибкой } }