manzadey / stream-telecom
stream-telecom.ru 的 PHP 包
v1.0.10
2021-05-10 22:57 UTC
Requires
- php: ^7.1.3|^8.0
- ext-json: *
- guzzlehttp/guzzle: ^6.3 || ^7.0.1
Requires (Dev)
- phpunit/phpunit: ^7.5
- symfony/var-dumper: ^5.0
README
本包基于 stream-telecom.ru API 开发(https://stream-telecom.ru/solutions/integrations/)。
本包实现了以下方法
- 查看余额;
- 导出资费;
- 导出统计信息;
- HLR 查询;
- 发送短信;
- 发送 Viber 消息;
- 发送 VK 通知;
- 发送电子邮件;
安装
composer require manzadey/stream-telecom
开始使用
use Manzadey\StreamTelecom\StreamTelecom; $st = new StreamTelecom('name', 'login', 'password');
查看余额
echo $st->balance();
导出资费
echo $st->tariffs();
具体请求的成本
echo $st->tariffs()->hlr(); echo $st->tariffs()->email(); echo $st->tariffs()->messenger();
导出统计信息
$st->statistic()->start('02.02.2020 10:00')->end('03.03.2020 10:00')->get();
要导出详细统计信息,请指定方法 detail()
;
$st->statistic()->start('02.02.2020 10:00')->end('03.03.2020 10:00')->detail()->get();
将返回报告 ID。
详细统计信息的非必需方法
state()
- 根据特定消息状态生成统计信息。有效值:deliver、not_deliver、expired、sent(已投递、未投递、过期、进行中)。
phone()
- 根据特定用户号码生成统计信息。
cBase()
- 指定是否需要与地址簿关联数据。
subStat()
- 指定是否需要与子账户关联数据。
typeLoad()
- 选择报告格式。有效值:0、1(0 - 默认 csv,1 - xls)
$st->statistic() ->start('02.02.2020 10:00') ->end('03.03.2020 10:00') ->detail() ->state('not_deliver') ->phone(79111234567) ->cBase() ->subStat() ->typeLoad(1) ->get();
HLR
发送 HLR 查询
$st->hlr()->phone(7912345678)->get(); // 123456789101213
获取 HLR 查询状态
$st->hlr()->status(123456789101213);
短信
发送短信消息
$st->sms()->send() ->text('text message') ->to(['+79123456789', 79123456789, '+7(912)-345-67-89']) ->get();
向多个不同文本的接收者发送消息。
$phones_array = [ '+79123456789', 79123456789, '+7(912)-345-67-89', ]; $phones_array2 = [79987654321]; $st->sms()->send() ->validity(10) ->package(static function ($s) use ($phones_array) { return $s->text('test')->to($phones_array); }) ->package(static function ($s) use ($phones_array2) { return $s->text('test2')->to($phones_array2); }) ->get();
获取短信消息状态
$st->sms()->status(14561456165332)->get();
获取传入短信消息
$st->sms()->incoming()->start('29.01.2020 13:00')->end('30.01.2020 13:00')->get();
电子邮件
建立连接
$st->setup()->email('password_from_pa');
数据库操作
获取数据库列表
$st->email()->list()->method('get') ->listId(123) ->get();
添加地址簿数据库
$st->email()->list()->method('add') ->name('TestBase') ->abuseEmail('usermail@mail.com') ->abuseName('OwnerName') ->company('CompanyName') ->address('MyAddress') ->city('Spb') ->zip(190000) ->county('Russia') ->url('mysite.com') ->phone(79999999999) ->get();
更新地址簿数据库联系信息
$st->email()->list()->method('update') ->listId(123) ->name('TestBase') ->abuseEmail('usermail@mail.com') ->abuseName('OwnerName') ->company('CompanyName') ->address('MyAddress') ->city('Spb') ->zip(190000) ->county('Russia') ->url('mysite.com') ->phone(79999999999) ->get();
删除地址簿数据库
$st->email()->list()->method('delete') ->listId(123) ->get();
获取具有过滤和输出调节功能的订阅者列表
$st->email()->list()->method('get_members') ->listId(123) ->state('active') ->limit(1) ->get();
从文件导入订阅者
$st->email()->list()->method('upload') ->listId(123) ->file('http://www.mysite.ru/files/file.csv') ->type('csv') ->get();
将单个订阅者添加到数据库
$st->email()->list()->method('add_member') ->listId(123) ->email('testuser@mail.com') ->merge(1, 'Иван') ->merge(2, 'Иванов') ->merge(3, '1985-11-23') ->gender('m') ->get();
编辑订阅者数据
$st->email()->list()->method('update_member') ->memberId(123) ->merge(1, 'Иван') ->merge(2, 'Иванов') ->merge(3, '1985-11-23') ->gender('m') ->get();
从数据库中删除订阅者
$st->email()->list()->method('delete_member') ->memberId(123) ->get();
从数据库中取消订阅订阅者
$st->email()->list()->method('unsubscribe_member') ->memberId(123) ->listId(123) ->email('testuser@mail.com') ->reason('Отписка по заявке') ->get();
Viber
建立连接
$st->setup()->viber('sourceAddressIM');
发送消息: 仅文本
$st->viber() ->text('Привет вайбер') ->to(79211234567) ->validity(7200) ->get();
发送消息: 仅图片
$st->viber() ->image('https://my.site.com/images/image.jpg') ->to(79211234567) ->validity(7200) ->get();
发送消息: 带有按钮、图片和文本
$st->viber() ->text('Привет вайбер') ->image('https://my.site.com/images/image.jpg') ->buttonText('Нажми на кнопку ') ->buttonUrl('stream-telecom.ru') ->to(79211234567) ->validity(7200) ->get();
发送消息: 带有按钮、图片和文本,使用级联方法
$st->viber() ->text('Привет вайбер') ->cascade('Текст резервного сообщения по sms') ->image('https://my.site.com/images/image.jpg') ->buttonText('Нажми на кнопку ') ->buttonUrl('stream-telecom.ru') ->to(79211234567) ->validity(7200) ->get();
批量发送
$st->viber() ->package(static function ($v) { return $v->text('Привет вайбер')->to(79211234567)->validity(7200); }) ->package(static function ($v) { return $v->image('https://my.site.com/images/image.jpg')->to(79211234567)->validity(7200); }) ->package(static function ($v) { return $v->text('Привет вайбер')->image('https://my.site.com/images/image.jpg')->buttonText('Нажми на кнопку ')->buttonUrl('stream-telecom.ru')->to(79211234567)->validity(7200); }) ->package(static function ($v) { return $v->text('Привет вайбер')->sms('Текст резервного сообщения по sms')->image('https://my.site.com/images/image.jpg')->buttonText('Нажми на кнопку ')->buttonUrl('stream-telecom.ru')->to(79211234567)->validity(7200); }) ->get();
获取状态
$viber_status = $st->viber()->messageId(12345)->get(); // Тип сообщения $viber_status->getStateMessage(); // Статус сообщения $viber_status->getStateMessage(); // Причина, по которой сообщение не было доставлено абоненту $viber_status->getStateErrorMessage(); // Время получения статуса $viber_status->getStateTime(); // Стоимость $viber_status->getPrice();
VK
建立连接
$st->setup()->vk('service');
发送通知
$st->vk() ->template(8, ['username' => 'Alexey', 'balance' => '1000000']) ->ttl(60) ->to(79999999998) ->get();
在 VK 中发送级联消息
批量发送通知
$st->vk()->package(static function ($c) { return $c->template(8, ['username' => 'Alexey', 'balance' => '1000000'])->to(7911102461)->ttl(1); })->package(static function ($c) { return $c->template(8, ['username' => 'Alexey', 'balance' => '1000000'])->to(7911102461)->ttl(1); })->get();
在 VK 中发送级联消息