Интеграция с MODX
Наши партнеры разработали компонент MODX для отправки смс и валидации номера телефона
Основные настройки
В личном кабинете активируем API 3.0.
Настройка компонента
- ID переадресации — используется при валидации номера по SMS, если не 0 – то после успешного завершения пользователь будет переадресован на ID этой страницы.
- Длина кода – длина кодового слова в SMS сообщении при валидации
- Символы SMS кода – JSON массив c указанием требуемых символов, которые могут использоваться в коде.
- Время жизни СМС-кода — время действия СМС кода, указывает через какой интервал будет сгенерирован новый проверочный код для пользователя.
- Таймаут отправки СМС – время между двумя возможными отправками SMS.
- От кого СМС – буквенное имя отправителя. Спецсимволы лучше не использовать.
- Приватный ключ – копируем из ЛК ePochta
- Публичный ключ – копируем из ЛК ePochta
- Время жизни СМС — рекомендуем оставить по умолчанию
- Режим тестирования — при тестировании сообщения будут уходить на сервер ePochta и не отправляться клиенту, если выставить НЕТ – то будет боевой режим и СМС будут отсылаться.
- URL сервиса — лучше оставить по умолчанию.
Принцип работы:
Компонент позволяет делать простую отправку СМС на определенный номер, для этого достаточно сделать вызов
$ePochta->sendSMS_now($phone, $message, 0))
где $phone - номер телефона в международном формате, $message - текст сообщения, 0 - отправить немедленно
Отправка СМС:
<?php $message = 'Тест'; $phone=7922; //номер в международном формате, например 79657008900 $ePochta = $modx->getService('epochta', 'ePochta', $modx->getOption('epochta_core_path', null, $modx->getOption('core_path') . 'components/epochta/') . 'model/epochta/', $scriptProperties); $ePochta->initialize(); if (!($ePochta instanceof ePochta)) exit('Could not initialize ePochta!'); if (!$ePochta->sendSMS_now($phone, $message, 0)) { //вернется false если сообщение не отправилось echo "ERROR!"; }
В случае неудачи функция вернет FALSE, а в лог выдастся подробная ошибка с набором данных:
[2014-03-11 22:36:53] (ERROR @ /index.php) [ePochta] Error send sms to [7922], text [Тест] user_id [2] [2014-03-11 22:36:53] (ERROR @ /index.php) Array ( [error] => no_good_recipients [code] => 303 [result] => 464322 )
Сниппет epValidate
Параметры:
- tplCheck - чанк с формой для валидации номера телефона.
- tplExists - чанк для вывода формы, когда у пользователя уже есть привязанный номер телефона (Mobile Phone).
Принцип работы:
Все зависит от авторизации пользователя.Если он авторизирован – делается проверка на наличие mobilephone в его профиле.Если такое поле пустое – то тогда будет выведена форма с подтверждением сотового телефона, если нет – то будет выведен чанк tplExists.
Если номера нет, то может выдастся как первая часть формы (с вводом номера) так и вторая – с полем для ввода кода. Все зависит от параметра таймаута отправки SMS сообщений. Именно исходя из этого параметра и рассчитывается таймер обратного отсчета для повторной отправки кода или смены номера.
Сниппет использует процессоры, а процессор в ходе своей работы вызывает 4 разных событий:
- OnBeforeCodeValidate - событие до валидации кода
- OnAfterCodeValidate - событие после успешной валидации кода
- OnBeforePhoneCheck - соответственно событие до валидации номера
- OnAfterPhoneCheck - событие после успешного ввода номера
В стандартной поставке идёт плагин, который проверяет уникальность номера телефона, а так же отправляет смс и, в случае успешного подтверждения, меняет номер в профиле.
По запросу предоставляется необходимое количество дополнительных смс для тестирования сервиса массовых смс-уведомлений ePochta SMS.
Есть вопрос?
- 8 (800) 555-09-63
- Бесплатно по России
Новости:
- 2020-11-23
- ePochta объявляет старт Черной Пятницы: Спеццена на рассылку в WhatsApp
- 2020-11-18
- С 1 декабря 2020 года оператор МТС повышает стоимость СМС
- 2020-05-04
- Вебинар: СМС маркетинг. Что писать в тексте СМС рассылок?
- 2020-04-28
- Операторы повышают цены СМС рассылки по прямому каналу в РФ
- 2019-12-21
- Украинские операторы повышают цену СМС