Автоматическая рассылка SMS

Для автоматической рассылки SMS пользователям, в Ubilling предусмотрена подсистема Reminder. Работает она максимально просто и прямолинейно и состоит из двух раздельно конфигурируемых частей. Собственно самой подсистемы рассылки, вызываемой посредством RemoteAPI и модуля кабинета пользователя предназначенного для включения/отключения услуги а также опционального управлением мобильным номером абонента.

Настройка alter.ini

REMINDER_ENABLED=1
REMINDER_TAGID=36
REMINDER_DAYS_THRESHOLD=2
REMINDER_PREFIX="+38"
REMINDER_TEMPLATE="Shanovnij abonent {REALNAME} stan vashogo rahunku {CASH} hrn {CURDATE}"

Собственно сие означает, что для всех пользователей с установленным и заранее созданным тегом с ID 36, будет производиться посылка SMS, в случае если до срока окончания их оплаченой услуги осталось 2 или меньше дней. Опция REMINDER_TEMPLATE, принимает для шаблонизации стандартные макросы общих шаблонов.

Посылка не производиться следующим категориям пользователей:

  • До окончания оплаченного периода осталось больше чем REMINDER_DAYS_THRESHOLD дней (у них все хорошо).
  • Должникам (они уже знают, что у них интернет кончился)
  • Замороженным (они в отпуск уехали, нечего их спамить)

SMS для отсылки складываются в общую очередь, и собственно требуют включенной и настроенной собаки-посылаки. Для исполнения сией механики требуется соответствующий вызов в crontab:

30 9 * * *      /bin/ubapi  "reminder"

В случае, если требуется принудительная посылка какого-то числа уведомлений, в независимости от оставшегося срока действия услуги, можно сделать это, при помощи опционального параметра force. Реализуется это следующим образом:

30 9 25 * *      /bin/ubapi  "reminder&param=force"

В этом случае, проигнорированы при посылке будут только замороженные пользователи.

Тарификация услуги, производиться при помощи штатной механики виртуальных сервисов, навешанных на нужный тег.

Настройка userstats.ini

REMINDER_ENABLED=1
REMINDER_PRICE=1
REMINDER_TAGID=36
REMINDER_NUMBER_LENGTH=10
REMINDER_DAYS_THRESHOLD=2
REMINDER_PREFIX="+38"
REMINDER_CHANGE_NUMBER=0
REMINDER_FEE=1
REMINDER_CASHTYPEID=1
REMINDER_TURNOFF=1

Тут все тоже достаточно прозрачно - пользователю можно позволить самостоятельно включать либо отключать услугу (да, просто вешается тег), принудительно снимать при ее активации определенную сумму денег со счета, а также позволять самостоятельно менять номер мобильного телефона (экспериментальная фича - используйте только на свой страх и риск).

reminder.txt · Последние изменения: 2016/11/25 19:20 — nightfly
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki