Просмотр Исходного

{toc}

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

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

* SMS
* E-mail

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

h1. Настройка системы и методов отправки


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

Для работы системы отправки сообщений, следует включить этот сервис в настройках биллинга
Для этого необходимо перейти в "Управление абонентами и тарифами - настройки - настройки(в файле) - настройки демона отправки сообщений" и выставить флаг в поле "Включить отправку сообщений"

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

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

# Откройте вкладку "*Настройка сообщений*" в карточке оператора связи. Нажмите кнопку "*Редактировать*" (пиктограмма в виде карандашика в колонке "Действие"
\\
\\ !smsgate_1.png|border=1,width=800!\\
\\
# Снимите опцию "*Использовать СМС шлюз Carbon*" и нажмите "*Сохранить*", Вас автоматический перенаправит на вкладку "*Настройка сообщений*" в карточке оператора связи
\\
\\ !smsgate_2.png|border=1,width=450!\\
\\
# Снова нажмите кнопку "*Редактировать*"
\\
\\ !smsgate_3.png|border=1,width=700!\\
\\
# Настройте требуемые параметры и нажмите "*Сохранить*". Обязательными являются:
\\
\\
#* Адрес СМС шлюза
#* Post параметры
#* MD5 подпись
\\
\\ !smsgate_4.png|border=1,width=450!

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

{note:title=Важно:}
SMS-шлюз должен уметь принимать параметры отправляемого сообщения GET-запросом по протоколу http (или https). Иными словами, должна быть возможность отправки сообщения путём вставки запроса в адресную строку браузера.
{note}

h3. Пример запроса к sms-шлюзу
{code}
http://smsc.ru?charset=utf-8&login='company'&psw='company123'&phones=79991231122&mes=Тест отправки
{code}
Использованы следующие параметры:
*smsc.ru* \- адрес вашего смс шлюза
*company* \- название вашей компании
*company123* \- пароль, выданный смс-шлюзом
*79991231122* \- номер для тестовой отправки, на который придет смс
*Тест отправки* \-  текст для отправки, указывается без кавычек

Соответственно, "*Адрес СМС шлюза*" из настроек сообщений в строке браузера находится {color:#ff0000}слева{color} от символа "*?*", а "*Post параметры СМС шлюза*" - {color:#ff0000}справа{color}, при этом используются переменные:
* {color:#008000}%(sms)s{color} \- номер телефона
* {color:#008000}%(text)s{color} \- текст сообщения.

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

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

h3. [SMSC|https://smsc.ru/?ppcarbon|https://smsc.ru/?ppcarbon]

*Сайт компании:* *[smsc.ru|https://smsc.ru/?ppcarbon|https://smsc.ru/?ppcarbon]*

Адрес СМС шлюза:
{code}
https://smsc.ru/sys/send.php?
{code}

Post параметры:
{code}
charset=utf-8&login='Ваш логин'&psw='Ваш пароль'&phones=%sms%&mes=%text%
{code}

{note:title=Важно:}
Чтоб смс отправилось, в карточке абонента должен быть выбран оператор связи с настроенным смс-шлюзом.
{note}

h3. Простор СМС

Адрес СМС шлюза:
{code}
http://gate.prostor-sms.ru/send/
{code}
Post параметры:
{code}
login='Ваш логин'&password='Ваш пароль'&phone=%sms%&text=%text%
{code}

h3. SMSPILOT.RU

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



Адрес СМС шлюза:
{code}
http://smspilot.ru/api.php
{code}
Post параметры:
{code}
send=%text%&to=%sms%&apikey=XXXYYYZZZ
{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

h2. Настройка отправки Email

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

Например: info@provider.name

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

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

Пример ниже:

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

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

В шаблонах можно использовать следующие параметры:
%(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 - [стандартный реквизит|Реквизиты] "Комментарий"
{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}
Будет отправлено сообщение приблизительно следующего содержания:
{code}Уважаемый Абонент! Ваши персональные данные: ФИО: "Новый абонент", Дата выставления Акта: "2017-11-01 00:00:00", Код в 1С: "1sTESTcode", Дата начала предоставления услуг: "2017-10-01 00:00:00", Лицевой счет: 10001319, Тариф: "Анлим 30мб", Оператор связи: "ООО Лучший провайдер"{code}


*Текст заголовка* \- тема e-mail или заголовок смс.
*Текст шаблона* \- непосредственно отправляемый текст.

h2. Тип сообщения. События.

Каждый шаблон сообщения может быть отправлен по любому из выбранных событий:
* *Подключение услуги* \- приходит абоненту при подключении услуги;
* *Положительный баланс* \- приходит абоненту при переходе абонента в положительный баланс(ниже порога отключения абонента);
* *Отрицательный баланс* \- приходит абоненту при переходе абонента в отрицательный баланс(выше порога отключения абонента);
* *Выставлен счет* \- приходит абоненту при выставлении счета абоненту (используется чаще для юр.лиц). Для того, чтобы отправка счета выполнялась вручную из вкладки "Операции", шаблон с данным типом должен быть включен. Вместе со счетом юр.лицам отправляется ещё и акт. Отправка акта выполняется с помощью этого же шаблона сообщений(Выставлен счет);
* *Зачисление денег* \- приходит абоненту при поступлении средств на счет (при условии что в настройках абонента стоят галочки Юр.лицо и Отправлять Счет/Акт, а также Настройки - Число месяца выставления счетов на предоплату);
* *Ручная отправка сообщения* \- при ручной отправке;
* *Занесено в Аудит* \- при занесении информации в Аудит;
* *Достигнут порог предупреждения* \- при достижении порога предупреждения (порог предупреждения из опций тарифа);
* *Сообщение из HelpDesk* \- при создании заявки от абонента в HelpDesk (приходит инженерам Helpdesk);
* *Сообщение из CRM* \- при создании задачи в CRM (приходит ответственному исполнителю).
* *Предупреждение за n дней* \- за n дней до даты когда абонент будет заблокирован
* *Создание учетной записи из услуги* \- отправляется при создании учетной записи при подключении услуги

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

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

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

* Письмо на e-mail
* SMS сообщение на телефон

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

h3. Отправитель

Поле отправитель зависит от типа сообщения:

* Если сообщение системное, например у пользователя кончились деньги на счёте, то в поле отправитель будет указан e-mail, принадлежащий Оператору связи.

* Если сообщение отправлялось вручную с помощью веб-интерфейс администратора Carbon Billing 5, то отправителем будет указан e-mail администратора системы, который это сообщение отправил;

* Если данные поля не заполнены, отправителем будет почта вида root@www.example.com, где www.example.com - доменное имя главного внешнего интерфейса.

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

Для отправки сообщений непосредственно одному из абонентов необходимо зайти в раздел Абоненты, выбрать абонента, вкладка Отправить сообщения. !send_message.png|border=1,width=701,height=184!
Выбирается метод отправки и выбирается шаблон сообщения. Для отправки произвольного текста, следует создать шаблон с типом *"Ручная отправка"* и текстом шаблона *%(text)s*

Если выбрать "Метод отправки" и он отличается от того, что настроен в шаблоне сообщения (поле "Тип отправки"), то будет использоваться метод, выбранный на странице создания сообщения.
Например, если в шаблоне настроен тип "SMS", а на форме не выбран метод ("---"), то сообщение отправится только по SMS. Если в шаблоне настроен тип "SMS", но при создании сообщения выбрать "Email", то сообщение отправится только по Email.

h2. Отладка

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