Описание системы отправки сообщений
Система отправки сообщений Carbon Billing 5 поддерживает 2 метода отправки:
- SMS
Для её работы следует настроить шаблоны и параметры отправки, для каждого метода свои.
Настройка системы и методов отправки
Включение системы отправки сообщений
Для работы системы отправки сообщений, следует включить этот сервис в настройках биллинга
Для этого необходимо перейти в "Управление абонентами и тарифами - настройки - настройки(в файле) - настройки демона отправки сообщений" и выставить флаг в поле "Включить отправку сообщений"
Настойка SMS-шлюза
- Откройте вкладку "Настройка сообщений" в карточке оператора связи. Нажмите кнопку "Редактировать" (пиктограмма в виде карандашика в колонке "Действие"
- Снимите опцию "Использовать СМС шлюз Carbon" и нажмите "Сохранить", Вас автоматический перенаправит на вкладку "Настройка сообщений" в карточке оператора связи
- Снова нажмите кнопку "Редактировать"
- Настройте требуемые параметры и нажмите "Сохранить". Обязательными являются:
- Адрес СМС шлюза
- Post параметры
- MD5 подпись
Следующие параметры настройте по необходимости:
- Заголовок сообщения - автоматический добавляемая тема email-сообщения, на случай если она не указана в шаблоне или в форме отправки сообщения.
- Предупреждать о лимите за n дней - количество дней для шаблона сообщения "Предупреждение за n дней" (описано далее в статье).
- Количество попыток отправки - количество попыток в случае, если сервер, на который передаётся сообщение, не отвечает.
- Начало тихого часа - начала периода времени, когда сообщения не отправляются (работает и на sms и на email).
- *Окончание тихого часа - конец периода времени, когда сообщения не отправляются (работает и на sms и на email).
- Убирать "" из номера - автоматический убирает "" в начале телефонного номера (например, "79121234567" вместо "+79121234567") если этого требует sms-шлюз
Важно: SMS-шлюз должен уметь принимать параметры отправляемого сообщения GET-запросом по протоколу http (или https). Иными словами, должна быть возможность отправки сообщения путём вставки запроса в адресную строку браузера. |
Пример запроса к sms-шлюзу
http://smsc.ru?charset=utf-8&login='company'&psw='company123'&phones=79991231122&mes=Тест отправки
Использованы следующие параметры:
smsc.ru - адрес вашего смс шлюза
company - название вашей компании
company123 - пароль, выданный смс-шлюзом
79991231122 - номер для тестовой отправки, на который придет смс
Тест отправки - текст для отправки, указывается без кавычек
Соответственно, "Адрес СМС шлюза" из настроек сообщений в строке браузера находится слева от символа "?", а "Post параметры СМС шлюза" - справа, при этом используются переменные:
- %(sms)s - номер телефона
- %(text)s - текст сообщения.
Для того, чтобы корректно работал шаблон сообщений "Предупреждение за n дней", необходимо в настройках сообщений оператора связи указать параметр "Предупреждать о лимите за n дней" |
Примеры интеграции с SMS-шлюзами.
SMSC
Сайт компании: smsc.ru
Адрес СМС шлюза:
https://smsc.ru/sys/send.php?
Post параметры:
charset=utf-8&login='Ваш логин'&psw='Ваш пароль'&phones=%sms%&mes=%text%
Важно: Чтоб смс отправилось, в карточке абонента должен быть выбран оператор связи с настроенным смс-шлюзом. |
Простор СМС
Адрес СМС шлюза:
http://gate.prostor-sms.ru/send/
Post параметры:
login='Ваш логин'&password='Ваш пароль'&phone=%sms%&text=%text%
SMSPILOT.RU
Описание интеграции в документации SMSPILOT.RU
Адрес СМС шлюза:
http://smspilot.ru/api.php
Post параметры:
send=%text%&to=%sms%&apikey=XXXYYYZZZ
Вместо XXXYYYZZZ скопируйте API-ключ из настроек: Личный кабинет -> Настройки -> Настройки API
На стороне sms-шлюза Вы должны быть подключены как бизнес-клиент, либо скопировать шаблоны из Carbon Billing 5 в "Шаблоны" в личном кабинете SMSPILOT.RU
Настройка отправки Email
Для того, чтобы сообщения отправлялись, следует указать "Email для оповещений" в карточке оператора связи.
Например: info@provider.name
Настройка отправки Email со стороннего сервера
По умолчанию биллинг отправляет Email сообщения со встроенного smtp сервера. Но так же есть возможность отправлять Email со стороннего сервера.
Чтобы попасть в настройки smtp сервера перейдите Настройки -> Настройки (в файле) -> Настройки демона отправки сообщений.
Страница настроек выглядит следующим образом:
Доступны в следующие настройки:
*SMTP Шифрование SSL
*SMTP Сервер
*SMTP Порт
*SMTP Пароль
*enabled - влючение отправки Email через сторонний сервер
*SMTP Логин
*SMTP Шифрование TSL
Настойка шаблонов сообщений
Для каждого типа сообщения надо создать свой шаблон
Пример ниже:
Опция Отправлять сообщение отвечает за то нужно отправлять сообщение или нет. Эту галочку можно также поставить в самом шаблоне при редактировании.
Опция Отправлять каждый день работает только для шаблона "Предупреждение за n дней", при её активации сообщение отправится за количество дней указанных в настройках оператора связи в поле "Предупреждать о лимите за n дней", а так же каждый день до даты когда он будет заблокирован.
Возможные переменные
В шаблонах можно использовать следующие параметры:
%(contract_number)s - номер договора;
%(balance)s - текущий баланс;
Для округления баланса до целого значения используйте параметр %(balance).f
%(currecy)s - валюта сокращение (например руб.);
%(text)s - передаваемый текст (сообщение непосредственно конкретному абоненту);
%(operator_name)s - имя оператора связи(по умолчанию "Лучший провайдер");
%(allow_limit)s - сумма, которая указана в пороге включения(тариф);
%(gen_pwd)s - созданный через админ. панель пароль(не существует, если пароль изменен через ЛК);
%(login)s - логин абонента;
%(tarif_name)s - тариф абонента;
%(plan_comment)s - описание тарифа (например скорость, указывается руками);
%(recomend_pay_sum)5.2f - рекомендуемый платеж
%(recomend_pay_sum_post)5.2f - рекомендуемый платеж постоплата
%(minimal_pay_sum)5.2f - минимальный платеж для разблокировки
%(subscriber_name)s - Имя абонента, который создал заявку в helpdesk
%(abonent_id)s - ID абонента, который создал заявку в helpdesk
%(subscriber_sms) - номер телефона абонента, который создал заявку в helpdesk
%(subscriber_comment)s - стандартный реквизит "Комментарий"
%(gen_pwd)s - это пароль всегда от первой учетной записи |
А также любые поля абонента, тарифа, счета и прочих данных, отображаемых на вкладке "Информация" в карточке абонента. Названия переменных можно взять из описания моделей в API REST v2.0
Например:
Уважаемый Абонент! Ваши персональные данные: ФИО: "%(name)s", Дата выставления Акта: "%(next_auto_acount)s", Код в 1С: "%(code1c)s", Дата начала предоставления услуг: "%(activate_date)s", Лицевой счет: %(account_id)s, Тариф: "%(tarif_name)s", Оператор связи: "%(operator_name)s"
Будет отправлено сообщение приблизительно следующего содержания:
Уважаемый Абонент! Ваши персональные данные: ФИО: "Новый абонент", Дата выставления Акта: "2017-11-01 00:00:00", Код в 1С: "1sTESTcode", Дата начала предоставления услуг: "2017-10-01 00:00:00", Лицевой счет: 10001319, Тариф: "Анлим 30мб", Оператор связи: "ООО Лучший провайдер"
Текст заголовка - тема e-mail или заголовок смс.
Текст шаблона - непосредственно отправляемый текст.
Тип сообщения. События.
Каждый шаблон сообщения может быть отправлен по любому из выбранных событий:
- Подключение услуги - приходит абоненту при подключении услуги;
- Положительный баланс - приходит абоненту при переходе абонента в положительный баланс(ниже порога отключения абонента);
- Отрицательный баланс - приходит абоненту при переходе абонента в отрицательный баланс(выше порога отключения абонента);
- Выставлен счет - приходит абоненту при выставлении счета абоненту (используется чаще для юр.лиц). Для того, чтобы отправка счета выполнялась вручную из вкладки "Операции", шаблон с данным типом должен быть включен. Вместе со счетом юр.лицам отправляется ещё и акт. Отправка акта выполняется с помощью этого же шаблона сообщений(Выставлен счет);
- Зачисление денег - приходит абоненту при поступлении средств на счет (при условии что в настройках абонента стоят галочки Юр.лицо и Отправлять Счет/Акт, а также Настройки - Число месяца выставления счетов на предоплату);
- Ручная отправка сообщения - при ручной отправке;
- Занесено в Аудит - при занесении информации в Аудит;
- Достигнут порог предупреждения - при достижении порога предупреждения (порог предупреждения из опций тарифа);
- Сообщение из HelpDesk - при создании заявки от абонента в HelpDesk (приходит инженерам Helpdesk);
- Сообщение из CRM - при создании задачи в CRM (приходит ответственному исполнителю).
- Предупреждение за n дней - за n дней до даты когда абонент будет заблокирован
- Создание учетной записи из услуги - отправляется при создании учетной записи при подключении услуги
Способы отправки сообщений
В настоящее время поддерживаются 2 способа отправки сообщений пользователям:
- Письмо на e-mail
- SMS сообщение на телефон
Если не выбрать конкретный вид сообщения, то рассылка будет вестись всеми доступными средствами.
Отправитель
Поле отправитель зависит от типа сообщения:
- Если сообщение системное, например у пользователя кончились деньги на счёте, то в поле отправитель будет указан e-mail, принадлежащий Оператору связи.
- Если сообщение отправлялось вручную с помощью веб-интерфейс администратора Carbon Billing 5, то отправителем будет указан e-mail администратора системы, который это сообщение отправил;
- Если данные поля не заполнены, отправителем будет почта вида root@www.example.com, где www.example.com - доменное имя главного внешнего интерфейса.
Отправка сообщений
Для отправки сообщений непосредственно одному из абонентов необходимо зайти в раздел Абоненты, выбрать абонента, вкладка Отправить сообщения.
Выбирается метод отправки и выбирается шаблон сообщения. Для отправки произвольного текста, следует создать шаблон с типом "Ручная отправка" и текстом шаблона %(text)s
Если выбрать "Метод отправки" и он отличается от того, что настроен в шаблоне сообщения (поле "Тип отправки"), то будет использоваться метод, выбранный на странице создания сообщения.
Например, если в шаблоне настроен тип "SMS", а на форме не выбран метод ("---"), то сообщение отправится только по SMS. Если в шаблоне настроен тип "SMS", но при создании сообщения выбрать "Email", то сообщение отправится только по Email.
Отладка
Логи работы демона отправки сообщений за текущие сутки находятся в файле
/app/asr_billing/var/log/msgd.log
Логи за прошедшие сутки архивируются в этом же каталоге под названием msgd.log-<date>.gz