Система отправки сообщений (sms,email и тд). Шаблоны сообщений

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (36)

просмотр истории страницы
h1. Описание системы отправки сообщений

Система отправки сообщений Carbon Billing 5 поддерживает 2 четыре метода отправки:

* SMS
* E-mail
* Telegram
* PUSH


Для её работы следует настроить шаблоны и параметры отправки, для каждого метода свои.

h1. Быстрый запуск. Как проверить?

# [Настройте смс-шлюз|#configure_gate].
{info}Если у Вас *демо* - \- то уже настроен шлюз Carbon и этот шаг можно пропустить.{info}
# [Укажите у оператора связи адрес почты отправителя|#configure_isp]
# [Настройте шаблоны сообщений|#configure_messages]. Уже есть предустановленные почти по всем шаблонам.

{anchor:configure_gate}

h2. Включение системы отправки сообщений

!demon.png|border=1,width=800!

h2. Настройка SMS-шлюза
h2. Настройка SMS рассылки

# Откройте вкладку "*Настройка сообщений*" в карточке оператора связи. Нажмите кнопку "*Редактировать*" (пиктограмма в виде карандашика в колонке "Действие"
* *Количество попыток отправки* \- количество попыток в случае, если сервер, на который передаётся сообщение, не отвечает.
* *Начало тихого часа* \- начала периода времени, когда сообщения не отправляются (работает и на sms и на email).
* *Окончание тихого часа* \- конец периода времени, когда сообщения не отправляются (работает и на sms и на email).
* *Убирать "*{*}+" из номера{+}* +\- автоматический убирает "+" в начале телефонного номера (например, "79121234567" вместо "+79121234567") если этого требует sms-шлюз

{note}Для того, чтобы корректно работал шаблон сообщений "*Предупреждение за n дней*", необходимо в настройках сообщений оператора связи указать параметр "*Предупреждать о лимите за n дней*" {note}

h2. Примеры интеграции с SMS-шлюзами.

