Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Скрипт для ответа на запрос Биллинга, Скрипт для ответа
x4ekuctx  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователи
Сообщений: 2
Пользователь №: 38169
На форуме: 3 года, 2 месяца, 7 дней
Карма:




Здравствуйте! Помогите пожалуйста! Есть вот такой скрипт от смс билинга

<?php

# SDPays 2008
# Скрипт для ответа на запрос Биллинга

# Вывод ошибок нежелателен

ini_set('display_errors', 0);
error_reporting(0);

# Задаем ключ (идентификатор) проекта, который указан в разделе 'Список проектов' в вашем аккаунте
$project_md5 = "9c3ff12d3704f3d110c1907e08beaf1e";

# Проверяем наличие данных
if (!isset($_POST['_md5_hash']) || !isset($_POST['_session_code']) || !isset($_POST['_sms_id']) || !isset($_POST['_sms_number']) || !isset($_POST['_sms_operator']) || !isset($_POST['_sms_phone']) || !isset($_POST['_sms_message']) || !isset($_POST['_sms_price'])) return_result("err void", true);

if (!$_POST['_md5_hash'] || !$_POST['_session_code'] || !$_POST['_sms_id'] || !$_POST['_sms_number'] || !$_POST['_sms_operator'] || !$_POST['_sms_phone']) return_result("err false", true);

# Проверяем целостность данных
$_md5hash = md5($project_md5.$_POST['_session_code'].$_POST['_sms_id'].$_POST['_sms_number'].$_POST['_sms_operator'].$_POST['_sms_phone'].stripslashes($_POST['_sms_message']).$_POST['_sms_price']);
if ($_md5hash != $_POST['_md5_hash']) return_result("err hash", true);

/* Напоминаем, что в случае наличия параметра _is_debug производится ТЕСТИРОВАНИЕ проекта,
если Вы ведете внутренние учеты, зачисляете средства и так далее - учтите, эти запросы нами не оплачиваются! */

# Возвращаем результат и завершаем работу

return_result(
"Здесь должен быть Ваш ответ клиенту"
);

# Делаем все необходимые учеты, проверки и определяем ответ абоненту
/*
Входящие данные (даны исключительно для ознакомления и не являются действительными):
_is_de
bug = 1 // Параметр тестирования проекта, по-умолчанию не передается
_md5_hash = a123456789b123456789c123456789d1 // Ключ проверки целостности данных
_session_code = a123456789b123456789c123456789d1 // Ключ текущей сессии
_sms_id=1234567890 // Уникальный идентификатор смс сообщения
_sms_number=1234 // Короткий номер на который прислано смс сообщение
_sms_operator=Megafon // Название оператора, латиница, короткое
_sms_operator_full=Megafon_moscow // Название оператора, латиница, полное
_sms_phone=7912xxxx345 // Номер абонента приславшего смс сообщение
_sms_country=ru // Страна абонента приславшего смс сообщение
_sms_message=ttslovo // Полный текст сообщения
_sms_plain=dHRzbG92bw%3D%3D // Текст сообщения rawurlencoded base64_encoded в кодировке utf-8
_sms_price=12.34 // Ваша прибыль с данного смс сообщения в системе SDPays в рублях
_expected_sms_price=12.34 // Ваша ожидаемая прибыль с данного смс в рублях при МТ тарификации, при МО тарификации параметр будет отсутствовать
_mt_session_id = 12345 // номер MT сессии для связки друг с другом mt и mt_ok/mt_fail оповещений
_tar_mode = mo // режим тарификации. может быть mo, mt, mt_ok, mt_fail. если параметр отсутствует, следует рассматривать его значение как mo
_sms_exchrate=25.00 // Текущий курс отношения рубля к доллару в системе SDPays
_sms_trusted=3 // Опциональный параметр, с указанием доверия номеру абонента в виде цифры от 0 до 10
_abonent_price=2.87 // Параметр указывающий стоимость смс для абонента в валюте указанной в параметре _abonent_price_currency
_abonent_price_currency=RUR // Параметр указывает валюту в которой было произведено списание с абонента за отправленную смс
_sms_parts=1 // Опциональный параметр, указывающий на количество частей из которых состояло смс сообщение
В случае, если параметр _sms_parts присутствует и он больше единицы, то будет произведена тарификация соответственно количеству смс полученных от абонента.
Сумма в параметре _sms_price будет иметь значение полученное по формуле: кол-во_смс * стоимость_смс.
Параметр _abonent_price будет показывать стоимость 1 смс сообщения вне зависимости от количества полученных частей.
_sms_operator_id=1 // Уникальный идентификатор оператора в системе SDPays
_spec_id=1 // Указание на источник запроса, используется в проверке уникальности, целое число, может быть 0
_sms_date=2009-01-23 12:34:56 // Дата регистрации СМС платформой
*/

