igorbunov / smsc-php-sdk
PHP SDK for integration with smsc.ru api
Installs: 5 354
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^7.1|^8.0
- guzzlehttp/guzzle: ^6.3|^7.0
README
smsc-php-sdk
PHP SDK для работы с Мессенджером sms центр api
Примечание:
В данном sdk реализованы не все функции отправки сообщений
Официальная документация:
https://smsc.ru/api/http/#menu
Установка:
composer require igorbunov/smsc-php-sdk
Настройка:
require_once 'vendor/autoload.php';
Начало работы:
$api = new \igorbunov\Smsc\SmscJsonApi( new \igorbunov\Smsc\Config\Config('логин', 'пароль') );
Проверка баланса:
$result = $api->getBalance(): \igorbunov\Smsc\Response\Balance;
Получить имена отправителей (sender id):
$result = $api->getSenderNames(): \igorbunov\Smsc\Response\Senders;
Отправка смс сообщения:
// $phones - телефон или массив телефонов // $message - сообщение // $sender - имя отправителя (sender id) $result = $api->sendSms($phones, $message, $sender): \igorbunov\Smsc\Response\SendSmsResponse;
Получить статус сообщения:
$result = $api->getSmsStatus('id сообщения', 'номер телефона'): \igorbunov\Smsc\Status\SmsStatus;
Отправка email сообщения:
// $emails - email или массив email'ов // $message - сообщение // $theme - тема // $sender - email отправителя $result = $api->sendEmail( $emails, $message, $theme, $sender ): \igorbunov\Smsc\Response\SendEmailResponse;
Регистрация субакаунта:
// $subLogin - логин субакаунта // $subPassword - пароль субакаунта (не допускаются простые пароли) // $subEmail - почта субакаунта // $subPhone - телефон субакаунта // $parentSender - имя отправителя родителя (sender id) (не обязательно) $result = $api->registerSubclient( $subLogin, $subPassword, $subEmail, $subPhone, $parentSender ): \igorbunov\Smsc\Response\NewSubclient;
Обновить баланс субакаунта:
$result = $api->updateSubclientBalance($subLogin, $balance): \igorbunov\Smsc\Response\UpdateBalance;
Простой пример отправки
use igorbunov\Smsc\SmscJsonApi; use igorbunov\Smsc\Config\Config; require_once 'vendor/autoload.php'; try { $api = new SmscJsonApi( new Config('логин', 'пароль') ); $sender = 'отправитель'; $phones = '380123456789'; $message = 'test'; $result = $api->sendSms($phones, $message, $sender); echo "id сообщения: {$result->id}, стоимость: {$result->cost}"; echo '<pre>'; var_dump($result); echo '</pre>'; } catch (\Exception $e) { echo '<pre>'; var_dump('Ошибка', $e->getMessage()); echo '</pre>'; }
Для котрибьюторов
For run all tests
make all
or connect to terminal
make exec
or use built in php server http://localhost:8080
# start server on 8080 port make serve # custom port 8081 make serve PORT=8081
Dafault php version is 8.1. Use PHP_VERSION= for using custom version.
make all PHP_VERSION=8.1 # run both make all PHP_VERSION=7.4 && make all PHP_VERSION=8.1
all commands
# security check make security # composer install make install # composer install with --no-dev make install-no-dev # check code style make style # run static analyze tools make static-analyze # run unit tests make unit
Without Docker
#validate composer json
composer check-composer
#static analyzes and codestyle
composer static
#run unit tests
composer unit-tests
#run all tests
composer all-tests