h3. [SMSC|https://smsc.ru/?ppcarbon|https://smsc.ru/?ppcarbon]
Post параметры:
{code}
charset=utf-8&login='Ваш логин'&psw='Ваш пароль'&phones=%sms%&mes=%text%
charset=utf-8&login=Ваш логин&psw=Ваш пароль&phones=%sms%&mes=%text%
{code}

[Описание интеграции в документации SMSPILOT.RU|https://smspilot.ru/faq.php#q61]



Адрес СМС шлюза:
{code}
Вместо *XXXYYYZZZ* скопируйте API-ключ из настроек: [Личный кабинет|https://smspilot.ru/my.php] \-> Настройки \-> [Настройки API|https://smspilot.ru/my-settings.php#api]



На стороне sms-шлюза Вы [должны быть подключены как бизнес-клиент|https://smspilot.ru/faq.php#q24], либо скопировать шаблоны из Carbon Billing 5 в "[Шаблоны|https://smspilot.ru/my-template.php]" в личном кабинете SMSPILOT.RU

{anchor:configure_isp}
h2. Настройка отправки Email

h2. Настройка Email рассылки

Для того, чтобы сообщения отправлялись, следует указать "Email для оповещений" в карточке оператора связи.


По умолчанию биллинг отправляет Email сообщения со встроенного smtp сервера. Но также есть возможность отправлять Email со стороннего сервера.
Чтобы попасть в настройки smtp сервера перейдите Настройки \-> Настройки (в файле) \-> Настройки демона отправки сообщений.

!mail02.png|border=1!

Доступны в следующие настройки:
* SMTP Шифрование SSL
* SMTP Сервер
* SMTP Порт
* SMTP Логин
* SMTP Шифрование TSL
* SMTP расширенное журналирование - Подробное журналирование SMTP-соединений

{info} Чтобы вернуть настройки по умолчанию, необходимо в поле "SMTP Сервер" вписать "localhost", а поля "SMTP Порт", "SMTP Логин" и "SMTP Пароль" оставить пустыми. {info}

{anchor:configure_messages}
h1. Настойка шаблонов сообщений

h3. Отправка Email через Google

Подробную информацию по интеграцию сторонних почтовых клиентов с Google, Вы можете найти в [справке сервиса|https://support.google.com/a/answer/176600?hl=ru].

Такие параментры должны работать:
* *Адрес сервера*: smtp.gmail.com
* *Порт*: 587
* *SMTP Шифрование TSL*: включено

h2. Настройка Telegram рассылки и интеграция с ботом

Мы описали это статье [CarbonBilling:Отправка уведомлений через Telegram]

h2. Настройка PUSH-уведомлений из личного кабинета

Мы описали это статье [CarbonBilling:PUSH-уведомления из личного кабинета]

h2. А что с WhatsApp?

Пока этот метод не поддерживается. Мы делали тестовую интеграцию с WhatsApp в 2017 году, поэтому такой способ отправки сообщений остался в интерфейсе, но по техническим причинам развития функция не получила.

На текущий момент официальным методом интеграции является подключение к WhatsApp Bisiness API через партнёров Facebook, что несёт с собой некоторую финансовую нагрузку на компанию, рассылающую сообщения - то есть оператора связи.

Подробней об условиях Вы можете уточнить у партнёра Facebook в России, компании [Infobip|https://www.infobip.com/products/whatsapp-business]. Если Вы сочтёте их условия приемлемыми, напишите нам - мы реализуем интеграцию в Carbon Billing 5.

h1. Настройка шаблонов сообщений

!2.png|border=1,width=600!
Для каждого типа сообщения надо создать свой шаблон
!3.png|border=1,width=600!

Пример ниже:

Опция *Отправлять сообщение* отвечает за то нужно отправлять сообщение или нет. Эту галочку можно также поставить в самом шаблоне при редактировании.
Опция *Отправлять каждый день* работает только для шаблона "Предупреждение за n дней", при её активации сообщение отправится за количество дней указанных в настройках оператора связи в поле "Предупреждать о лимите за n дней", а так же каждый день до даты когда он будет заблокирован.

h3. Пример 1. Шаблон сообщения [сброса пароля|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=155713989]


!Выделение_001.jpg|border=1!


h2. Возможные переменные

%(subscriber_sms) - номер телефона абонента, который создал заявку в helpdesk
%(subscriber_comment)s - [стандартный реквизит|Реквизиты] "Комментарий"
%(psw_token)s - проверочный код для [сброса пароля Личного кабинета|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=155713989]
{info}
%(gen_pwd)s - это пароль всегда от *первой* учетной записи
{info}

А также любые *поля* абонента, тарифа, счета и прочих данных, отображаемых на вкладке "Информация" в карточке абонента. Названия переменных можно взять из описания моделей в [CarbonBilling:API REST v2.0]



Например:
{code}Уважаемый Абонент! Ваши персональные данные: ФИО: "%(name)s", Дата выставления Акта: "%(next_auto_acount)s", Код в 1С: "%(code1c)s", Дата начала предоставления услуг: "%(activate_date)s", Лицевой счет: %(account_id)s, Тариф: "%(tarif_name)s", Оператор связи: "%(operator_name)s"{code}
* *Достигнут порог предупреждения* \- при достижении порога предупреждения (порог предупреждения из опций тарифа);
* *Сообщение из HelpDesk* \- при создании заявки от абонента в HelpDesk (приходит инженерам Helpdesk);
* *Сообщение из CRM* \- при создании задачи в CRM (приходит ответственному исполнителю).;
* *Предупреждение за n дней* \- за n дней до даты когда абонент будет заблокирован;
* *Создание учетной записи из услуги* \- отправляется при создании учетной записи при подключении услуги;
* *Данные для HotSpot* \- данные для авторизации в [HotSpot|Софт HotSpot];
* *Комментарий к заявке HelpDesk* \- при создании коментария к заявке HelpDesk (приходит абоненту);
* *Анонимная заявка с вэб-сайта* \- отправляется при создании [заявки на подкючение|Заявка на подключение];
* *Поздравление* \- поздравление с праздником, подробнее в [статье|Поздравления];
* *Сброс пароля в Личном кабинете* \- данные для сброса пароля от Личного кабинета, подробнее в [статье|Восстановление пароля к личному кабинету].

h2. Способы отправки сообщений

В настоящее время поддерживаются 2 четыре способа отправки сообщений пользователям:

!message_template_send_types.png|border=1,height=500!

* Письмо на e-mail
* Письмо электроную почту (e-mail)
* SMS сообщение на телефон
* Telegram-бот, через который можно не только получать рассылку, но и получить данные по лицевому счету, услугам и тарифу
* PUSH-уведомления

Если не выбрать конкретный вид сообщения, то рассылка будет вестись всеми доступными средствами.

{anchor:send_message}

h1. Отправка сообщений

{code}/app/asr_billing/var/log/msgd.log{code}
Логи за прошедшие сутки архивируются в этом же каталоге под названием *msgd.log-<date>.gz*

h3. Перестали отправляться email-сообщения абонентам, при использовании встроенного smtp сервера

# В момент отправки запускаем лог и видим следующее:
{code:title=Команда}tail -f /app/asr_billing/var/log/msgd.log | grep -A2 'Отправляем'{code}
{code:title=Пример вывода с ошибкой}2019-11-18 13:45:37,976 - worker - msg_lib - INFO - Отправляем email сообщение абоненту:Иванов Иван Иванович
2019-11-18 13:45:37,985 - worker - msg_lib - ERROR - Can't send:[Errno 111] Connection refused
{code}
# Проверим настройки почтового сервера. Если настройки стандартные, нужно проверить встроенный почтовый сервер на localhost. Проверим, запущен ли он:
{code:title=Команда}service postfix status{code}
{code:title=Пример вывода, сервер остановлен}master остановлен{code}
# Перезапускаем встроенный почтовый сервер:
{code:title=Команда}service postfix restart{code}
{code:title=Пример вывода, сервер перезапущен (остановлен он был ранее)}Останавливается postfix: [СБОЙ ]
Запускается postfix: [ OK ]
{code}

h3. Проблемы с отправкой email-сообщений, при использовании стороннего smtp сервера
Для отладки отправки smtp сообщений сделайте следующее:
# Включите опцию расширенного логирования в [настройках|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=49087090#Системаотправкисообщений(sms%2Cemail).Шаблонысообщений-НастройкаотправкиEmail]
!smtp01.png|border=1!
# Перезапустите службу отправки сообщений, для применения настроек
{code}
chroot /app/asr_billing/ service msgd restart
{code}
# Сделайте пробную отправку сообщения
!smtp02.png|border=1!
Выберите метод отправки smtp. Текст и тема произвольные.
!smtp04.png|border=1!
# Проследите в логе службы отпраки сообщений за ходом отправки
{code}/app/asr_billing/var/log/msgd.log{code}

Если у вас возникнут вопросы по ошибкам в smtp диалоге, сохраните лог отправки и создайте заявку в [техническую поддержку|https://helpdesk.carbonsoft.ru/login.php].

h3. Перестали отправляться sms-сообщения абонентам.
Проверям лог отправки сообщений на наличие ошибок:
{code:title=Команда}grep -i 'error' /app/asr_billing/var/log/msgd.log {code}

Видим сообщение об ошибке сертификата:
{code:title=Пример вывода с ошибкой}2019-12-17 08:01:07,298 - worker - msg_lib - ERROR - Can't send message(Curl error):(60, 'SSL certificate problem: self signed certificate in certificate chain')
2019-12-17 08:01:07,423 - worker - msg_lib - ERROR - Can't send message(Curl error):(60, 'SSL certificate problem: self signed certificate in certificate chain')
2019-12-17 08:01:07,545 - worker - msg_lib - ERROR - Can't send message(Curl error):(60, 'SSL certificate problem: self signed certificate in certificate chain')
{code}
Данная ошибка означает, что биллинг не может подключиться к SMS-шлюзу из-за проблем с корневым SSL-сертификатом в chroot биллинга. Для решения проблемы необходимо обновить корневые SSL-сертификаты в chroot биллинга.
{code:title=Команды}chroot /app/asr_billing
cd /etc/ssl/certs
rm -f ca-bundle.crt ca-bundle.trust.crt
wget https://curl.haxx.se/ca/cacert.pem --no-check-certificate
cp cacert.pem ca-bundle.crt
cp cacert.pem ca-bundle.trust.crt
rm -f cacert.pem {code}