Cмс билинг вопрос.

Discussion in 'Болталка' started by Ylka, 11 Apr 2009.

  1. Ylka

    Ylka Banned

    Joined:
    3 Jan 2009
    Messages:
    17
    Likes Received:
    6
    Reputations:
    5
    Есть ли смс билинги. На каком не нужно иметь url обработчик. Тоесть где можно и без ниво обойтися. Есть такиє билинги ? Там де тупо вводиш текст и он приходит отправителю смс. ?????
     
  2. Blackcat95

    Blackcat95 Member

    Joined:
    11 Nov 2008
    Messages:
    19
    Likes Received:
    10
    Reputations:
    0
    да есть, лови, аж целых 10:
    билинги билинги билинги билинги билинги билинги билинги билинги билинги билинги
     
  3. Ylka

    Ylka Banned

    Joined:
    3 Jan 2009
    Messages:
    17
    Likes Received:
    6
    Reputations:
    5
    Да в правду есть такиє.
     
  4. ClienTtm

    ClienTtm Banned

    Joined:
    31 May 2008
    Messages:
    0
    Likes Received:
    26
    Reputations:
    -15
    Есть но тут тебе некто не напишит их! Я тож в поиске такого!)
     
  5. Ylka

    Ylka Banned

    Joined:
    3 Jan 2009
    Messages:
    17
    Likes Received:
    6
    Reputations:
    5
    Поделитись хто нибуть сервисом. Можно и в пм.
     
  6. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    Reputations:
    612
    поставь заглушку с ответом =\ обычный хтмл файл
     
  7. Ylka

    Ylka Banned

    Joined:
    3 Jan 2009
    Messages:
    17
    Likes Received:
    6
    Reputations:
    5

    Тогода вроде мне не будут зачислять смски. Например на смсдоступ
     
  8. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    Reputations:
    612
    будут, если ты поставишь отвтет, который требует биллинг.
     
  9. Ylka

    Ylka Banned

    Joined:
    3 Jan 2009
    Messages:
    17
    Likes Received:
    6
    Reputations:
    5
    # Задаем ключ (идентификатор) проекта, который указан в разделе 'Список проектов' в вашем аккаунте $project_md5 = '';Тоесть

    <?php
    # СМС-Доступ 2008
    # Скрипт для ответа на запрос Биллинга

    # Вывод ошибок нежелателен
    ini_set('display_errors', 0);
    error_reporting(0);

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

    # Задаем рабочую кодировку в которой вы указываете ответ абоненту
    $encoding = 'windows-1251';

    # Читаем POST запрос, получаем XML данные
    if (!isset($HTTP_RAW_POST_DATA)) $HTTP_RAW_POST_DATA = file_get_contents('php://input');
    if (!$HTTP_RAW_POST_DATA) return_result('err void', true);

    # Обрабатываем данные
    $request_data = xml2array($HTTP_RAW_POST_DATA);

    # Проверяем данные
    if (!is_array($request_data) || !isset($request_data['sms']['md5']) || !isset($request_data['sms']['session']) || !isset($request_data['sms']['smsid']) || !isset($request_data['sms']['shortcode']) || !isset($request_data['sms']['text']) || !isset($request_data['sms']['cost']) || !isset($request_data['sms']['phone']) || !isset($request_data['sms']['operator'])) return_result('err data', true);
    if (!$request_data['sms']['md5'] || !$request_data['sms']['session'] || !$request_data['sms']['smsid'] || !$request_data['sms']['shortcode'] || !$request_data['sms']['text'] || !$request_data['sms']['cost'] || !$request_data['sms']['phone'] || !$request_data['sms']['operator']) return_result('err false', true);

    # Проверяем целостность данных
    $_md5hash = md5($project_md5.$request_data['sms']['session'].$request_data['sms']['smsid'].$request_data['sms']['shortcode'].iconv('utf-8', 'windows-1251', $request_data['sms']['operator']).$request_data['sms']['phone'].iconv('utf-8', 'windows-1251', $request_data['sms']['text']).$request_data['sms']['cost']);
    if ($_md5hash != $request_data['sms']['md5']) return_result('err hash', true);

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

    # Возвращаем результат и завершаем работу
    # Сообщение должно быть в кодировке указанной в параметре $encoding выше, по-умолчанию windows-1251
    return_result(
    'Здесь должен быть Ваш ответ клиенту'
    );

    # Делаем все необходимые учеты, проверки и определяем ответ абоненту
    /*
    Входящие данные (даны исключительно для ознакомления и не являются действительными):
    <isdebug>true</isdebug> // Параметр тестирования проекта, по-умолчанию не передается
    <md5>a123456789b123456789c123456789d1</md5> // Ключ проверки целостности данных
    <session>a123456789b123456789c123456789d1</session> // Ключ текущей сессии
    <smsid>1234567890</smsid> // Уникальный идентификатор смс сообщения
    <shortcode>1234</shortcode> // Короткий номер на который прислано смс сообщение
    <operator>Megafon</operator> // Название оператора, латиница, короткое
    <operatorfull>Megafon_moscow</operatorfull> // Название оператора, латиница, полное
    <phone>7912xxxx345</phone> // Номер абонента приславшего смс сообщение
    <country>ru</country> // Страна абонента приславшего смс сообщение
    <text>ttslovo</text> // Полный текст сообщения
    <cost>12.34</cost> // Ваша прибыль с данного смс сообщения в системе СМС Доступ в рублях
    <exchangerate>23.00</exchangerate> // Текущий курс отношения рубля к доллару в системе СМС Доступ
    <trusted>3</trusted> // Опциональный параметр, с указанием доверия номеру абонента в виде цифры от 0 до 10
    */

    # Запрос передается в формате utf-8
    # Для получения текста сообщения в кодировке Windows-1251 воспользуйтесь функцией iconv():
    # $result_text = iconv('utf-8', 'windows-1251', $request_data['sms']['text']);

    # Ваша проверка данных и учет в системе
    # ! В случае если получен параметр _is_debug, то учет в системе делать не следует. Был произведен тест скрипта на работоспособность.

    # Выдаем ответ для передачи клиенту
    # ! Учтите обязательность наличия корректного xml формата
    # ! При ответе используйте кодировку utf-8

    # Возвращаем результат в формате XML
    function return_result($msg, $iserror = false) {
    global $encoding;

    # Success message
    if (!$iserror) {
    echo '<?xml version="1.0" encoding="UTF-8"?>
    <Response>
    <Status>OK</Status>
    <ReturnMessage>'.($encoding ? iconv($encoding, 'utf-8', $msg) : $msg).'</ReturnMessage>
    </Response>';

    # Error message
    } else {
    echo '<?xml version="1.0" encoding="UTF-8"?>
    <Response>
    <Status>ERROR</Status>
    <ErrorMessage>'.($encoding ? iconv($encoding, 'utf-8', $msg) : $msg).'</ErrorMessage>
    </Response>';

    }

    exit;
    }

    # Перевод XML данных в массив
    function xml2array($xml) {
    $_data = NULL;

    $xp = xml_parser_create();
    xml_parser_set_option($xp, XML_OPTION_CASE_FOLDING, false);
    xml_parser_set_option($xp, XML_OPTION_SKIP_WHITE, true);
    xml_parse_into_struct($xp,$xml,$vals,$index);
    xml_parser_free($xp);

    $temp = $depth = array();
    $dc = array();

    foreach($vals as $value) {
    $p = join('::', $depth);
    $key = $value['tag'];
    switch ($value['type']) {
    case 'open':
    array_push($depth, $key);
    array_push($depth, (int)$dc[$p]++ );
    break;
    case 'complete':
    array_pop($depth);
    array_push($depth, $key);
    $p = str_replace("::0::","::",join('::',$depth));
    $temp[$p] = $value['value'];
    array_pop($depth);
    array_push($depth, (int)$dc[$p] );
    break;
    case 'close':
    array_pop($depth);
    array_pop($depth);
    break;
    }
    }

    foreach ($temp as $key=>$value) {
    $levels = explode('::',$key);
    $num_levels = count($levels);
    if ($num_levels==1) {
    $_data[$levels[0]] = $value;
    } else {
    $pointer = &$_data;
    for ($i=0; $i<$num_levels; $i++) {
    if ( !isset( $pointer[$levels[$i]] ) ) {
    $pointer[$levels[$i]] = array();
    }
    $pointer = &$pointer[$levels[$i]];
    }
    $pointer = $value;
    }

    }

    return ($_data);

    }
    ?>
     
  10. Ylka

    Ylka Banned

    Joined:
    3 Jan 2009
    Messages:
    17
    Likes Received:
    6
    Reputations:
    5
    Мне просто ввести сюда клч проекта

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

    и закинуть на сайт ???
     
  11. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    Reputations:
    612
    пиздец. ключ нужен для проверки запроса, что он не левый.
    важен ответ который выдает скрипт.
    это все что надо! и сними галку с использовать XML-запрос.
     
  12. Ylka

    Ylka Banned

    Joined:
    3 Jan 2009
    Messages:
    17
    Likes Received:
    6
    Reputations:
    5
    А ответ тогда куда ставить. ?
    например <SMSDOSTUP>Код 123456789</SMSDOSTUP>

    Што з етим делать ?.
     
    #12 Ylka, 11 Apr 2009
    Last edited: 15 Apr 2009
  13. Ylka

    Ylka Banned

    Joined:
    3 Jan 2009
    Messages:
    17
    Likes Received:
    6
    Reputations:
    5
    ???
     
  14. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    Reputations:
    612
    ты че дебил чтоли?
     
  15. bolnoy

    bolnoy Banned

    Joined:
    4 Jan 2007
    Messages:
    0
    Likes Received:
    17
    Reputations:
    0
  16. Ylka

    Ylka Banned

    Joined:
    3 Jan 2009
    Messages:
    17
    Likes Received:
    6
    Reputations:
    5
    Нет, извините пожалуста.

    подскажите