itpanda-llc / smspilot-messenger-sdk
与 SMSPILOT.RU 消息服务集成的库
dev-master
2021-05-16 05:44 UTC
Requires
- php: >=7.2
- ext-curl: *
- ext-json: *
This package is auto-updated.
Last update: 2024-09-16 12:17:06 UTC
README
与"SMSPILOT.RU"消息服务集成的库
链接
- 开发
- 关于项目(SMSPILOT.RU)
- 文档(SMSPILOT.RU API)
- 文档(SMSPILOT.RU API-1 v1.9.19)
- 文档(SMSPILOT.RU API v2.4.16 HTTP/XML/JSON)
功能
- 发送 SMS(HTTP/API-1, HTTP/API-2)
- 检查 SMS 状态(HTTP/API-2)
- 余额(HTTP/API-1)
- 用户信息(HTTP/API-1)
- 入站 SMS(HTTP/API-1)
- HLR 请求和 PING 消息(HTTP/API-1, HTTP/API-2)
- 语音消息(HTTP/API-1, HTTP/API-2)
- 2WAY - 可回复的 SMS(HTTP/API-1, HTTP/API-2)
- 管理名称和模板(HTTP/API-1)
要求
- PHP >= 7.2
- cURL
- JSON
安装
composer require itpanda-llc/smspilot-messenger-sdk
连接
require_once 'vendor/autoload.php';
使用
创建服务/认证
use Panda\SmsPilot\MessengerSdk; // API-ключ $pilot = new MessengerSdk\Pilot('apikey'); // или /* * Логин * Пароль */ $pilot = new MessengerSdk\Pilot('login', 'password');
设置参数
// Адрес электронной почты (Отладка HTTP-запросов) $pilot->setDebug('info@smspilot.ru') // Реферер ->setR('r');
发送 SMS(单条消息)(HTTP/API-1)
方法 #1
- 创建请求
use Panda\SmsPilot\MessengerSdk; /* * Текст сообщения * Номер мобильного телефона, или список номеров через запятую * Зарегистрированный отправитель */ $singleton = new MessengerSdk\Singleton('Все начинается с сообщения!', '79995550011', MessengerSdk\Sender::VIBER);
- 设置参数
use Panda\SmsPilot\MessengerSdk; // Текст сообщения $singleton->setSend('DEVELOPER') // Номер мобильного телефона, или список номеров через запятую ->setTo('79995550011') // Зарегистрированный отправитель ->setFrom(MessengerSdk\Sender::GOLOS) // Формат ответа сервера ->setFormat(MessengerSdk\Format::JSON) // Кодировка ответа и запроса ->setCharset(MessengerSdk\Charset::WINDOWS_1251) // Язык возвращаемых ошибок ->setLang(MessengerSdk\Lang::RU) // Время отправки ->setSendDatetime('2015-04-07 09:10:00') // Время жизни сообщения ->setTtl(1440) // Список возвращаемых атрибутов SMS через запятую ->setFields(MessengerSdk\Fields::ALL) // Обычная отправка / Рассчитать стоимость ->setCost(MessengerSdk\Cost::YES) // Обычная отправка / Без передачи оператору (эмулятор) ->setTest(MessengerSdk\Test::YES) // URL адрес скрипта для асинхронного приёма статуса ->setCallback('https://smspilot.ru') // Post или get ->setCallbackMethod(MessengerSdk\CallbackMethod::POST);
- 执行请求
use Panda\SmsPilot\MessengerSdk; try { print_r($pilot->request($singleton)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
方法 #2
use Panda\SmsPilot\MessengerSdk; try { /* * Текст сообщения * Номер мобильного телефона, или список номеров через запятую * Зарегистрированный отправитель */ print_r($pilot->sendSingleton('Все начинается с сообщения!','79995550011', MessengerSdk\Sender::VIBER)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
发送 SMS(批量发送)(HTTP/API-2)
方法 #1
- 创建请求
use Panda\SmsPilot\MessengerSdk; /* * Текст сообщения * Телефонный номер абонента * Имя отправителя */ $packet = new MessengerSdk\Packet('Все начинается с сообщения!', '79995550011', MessengerSdk\Sender::VIBER);
- 设置参数
use Panda\SmsPilot\MessengerSdk; /* * Вызов методов "setFrom", "setDatetime", "setCallback", "setCallbackMethod", "setTtl" * сразу после создания экземпляра класса позволит использовать соответствующие параметры * по умолчанию для всех сообщений в пакете */ /* * Текст сообщения * Телефонный номер абонента * Имя отправителя */ $packet->addSend('Все начинается с сообщения!', '79995550011', MessengerSdk\Sender::VIBERSMS) ->addSend('Уже началось!', '79995550012', MessengerSdk\Sender::VIBERSMS) // Уникальный код сообщения в вашей системе ->setId('id') // Имя отправителя ->setFrom(MessengerSdk\Sender::GOLOS) // Время отложенной отправки сообщения ->setSendDatetime('2015-04-07 09:10:00') // URL адрес скрипта для приѐма статуса ->setCallback('https://smspilot.ru') // get или post вызов скрипта приёма статусов ->setCallbackMethod(MessengerSdk\CallbackMethod::POST) // Время жизни сообщения ->setTtl(1440) // Обычная отправка / Без передачи оператору (эмулятор) ->setTest(MessengerSdk\Test::YES) // Обычная отправка / Рассчитать стоимость ->setCost(MessengerSdk\Cost::YES);
- 执行请求
use Panda\SmsPilot\MessengerSdk; try { print_r($pilot->request($packet)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
方法 #2
use Panda\SmsPilot\MessengerSdk; try { /* * Текст сообщения * Номер мобильного телефона, или список номеров через запятую * Зарегистрированный отправитель */ print_r($pilot->sendPacket('Все начинается с сообщения!', '79995550011', MessengerSdk\Sender::VIBER)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
检查 SMS 状态(HTTP/API-2)
方法 #1
- 创建请求
use Panda\SmsPilot\MessengerSdk; // Код сообщения $status = new MessengerSdk\Status('id');
- 设置参数
use Panda\SmsPilot\MessengerSdk; // Код сообщения $status->addId('id') ->addId('id') // Код пакета ->setPacketId('packetId');
- 执行请求
use Panda\SmsPilot\MessengerSdk; try { print_r($pilot->request($status)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
方法 #2
use Panda\SmsPilot\MessengerSdk; try { // Код сообщения print_r($pilot->getStatusById('id')); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); } // или try { // Код пакета print_r($pilot->getStatusByPacketId('packetId')); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
余额(HTTP/API-1)
方法 #1
- 创建请求
use Panda\SmsPilot\MessengerSdk; // Единица измерения $balance = new MessengerSdk\Balance(MessengerSdk\Balance::SMS); // или // Единица измерения $balance = new MessengerSdk\Account(MessengerSdk\Balance::SMS);
- 设置参数
use Panda\SmsPilot\MessengerSdk; // Единица измерения $balance->setBalance(MessengerSdk\Balance::RUR) // Формат ответа сервера ->setFormat(MessengerSdk\Format::JSON) // Кодировка ответа и запроса ->setCharset(MessengerSdk\Charset::WINDOWS_1251) // Язык возвращаемых ошибок ->setLang(MessengerSdk\Lang::RU);
- 执行请求
use Panda\SmsPilot\MessengerSdk; try { print_r($pilot->request($balance)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
方法 #2
use Panda\SmsPilot\MessengerSdk; try { // Единица измерения print_r($pilot->getBalance(MessengerSdk\Balance::RUR)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
用户信息(HTTP/API-1)
方法 #1
- 创建请求
use Panda\SmsPilot\MessengerSdk; // Единица измерения $account = new MessengerSdk\Account(MessengerSdk\Balance::SMS);
- 设置参数
use Panda\SmsPilot\MessengerSdk; // Единица измерения $account->setBalance(MessengerSdk\Balance::RUR) // Формат ответа сервера ->setFormat(MessengerSdk\Format::JSON) // Кодировка ответа и запроса ->setCharset(MessengerSdk\Charset::WINDOWS_1251) // Язык возвращаемых ошибок ->setLang(MessengerSdk\Lang::RU);
- 执行请求
use Panda\SmsPilot\MessengerSdk; try { print_r($pilot->request($account)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
方法 #2
use Panda\SmsPilot\MessengerSdk; try { // Единица измерения print_r($pilot->getAccount(MessengerSdk\Balance::RUR)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
入站 SMS(HTTP/API-1)
方法 #1
- 创建请求
use Panda\SmsPilot\MessengerSdk; // Дата/время с которого начинается выборка $inbound = new MessengerSdk\Inbound(MessengerSdk\Inbound::ALL);
- 设置参数
use Panda\SmsPilot\MessengerSdk; // Дата/время с которого начинается выборка $inbound->setInbound('2010-06-03 09:45:41') // Формат ответа сервера ->setFormat(MessengerSdk\Format::JSON) // Кодировка ответа и запроса ->setCharset(MessengerSdk\Charset::WINDOWS_1251) // Язык возвращаемых ошибок ->setLang(MessengerSdk\Lang::RU);
- 执行请求
use Panda\SmsPilot\MessengerSdk; try { print_r($pilot->request($inbound)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
方法 #2
use Panda\SmsPilot\MessengerSdk; try { // Дата/время с которого начинается выборка print_r($pilot->getInbound(MessengerSdk\Inbound::ALL); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
发送者名称(HTTP/API-1)
方法 #1
- 创建请求
use Panda\SmsPilot\MessengerSdk; /* * Имя отправителя * Название проекта, адрес сайта, примеры сообщений * Адрес для уведомления о результате проверки */ $sender = new MessengerSdk\Sender('SMSPilot', 'Сайт: https://smspilot.ru; Деятельность: Телематические услуги связи...', 'info@smspilot.ru');
- 设置参数
use Panda\SmsPilot\MessengerSdk; // Имя отправителя $sender->setAddSender('SMSPilot') // Название проекта, адрес сайта, примеры сообщений ->setDescription('Сайт: https://smspilot.ru; Деятельность: Телематические услуги связи...') // Адрес для уведомления о результате проверки ->setCallback('info@smspilot.ru') // Получить список отправителей ->setList(MessengerSdk\Sender::SENDERS) // Формат ответа сервера ->setFormat(MessengerSdk\Format::JSON) // Кодировка ответа и запроса ->setCharset(MessengerSdk\Charset::WINDOWS_1251) // Язык возвращаемых ошибок ->setLang(MessengerSdk\Lang::RU) // Обычная отправка / Без передачи оператору (эмулятор) ->setTest(MessengerSdk\Test::YES);
- 执行请求
use Panda\SmsPilot\MessengerSdk; try { print_r($pilot->request($sender)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
方法 #2
use Panda\SmsPilot\MessengerSdk; try { /* * Имя отправителя * Название проекта, адрес сайта, примеры сообщений * Адрес для уведомления о результате проверки */ print_r($pilot->registerSender('SMSPilot', 'Сайт: https://smspilot.ru; Деятельность: Телематические услуги связи...', 'info@smspilot.ru'); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
反垃圾邮件模板(HTTP/API-1)
方法 #1
- 创建请求
use Panda\SmsPilot\MessengerSdk; /* * Текст шаблона * Адрес для уведомления о результате проверки */ $template = new MessengerSdk\Template('Ваш ребенок покинул(а) школу в __:__. Школа №1.', 'http://smspilot.ru/api.php');
- 设置参数
use Panda\SmsPilot\MessengerSdk; // Имя отправителя $template->setAddTemplate('Ваш ребенок покинул(а) школу в __:__. Школа №1.') // Адрес для уведомления о результате проверки ->setCallback('http://smspilot.ru/api.php') // Формат ответа сервера ->setFormat(MessengerSdk\Format::JSON) // Кодировка ответа и запроса ->setCharset(MessengerSdk\Charset::WINDOWS_1251) // Язык возвращаемых ошибок ->setLang(MessengerSdk\Lang::RU);
- 执行请求
use Panda\SmsPilot\MessengerSdk; try { print_r($pilot->request($template)); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }
方法 #2
use Panda\SmsPilot\MessengerSdk; try { print_r($pilot->registerTemplate('Код подтверждения: _____', 'http://smspilot.ru/api.php')); } catch (MessengerSdk\Exception\ClientException $e) { echo $e->getMessage(); }