Вспомогательные скрипты и утилиты — различия между версиями
Admin (обсуждение | вклад) |
|||
Строка 1: | Строка 1: | ||
+ | == Скрипт рассылки сообщений о состоянии баланса == | ||
+ | Для рассылки информации о балансе используется скрипт /opt/ebs/data/sendmail.py. | ||
+ | Скрипт использует шаблон "Информационное письмо" сообщения о балансе, вид которого можно изменить в интерфейсе администратора. | ||
+ | По-умочланию шаблон выглядит так: | ||
+ | <pre> | ||
+ | --------------------------------------------------- | ||
+ | Это сообщение сгенерировано биллинговой системой! | ||
+ | --------------------------------------------------- | ||
+ | |||
+ | Здравствуйте, ${account.username}. | ||
+ | Уведомляем, что актуальный баланс Вашего лицевого счета составляет ${"%.2f" % account.ballance} руб. Размер кредита ${account.credit}. | ||
+ | Пожалуйста, пополните баланс во избежание блокировки. | ||
+ | --- | ||
+ | ${operator.organization} | ||
+ | </pre> | ||
+ | |||
+ | Параметры работы скрипта настраиваются в конфиг-файле ebs_config.ini | ||
+ | <pre> | ||
+ | [sendmail] | ||
+ | log_type = logging | ||
+ | log_file = log/sendmail_log | ||
+ | log_level= 0 | ||
+ | log_ident= ebs_sendmail | ||
+ | subject = Provider information - тема письма | ||
+ | use_tls = False - использовать TLS | ||
+ | send_if_less = 5000 - пороговое значение баланса, ниже которого пользователь получит письмо | ||
+ | host = smtp.gmail.com - адрес SMTP сервера | ||
+ | host_user = SMTP имя пользователя | ||
+ | host_password = пароль SMTP пользователя | ||
+ | port = 25 SMTP порт сервера | ||
+ | email_from = info@provider.com - с этого адреса будут слаться письма | ||
+ | fail_silently = False - в случае ошибки продолжать отправку | ||
+ | </pre> | ||
+ | |||
+ | Для того, чтобы рассылать уведомления в 00:00:00 каждого дня, нужно добавить в crontab следующую строку: | ||
+ | <pre> | ||
+ | 0 0 * * * /usr/bin/env python /opt/ebs/data/scripts/getintdata.py >>/opt/getintdata.log | ||
+ | </pre> | ||
+ | |||
+ | |||
==Скрипт импорта платежей== | ==Скрипт импорта платежей== | ||
Версия 15:06, 22 сентября 2011
Скрипт рассылки сообщений о состоянии баланса
Для рассылки информации о балансе используется скрипт /opt/ebs/data/sendmail.py. Скрипт использует шаблон "Информационное письмо" сообщения о балансе, вид которого можно изменить в интерфейсе администратора. По-умочланию шаблон выглядит так:
--------------------------------------------------- Это сообщение сгенерировано биллинговой системой! --------------------------------------------------- Здравствуйте, ${account.username}. Уведомляем, что актуальный баланс Вашего лицевого счета составляет ${"%.2f" % account.ballance} руб. Размер кредита ${account.credit}. Пожалуйста, пополните баланс во избежание блокировки. --- ${operator.organization}
Параметры работы скрипта настраиваются в конфиг-файле ebs_config.ini
[sendmail] log_type = logging log_file = log/sendmail_log log_level= 0 log_ident= ebs_sendmail subject = Provider information - тема письма use_tls = False - использовать TLS send_if_less = 5000 - пороговое значение баланса, ниже которого пользователь получит письмо host = smtp.gmail.com - адрес SMTP сервера host_user = SMTP имя пользователя host_password = пароль SMTP пользователя port = 25 SMTP порт сервера email_from = info@provider.com - с этого адреса будут слаться письма fail_silently = False - в случае ошибки продолжать отправку
Для того, чтобы рассылать уведомления в 00:00:00 каждого дня, нужно добавить в crontab следующую строку:
0 0 * * * /usr/bin/env python /opt/ebs/data/scripts/getintdata.py >>/opt/getintdata.log
Скрипт импорта платежей
Скрипт предназначен для импорта платежей из текстовых файлов формата CSV. Скрипт находится по пути /opt/ebs/data/scripts/payments/process.py Файл настроек находится по адресу /opt/ebs/data/scripts/payments/pattern.ini
Формат файла настроек
[Belarusbank] folder_in=Belarusbank/IN/ folder_out=Belarusbank/OUT/ folder_err=Belarusbank/ERR/ file_mask=*.asb exclude_mask=lan.* separator=; payment_type=BELARUSBANK_PAYMENT_IMPORT encoding=cp855 fieldnames=ACC;FIO;DATETIME;TIME;SUM;EMPTY;EMPTY;EMPTY;PID datetime_fmt=%d/%m/%Y time_fmt=%H:%M [Webmoney] folder_in=WebMoney/IN/ folder_out=WebMoney/OUT/ folder_err=WebMoney/ERR/ file_mask=*.* exclude_mask=r*.* separator=; payment_type=WEBMONEY_PAYMENT_IMPORT fieldnames=DATETIME;ACC;SUM;EMPTY;EMPTY;PID;EMPTY;EMPTY;EMPTY;EMPTY datetime_fmt=%d/%m/%Y %H:%M:%S time_fmt= encoding=utf-8
Описание настроек:
- folder_in путь к папке с текстовыми файлами CSV
- folder_out путь к папке с успешно обработанными файлами платежей
- folder_err путь к папке с обработанными файлами платежей, содержащими записи в неверном формате или ошибочную информацию
- file_mask - маска файлов платежей
- exclude_mask - маска файлов, подлежащих к исключению обработки
- separator - разделитель в файле csv
- payment_type - тип платежа. Для нового типа платежей нужно создать запись в таблице базы данных billservice_transactiontype, поместив в поле name текстовое описание платежа, а в поле internal_name - текстовую константу payment_type.
- fieldnames - формат файла csv. Поле DATETIME предназначено для даты совершения платежа, поле ACC для номера договора аккаунта, SUM - сума платежа, EMPTY - пустое или не имеющее значения поле, PID аналогично EMPTY, TIME - поле времени платежа, если дата и время разнесены по разным столбцам
- datetime_fmt - формат поля DATETIME. Возможные значения символов подстановки вы можете найти на этой странице http://docs.python.org/library/datetime.html#strftime-and-strptime-behavior
- time_fmt формат поля TIME
- encoding кодировка файла CSV
Важно!!! Обращайте внимание на регистр символов в путях к папкам. Обратите внимание В ранних версиях EBS 1.4 данный скрипт отсутствовал. Обратитесь к разработчикам за получением скрипта.