itpanda-llc / smscenter-messenger-sdk
Library for integration with the SMSCenter messaging service
dev-master
2021-05-16 05:39 UTC
Requires
- php: >=7.2
- ext-curl: *
This package is auto-updated.
Last update: 2025-02-16 13:12:14 UTC
README
Библиотека для интеграции c сервисом рассылки сообщений "СМСЦентр"
Ссылки
Возможности
- Отправка сообщений
- Управление шаблонами сообщений
- Управление шаблонами операторов
- Уведомления о событиях
- Управление рассылками
- Проверка статуса
- Проверка состояния баланса
- Управление контактами
- Управление клиентами
- Создание и выгрузка счетов и актов
- Управление именами отправителей
- Получение истории отправленных сообщений
- Получение входящих сообщений
- Получение статистики
- Получение статистики по оператору Мегафон
- Запрос тарифов
- Получение информации об операторе
- Получение данных о короткой ссылке
- Подключение выделенных номеров для приема сообщений
- Подтверждение номера телефона с помощью звонка
Требования
- PHP >= 7.2
- cURL
Установка
composer require itpanda-llc/smscenter-messenger-sdk
Подключение
require_once 'vendor/autoload.php';
Использование
Создание сервиса / Аутентификация
use Panda\SmsCenter\MessengerSdk; /* * Логин * Пароль * Кодировка * Формат ответа сервера */ $center = new MessengerSdk\Center('support@smsc.ru', sha1('password'), MessengerSdk\Charset::UTF_8, MessengerSdk\Fmt::JSON);
Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $center->setCharset(MessengerSdk\Charset::WINDOWS_1251) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::XML);
Отправка сообщений
Способ №1
- Создание запроса
use Panda\SmsCenter\MessengerSdk; /* * Текст * Номер / Список номеров * Имя отправителя */ $task = new MessengerSdk\Send\Task('Начнем!', '79995550011', 'SMSCenter');
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::UTF_8) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::STRING) // Вложение / Документ ->addAttachment('attachment.file') // Флаг ->addFlag(MessengerSdk\Send\Flag::NL) // Номер / Список номеров ->setPhones('79995550011') // Текст ->setMes('..Продолжим!') // Идентификатор ->setId('id') // Имя отправителя ->setSender('SMSCenter') // Перевод в транслит ->setTranslit(MessengerSdk\Send\Translit::TRANSLIT) // Сокращение ссылок ->setTinyUrl(MessengerSdk\Send\TinyUrl::YES) // Время отправки ->setTime('DDMMYYhhmm') // Часовой пояс ->setTz(MessengerSdk\Send\Tz::YEKT) // Промежуток времени ->setPeriod('period') // Интервал / Частота ->setFreq('freq') // Flash-сообщение ->setFlash(MessengerSdk\Send\Flash::YES) // Бинарное сообщение ->setBin(MessengerSdk\Send\Bin::HEX) // Push-сообщение ->setPush(MessengerSdk\Send\Push::YES) // HLR-запрос ->setHlr(MessengerSdk\Send\Hlr::YES) // Ping-сообщение ->setPing(MessengerSdk\Send\Ping::YES) // MMS-сообщение ->setMms(MessengerSdk\Send\Mms::YES) // E-Mail-сообщение ->setMail(MessengerSdk\Send\Mail::YES) // Soc-сообщение ->setSoc(MessengerSdk\Send\Soc::YES) // Viber-сообщение ->setViber(MessengerSdk\Send\Viber::YES) // HTTP-адрес файла для загрузки ->setFileUrl('fileUrl') // Голосовое сообщение ->setCall(MessengerSdk\Send\Call::YES) // Голос озвучивания текста ->setVoice(MessengerSdk\Send\Voice::W2) /* * Время ожидания (Параметры голосового сообщения) * Интервал повтора (Параметры голосового сообщения) * Общее количество попыток (Параметры голосового сообщения) */ ->setParam(MessengerSdk\Send\Call::getParam(10, 10, 1)) // Тема MMS или E-Mail сообщения ->setSubj('subj') // Стоимость рассылки ->setCost(MessengerSdk\Send\Cost::YES) // Список номеров телефонов/сообщений ->setList('mes:79995550011') // Срок "жизни" сообщения ->setValid(MessengerSdk\Send\Valid::min(5)) // Максимальное количество сообщений при разбиении ->setMaxSms(3) // Буквенно-цифровой код ->setImgCode('imgCode') // IP-адрес ->setUserIp('userIp') // Добавление в ответ сервера списка ошибочных номеров ->setErr(MessengerSdk\Send\Err::YES) // Добавление в ответ сервера информации по каждому номеру ->setOp(MessengerSdk\Send\Op::YES) // Привязка клиента в качестве реферала ->setPp('pp');
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Способ №2
use Panda\SmsCenter\MessengerSdk; try { print_r($center->sendSms('Начнем!', '79995550011', 'SMSCenter')); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Управление шаблонами сообщений
- Создание запроса
use Panda\SmsCenter\MessengerSdk; // Действие / Команда $task = new MessengerSdk\Template\Task(MessengerSdk\Template\Action::GET_1);
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::UTF_8) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::STRING) // Действие / Команда ->setAction(MessengerSdk\Template\Action::ADD_1) // Флаг ->addFlag(MessengerSdk\Template\Flag::FL_1) // Название шаблона ->setName('name') // Текст сообщения ->setMsg('msg') // Формат сообщения ->setFormat(MessengerSdk\Template\Format::SMS) // Имя отправителя ->setSender('sender');
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Управление шаблонами операторов
- Создание запроса
use Panda\SmsCenter\MessengerSdk; /* * Действие / Команда * Имя отправителя * Текст шаблона */ $task = new MessengerSdk\OperatorTemplate\Task(MessengerSdk\OperatorTemplate\Action::GET_1, 'SMSCenter', 'msg');
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::UTF_8) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::NUMBERS) // Действие / Команда ->setAction(MessengerSdk\OperatorTemplate\Action::ADD_1) // Флаг ->addFlag(MessengerSdk\OperatorTemplate\Flag::MTS_SRV) ->addFlag(MessengerSdk\OperatorTemplate\Flag::MEGA_SRV) // Имя отправителя ->setSender('SMSCenter') // Текст шаблона ->setMsg('msg');
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Уведомления о событиях
Создание макросов
- Создание
use Panda\SmsCenter\MessengerSdk; /* * Название правила или сервера в задании * Адрес или IP проверяемого сервера * Дополнительная информация о событии */ $macros = new MessengerSdk\Notification\Macros('name', 'host', 'info'); // или /* * Название правила или сервера в задании * Адрес или IP проверяемого сервера * Дополнительная информация о событии */ $macros = MessengerSdk\Notification\Task::newMacros('name', 'host', 'info'); // или /* * Название правила или сервера в задании * Адрес или IP проверяемого сервера * Дополнительная информация о событии */ $macros = $acquirer->newMacros('name', 'host', 'info');
- Установка параметров
// Название правила или сервера в задании $macros->setName('name') // Адрес или IP проверяемого сервера ->setHost('host') // Дополнительная информация о событии ->setInfo('info');
Способ №1
- Создание запроса
use Panda\SmsCenter\MessengerSdk; /* * Идентификатор группы заданий * Использование шаблона * Макросы */ $task = new MessengerSdk\Notification\Task('id', MessengerSdk\Notification\Ok::AFTER_FAIL, $macros);
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::UTF_8) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::STRING) // Идентификатор группы заданий ->setId('id') // Адрес или IP проверяемого сервера ->setHost('host') // Дополнительная информация о событии ->setInfo('info') // Использование шаблона ->setOk(MessengerSdk\Notification\Ok::FAIL);
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Способ №2
use Panda\SmsCenter\MessengerSdk; try { /* * Идентификатор группы заданий * Использование шаблона * Макросы */ print_r($center->newNotification('id', MessengerSdk\Notification\Ok::FAIL, $macros)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Управление рассылками
- Создание запроса
use Panda\SmsCenter\MessengerSdk; // Действие / Команда $task = new MessengerSdk\Job\Task(MessengerSdk\Job\Action::GET_1);
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::UTF_8) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::STRING) // Формат ответа сервера ->setAction(MessengerSdk\Job\Action::ADD_1) // Вложение / Документ ->addAttachment('attachment.file') // Флаг ->addFlag(MessengerSdk\Job\Flag::FL_5) // Название рассылки ->setName('name') // Номер / Список номеров ->setPhones('79995550011') // Текст ->setMes('..Продолжим!') // Имя отправителя ->setSender('SMSCenter') // Имя отправителя ->setSender2('SMSC') // Перевод в транслит ->setTranslit(MessengerSdk\Job\Translit::TRANSLIT) // Сокращение ссылок ->setTinyUrl(MessengerSdk\Job\TinyUrl::YES) // Время отправки ->setTime('DDMMYYhhmm') // Периодичность отправки вновь создаваемой рассылки ->setRpt(MessengerSdk\Job\Rpt::WEEKENDLY) // Максимальное количество повторов для отложенной периодической рассылки ->setRptn(2) // Часовой пояс ->setTz(MessengerSdk\Job\Tz::YEKT) // Промежуток времени ->setPeriod('period') // Интервал / Частота ->setFreq('freq') // Flash-сообщение ->setFlash(MessengerSdk\Job\Flash::YES) // Бинарное сообщение ->setBin(MessengerSdk\Job\Bin::HEX) // Push-сообщение ->setPush(MessengerSdk\Job\Push::YES) // HLR-запрос ->setHlr(MessengerSdk\Job\Hlr::YES) // Ping-сообщение ->setPing(MessengerSdk\Job\Ping::YES) // MMS-сообщение ->setMms(MessengerSdk\Job\Mms::YES) // E-Mail-сообщение ->setMail(MessengerSdk\Job\Mail::YES) // Soc-сообщение ->setSoc(MessengerSdk\Job\Soc::YES) // Viber-сообщение ->setViber(MessengerSdk\Job\Viber::YES) // HTTP-адрес файла для загрузки ->setFileUrl('fileUrl') // Вариант сообщения для пересылки по SMS ->setMes2('mes2') // Голосовое сообщение ->setCall(MessengerSdk\Job\Call::YES) // Голос озвучивания текста ->setVoice(MessengerSdk\Job\Voice::W2) /* * Время ожидания (Параметры голосового сообщения) * Интервал повтора (Параметры голосового сообщения) * Общее количество попыток (Параметры голосового сообщения) */ ->setParam(MessengerSdk\Job\Call::getParam(10, 10, 1)) // Тема MMS или E-Mail сообщения ->setSubj('subj') // Стоимость рассылки ->setCost(MessengerSdk\Job\Cost::YES) // Список номеров телефонов/сообщений ->setList('mes:79995550011') // ID шаблона, который будет использован в качестве текста сообщения ->setTpl('tpl') // Срок "жизни" сообщения ->setValid(MessengerSdk\Job\Valid::min(5)) // Идентификатор ->setId('id') // Дата, с которой требуется получить список рассылок ->setStart(3) // Дата, до которой требуется получить список рассылок ->setEnd('imgCode');
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Проверка статуса
Способ №1
- Создание запроса
use Panda\SmsCenter\MessengerSdk; /* * Идентификатор сообщения или список идентификаторов через запятую * Номер телефона или список номеров через запятую * Вариант ответа */ $task = new MessengerSdk\Status\Task('id', '79995550011', MessengerSdk\Status\All::FULL);
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::UTF_8) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::JSON) // Действие / Команда ->setAction(MessengerSdk\Status\Action::DEL_1) // Вариант ответа ->setAll(MessengerSdk\Status\All::ADDITIONAL);
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Способ №2
use Panda\SmsCenter\MessengerSdk; try { /* * Идентификатор сообщения или список идентификаторов через запятую * Номер телефона или список номеров через запятую * Вариант ответа */ print_r($center->checkStatus('id', '79995550011', MessengerSdk\Status\All::FULL)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Проверка состояния баланса
Способ №1
- Создание запроса
use Panda\SmsCenter\MessengerSdk; // Флаг $task = new MessengerSdk\Balance\Task(MessengerSdk\Balance\Flag::CUR);
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::UTF_8) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::STRING) // Флаг ->addFlag(MessengerSdk\Balance\Flag::CUR);
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Способ №2
use Panda\SmsCenter\MessengerSdk; try { // Флаг print_r($center->getBalance(MessengerSdk\Balance\Flag::CUR)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Управление контактами
- Создание запроса
use Panda\SmsCenter\MessengerSdk; // Действие / Команда $task = new MessengerSdk\Contact\Task(MessengerSdk\Contact\Action::GET_1);
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::KOI8_R) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::STRING) // Действие команда ->setAction(MessengerSdk\Contact\Action::CHG_1) // Название контакта или группы ->setName('name') // Идентификатор группы, которой принадлежит создаваемый контакт ->setGrp('grp') // Номер группы для рассылок сообщений ->setNum('num') // Список номеров телефонов через любой разделитель ->setPhone('phone') // Список e-mail адресов через любой разделитель ->setMail('mail') // Новый список номеров телефонов через любой разделитель ->setNewPhone('newPhone') // Новый список e-mail адресов через любой разделитель ->setNewMail('newMail') // Фамилия ->setLnm('Lnm') // Имя ->setFnm('Fnm') // Отчество ->setMnm('Mnm') // ФИО Контакта ->setFio('Fio') // Выборка контактов ->setSearch('search') // Идентификатор контакта (int_id), начиная с которого необходимо вернуть список контактов ->setAfterId('afterId') // Дата рождения ->setBd('bd') // ID контакта, назначенный Клиентом ->setMyId('myId') // Комментарии ->setCmt('cmt') // Теги (метки) ->setTags('tags') // Другие номера телефонов ->setPho('pho') // Тип блокировки, либо тип группы ->setType(MessengerSdk\Contact\Type::ALL_MESSAGES_PHONES_GROUP);
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Управление клиентами
- Создание запроса
use Panda\SmsCenter\MessengerSdk; // Действие / Команда $task = new MessengerSdk\User\Task(MessengerSdk\User\Action::GET_STAT_1);
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::KOI8_R) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::STRING) // Действие / Команда ->setAction(MessengerSdk\User\Action::ADD_1) // Флаг ->addFlag(MessengerSdk\User\Flag::ANSW) ->addFlag(MessengerSdk\User\Flag::ANSW_CALL) // Логин субклиента ->setUser('name') // Текущий пароль субклиента ->setPswc('grp') // Новый пароль субклиента ->setPassword('num') // Сумма, перечисляемая клиенту с главного аккаунта в валюте главного аккаунта ->setSum('phone') // ID сайта, которому будет принадлежать создаваемый субклиент ->setSiteId('mail') // Новый логин субклиента при изменении ->setNewLogin('newPhone') // Тип учетной записи ->setType(MessengerSdk\User\Type::MAIN_ACCOUNT_BALANCE_INDEPENDENT_TARIFF) // Основной адрес электронной почты ->setEmail('Lnm') // Альтернативный адрес электронной почты для пересылки входящих SMS ->setEmail2('Fnm') // Основной номер телефона ->setPhone('Mnm') // Альтернативный номер телефона для пересылки входящих SMS ->setPhone2('Fio') // Начальная дата в периоде, за который запрашивается статистика ->setStart('search') // Конечная дата в периоде. Если не указана, то возвращаются данные с начальной даты ->setEnd('afterId') // Идентификатор субклиента, назначаемый сервером автоматически при создании ->setUserId('bd') // Типы субклиентов ->setReseller(MessengerSdk\User\Reseller::SUBCLIENTS_BALANCE_MAIN_ACCOUNT) // Скрыть статистику по удаленным субклиентам ->setHideDeleted(MessengerSdk\User\HideDeleted::HIDE_STAT_ALL_SUBCLIENTS) // Инициалы (фамилия, имя, отчество) или название компании ->setFio('tags') // Реквизиты компании субклиента ->setProps('pho') // Номер договора ->setCntr() // Текущий тарифный план ->setTariff(MessengerSdk\User\Tariff::NO_6) // Минимальный тариф ->setMinTrf('myId') // Валюта расчетов субклиента ->setCurr(MessengerSdk\User\Curr::RUB) // Часовой пояс ->setTz(MessengerSdk\User\Tz::GMT_M5) // Имя отправителя (Sender ID) по умолчанию ->setSender('pho') // Резервное имя отправителя ->setSender2() // Баланс для уведомлений ->setNb('Fio') // Данный параметр устанавливает количество дней для хранения отправленных сообщений, по истечении которых SMS-сообщения будут автоматически удаляться из истории ->setKtm('search') // Список телефонных кодов, на которые разрешена отправка сообщений ->setFmts('afterId') // Комментарии главного аккаунта ->setNotes('bd') // Список телефонов или номеров групп через запятую для выполнения рассылок по SMS-командам ->setPh('myId') // Общий лимит SMS за день ->setDlim('cmt') // Лимит на один номер ->setPlim('tags') // Лимит на номер и текст ->setTlim('pho') // Лимит с одного IP-адреса ->setIlim('ilim') // Диапазон времени в часах h1-h2 ->setTmlim('bd') // Максимальный срок доставки сообщений временно недоступным абонентам (мин.) ->setVld('myId') // http-адрес (URL) скрипта для обработки статусов доставки SMS-сообщений и (или) входящих SMS-сообщений на стороне субклиента ->setUrl('cmt') // Разделенный запятой список номеров телефонов, на которые будут отправляться сообщения ->setMph('tags') // Начальное значение диапазона времени для отправки входящих писем ->setMh1('pho') // Конечное значение диапазона времени для отправки входящих писем ->setMh2('mh2') // Максимальная длина сообщения, до которой обрезается входящее письмо при отправке в виде SMS-сообщения ->setMlen(12);
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Создание и выгрузка счетов и актов
- Создание запроса
use Panda\SmsCenter\MessengerSdk; // Действие / Команда $task = new MessengerSdk\Document\Task(MessengerSdk\Document\Action::GET_ACCOUNT_1);
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::UTF_8) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::STRING) // Действие / Команда ->setAction(MessengerSdk\Document\Action::GET_ACT_1) // Логин субклиента ->setUser('user') // Идентификатор субклиента ->setUserId('userId') // Сумма, на которую необходимо создать счет в валюте Клиента ->setSum('sum') // Название услуги, указываемой при создании счета ->setService('service') // Идентификатор запрашиваемого счета или акта ->setId('id') // Номер запрашиваемого акта ->setNum('num');
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Управление именами отправителей
- Создание запроса
use Panda\SmsCenter\MessengerSdk; // Действие / Команда $task = new MessengerSdk\Sender\Task(MessengerSdk\Sender\Action::GET_1);
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::UTF_8) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::STRING) // Действие / Команда ->setAction(MessengerSdk\Sender\Action::ADD_1) // Документ / Вложение ->addAttachment('attachment.file') // Флаг ->addFlag(MessengerSdk\Sender\Flag::TELE2) ->addFlag(MessengerSdk\Sender\Flag::TELE2_STEP) // Получение списка активированных имен ->setAll('user') // Создаваемое или удаляемое имя отправителя ->setSender('userId') // Юридическое название организации (ООО/СПД) ->setFio('sum') // ЕДРПОУ/ИНН ->setInn('service') // Адрес сайта (необязательный параметр) ->setSite('id') // E-mail для связи ->setEmail('num') // Фактический адрес ->setAddress('user') // Описание услуг, предоставляемых отправителем ->setDesc('userId') // Тема (цель информирования) ->setSubj('sum') // Идентификатор имени отправителя, назначаемый Сервером автоматически при создании нового имени ->setId('service') // Комментарий, указываемый при создании имени отправителя ->setCmt('id') // Добавить e-mail адрес отправителя ->setMail('num1111') // Комментарий, связанный с параметром mail (обычно имя владельца e-mail адреса) ->setName('user') // Код для подтверждения цифрового имени отправителя ->setCode('userId') // Адрес сайта, указываемый в тексте сообщения с кодом подтверждения ->setSiteName('sum') // Логин субклиента, к которому применяется указанная команда ->setUser('service') // Добавить в ответ код статуса имени отправителя у оператора ->setOperators('id') // Выбрать имена отправителей начиная с указанной даты, для которых был изменен статус имени у любого из операторов ->setFromDate('num') // Уникальный идентификатор имени отправителя, назначаемый Сервером автоматически при создании имени ->setPrevId('user') // Количество имен отправителей возвращаемых при запросе списка имен ->setCnt('userId') // Описание к переданному файлу ->setDocInfo('sum');
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Получение истории отправленных сообщений
- Создание запроса
use Panda\SmsCenter\MessengerSdk; // Действие / Команда $task = new MessengerSdk\Outbox\Task(MessengerSdk\Outbox\Action::GET_MESSAGES_1);
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::UTF_8) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::STRING) // Действие / Команда ->setAction(MessengerSdk\Outbox\Action::GET_MESSAGES_1) // Начальная дата в периоде, за который запрашивается история ->setStart('дд.мм.гггг') // Конечная дата в периоде ->setEnd('дд.мм.гггг') // Номер телефона Клиента, на который получены входящие сообщения ->setPhone('79995550011') // Номер телефона Клиента, на который получены входящие сообщения ->setEmail('support@smsc.ru') // Признак запроса e-mail сообщений ->setFormat(MessengerSdk\Outbox\Format::SMS) // Количество возвращаемых в ответе сообщений ->setCnt(100) // Глобальный идентификатор сообщения ->setPrevId('prevId');
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Получение входящих сообщений
- Создание запроса
use Panda\SmsCenter\MessengerSdk; // Действие / Команда $task = new MessengerSdk\Inbox\Task(MessengerSdk\Inbox\Action::GET_ANSWERS_1);
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::UTF_8) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::STRING) // Действие / Команда ->setAction(MessengerSdk\Inbox\Action::GET_ANSWERS_1) // Период в часах, за который необходимо запросить входящие сообщения ->setHour(2) // Идентификатор сообщения, начиная с которого необходимо вернуть входящие сообщения ->setAfterId('afterId') // Номер телефона Клиента, на который получены входящие сообщения ->setToPhone('79995550011');
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Получение статистики
Способ №1
- Создание запроса
use Panda\SmsCenter\MessengerSdk; /* * Действие / Команда * Начальная дата в периоде, за который запрашивается статистика * Конечная дата в периоде */ $task = new MessengerSdk\Statistic\Task(MessengerSdk\Statistic\Action::GET_STAT_1, 'дд.мм.гггг', 'дд.мм.гггг');
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::UTF_8) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::STRING) // Действие / Команда ->setAction(MessengerSdk\Statistic\Action::GET_STAT_1) // Флаг ->addFlag(MessengerSdk\Statistic\Flag::MYCUR) ->addFlag(MessengerSdk\Statistic\Flag::BALANCE2) // Начальная дата в периоде, за который запрашивается статистика ->setStart('дд.мм.гггг') // Конечная дата в периоде ->setEnd('дд.мм.гггг');
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Способ №2
use Panda\SmsCenter\MessengerSdk; try { /* * Начальная дата в периоде, за который запрашивается статистика * Конечная дата в периоде */ print_r($center->getStatistic('дд.мм.гггг', 'дд.мм.гггг')); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Получение статистики по оператору Мегафон
Способ №1
- Создание запроса
use Panda\SmsCenter\MessengerSdk; /* * Действие / Команда * Номер лицевого счета у оператора Мегафон */ $task = new MessengerSdk\MegafonStatistic\Task(MessengerSdk\MegafonStatistic\Action::GET_MEGA_ACCOUNTS_1, 'account');
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::UTF_8) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::STRING) // Действие / Команда ->setAction(MessengerSdk\MegafonStatistic\Action::GET_MEGA_ACCOUNTS_1);
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Способ №2
use Panda\SmsCenter\MessengerSdk; try { // Номер лицевого счета у оператора Мегафон print_r($center->getMegafonStatistic('account')); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Запрос тарифов
Способ №1
- Создание запроса
use Panda\SmsCenter\MessengerSdk; // Действие / Команда $task = new MessengerSdk\Tariff\Task(MessengerSdk\Tariff\Action::GET_PRICE_1);
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::UTF_8) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::STRING) // Действие / Команда ->setAction(MessengerSdk\Tariff\Action::GET_PRICE_1);
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Способ №2
use Panda\SmsCenter\MessengerSdk; try { print_r($center->getTariff()); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Получение информации об операторе
Способ №1
- Создание запроса
use Panda\SmsCenter\MessengerSdk; /* * Действие / Команда * Номер телефона абонента или список номеров через запятую */ $task = new MessengerSdk\Operator\Task(MessengerSdk\Operator\Action::GET_OPERATOR_1, '79995550011');
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::UTF_8) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::STRING) // Действие / Команда ->setAction(MessengerSdk\Operator\Action::GET_OPERATOR_1) // Номер телефона абонента или список номеров через запятую ->setPhone('79995550011');
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Способ №2
use Panda\SmsCenter\MessengerSdk; try { // Номер телефона абонента или список номеров через запятую print_r($center->getOperator('79995550011')); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Получение данных о короткой ссылке
Способ №1
- Создание запроса
use Panda\SmsCenter\MessengerSdk; /* * Действие / Команда * Исходная полная ссылка */ $task = new MessengerSdk\TinyUrl\Task(MessengerSdk\TinyUrl\Action::GET_1, 'link'); // или /* * Действие / Команда * Исходная полная ссылка */ $task = MessengerSdk\TinyUrl\Task::byLink(MessengerSdk\TinyUrl\Action::GET_1, 'link'); // или /* * Действие / Команда * Идентификатор короткой ссылки */ $task = MessengerSdk\TinyUrl\Task::byId(MessengerSdk\TinyUrl\Action::GET_1, 'id');
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::UTF_8) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::STRING) // Действие / Команда ->setAction(MessengerSdk\TinyUrl\Action::GET_1) // Исходная полная ссылка ->setlink('link') // Идентификатор короткой ссылки ->setId('id');
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Способ №2
use Panda\SmsCenter\MessengerSdk; try { // Исходная полная ссылка print_r($center->getTinyUrl('link')); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Подключение выделенных номеров для приема сообщений
- Создание запроса
use Panda\SmsCenter\MessengerSdk; /* * Действие / Команда * Подключаемый номер * Продление выделенного номера */ $task = new MessengerSdk\Receive\Task(MessengerSdk\Receive\Action::GET_1, '79995550011', MessengerSdk\Receive\NoProlong::YES);
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::UTF_8) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::STRING) // Действие / Команда ->setAction(MessengerSdk\Receive\Action::CHG_1) // Продление выделенного номера ->setNoProlong(MessengerSdk\Receive\NoProlong::NO);
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Подтверждение номера телефона с помощью звонка
Способ №1
- Создание запроса
use Panda\SmsCenter\MessengerSdk; // Номер телефона абонента $task = new MessengerSdk\WaitCall\Task('79995550011');
- Установка параметров
use Panda\SmsCenter\MessengerSdk; // Кодировка $task->setCharset(MessengerSdk\Charset::UTF_8) // Формат ответа сервера ->setFmt(MessengerSdk\Fmt::STRING);
- Выполнение запроса
use Panda\SmsCenter\MessengerSdk; try { print_r($center->request($task)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
Способ №2
use Panda\SmsCenter\MessengerSdk; try { // Номер телефона абонента print_r($center->waitCall('79995550011')); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }