В данном 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;
$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;
// $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