LiteSMS.net

Отправка SMS-сообщений через Интернет

Разработчикам

 

На данный момент сервис поддерживает отправку SMS-сообщений через следующие протоколы:
1) HTTP(S)
Скачать SMS-API документацию для работы со шлюзом через HTTP(S)
Пример скрипта на PHP



2)SOAP
Входные и выходные значения у функций совпадают с описанием для HTTP-шлюза.
Пример запросов и ответов с использованием SOAP (показана структура XML запросов и ответов)

 

Пример HTTP запроса на PHP с использованием библиотеки CURL

 

$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;

 

Пример SOAP-клиента на PHP 

 

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

Как выделить номер(ID) SMS  из ответа сервера?

Вам поможет эта простая функция на 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];

Наверх

Служба поддержки

Оплата сотовой связи
БЕЗ КОМИССИИ!!!