kafkiansky / sms-ru-client
sms.ru 客户端
v1.0.0
2020-05-05 07:58 UTC
Requires
- php: ^7.2
- ext-json: *
- guzzlehttp/guzzle: ^6.5
Requires (Dev)
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2024-09-08 13:04:00 UTC
README
内容
安装
使用 Composer 安装此包
composer require kafkiansky/sms-ru-client
使用
配置
包提供简单配置,只需将 SmsRuConfig 填充以下配置
require __DIR__ . '/vendor/autoload.php'; $api = new \Kafkiansky\SmsRu\SmsRuApi( new \Kafkiansky\SmsRu\SmsRuConfig( [ 'api_id' => 'XXXXX-XXXX-XXXXX', 'test' => 1, 'json' => 1, ] ), new \GuzzleHttp\Client() );
将 test
参数设置为 1 以防止测试环境中的真实金钱支出。您也可以使用您的登录名/密码进行请求,但只有在使用 https 时才安全
$api = new \Kafkiansky\SmsRu\SmsRuApi( new \Kafkiansky\SmsRu\SmsRuConfig( [ 'login' => 'secret', 'password' => 'secret', 'test' => 1, 'json' => 1, ] ), new \GuzzleHttp\Client() );
可用方法
发送
- 一个客户端 - 一条消息
require __DIR__ . '/vendor/autoload.php'; $api = new \Kafkiansky\SmsRu\SmsRuApi( new \Kafkiansky\SmsRu\SmsRuConfig( [ 'api_id' => 'XXXXX-XXXX-XXXXX', 'test' => 1, 'json' => 1, ] ), new \GuzzleHttp\Client() ); $response = $api->send( new \Kafkiansky\SmsRu\Message\SmsRuMessage( new \Kafkiansky\SmsRu\Message\To('7909000000', 'Hello') ) );
- 多个客户端 - 一条消息
$response = $api->send( new \Kafkiansky\SmsRu\Message\SmsRuMessage( new \Kafkiansky\SmsRu\Message\To(['7909000000', '7909111111'], 'Hello') ) );
- 多个客户端 - 多条消息
$response = $api->send( new \Kafkiansky\SmsRu\Message\SmsRuMessage( new \Kafkiansky\SmsRu\Message\Multi([ new \Kafkiansky\SmsRu\Message\To('7909000000', 'Hello'), new \Kafkiansky\SmsRu\Message\To('7909111111', 'Bonjour'), ]) ) );
SmsRuMessage 有许多其他参数:您可以指定用户 IP、TTL、时间、白天和转写。请参阅 文档 以获得完整说明。使用简单
$response = $api->send( (new \Kafkiansky\SmsRu\Message\SmsRuMessage( new \Kafkiansky\SmsRu\Message\Multi([ new \Kafkiansky\SmsRu\Message\To('7909000000', 'Hello'), new \Kafkiansky\SmsRu\Message\To('7909111111', 'Bonjour'), ]) )) ->enableDaytime() ->enableTranslit() ->withTime(1000) );
或者使用静态调用
$response = $api->send( \Kafkiansky\SmsRu\Message\SmsRuMessage::fromRecipient( new \Kafkiansky\SmsRu\Message\Multi([ new \Kafkiansky\SmsRu\Message\To('7909000000', 'Hello'), new \Kafkiansky\SmsRu\Message\To('7909111111', 'Bonjour'), ]) ) ->enableDaytime() ->enableTranslit() ->withTime(1000) );
如果需要,您可以使用 iconv 进行编码转换,只需在 Multi
类型中将第二个参数设置为 true
new \Kafkiansky\SmsRu\Message\Multi([ new \Kafkiansky\SmsRu\Message\To('7909000000', 'Hello'), new \Kafkiansky\SmsRu\Message\To('7909111111', 'Bonjour'), ], true);
并在 To
的第三个参数中设置
new \Kafkiansky\SmsRu\Message\To('7909000000', 'Hello', true);
费用
您可以获取一批消息的费用
$response = $api->cost( new \Kafkiansky\SmsRu\Message\SmsRuMessage( new \Kafkiansky\SmsRu\Message\Multi([ new \Kafkiansky\SmsRu\Message\To('7909000000', 'Hello'), new \Kafkiansky\SmsRu\Message\To('7909111111', 'Bonjour'), ]) ) ); echo $response->getTotalCost();
余额
$response = $api->balance(); echo $response->getBalance();
限制
$response = $api->limit(); echo $response->getTotalLimit(); echo $response->getUsedToday();
发送者
$response = $api->senders(); echo $response->getSenders();
测试
$ composer test
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件