manzadey/stream-telecom

stream-telecom.ru 的 PHP 包

v1.0.10 2021-05-10 22:57 UTC

This package is auto-updated.

Last update: 2024-09-15 20:51:07 UTC


README

本包基于 stream-telecom.ru API 开发(https://stream-telecom.ru/solutions/integrations/)。

本包实现了以下方法

  1. 查看余额;
  2. 导出资费;
  3. 导出统计信息;
  4. HLR 查询;
  5. 发送短信;
  6. 发送 Viber 消息;
  7. 发送 VK 通知;
  8. 发送电子邮件;

安装

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 中发送级联消息