manzadey/stream-telecom

PHP Package for stream-telecom.ru

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

This package is auto-updated.

Last update: 2024-10-15 20:59:41 UTC


README

Данный пакет разработан на основе API stream-telecom.ru (https://stream-telecom.ru/solutions/integrations/).

В данном пакете реализованы следующие методы:

  1. Просмотр баланса;
  2. Выгрузка тарифов;
  3. Выгрузка статистики;
  4. HLR-запросы;
  5. Отправка СМС;
  6. Отправка сообщений в Viber;
  7. Отправка уведомлений в VK;
  8. Отправка Email;

Установка

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();

Email

Установка соединения

$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