На данный момент сервис поддерживает отправку SMS-сообщений через следующие протоколы:
1) HTTP(S)
Скачать SMS-API документацию для работы со шлюзом через HTTP(S)
Пример скрипта на PHP
2)SOAP
Входные и выходные значения у функций совпадают с описанием для HTTP-шлюза.
Пример запросов и ответов с использованием SOAP (показана структура XML запросов и ответов)
$user="user";
$pass="passwd";
$phone="7912000XXXX";
$msg="Проверка отправки СМС сообщения!";
$from="litesms";
function exec($url, $fields="", $method="POST")
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url); // set url to post to
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
curl_setopt($ch, CURLOPT_TIMEOUT, 20); // times out after 20s
curl_setopt($ch, CURLOPT_POST, 1); // set POST method
curl_setopt($ch, CURLOPT_POSTFIELDS, "$fields"); // add POST fields
$result = curl_exec($ch); // run the whole process
curl_close($ch);
return $result;
}
$msg=urlencode($msg);
$result=$this->exec("http://litesms.net/sms.php", "action=send_sms&login=$user&password=$pass&phone=$phone&message=$msg&from=$from");
if($result=="Error: Auth failed")
$result="Ошибка аутентификации!";
if($result=="Error: can't send this message")
$result="Какое-то из полей СООБЩЕНИЕ или ОТПРАВИТЕЛЬ задано некорректно!";
if($result=="Error: your credit is null")
$result="Недостаточно средств для отправки сообщения. Пополните баланс.";
if($result=="Error: unsupported phone number")
$result="Неподдерживаемый номер телефона";
$start=strrpos($result, "Message_ID");
if($start>0) {
$id=substr($result, $start+11);
$result="Сообщение успешно отправлено! Уникальный номер сообщения $id";
}
echo $result;
ini_set("soap.wsdl_cache_enabled", "1"); // включаем кэширование WSDL
//Создаем SOAP-клиента
$client = new SoapClient("http://litesms.net/sms_soap.php?wsdl", array('login'=>'user', 'password'=>'pwd'));
try {
//Выводим все функции
print_r($client->__getFunctions());
//Отправляем SMS
echo $client->sendSMS("Тестовое сообщение", "79193522505", "litesms");
//Получаем баланс в системе
echo $client->getBalance();
//Получаем статус сообщения
echo $client->getStatus(40);
} catch (SoapFault $exception) {
echo $exception;
}
*если появилась ошибка, что нет такой функции SOAP, то соберите PHP с поддержкой SOAP или установите соответсвующий модуль php-soap
Вам поможет эта простая функция на PHP:
function getMessageID($result) {
//$result="Message successfully sent! Message_ID=1167";
$start=strrpos($result, "Message_ID");
if($start>0)
return substr($result, $start+11);
return 0;
}
или
$id = explode("=",$result);
$id = $id[1];
© LiteSMS.net, 2008. При использовании материалов сайта, ссылка на LiteSMS.net обязательна.
Powered by XST
Contact us by e-mail: Все права защищены (с) 2008, ЛайтСМС.net |
![]() |
![]() ![]() |