Скрипт на PHP для СМС голосования 750 р.
Скрипт должен обрабатывать информацию из СМС (которая передается биллинговой системой), и добавлять ее в БД результатов голосования. Условия обработки простые: за/против из какой страны или государства.
В результате на странице сайта должна отображаться информация о результатах голосования. Как в числовом, так и в графическом формате.
смс, вместе с дополнительными параметрами передается методом POST на указанный URL
Передаваемые параметры
sms_id - уникальный идентификатор смс сообщения;
sms_body - текст сообщения абонента;
site_service_id - id услуги "Сам справлюсь" в личном кабинете;
user_num - номер телефона абонента вида **********;
num - короткий номер, на который абонент отправил смс;
cpref - дополнительный префикс. Параметр пустой если данный короткий номер не содержит дополнительного префикса. Сдержит номер дополнительный префикс или нет можно узнать из XML файла либо на станице Тарифов;
operator_id - идентификатор оператора;
operator_name - имя оператора;
sms_price - стоимость смс сообщения для абонента c НДС;
sms_currency - кодовое обозначение валюты, в которой передано значение параметра price, в соответствии с международным стандартом ISO-4217 Примеры обозначений: RUB, USD, UAH, т.д.;
partner_cost - доход партнера.
partner_currency - валюта дохода партнера;
secret_key - это контрольное значение, вычисленное на основе основных параметров, а также значения secret_word. Служит для проверки валидности запроса. Формула вычисления контрольного значения:
secret_key = md5(sms_id + sms_body + site_service_id + operator_id + num + sms_price + 'Секретное слово').В этом выражении знак "+" означает операцию конкатенации.
Параметры ответа
После передачи параметров, система ожидает ответ от сервера партнера в формате:
sms_id:уникальный идентификатор смс сообщения "\n";
response:ответ партнера в формате UTF-8 "\n";
error:0 либо 1; - параметр, который указывает, что абонент, отославший смс, допустил ошибку в сообщении
Пример формирования ответа в обработчике на PHP:
<?php
echo "sms_id:$_POST['sms_id']\n";
echo "response:Текст ответа\n";
echo "error:0";
?>
После обработки и отправки партнером ответного сообщения абоненту, партнеру передается второй запрос методом POST на указанный партнером URL,
со статусом доставки, которое может быть «1» (если сообщение доставлено и оплачено) или «0» (если не доставлено или у абонента недостаточно денег на счету).
Данную проверку производит оператор на своей стороне. В случае если у абонента недостаточно денег на счету, сообщение ему не доставляется оператором.
В замен отправленного смс, оператор посылает абоненту свое стандартное смс с текстом "У вас не достаточно денег на счету",
либо абоненту вообще не передается ни каких сообщений.
Параметры статуса доставки и оплаты
sms_id - уникальный идентификатор смс;
status - результат оплаты смс абонентом. Принимает значение 1, если сообщение доставлено и оплачено, или 0 - если не оплачено либо не доставлено;
user_num - номер телефона абонента вида **********;
site_service_id - id услуги "Сам справлюсь" в личном кабинете.
Партнер обязан проверять статус т.к. если, к примеру, пришло сообщение с параметром status=0, то услуга не должна быть предоставлена абоненту,
т.к. смс не оплачена и партнеру не будет начислен партнерский заработок. При разработке алгоритма,
следует проверять status и предусмотреть алгоритм "отката" услуги если смс не оплачено.
Зарегистрируйтесь или войдите на сайт под своим именем.