В цифровом маркетинге коммуникация с клиентами играет ключевую роль в успехе бизнеса. Хотя email-уведомления остаются мощным инструментом, SMS приобретают все большее значение благодаря оперативности и высокому уровню прочтения. В этом руководстве сосредоточимся на интеграции email- и SMS-уведомлений в Joomla с использованием API Exolve и ряда других средств.
Для начала важно выстроить правильную стратегию:
1. Определить цели и сегменты рассылок.
2. Выбрать оптимальную периодичность.
3. Адаптировать контент под интересы аудитории.
4. Тестировать заголовки, призывы, визуал.
5. Непрерывно измерять эффективность и улучшать.
Грамотная работа с email способна принести бизнесу существенный прирост продаж и клиентов. Поэтому владельцу практически любого сайта на Joomla стоит внедрить этот канал.
Обзор расширений Joomla для email-уведомлений
В каталоге расширений Joomla есть немало компонентов для организации email-рассылок. Рассмотрим несколько наиболее популярных и функциональных вариантов.
AcyMailing
AcyMailing — известный компонент для email-маркетинга в экосистеме Joomla с обширным набором функций, удобным интерфейсом и поддержкой различных email-сервисов.
Основные возможности AcyMailing:
-
Управление неограниченным числом списков подписчиков.
-
Детальная сегментация базы по полям профилей.
-
Drag-and-drop редактор писем.
-
Адаптивные шаблоны и персонализация контента.
-
Отправка по расписанию и автореспондеры.
-
Аналитика открытий, кликов, отписок.
-
Интеграция с Joomla, K2, HikaShop, Virtuemart и др.
Есть бесплатная базовая версия с ограничениями по числу подписчиков.
jNews
jNews — другое мощное решение для email-маркетинга на Joomla.
Ключевые опции jNews:
-
Комфортное управление списками и группами контактов.
-
Визуальные редакторы писем (WYSIWYG и Drag & Drop).
-
Динамический контент и условия его отображения.
-
Продвинутая сегментация по поведению пользователей.
-
Цепочки писем, автореспондеры, автоматические рассылки.
-
Тесты A/B, отчеты, графики.
-
Синхронизация с Joomla, К2, Easysocial, Jomsocial и более 30 CMS/CRM.
jNews распространяется по подписке от 99 долларов в год для одного домена.
Acajoom
Acajoom — еще один заслуживающий внимания компонент рассылок для сайтов на Joomla. Он сочетает широкую функциональность с простотой использования.
Особенности Acajoom:
-
Работа с неограниченным количеством списков подписчиков.
-
Встроенные шаблоны писем и простой drag-and-drop редактор.
-
Персонализация контента по группам и интересам.
-
Гибкое расписание рассылок.
-
Сплит-тесты, аналитика, отчеты.
-
Совместимость с популярными расширениями Joomla.
Цена Acajoom стартует от 47 долларов для одного сайта. Есть 30-дневная гарантия возврата средств.
Также можно упомянуть такие расширения, как Mailster, Joomla-Mailings, Joomailer, Emclabs Newsletter и др. У каждого из них своя специфика и аудитория пользователей.
В целом, выбор компонента email рассылок зависит от масштаба проекта, бюджета и требуемых функций.
Далее мы сосредоточимся именно на работе с AcyMailing и разберем настройку рассылок на его примере.
Пошаговая инструкция по созданию рассылки в AcyMailing
Допустим, у нас есть работающий сайт на Joomla, и мы хотим запустить на нем email-маркетинг с помощью AcyMailing.
Рассмотрим последовательность необходимых действий.
Шаг 1. Установка компонента
-
Скачиваем актуальную версию AcyMailing с сайта разработчика.
-
В административной панели Joomla переходим в Расширения -> Менеджер расширений.
-
Нажимаем кнопку «Загрузить файл пакета» и выбираем скачанный архив с AcyMailing. Компонент будет установлен автоматически.
Шаг 2. Общие настройки
-
Переходим в Компоненты -> AcyMailing -> Конфигурация.
-
Во вкладке «Основные» заполняем имя и email (для полей от кого и ответить). Эти данные будут использоваться по умолчанию при отправке писем.
-
Во вкладке «Почтовые серверы» указываем SMTP-сервер, порт, логин и пароль для отправки писем. Это могут быть SMTP данные от вашего почтового сервиса или подключенного стороннего, например SendGrid, Mailgun.
Шаг 3. Создание списка подписчиков
-
В меню AcyMailing выбираем Списки.
-
Нажимаем кнопку «Создать список».
-
Указываем Название списка, например «Основной список рассылки».
-
Вписываем тему письма подтверждения подписки.
-
Устанавливаем переключатель «Подтверждение подписки» в «Да».
-
Сохраняем список.
Шаг 4. Создание формы подписки
-
В меню AcyMailing идем в формы.
-
Нажимаем «Создать форму».
-
Выбираем нужный нам список в поле «Списки».
-
Выбираем поля подписчика, которые будут отображаться в форме, например имя и email.
-
Копируем сгенерированный код формы.
Шаг 5. Вставка формы на сайт
-
Создаем новый материал в Joomla .
-
Переключаемся на вкладку HTML редактора материала.
-
Вставляем скопированный код формы подписки внутрь тегов <body>.
-
Публикуем материал и проверяем, что форма отображается и работает корректно.
Шаг 6. Подготовка шаблона письма
-
В меню AcyMailing заходим в рассылки.
-
Нажимаем «Создать рассылку».
-
Указываем тему письма.
-
Во вкладке «Контент» с помощью удобного drag-and-drop редактора создаем тело письма.
-
Используем персонализацию, например Здравствуйте, {имя подписчика}!
-
Добавляем призыв к действию и ссылки на сайт.
-
Тестируем отображение письма на разных устройствах во вкладке просмотра.
Шаг 7. Тестовая отправка
-
В созданной рассылке переходим на вкладку «Отправка».
-
В блоке «Тесты» вводим тестовый email и нажимаем «Отправить тест».
-
Проверяем доставку письма, корректность контента и ссылок.
Шаг 8. Запуск рассылки
-
В настройках рассылки во вкладке «Отправка» выбираем список получателей.
-
Указываем фильтры и сегментацию списка, если нужно.
-
Ставим галочку «Опубликовано».
-
Выбираем дату и время отправки рассылки.
-
Нажимаем «Сохранить и закрыть».
Таким образом, рассылка создана и запланирована. После фактической отправки подписчикам в интерфейсе AcyMailing можно будет отследить статистику открытий, кликов, отписок и т.д.
Данную последовательность действий можно повторять для создания новых рассылок на регулярной основе.
Персонализация и сегментация рассылок
Чтобы повысить эффективность email маркетинга, недостаточно просто отправлять рассылки всей базе подписчиков. Важно персонализировать контент писем и сегментировать аудиторию по различным признакам. Рассмотрим, как это можно реализовать на примере AcyMailing.
Персонализация
В редакторе AcyMailing есть теги персонализации вида {имя_поля}. Эти теги автоматически заменяются на соответствующие данные подписчика при отправке.
Например, у нас есть поля имя, фамилия, пол в профиле подписчика. Тогда в тексте письма можно использовать обращения:
Здравствуйте, {firstname}! Уважаемый {firstname} {lastname}, Дорогая {firstname},
Шаблон AcyMailing поддерживает практически любые условные конструкции и циклы для реализации сложной персонализации.
Кроме того, фильтровать базу можно по активности подписчиков: открытиям, кликам, покупкам. Это поможет идентифицировать горячие и холодные сегменты, сделать им разные по контексту и интенсивности предложения.
Например, отправить серию реактивационных писем тем, кто давно не открывал рассылки, а наиболее активным подписчикам, лояльным клиентам можно сделать эксклюзивное предложение с глубокой скидкой:
Интеграция AcyMailing с другими компонентами Joomla
Еще одно важное преимущество AcyMailing: интеграция со множеством других расширений. Это позволяет связать разные данные о пользователях на сайте и использовать их для более эффективной работы с рассылками.
Рассмотрим несколько примеров.
Интеграция с Joomla
Из коробки AcyMailing умеет синхронизировать свою базу подписчиков со встроенными пользователями Joomla. Для этого нужно:
-
Зайти в Joomla в «Пользователи» -> «Группы доступа».
-
Создать новую группу, например «Подписчики рассылки».
-
В меню AcyMailing перейти в «Подписчики» -> «Синхронизация пользователей»
-
Выбрать «Joomla Groups» в качестве источника.
-
Отметить только что созданную группу «Подписчики рассылки».
-
Выбрать список рассылки, в который импортировать пользователей.
-
Нажать «Сохранить и продолжить».
Теперь при добавлении пользователя в соответствующую группу Joomla он будет автоматически попадать в базу подписчиков AcyMailing.
Интеграция с K2
K2 — популярный компонент для публикации контента в Joomla. При включенной интеграции AcyMailing сможет автоматически создавать рассылки из новых материалов K2 по заданным правилам.
Включаем интеграцию:
-
В AcyMailing идем в «Расширения» -> «Подписки в Joomla».
-
Напротив строки K2 ставим галочку в колонке «Опубликовано».
Создаем правило автоматической рассылки:
-
В AcyMailing идем в «Рассылки» -> «Создать рассылку».
-
Во вкладке «Генерация» устанавливаем переключатель «Сгенерировать рассылку из К2» в «Да».
-
Указываем категорию или конкретные материалы K2 для рассылки.
-
Выбираем шаблон для автоматического создания контента рассылки.
-
Настраиваем сегментацию и фильтры получателей.
Теперь при публикации нового материала K2 из указанной категории будет генерироваться рассылка в соответствии с шаблоном и автоматически отправляться подписчикам.
Интеграция с Hikashop и Virtuemart
Hikashop и Virtuemart — популярные расширения для организации онлайн-магазина на Joomla. Их интеграция с AcyMailing позволяет использовать информацию о заказах для более таргетированных рассылок.
Включение интеграции:
-
В административной панели Joomla идем в «Компоненты» -> Hikashop/Virtuemart -> «Настройки».
-
Переходим в раздел интеграций.
-
Напротив пункта AcyMailing ставим галочку «Включено».
При новом заказе в Hikashop или Virtuemart email покупателя будет автоматически добавляться в список подписчиков AcyMailing. Кроме того, данные о заказе и приобретенных товарах будут записаны в дополнительные поля.
Вот как может выглядеть код для генерации персональных рекомендаций на основе предыдущих заказов в Hikashop:
{foreach $previous_orders as $order} {foreach $order->products as $product} <li>{$product->name}</li> {/foreach} {/foreach}
Здесь мы получаем массив прошлых заказов пользователя из Hikashop, проходимся по товарам внутри каждого заказа и выводим их названия в письме.
Аналогичным образом можно интегрировать AcyMailing с множеством других компонентов Joomla: каталогами, формами, блогами, форумами. Информация об этих интеграциях, как правило, содержится в документации соответствующих расширений.
Рассмотрим далее, как реализовать отправку SMS на сайте под управлением Joomla
Выбор SMS-шлюза и его подключение в Joomla
Преимущества SMS уведомлений:
-
Высокая скорость доставки.
-
Гарантированное прочтение (93% сообщений открывается в течение 5 минут).
-
Личный и доверительный характер обращения.
-
Возможность достучаться до неактивных email подписчиков.
-
Охват аудитории, не пользующейся email.
Для отправки SMS с сайта требуется подключение к специальному сервису — SMS-шлюзу. Это платформа, которая обеспечивает обмен сообщениями между веб-приложением и мобильными сетями.
Существует множество шлюзов с разными условиями и возможностями. Некоторые популярные варианты:
-
Mobizon
-
Infobip
-
Sms4b
-
SMSAero
При выборе сервиса ориентируйтесь на:
-
цены на отправку SMS в нужные вам страны
-
качество доставляемости
-
API для интеграции
-
техническую поддержку
-
отзывы других пользователей
Проанализировав эти факторы, регистрируемся в сервисе и пополняем баланс на первоначальную сумму. Далее реализуем фактическое подключение SMS-шлюза к Joomla. Есть два основных способа:
1. Через компонент интеграции
В каталоге расширений Joomla можно найти готовые компоненты для работы с популярными SMS шлюзами.
Устанавливаем компонент в Joomla, вводим API ключ из личного кабинета шлюза и начинаем отправлять SMS через интерфейс компонента, либо вызывая его функции в коде других расширений.
Плюсы подхода: простота интеграции, минимальные трудозатраты. Минусы: меньше гибкости, зависимость от стороннего кода.
2. Через прямые обращения к API
Каждый шлюз предоставляет HTTP API для отправки сообщений. Имея ключ доступа, мы можем напрямую отправлять запросы к API из PHP-кода Joomla и обрабатывать ответы.
Термины и определения
Прежде чем мы перейдем к практическим аспектам, давайте ознакомимся с основными терминами:
-
ESME (External Short Messaging Entity) — внешнее приложение, подключающееся к SMSC для отправки или получения SMS-сообщений.
-
PDU (Protocol Data Unit) — пакет данных протокола SMPP.
-
SMSC (Short Message Service Center) — центр обслуживания коротких сообщений.
-
TLV (Tag-Length-Value) — формат представления дополнительных данных в сообщениях.
-
UDH (User Data Header) — заголовок пользовательских данных в SMS-сообщении.
Подключение к Exolve через SMPP
1. Получите доступ к Личному кабинету разработчика Exolve.
2. Перейдите во вкладку «Приложения» в верхнем меню аккаунта.
3. Выберите нужное приложение.
4. Перейдите в «Сообщения» → «SMPP-аккаунт» в левом меню.
5. Запишите следующие параметры подключения: system_id (логин), password (пароль), адрес (smpp.exolve.ru) и порт (2775).
6. Настройте ваше ESME (приложение для отправки SMS) с этими параметрами.
7. Используйте SMPP-протокол версии 3.4 для подключения.
Отправка SMS через Exolve SMPP
1. Выберите тип подключения: receiver или transceiver.
2. При отправке SMS обязательно укажите параметр data_coding:
— Используйте GSM7 для латинского алфавита
— Используйте UCS2 для кириллицы
3. Для отправки через short_message:
— Установите текст в поле «short_message»
— Для составных сообщений используйте UDH
— Ограничение: 67 символов кириллицы или 153 символа латиницы на сегмент
4. Для отправки через payload:
— Установите текст в поле «payload»
— Не разделяйте на сегменты
— Оставьте поле «short_message» пустым
5. Отправляйте PDU enquire_link каждые 15 минут для поддержания соединения.
Создание рассылки через API Exolve
1. Подготовьте API-ключ вашего приложения Exolve.
2. Используйте точку подключения: POST https://api.exolve.ru/campaign/v1/Create
3. Установите заголовок Authorization: Bearer {ваш_API-ключ}
4. Подготовьте JSON с параметрами рассылки:
— name: название рассылки
— timezone: учёт часового пояса (true/false)
— Выберите канал рассылки (sms, voice_message или cascade)
5. Для SMS-рассылки укажите:
— alpha_name: имя отправителя
— text: текст сообщения
6. Для каскадной рассылки настройте последовательность каналов и условия перехода.
7. При необходимости настройте расписание рассылки.
8. Отправьте запрос и получите campaign_id в ответе.
Пример запроса для текстового SMS
{ "name": "test", "timezone": true, "sms": { "props": { "alpha_name": "shop", "text": "Приходите к нам в магазин!" } } }
Пример запроса для каскадной рассылки
{ "name": "Рассылка с расписанием", "cascade": { "elements": [ { "sms": { "props": { "alpha_name": "shop", "text": "Приходите к нам!" } }, "condition": "1" }, { "voice_message": { "props": { "voice_message_id": "353b86e0-a62c-47d4-9b94-8dba32c922fc", "from": "79991112233" } } } ] }, "schedule": { "days": { "mon": { "intervals": [ { "from": { "hours": 10, "minutes": 0, "seconds": 0, "nanos": 0 }, "to": { "hours": 15, "minutes": 30, "seconds": 0, "nanos": 0 } } ] } } } }
Оптимизация SMS-рассылок в Exolve
1. Используйте GSM7 кодировку для сообщений на латинице для экономии символов.
2. Для кириллицы используйте UCS2 кодировку.
3. При отправке составных сообщений через short_message, правильно формируйте UDH.
4. Для длинных сообщений используйте payload вместо short_message, чтобы избежать ручного разделения на сегменты.
5. Регулярно проверяйте соединение, отправляя enquire_link каждые 15 минут.
6. При создании каскадных рассылок, настраивайте условия перехода для оптимизации доставки.
7. Используйте расписание рассылок для отправки сообщений в оптимальное для получателей время.
Устранение неполадок при работе с Exolve
1. Используйте Wireshark для анализа SMPP-трафика при возникновении проблем.
2. При проблемах с API-запросами проверьте корректность API-ключа и формат JSON.
3. Если рассылка не создается, убедитесь, что:
— Альфа-имя для SMS принадлежит вашему приложению
— Номер телефона для голосовых SMS принадлежит вашему приложению
— ID голосового сообщения существует и принадлежит вашему приложению
4. При ошибках в параметрах проверьте:
— Длину альфа-имени (от 3 до 11 символов)
— Длину номера телефона (от 1 до 14 символов)
— Длину названия рассылки (от 3 до 40 символов)
5. Если рассылка не запускается в указанное время, проверьте, не создали ли вы её во время текущего интервала расписания.
Отправка простого SMS через SMPP
// Подключение к SMPP серверу Exolve $smpp = new SMPP('smpp.exolve.ru', 2775, 'your_system_id', 'your_password', 'YOUR_SYSTEM_TYPE'); $smpp->bindTransceiver(); // Отправка SMS $from = 'YOUR_ALPHA_NAME'; $to = '79991234567'; $message = 'Ваш заказ подтвержден'; $smpp->sendSMS($from, $to, $message, [ 'data_coding' => SMPP::DATA_CODING_UCS2, // Для кириллицы ]); $smpp->close();
Отправка составного SMS через SMPP
// Подключение к SMPP серверу Exolve $smpp = new SMPP('smpp.exolve.ru', 2775, 'your_system_id', 'your_password', 'YOUR_SYSTEM_TYPE'); $smpp->bindTransceiver(); // Отправка составного SMS $from = 'YOUR_ALPHA_NAME'; $to = '79991234567'; $message = 'Это длинное сообщение, которое будет разделено на несколько частей. Каждая часть будет отправлена отдельно, но благодаря UDH они будут собраны в одно сообщение на телефоне получателя.'; $parts = str_split($message, 67); // Разделяем на части по 67 символов для кириллицы $total_parts = count($parts); $reference_number = mt_rand(0, 255); foreach ($parts as $i => $part) { $udh = pack('cccccc', 5, 0, 3, $reference_number, $total_parts, $i + 1); $smpp->sendSMS($from, $to, $udh . $part, [ 'data_coding' => SMPP::DATA_CODING_UCS2, 'esm_class' => SMPP::ESM_CLASS_UDHI, ]); } $smpp->close();
Создание каскадной рассылки через API
$api_key = 'YOUR_API_KEY'; $url = 'https://api.exolve.ru/campaign/v1/Create'; $data = [ 'name' => 'Каскадная рассылка', 'timezone' => true, 'cascade' => [ 'elements' => [ [ 'sms' => [ 'props' => [ 'alpha_name' => 'YourShop', 'text' => 'У нас новая акция! Посетите наш сайт для подробностей.' ], 'ttl' => '60s' ], 'condition' => '1' // Если SMS не доставлено ], [ 'voice_message' => [ 'props' => [ 'voice_message_id' => 'YOUR_VOICE_MESSAGE_ID', 'from' => '79991112233' ] ] ] ] ], 'schedule' => [ 'days' => [ 'mon' => [ 'intervals' => [ [ 'from' => ['hours' => 10, 'minutes' => 0, 'seconds' => 0, 'nanos' => 0], 'to' => ['hours' => 18, 'minutes' => 0, 'seconds' => 0, 'nanos' => 0] ] ] ], 'tue' => [ 'intervals' => [ [ 'from' => ['hours' => 10, 'minutes' => 0, 'seconds' => 0, 'nanos' => 0], 'to' => ['hours' => 18, 'minutes' => 0, 'seconds' => 0, 'nanos' => 0] ] ] ] ] ] ]; $headers = [ 'Authorization: Bearer ' . $api_key, 'Content-Type: application/json' ]; $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $result = json_decode($response, true); echo "Campaign ID: " . $result['campaign_id'];
Отправка SMS с использованием payload
// Подключение к SMPP серверу Exolve $smpp = new SMPP('smpp.exolve.ru', 2775, 'your_system_id', 'your_password', 'YOUR_SYSTEM_TYPE'); $smpp->bindTransceiver(); // Отправка SMS с использованием payload $from = 'YOUR_ALPHA_NAME'; $to = '79991234567'; $message = 'Это длинное сообщение, которое будет отправлено через payload. Оно может содержать больше символов, чем обычное SMS, и не требует ручного разделения на части.'; $smpp->sendSMS($from, $to, '', [ 'data_coding' => SMPP::DATA_CODING_UCS2, 'message_payload' => $message, ]); $smpp->close();
Эти примеры демонстрируют различные способы использования Exolve для отправки SMS и создания рассылок. Они охватывают такие аспекты, как отправка простых и составных сообщений через SMPP, создание каскадных рассылок через API и использование payload для отправки длинных сообщений.
Отправка SMS при создании заявки на сайте
Довольно распространенный кейс — отправлять SMS клиенту и менеджеру при поступлении новой заявки с сайта. Разберем реализацию на примере компонента Chronoforms.
Это мощный конструктор веб-форм для Joomla, который также умеет создавать опросы, анкеты с многоэтапным заполнением, условной логикой и так далее.
Допустим, у нас есть простая форма заказа обратного звонка со следующими полями:
-
имя
-
телефон
-
удобное время для звонка (select)
Чтобы настроить отправку SMS после заполнения формы:
1. В админке переходим в «Компоненты» -> Chronoforms -> «Управление формами».
2. Открываем форму обратного звонка.
3. Во вкладке «События» добавляем новое событие «После отправки».
4. В качестве действия выбираем «Отправить СМС».
5. В поле «Номер телефона» указываем {phone} — так подставиться номер из поля «Телефон» формы.
6. В поле «Сообщение» пишем текст SMS, например:
Здравствуйте, {name}! Ваша заявка на обратный звонок принята. Мы перезвоним вам {call_time}. Спасибо за обращение!
7. Заполняем остальные настройки SMS по необходимости.
8. Сохраняем событие и тестируем отправку.
Чтобы отправить SMS менеджеру о новой заявке, нужно добавить еще одно событие «После отправки», но в поле номера телефона уже указать номер менеджера.
Подобная настройка актуальна не только для форм обратной связи, но и для заказов в интернет-магазине, бронирования услуг, регистраций на событие.
Дополнительные триггеры событий для SMS
Помимо заполнения веб-форм есть и другие события на сайте, при наступлении которых будет уместна отправка SMS.
Приведем несколько характерных примеров.
Добавление товара в корзину
Пусть у нас интернет-магазин электроники на Joomla + Virtuemart. Чтобы отправлять SMS при добавлении товара в корзину:
1. Устанавливаем плагин Joomla Plugin SMS Notification
2. В его настройках выбираем интересующий нас SMS-шлюз
3. Указываем событие OnCartAdd
4. В шаблоне SMS пишем:
В вашу корзину добавлен {product_name}. Цена {product_price}. Продолжить покупки: {url}
5. Сохраняем плагин и тестируем
Таким способом можно стимулировать пользователей завершать начатые покупки.
Напоминание о неоплаченном счете
Представим, что на сайте выставляются счета клиентам через компонент Joomla Invoices. Если клиент не оплачивает счет в течение 3 дней, имеет смысл отправить ему SMS напоминание.
1. В административной панели идем в компоненты, выбираем Joomla Invoices.
2. Создаем новый шаблон счета.
3. В редакторе шаблона добавляем код для отправки SMS:
$dueDate = $invoice->due_date; $threeDaysAfter = date('Y-m-d', strtotime($dueDate . '+3 days')); $today = date('Y-m-d'); if ($today >= $threeDaysAfter && $invoice->status = 'Unpaid') { // отправляем SMS $phoneNumber = $invoice->phone; $message = "Здравствуйте! Напоминаем, что ваш счет №{$invoice->number} на сумму {$invoice->total} просрочен. Пожалуйста, оплатите его в течение 2 дней. Спасибо!"; sendSMS($phoneNumber, $message); } function sendSMS($to, $message) { // реализация отправки SMS }
4. Сохраняем шаблон счета
Код будет проверять дату выставления счета, и если прошло более 3 дней, а счет еще не оплачен — отправит SMS напоминание клиенту.
Истечение подписки на сайте
Нередки случаи, когда доступ к материалам или сервисам сайта предоставляется по платной подписке. Заранее уведомить клиента о скором завершении подписки будет правильным решением.
Допустим подписки на сайте реализованы через компонент Akeeba Subscriptions.
1. Находим файл /plugins/akeebasubs/plugins/smsreminder.php
2. В нем уже есть метод onSubscriptionExpiring для обработки истекающих подписок
3. Модифицируем этот метод под отправку SMS:
public function onSubscriptionExpiring($subscription) { if (!$subscription->enabled) { return; } $params = $subscription->getParams(); $daysBeforeExpiration = $params->get('days_before', 0); if ($daysBeforeExpiration <= 0) { return; } $user = $subscription->getUser(); $expirationDate = new DateTime($subscription->getExpirationDate()); $today = new DateTime(); $today->setTime(0, 0, 0); $interval = $today->diff($expirationDate); if ($interval->days !== $daysBeforeExpiration) { return; } $message = "Здравствуйте, {$user->name}! Подписка на наш сервис истекает через {$daysBeforeExpiration} дней - {$expirationDate->format('d.m.Y')}. Продлите подписку на сайте, чтобы не потерять доступ к материалам!"; sendSMS($user->mobilePhone, $message); }
Здесь мы проверяем разницу между сегодняшней датой и датой истечения подписки, и если она равна заданному числу дней в настройках — отправляем SMS пользователю с напоминанием продлить подписку.
Аналогично можно поступать с любыми другими событиями на сайте, требующими реакции — изменением статуса заказа, публикацией нового контента, активностью пользователя и т.д.
При грамотном использовании SMS-уведомления могут принести немалую пользу бизнесу и повысить удовлетворенность клиентов.
Заключение
Интеграция Exolve и других сервисов в вашу Joomla-систему открывает новые возможности для коммуникации с клиентами. Используя SMPP-протокол или API, вы можете создавать эффективные оповещения, которые дополнят ваши email-кампании.
Помните о важности соблюдения технических требований и оптимизации ваших рассылок. Регулярно анализируйте эффективность ваших SMS-кампаний, экспериментируйте с различными подходами и всегда учитывайте предпочтения клиентов.
ссылка на оригинал статьи https://habr.com/ru/articles/847342/
Добавить комментарий