# Обработка входящего сообщения.
# Для получения текста сообщения Вам потребуется произвести следующие операции:
/*
$message_text = rawurldecode($_POST['_sms_plain']); // Убрать URL-кодирование
$message_text = base64_decode($message_text); // Перевести данные из MIME base64
$message_text = iconv("utf-8", "cp1251", $message_text); // Поменять кодировку с utf-8 на cp1251
$message_text = stripslashes($message_text); // Удалить возможные слэш символы
*/

# Для большего удобства так же передается параметр _sms_message в котором все эти действия уже произведены,
# но если же сообщения приходящие Вам достаточно большие, включают в себя спец символы и русский язык, то лучше работать с параметром _sms_plain

# Ваша проверка данных и учет в системе
# ! В случае если получен параметр _is_debug, то учет в системе делать не следует. Был произведен тест скрипта на работоспособность.
# ! вернуть ответ в случае наличия параметра _is_debug необходимо в следующем формате <SMSDOSTUP>OK</SMSDOSTUP>

# Выдаем ответ для передачи клиенту
# ! Учтите обязательность наличия открывающегося <SMSDOSTUP> и закрывающегося </SMSDOSTUP> тегов
# Содержимое внутри тегов и будет передано клиенту, в случае неверного формата ответа, смс не будет засчитана
# При ответе используйте кодировку Windows-1251

# Функция передачи данных

function return_result($message, $is_error = false) {
if ($is_error) exit("<SMSDERR>".stripslashes($message)."</SMSDERR>");
exit("<SMSDOSTUP>".stripslashes($message)."</SMSDOSTUP>");
}
?>


В этом месте приходит ответ абоненту
# Возвращаем результат и завершаем работу
return_result(
"Здесь должен быть Ваш ответ клиенту"
);

Как сделать что бы каждый раз ответ был разным, то есть например отправили первое сообщение, пришел один текст, еще раз отправили другой текст и т.д. Всю голову сломал уже.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
DarkGuy  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



не судите строго, я только учусь
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 434
Пользователь №: 25736
На форуме: 5 лет, 10 месяцев, 24 дня
Карма: 3




rand(1, 10)
if(rand(1, 10) ===1){}elseif(rand(1, 10) ===2){}
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
x4ekuctx  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователи
Сообщений: 2
Пользователь №: 38169
На форуме: 3 года, 2 месяца, 7 дней
Карма:




Можно пожалуйста на примере моего скрипта, я так не догоняю, спасибо
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 19 дней
Карма: 725

Не курю:
1 год, 2 месяца, 6 дней


# Возвращаем результат и завершаем работу
return_result(
//"Здесь должен быть Ваш ответ клиенту"
$num_answ = rand(1,5);

switch($num_answ){
case 1 : $answer = "Ответ 1"; break;
case 2 : $answer = "Ответ 2"; break;
case 3 : $answer = "Ответ 3"; break;
case 4 : $answer = "Ответ 4"; break;
case 5 : $answer = "Ответ 5"; break;
default : $answer = "Ответ по умолчанию, например 1й"; break;
}
return $answer;
);


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса