|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (79)
просмотр истории страницы... |
h1. Быстрый запуск. Как проверить? |
# [Настройте смс-шлюз|#configure_gate].; |
{info}Если у Вас *демо* \- то уже настроен шлюз Carbon и этот шаг можно пропустить.{info} |
# [Укажите у оператора связи адрес почты отправителя|#configure_isp]; |
# [Настройте шаблоны сообщений|#configure_messages]. Уже есть предуастановленные почти по всем шаблонам.; |
# [Заполните в карточке абонента реквизиты|CarbonBilling:Создание абонента. Заведение абонента. Работа с абонентами. Редактирование абонентов#fill_sms_email_fields]: "*Email для оповещений*" и "*Номер SMS для оповещений*" (можно что-то одно); |
# [Отправьте тестовое сообщение|#send_message]. |
h1. Настройка системы и методов отправки |
... |
\\ \\ !smsgate_1.png|border=1,width=800!\\ |
\\ # Снимите опцию "*Использовать СМС шлюз Carbon*" и нажмите "*Сохранить*", Вас автоматический перенаправит на вкладку "*Настройка сообщений*" в карточке оператора связи \\ \\ !smsgate_2.png|border=1,width=450!\\ \\ # Снова нажмите кнопку "*Редактировать*" \\ \\ !smsgate_3.png|border=1,width=700!\\ \\ |
# Настройте требуемые параметры и нажмите "*Сохранить*". \\ |
\\ !smsgate_5.png|border=1,width=450! !smsgate_5.png|border=0,width=400! |
h4. Способы отправки смс: |
... |
** Ростелеком JSON * *Заголовок сообщения* \- автоматический добавляемая тема email-сообщения, на случай если она не указана в шаблоне или в форме отправки сообщения. |
* *Предупреждать о лимите блокировке за n дней* \- количество дней для шаблона сообщения "Предупреждение за n дней" (описано далее в статье). |
{note:title=Важно:} Опция "Предупреждать о блокировке за n дней" не работает вместе с включенной опцией "[Льготный период оплаты (Число месяца, до которого не проверять превышение баланса)|http://docs.carbonsoft.ru/x/aQIFAw] {note} |
* *Количество попыток отправки* \- количество попыток в случае, если сервер, на который передаётся сообщение, не отвечает. * *Начало тихого часа* \- начала периода времени, когда сообщения не отправляются (работает и на sms и на email). |
... |
* *MD5 подпись* * *Убирать + из номера* \- автоматический убирает + в начале телефонного номера (например, "79121234567" вместо "+79121234567") если этого требует sms-шлюз |
* *Использовать СМС шлюз Carbon* |
* *Логин сервера sms* \- логин basic авторизации sms сервера. * *Пароль сервера sms* \- пароль basic авторизации sms сервера. {info} |
Для включения basic -авторизации необходимо одновоерменно одновременно заполнить поля логин\праоль сервера sms. |
{info} * *Имя отправителя sms* \- Имя отправителя. Используется только для типа отправки *Ростелеком JSON*. |
|
{note:title=Важно:} SMS-шлюз должен уметь принимать параметры отправляемого сообщения по протоколу http (или https). Отправка производится POST или GET запросом. |
... |
* {color:#008000}%(text)s{color} \- текст сообщения. |
{note}Для того, чтобы корректно работал шаблон сообщений "*Предупреждение за n дней*", необходимо на вкладке "*Настройка сообщений*" у оператора связи указать параметр "*Предупреждать о лимите блокировке за n дней*" {note} |
{info} Поле *Предупреждение за n дней* будет работать для всех типов отправки сообщений с шаблоном *Предупреждение за n дней* |
... |
*Сайт компании:* *[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% |
... |
{info} {note} |
*Важно:* если ключ будет длиннее 128 символов, обратитесь к нам CarbonSoft нам{note} |
{note} |
# Имя отправителя sms Здесь нужно указать имя согласованное с провайдером (настраивается в ЛК Digital Direct) |
... |
|
h3. [Простор СМС|https://prostor-sms.ru] |
|
*Сайт компании:* *[prostor-sms.ru|https://prostor-sms.ru]* Обязательные параметры: |
# Адрес СМС шлюза: |
{code} http://gate.prostor-sms.ru/send/ {code} |
# Post параметры: |
{code} login='Ваш логин'&password='Ваш пароль'&phone=%sms%&text=%text% {code} |
h3. [SMSPILOT.RU|https://smspilot.ru] |
|
*Сайт компании:* *[smspilot.ru|https://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] |
... |
h3. Ростелеком СМС Реклама |
*Сайт компании:* *[rt.ru|https://msk.rt.ru]* |
Обязательные параметры: # Адрес СМС шлюза: |
... |
# Имя отправителя sms |
h3. [SemySMS|https://semysms.net] *Сайт компании:* *[semysms.net|https://semysms.net/]* [Описание интеграции в документации SemySMS|https://semysms.net/api.php] Обязательные параметры: # Адрес СМС шлюза {code} https://semysms.net/api/3/sms.php {code} # Тип запроса к серверу {code} POST {code} # Post параметры {code} token=Ваш токен&device=Код устройства&phone=%2B%sms%&msg=%text% {code} |
h2. Настройка Email рассылки |
... |
Мы описали это статье [CarbonBilling:Отправка уведомлений через Telegram] |
|
h2. Настройка PUSH-уведомлений из личного кабинета Мы описали это статье [PUSH-уведомления из личного кабинета|CarbonBilling:PUSH-уведомления из личного кабинета] |
|
h2. А что с WhatsApp? |
... |
Как пример подобного сервиса - [https://chat-api.com/ru/] |
Это не очень надёжное решение (WhatsApp может заблокировать номер заподозрив рассылку спама), но распространённое. |
Это не очень надёжное, но распространённое решение. WhatsApp может заблокировать номер заподозрив рассылку спама. |
{info}Если Вам нужен именно такой метод интеграции с Chat API, либо другим подобным сервисом - пожалуйста, напишите нам. Мы сделаем интеграцию при достаточном спросе среди операторов связи{info} |
... |
h1. Настройка шаблонов сообщений |
!2.png|border=1,width=600! |
h2. Создание шаблона h3. Создание в настройках биллинга В пунте *"Шаблоны сообщений"* можно создать шаблоны доступные всем [операторам связи|Агентские схемы и ведение филиалов]. Для создания нажмите кнопку *"Добавить"*. !Create_msg_001.png|border=1,width=1200! |
Для каждого типа сообщения надо нужно создать свой шаблон. |
!3.png|border=1,width=600! |
Опция *Отправлять сообщение* отвечает за то нужно отправлять сообщение или нет. Эту галочку можно также поставить в самом шаблоне при редактировании. Опция *Отправлять каждый день* работает только для шаблона "Предупреждение за n дней", при её активации сообщение отправится за количество дней указанных в настройках оператора связи в поле "Предупреждать о лимите за n дней", а так же каждый день до даты когда он будет заблокирован. |
h3. Создание с привязкой к оператору связи При ведении в биллинге нескольких [опраторов связи|Агентские схемы и ведение филиалов] можно создать различные шаблоны для каждого оператора. Сделать это можно в настройках конкретного оператора связи: !2.png|border=1,width=600! При этом шаблон сообщения отобразится в настройках биллинга. У него будет заполнено поле *"Принадлежит оператору"*. Изменить пренадлежность опретору нет возможности. Для измения пренадлежности создайте новый шаблон. |
|
h3. Пример 1. Шаблон сообщения [сброса пароля|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=155713989] |
h2. Параметры шаблона сообщений При создания шаблона сообщений доступны параметры: * *Текст заголовка* - тема e-mail или заголовок смс; * *Текст шаблона* - непосредственно отправляемый текст; * *Отправлять сообщение* - опция отвечает за то, нужно отправлять сообщение или нет; * *Тип отправки* - указывает метод, которым будет отправлено сообщение. Методы описаны в [ниже|Система отправки сообщений (sms,email и тд). Шаблоны сообщений#Способы отправки сообщений]; * *Отправлять каждый день* - работает только для шаблона "Предупреждение за n дней", при её активации сообщение отправится за количество дней указанных в настройках оператора связи в поле "Предупреждать о блокировке за n дней", а так же каждый день до даты когда он будет заблокирован; * *Статус абонента* - сообщения будут отправлены только абонентам со [статусом|Статусы абонентов]; * *Отправлять абоненту с типом договора* - тип: юридические или физические лица; * *Использовать шаблонизатор django* - включает использование набора переменых [django|Система отправки сообщений (sms,email и тд). Шаблоны сообщений#Использование переменных Django]. |
|
!Выделение_001.jpg|border=1! |
h2. Возможные переменные |
В шаблонах можно использовать следующие параметры: |
В шаблонах сообщений можно использвать два набора переменных - стандартные перемнные и переменные шаблонизатора [django|Система отправки сообщений (sms,email и тд). Шаблоны сообщений#Использование переменных Django]. В одном шаблоне сообщений можно использовать либо стандартные переменные, либо и переменные шаблонизатора django. Ниже перечислены стандартные переменные: * %(name)s - ФИО абонента; |
* %(contract_number)s - номер договора; |
* %(balance)s - текущий баланс; |
{info} |
Для округления баланса до целого значения используйте параметр %(balance).f |
%(currecy)s - валюта сокращение (например руб.); %(text)s - передаваемый текст (сообщение непосредственно конкретному абоненту); %(operator_name)s - имя оператора связи(по умолчанию "Лучший провайдер"); %(allow_limit)s - сумма, которая указана в пороге включения(тариф); %(total_abonpay)s - общая сумма абонентской платы по тарифным и нетарифным услугам; %(tarif_abonpay)s - сумма абонентской платы по тарифным услугам; %(nontarif_abonpay)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_email)s - email абонента, который создал заявку в helpdesk %(subscriber_comment)s - [стандартный реквизит|Реквизиты] "Комментарий" %(psw_token)s - проверочный код для [сброса пароля Личного кабинета|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=155713989] |
{info} |
%(gen_pwd)s - это пароль всегда от *первой* учетной записи |
* %(currecy)s - валюта сокращение (например руб.); * %(text)s - передаваемый текст (сообщение непосредственно конкретному абоненту); * %(operator_name)s - имя оператора связи(по умолчанию "Лучший провайдер"); * %(allow_limit)s - сумма, которая указана в пороге включения(тариф); * %(total_abonpay)s - общая сумма абонентской платы по тарифным и нетарифным услугам; * %(tarif_abonpay)s - сумма абонентской платы по тарифным услугам; * %(nontarif_abonpay)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_email)s - email абонента, который создал заявку в helpdesk * %(subscriber_home)s - адрес абонета, который создал заявку в helpdesk * %(enough_to_date)s - дата [хватит денег до|Финансовые операции. Учет НДС#Прогнозируемая дата блокировки] * %(psw_token)s - проверочный код для [сброса пароля личного кабинета|Восстановление пароля к личному кабинету] |
{info} |
%(gen_pwd)s - это пароль всегда от *первой* учетной записи. {info} |
|
А также любые *поля* абонента, тарифа, счета и прочих данных, отображаемых на вкладке "Информация" в карточке абонента. Названия переменных можно взять из описания моделей в [CarbonBilling:API REST v2.0] |
Пример: {code:title=Шаблон} Уважаемый Абонент! Ваши персональные данные: ФИО: %(name)s, Дата выставления Акта: %(next_auto_acount)s, Код в 1С: %(code1c)s, Дата начала предоставления услуг: %(activate_date)s, Лицевой счет: %(account_id)s, Тариф: %(tarif_name)s, Оператор связи: %(operator_name)s. {code} {code:title=Сообщение} Уважаемый Абонент! Ваши персональные данные: ФИО: Новый абонент, Дата выставления Акта: 2017-11-01 00:00:00, Код в 1С: 1sTESTcode, Дата начала предоставления услуг: 2017-10-01 00:00:00, Лицевой счет: 10001319, Тариф: Анлим 0мб, Оператор связи: ООО Лучший провайдер. {code} |
|
h2. Использование переменных Django |
|
Шаблонизатор django содержит более широкий набор переменных. При его использвании можно указать любые *поля* абонента, тарифа, счета и прочих данных, отображённых на вкладке "Информация" в карточке абонента. Названия переменных можно взять из описания моделей в [CarbonBilling:API REST v2.0]. Доступны следующие модели: * Abonents * FinanceOperations |
|
Так же можно получить данные из других моделей используя обратные ссылки. Например, получить значения счётчиков трафика. |
Например: {code} |
{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} |
{{ abonent.abonent_id_trafcounters }} {code} |
|
*Текст заголовка* \- тема e-mail или заголовок смс. *Текст шаблона* \- непосредственно отправляемый текст. |
Пример использования обратной ссылки для отправки в сообщении логина и пароля от учетной записи с типом Internet: {code} {% for user in abonent.abonent_id_users.all %} {% if user.service_type_id == 1 %} Ваш логин: {{ user.login }} Ваш новый пароль: {{ user.gen_pwd }} {% endif %} {% endfor %} {code} Переменные оператора связи можно получить из переменной *Operator*. Например имя оператора связи: {code} {{ operator.name }} {code} |
|
h2. Использование переменных Django |
Если вы хотите использовать другие модели, обратитесь в [техническую поддержку|https://helpdesk.carbonsoft.ru]. |
|
При включении опции "Использовать шаблонизатор django" можно использовать математические функции django, например, вычислить сумму, которую должен внести абонент. Ниже пример такого шаблона сообщения: |
Включать шаблонизатор django нужно в каждом шаблоне сообщения. |
|
!message_django_01.png|border=1! Формат переменной. Например, номер договора абонента: |
{code} |
{{ abonent.contract_number }} {code} При включении опции "Использовать шаблонизатор django" можно использовать математические функции django. Например, вычислить сумму, которую должен внести абонент: {code} |
{% load mathfilters %}Обслуживание по л/с {{ abonent.contract_number }} приостановлено. Внесите не менее {% if total_abonpay <= BALANCE %}0{% else %}{{ total_abonpay|sub:BALANCE }}{% endif %} руб. {code} |
Также можно обрезать значение переменной(в примере ниже обрезаются последние 9 знаков). Например для того, чтобы отправить в сообщении только дату из поля Хватит денег до, без времени: {code} Денег хватит до {{ enough_to_date|slice:":-9" }} {code} В шаблонизаторе django так же можно использвать переменные из стандартного набора. Для этого укажите их в фомате django: {code:title=Формат стандартного набора} %(text)s {code} {code:title=Формат django} {{ text }} {code} |
h2. Тип сообщения. События. |
... |
Если не выбрать конкретный вид сообщения, то рассылка будет вестись всеми доступными средствами. |
h32. Отправитель |
Поле отправитель зависит от типа сообщения: |
|
* Если сообщение системное, например у пользователя кончились деньги на счёте, то в поле отправитель будет указан e-mail, принадлежащий Оператору связи. |
|
* Если сообщение отправлялось вручную с помощью веб-интерфейс администратора Carbon Billing 5, то отправителем будет указан e-mail администратора системы, который это сообщение отправил; |
|
* Если данные поля не заполнены, отправителем будет почта вида root@www.example.com, где www.example.com - доменное имя главного внешнего интерфейса. {anchor:send_message} |
h2. Пример 1. Шаблон сообщения [сброса пароля|Восстановление пароля к личному кабинету] !Выделение_001.jpg|border=1! |
h1. Отправка сообщений |
... |
cp cacert.pem ca-bundle.trust.crt rm -f cacert.pem {code} |
---- h3. В логе зафиксирована ошибка Can't send message #xxxx: 2 {code} 2021-08-18 07:31:03,069 - worker - msg_lib - INFO - Отправляем sms сообщение id=1226 абоненту [3] VIP_client 2021-08-18 07:31:03,069 - worker - msg_lib - ERROR - Can't send message #1226: 2 2021-08-18 07:31:03,131 - worker - base_worker - INFO - Обработано строк: 1, 0.111s (carbon_messanger.msg_lib.0) {code} Необходимо убедиться, что вы не используете стандартный смс-шлюз от Carbonsoft, так как его использование ограничено 4 месяцами. Для решения проблемы, вам необходимо настроить [интеграцию с сервисами|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=49087090#Системаотправкисообщений(sms%2Cemailитд).Шаблонысообщений-ПримерыинтеграциисSMSшлюзами], по предоставлению услуги "смс-шлюз". |
h3. В логе зафиксирована ошибка Can't send message id=#######:HTTPConnectionPool(host='1.1.1.1'('Ваш IP'), port=80): |
... |
Настройте исправный DNS-сервер в меню [базового модуля|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=155353709] по статье [Настройка DNS|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=155353741#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0%28%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B%D1%81%D0%B5%D1%82%D0%B8%29-%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0DNS] |
|
h3. Ошибка: Can't send:(550, '5.1.1 < >: Recipient address rejected: User unknown in local recipient table') {code} 2021-05-24 09:02:14,562 - worker - msg_lib - INFO - Отправляем email сообщение абоненту:VIP_client 2021-05-24 09:02:14,570 - worker - msg_lib - ERROR - Can't send:{u'\u0065\u006d\u0061\u0069\u006c': (550, '5.1.1 < >: Recipient address rejected: User unknown in local recipient table')}{code} |
Проверьте, корректно ли указан "Email для оповещений:" в карточке абонента. |
h3. Не отправляются сообщения Telegram, в логе ошибка "Name or service not known" |
... |
h3. Отключить отправку сообщений на сервере |
Иногда во время отладки или работе с базой данных на тестовом сервере полезно отключтиь отключить отправку сообщений. |
# Отключите отправку в конфигурационном файле биллинга: {code:title=Путь конфигурационному файлу} |
... |