Отправка уведомлений в Viber с помощью сервиса RED SMS
Различные рассылки сообщений, рекламных акций, уведомления о пропущенных вызовах – всё это является актуальным для разных компаний. В век информационных технологий, когда у каждого человека есть с собой телефон, выбор рассылок и сервисов, с помощью которых можно производить эти рассылки. В данной статье будет рассмотрена возможность отправки сообщений в Viber на примере сервиса RED SMS. Данный сервис […]
Различные рассылки сообщений, рекламных акций, уведомления о пропущенных вызовах – всё это является актуальным для разных компаний. В век информационных технологий, когда у каждого человека есть с собой телефон, выбор рассылок и сервисов, с помощью которых можно производить эти рассылки.
В данной статье будет рассмотрена возможность отправки сообщений в Viber на примере сервиса RED SMS.
Данный сервис предоставляет возможность протестировать возможность отправки тестовых сообщений. Обратите внимание, что в тестовом аккаунте нет возможности протестировать отправку сообщений в Viber.
Интеграция
Тестирование функционала проводилось на php 5.6. Для других версий php могут потребоваться отдельные доработки.
Для начала потребуется имя для рассылки. Для этого на странице сервиса перейдём в раздел Имена отправителей. Здесь создадим новое имя для Viber и заполним все необходимые поля. После этого необходимо отправить имя на модерацию.
Имя должно быть зарегистрировано. Подробнее о регистрации имени можно узнать у сервиса.
Также должен быть создан api-ключ. Подробнее о том, как его создать, можно узнать в статье: ссылка на пока не выложенную статью “Отправка SMS-уведомлений с помощью сервиса RED SMS”
Также в статье можно найти ссылку на документацию для интеграции по API от разработчика.
Исходный код класса для взаимодействия с данным сервисом можно найти по ссылке.
Далее, на сервере телефонии, в папке html создадим файл sendviber.php. В него пропишем:
<?php
require ‘RedsmsApiSimple.php’;
$cid = $argv[1];
$did = $argv[2];
$login = ‘Логин от личного кабинета сервиса’;
$api_key = ‘api-ключ’;
$text = «Вам звонил номер $cid»;
$name = ‘Test’;
$viber_phone = номер получателя;
$viber_text = ‘text’;
$viber_url = ‘https://cp.redsms.ru/reports/details’;
$img = »;
$uuid = »;
$api = new \Redsms\RedsmsApiSimple($login, $api_key);
if ($did == внутренний номер)
try {
echo «RED SMS. Отправка уведомления в Viber \n»;
$res = $api->sendViber($viber_phone, $test, $name, $viber_text, $viber_url, $img);
if (!empty($res[‘items’])) {
$mess = $res[‘items’];
foreach ($mess as $message) {
echo $message[‘to’] . «-» . $message[‘uuid’] . «-» . $message[‘status’] . «\n»;
$uuid = $message[‘uuid’];
}
}
if ($uuid) {
echo «Статус: \n»;
$info = json_encode($api->messageInfo($uuid));
echo «$info \n»;
echo «Пожалуйста, подождите 10 секунд… \n»;
sleep(10);
$info = json_encode($api->messageInfo($uuid));
echo «$info \n»;
}
} catch (\Exception $e) {
echo «Ошибка » . $e->getCode() . «: » . $e->getMessage() . «\n»;
}
}
echo «Успешно! \n»;
Теперь рассмотрим, что прописано в скрипте. В начале подключаем файл RedsmsApiSimple.php, в котором описан класс работы с сервисом. Затем объявляем необходимые переменные: $cid и $did отвечают за номер звонящего и внутренний номер сотрудника, $login и $api_key позволяют провести авторизацию на сервисе при отправке сообщения, $text – тест сообщения, $name – имя отправителя, $viber_phone – номер, на который должно прийти сообщение в Viber. Также объявляем $viber_url – в ней будет содержаться ссылка на детализацию сообщений, отправленных в Viber. Переменные $img и $uuid оставляем пустыми – первая переменная будет содержать в себе ссылку на картинку, если такая имеется, а вторая – идентификатор сообщения. По $uuid затем будем отслеживать статус сообщения. В $api записываем новый экземпляр класса RedsmsApiSimple с данными для авторизации.
Далее переходим к условию, при котором сообщение будет отправляться. В нём проверяем переменную $did на соответствие заранее известному внутреннему номеру сотрудника. Если она совпадает, обращаемся к sendViber, который описан в классе RedsmsApiSimple, и передаём ряд значений. Результат будет возвращён в виде массива. Если он не будет пустым, то выводим информацию, необходимую для отладки – в примере это идентификатор и статус.
По идентификатору получаем информацию о сообщении.
Пример работы
Для того чтобы показать работу сервиса в связке с FreePBX, воспользуемся модулем Custom Destination. Подробнее о работе с данным модулем можно прочитать в статье
Для начала создадим контекст в extensions_custom.conf, в котором вызовем наш скрипт, и передадим ему номер звонящего и внутренний номер сотрудника.
[send-viber]
exten => s,1,System(/usr/bin/php -f /var/www/html/redsms/sendviber.php ${CALLERID(num)} ${EXTTOCALL})
same => n,GoTo(macro-hangupcall,s,1)
Затем создадим новое назначение, в котором будем ссылаться на созданный контекст.
Далее перейдём в настройки внутреннего номера на вкладку Advanced. Здесь, в Failover Destination, по неответу укажем нужное назначение.
Теперь позвоним на номер 0008 и проверим отправку уведомлений.
Как видно из скриншота, по истечению ring time на 0008, вызов по неответу ушёл на ранее созданное назначение. Был вызван контекст send-viber, и отправлено уведомление. Детализацию отправленных уведомлений можно посмотреть в отчётах в личном кабинете.
На этом статья завершена.
Остались вопросы?
Я - Кондрашин Игорь, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
10 доводов в пользу Asterisk
Распространяется бесплатно.
Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.
Безопасен в использовании.
Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.
Надежен в эксплуатации.
Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.
Гибкий в настройке.
Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.
Имеет огромный функционал.
Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.
Интегрируется с любыми системами.
То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.
Позволяет телефонизировать офис за считанные часы.
В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.
Отличная масштабируемость.
Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.
Повышает управляемость бизнеса.
Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.
Снижает расходы на связь.
Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.
мне тут помогли, спасибо за ваш материал