SMS Pilot

SMS рассылка от службы SMS Pilot Удобно для России и других стран СНГ

Скрипт находиться по пути от корня mikbill

./admin/res/smspilot

файл скрипта

sms.php

По умолчанию скрипт в кодировке Koi8-R

в зависимости от операционной системы необходимо изменить кодировку файла.

Например по умолчанию в разных OS разная кодировка:

FreeBSD - koi8-r
Centos - UTF-8
Ubuntu/Debian - UTF-8

Чтобы узнать кодировку Вашего сервера выполните команду

locale

Пример на Centos:

# locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
iconv -f koi8-r -t utf-8 ./sms.php > ./sms.php2
mv ./sms.php2 ./sms.php

теперь открываем файл текстовым редактором

mcedit ./sms.php

Латиницей имя компании - будет показано как номер отправителя.

$COMPANY="ISP";

Базовый текст сообщения

$TEXT_base="Уважаемый абонент, Ваш баланс составляет ";

Валюту

$UE="Руб";

теперь открываем файл текстовым редактором

mcedit ./smspilot.php

Вначале файла такие строки.

if (!defined('SMSPILOT_API')) define('SMSPILOT_API', 'http://smspilot.ru/api.php');
if (!defined('SMSPILOT_APIKEY')) define('SMSPILOT_APIKEY', 'key');
if (!defined('SMSPILOT_CHARSET')) define('SMSPILOT_CHARSET', 'UTF-8');
if (!defined('SMSPILOT_FROM')) define('SMSPILOT_FROM', 'smspilot.ru'); // new in 1.8.1

Из них нужно задать значение SMSPILOT_APIKEY которые вы получите после регистрации в системе. Получится что то такого вида

if (!defined('SMSPILOT_APIKEY')) define('SMSPILOT_APIKEY', 'SDjkda34s898923423423423');

Остальные строки без изменений.

Находим поиском строки ( их будет несколько ближе к концу файла)

$TEXT=iconv("KOI8-U","UTF-8",$TEXT);

Для Koi8-R оставляем все без изменений, а для базовой UTF-8 просто задокументируем это строку

Смысл этой строки в том чтобы преобразовать итоговое сообщение в кодировку сервера. Сервер СМС Pilot принимает сообщения только в UTF-8.

Соответственно если у Вас Koi8-r то оставляем эту строку без изменений. Если же UTF-8 то просто удаляем или комментируем строку.

# $TEXT=iconv("KOI8-U","UTF-8",$TEXT);

С другими кодировками действия антологичные Koi8-r.

Функция

function get_users_dolgniki($LINK,$stdlog)

Берем строку

$SQL_Querry="SELECT uid,user,deposit,sms_tel,mob_tel,phone FROM " . BILL_AUTH_TABLE . " WHERE uid  IN (409,2137)";

Правим ее под себя. Например ниже разошлет только должникам

 $$SQL_Querry="SELECT uid,user,deposit,sms_tel,mob_tel,phone FROM " . BILL_AUTH_TABLE . " WHERE deposit<0 ";

Подобным образом можно сделать новую функцию, например чтобы получить конкретный тариф

 $SQL_Querry="SELECT uid,user,deposit,sms_tel,mob_tel,phone FROM " . BILL_AUTH_TABLE . " WHERE gid=1 ";
Рекомендуется добавлять свои функции для рассылок и делать их в разных файлах.

Строка получает список должников:

$users_dolgnki=get_users_dolgniki($LINK,$stdlog);

Далее идет обработка этого списка и сам текст каждой СМС формируется этими строками.

$deposit=round($value['deposit'],2);
$TEXT=$TEXT_base.$deposit." ".$UE;

Думаю этого достаточно чтобы дальше поменять все под любые варианты своих нужд.

По пути от корня mikbill

./admin/sys/scripts

находиться скрипт

mikbill_sms.sh

пример содержимого

#!/bin/sh

cd /var/www/mikbill/admin/res/smspilot
/usr/bin/php -q ./sms.php
Не забудьте путь к php или скрипту меняется в зависимости от Вашей OS.

далее просто добавите в cron запуск mikbill_sms.sh или же запускайте его вручную когда Вам необходимо.

* /admin/res/smspilot/smspilot_balance.php - уведомление о пополнение баланса СМС-Пилот

       ( в этой же папке mikbill_payment_event.sh там пример как включить скрипт в работу)

* /admin/res/smspilot/example/sms_1.php - Уведомление о нехватке абонплаты на след. месяц

* /admin/res/smspilot/example/sms_2.php - поздравление с днем рождения абонентов

Обсуждаем и делимся наработками на форуме.

  • billing/preferences/smspilot.txt
  • Последние изменения: 10 месяц (-ев) назад
  • — Олег Вильковский