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

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

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

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

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

* SMS
* E-mail
* Telegram
* PUSH

Устаревшие и более не используемые способы отправки (названия оставлены для совместимости):
* Agent
* Winpop
* WhatsApp

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

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

# [Настройте смс-шлюз|#configure_gate].;
{info}Если у Вас *демо* \- то уже настроен шлюз Carbon и этот шаг можно пропустить.{info}
# [Укажите у оператора связи адрес почты отправителя|#configure_isp];
# [Настройте шаблоны сообщений|#configure_messages]. Уже есть предуастановленные почти по всем шаблонам.;
# Заполните в карточке абонента реквизиты: "*Email для оповещений*" и "*Номер SMS для оповещений*" (можно что-то одно)
# [Заполните в карточке абонента реквизиты|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 дней*
{info}

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

*Сайт компании:* *[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%
{note}

h3. Простор СМС
h3. [Digital Direct|https://digital-direct.ru]

*Сайт компании:* *[digital-direct.ru|https://digital-direct.ru]*

Обязательные параметры:
# Адрес СМС шлюза:
{code}
https://direct.i-dgtl.ru/api/v1/message
{code}
# Тип запроса к серверу
{code}
Digital Direct JSON
{code}
# Пароль сервера sms
{info}
В ЛК Digital Direct необходимо получить ключ АПИ и вписать его в поле "Пароль сервера СМС"
{info}
{note}
*Важно:* если ключ будет длиннее 128 символов, обратитесь к нам{note}
# Имя отправителя sms
Здесь нужно указать имя согласованное с провайдером (настраивается в ЛК Digital Direct)
# "Убирать "+" из номера"
Здесь нужно поставить галочку.
# "Post параметры"
При необходимости передачи доп. параметров: записать их в поле "Post параметры" в формате JSON, при этом убедиться что в логе */app/asr_billing/var/log/msgd.log* нет ошибок отправки


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]*

Обязательные параметры:
# Адрес СМС шлюза:
{code}
https://sms.rt.ru/api/v2/send_message
{code}
# Тип запроса к серверу
{code}
Ростелеком JSON
{code}
# Логин сервера sms
# Имя отправителя sms

h2. Настройка Email рассылки
h3. [SemySMS|https://semysms.net]

Для того, чтобы сообщения отправлялись, следует указать "Email для оповещений" в карточке оператора связи.
*Сайт компании:* *[semysms.net|https://semysms.net/]*

Например: info@provider.name
[Описание интеграции в документации 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 рассылки

Укажите *Email для оповещений* в карточке [оператора связи|Агентские схемы и ведение филиалов|Создание оператора связи]. При формирования письма он будет добавлен в поле *From*. Например: info@provider.name

!mail01.png|border=1!

{note}
Обязательно заполните адрес, так как почтовые сервера отбрасывают письма с пустым полем *From*.
{note}

h3. Настройка отправки Email со стороннего сервера

* *SMTP Шифрование TSL*: включено

h2. Настройка Telegram рассылки и интеграция с ботом
h3. Отправка Email через Yandex

Мы описали это статье [CarbonBilling:Отправка уведомлений через Telegram]
Подробную информацию по интеграцию сторонних почтовых клиентов с Google, Вы можете найти в [справке сервиса|https://yandex.ru/support/mail/mail-clients/others.html].

h2. Настройка PUSH-уведомлений из личного кабинета
Такие параментры должны работать:
* *Адрес сервера*: smtp.yandex.ru
* *Порт*: 465
* *SMTP Шифрование SSL*: включено
* *SMTP Шифрование TSL*: выключено

Мы описали это статье [PUSH-уведомления из личного кабинета|CarbonBilling:PUSH-уведомления из личного кабинета]
h2. Настройка Telegram рассылки и интеграция с ботом

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

h3. WhatsApp Business API, официальный метод интеграции
h1. Настройка шаблонов сообщений

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

На текущий момент официальным методом интеграции является подключение к WhatsApp Bisiness API через партнёров Facebook, что несёт с собой некоторую финансовую нагрузку на компанию, рассылающую сообщения - то есть оператора связи.
h3. Создание в настройках биллинга
В пунте *"Шаблоны сообщений"* можно создать шаблоны доступные всем [операторам связи|Агентские схемы и ведение филиалов]. Для создания нажмите кнопку *"Добавить"*.
!Create_msg_001.png|border=1,width=1200!
Для каждого типа сообщения нужно создать свой шаблон.
!3.png|border=1,width=600!

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

h3. Неофициальный метод интеграции, могут заблокировать номер

Как пример подобного сервиса - [https://chat-api.com/ru/]

Это не очень надёжное решение (WhatsApp может заблокировать номер заподозрив рассылку спама), но распространённое.

{info}Если Вам нужен именно такой метод интеграции с Chat API, либо другим подобным сервисом - пожалуйста, напишите нам. Мы сделаем интеграцию при достаточном спросе среди операторов связи{info}

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

h3. Создание с привязкой к оператору связи
При ведении в биллинге нескольких [опраторов связи|Агентские схемы и ведение филиалов] можно создать различные шаблоны для каждого оператора. Сделать это можно в настройках конкретного оператора связи:
!2.png|border=1,width=600!
Для каждого типа сообщения надо создать свой шаблон
!3.png|border=1,width=600!
При этом шаблон сообщения отобразится в настройках биллинга. У него будет заполнено поле *"Принадлежит оператору"*. Изменить пренадлежность опретору нет возможности. Для измения пренадлежности создайте новый шаблон.

Опция *Отправлять сообщение* отвечает за то нужно отправлять сообщение или нет. Эту галочку можно также поставить в самом шаблоне при редактировании.
h2. Параметры шаблона сообщений
При создания шаблона сообщений доступны параметры:
* *Текст заголовка* - тема e-mail или заголовок смс;
* *Текст шаблона* - непосредственно отправляемый текст;
* *Отправлять сообщение* - опция отвечает за то, нужно отправлять сообщение или нет;
* *Тип отправки* - указывает метод, которым будет отправлено сообщение. Методы описаны в [ниже|Система отправки сообщений (sms,email и тд). Шаблоны сообщений#Способы отправки сообщений];
Опция * *Отправлять каждый день* - работает только для шаблона "Предупреждение за n дней", при её активации сообщение отправится за количество дней указанных в настройках оператора связи в поле "Предупреждать о лимите блокировке за n дней", а так же каждый день до даты когда он будет заблокирован.;
* *Статус абонента* - сообщения будут отправлены только абонентам со [статусом|Статусы абонентов];
* *Отправлять абоненту с типом договора* - тип: юридические или физические лица;
* *Использовать шаблонизатор django* - включает использование набора переменых [django|Система отправки сообщений (sms,email и тд). Шаблоны сообщений#Использование переменных Django].

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


!Выделение_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. Тип сообщения. События.
Каждый шаблон сообщения может быть отправлен по любому из выбранных событий:
* *Подключение услуги* \- приходит абоненту при подключении услуги;
* *Положительный баланс* \- приходит абоненту при переходе абонента в положительный баланс(ниже баланс(выше порога отключения абонента);
* *Отрицательный баланс* \- приходит абоненту при переходе абонента в отрицательный баланс(выше баланс(ниже порога отключения абонента);
* *Выставлен счет* \- приходит абоненту при выставлении счета абоненту (используется чаще для юр.лиц). Для того, чтобы отправка счета выполнялась вручную из вкладки "Операции", шаблон с данным типом должен быть включен. Вместе со счетом юр.лицам отправляется ещё и акт. Отправка акта выполняется с помощью этого же шаблона сообщений(Выставлен счет);
* *Зачисление денег* \- приходит абоненту при поступлении средств на счет (при условии что в настройках абонента стоят галочки Юр.лицо и Отправлять Счет/Акт, а также Настройки - Число месяца выставления счетов на предоплату);
* SMS сообщение на телефон
* Telegram-бот, через который можно не только получать рассылку, но и получить данные по лицевому счету, услугам и тарифу
* PUSH-уведомления

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

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. Отправка сообщений

{code}
Произошла ошибка № 553, при отправке письма. Просмотреть коды ошибок можно в документации [Google|https://support.google.com/a/answer/3726730?hl=ru&ref_topic=1355150] на руссом или [IANA|https://www.iana.org/assignments/smtp-enhanced-status-codes/smtp-enhanced-status-codes.xhtml] на английском.
Если у вас возникнут вопросы по ошибкам в smtp диалоге, сохраните лог отправки и создайте заявку обращение в [техническую поддержку|https://helpdesk.carbonsoft.ru/login.php]. портале [HelpDesk|https://helpdesk.carbonsoft.ru/login.php].

h3. Перестали отправляться sms-сообщения абонентам, в логе ошибка "SSL certificate problem"
cp cacert.pem ca-bundle.trust.crt
rm -f cacert.pem {code}
----
h3. В логе зафиксирована ошибка Can't send message #xxxx: 2 id=#######:HTTPConnectionPool(host='1.1.1.1'('Ваш IP'), port=80):
{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)
2021-09-02 08:02:16,861 - worker - msg_lib - ERROR - Can't send message id=48788: HTTPConnectionPool(host='.1.1.1.1'('Ваш IP'), port=80):-
Max retries exceeded with url: /sms/add.php (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7ff3f093b850>: -
Failed to establish a new connection: [Errno 111] Connection refused',))
{code}
Необходимо убедиться, что вы не используете стандартный смс-шлюз от Carbonsoft, так как его использование ограничено 4 месяцами.
Для решения проблемы, вам необходимо настроить [интеграцию с сервисами|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=49087090#Системаотправкисообщений(sms%2Cemailитд).Шаблонысообщений-ПримерыинтеграциисSMSшлюзами], по предоставлению услуги "смс-шлюз".
Это говорит о том что не удалось установить новое соединение с смс оператором и в настоящее время невозможно отправить собщение из за превышения максимального количества повторных попыток соединения для отправки смс сообщения. Необходимо обратиться к оператору предоставляющему смс услуги.

h3. При отправке сообщения вручную, время указывается некорректно

Настройте исправный 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"
Причина и решение такие же как для ошибки "Name or service not known" при отправке email: что-то не так с DNS-сервером или его настройкой в биллинге. Решение описано чуть выше.

h3. Не отправляются сообщения Telegram, в логе ошибка "Can't send message due to unknown reason: Forbidden: user is deactivated"
{code}
2025-02-27 09:34:50,614 - worker - msg_lib - INFO - Отправка сообщения через Telegram абоненту #1234 Иван Иванович Иванов
2025-02-27 09:34:50,728 - worker - msg_lib - ERROR - Can't send message due to unknown reason#2315519: Forbidden: user is deactivated
{code}

Ошибка в логе указывает на то, что пользователь удалил Telegram-аккаунт или заблокировал бота. Чтобы решить проблему необходимо удалить Telegram ID из [реквизитов|CarbonBilling:Реквизиты] абонента.

h3. Ошибка в логе Chat not found
{code}2021-08-26 08:39:29,703 - worker - msg_lib - INFO - Отправка сообщения через Telegram абоненту #2731 VIP_CLIENT
2021-08-26 08:39:29,713 - worker - msg_lib - INFO - Абонент #2731 не зарегистрирован в боте
2021-08-26 08:39:29,956 - worker - msg_lib - ERROR - Can't send message #436655: Chat not found{code}
Проверьте, назначен ли абоненту TELEGRAM ID в "Реквизитах", либо сформируйте [отчет|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=175833127#Примерытехническихотчётов-Отчетсоспискомабонентов%2CподключившихоповещениечерезTelegram.SUP651766] для просмотра всех абонентов которые подключили бота.

h3. Отключить отправку сообщений на сервере

Иногда во время отладки или работе с базой данных на тестовом сервере полезно отключтиь отключить отправку сообщений.
# Отключите отправку в конфигурационном файле биллинга:
{code:title=Путь конфигурационному файлу}