igorbunov/smsc-php-sdk

用于与 smsc.ru api 集成的 PHP SDK

1.0.4 2022-04-05 11:28 UTC

This package is auto-updated.

Last update: 2024-09-15 00:05:17 UTC


README

GitHub CI Packagist Latest Version on Packagist Software License PHP >=8.0 Total Downloads

smsc-php-sdk

用于与 sms中心 api 通信的 PHP SDK

注意

在此 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;
获取发送者名称(发送者 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;
发送电子邮件
// $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>';
}

对于贡献者

运行所有测试

make all

或连接到终端

make exec

或使用内置 PHP 服务器 https://:8080

# start server on 8080 port
make serve
# custom port 8081
make serve PORT=8081

默认 PHP 版本是 8.1。使用 PHP_VERSION= 使用自定义版本。

make all PHP_VERSION=8.1
# run both
make all PHP_VERSION=7.4 && make all PHP_VERSION=8.1

所有命令

# 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

不使用 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