
Функция отправки смс PHP скриптом
v 3 от 01.01.2001
Содержание
стр.2 1 Введение
стр.2 1 Защищенное соединение (SSL)
стр.3 2 PHP скрипт
стр.4 3 Передаваемые параметры
![]()
WEBSMS предоставляет возможность осуществлять рассылки, используя доступ к сервисам через PHP запросы. Это позволяет автоматизировать процесс рассылки при помощи вызова скриптов на сервере WEBSMS из клиентских программ и веб-форм на сайтах.
WEBSMS гарантирует безопасность обмена запросами с клиентскими приложениями.
В случае выявления ошибок в документации или возникновения необходимости доработки функционала обращайтесь в технический отдел по адресу *****@***ru
![]()
Для обеспечения безопасности Вы можете использовать защищенное соединение (SSL).
Для этого необходимо вызывать страницу отправки, заменив протокол http на https.
При открытии страниц по протоколу https в браузере будет показан запрос на просмотр в защищенном режиме, там же можно посмотреть информацию о сертификате, выданных для этого соединения:

Для продолжения работы по протоколу PHP Вам необходимо согласится принять сертификат.
![]()
PHP-интерфейс расположен по адресу:
в кодировке windows 1251 http://www. websms. ru/http_in5.asp
в кодировке UTF-8 http://www. websms. ru/http_in6.asp
Все параметры передаются методом POST или GET
Пример 1 (с записью возвращаемых результатов)
<?php
$to="номер_ получателя";
$msg="текст_сообщения";
$login = "логин";
$password="пароль";
$r = new HttpRequest('http://websms. ru/http_in5.asp', HttpRequest::METH_GET);
$r->addQueryData(array('Http_username' => urlencode($login), 'Http_password' =>urlencode($password), 'Phone_list' => $to, 'Message' => urlencode($msg)));
try {
$r->send();
if ($r->getResponseCode() == 200) {
file_put_contents('myresults. log', $r->getResponseBody());
}
} catch (HttpException $ex) {
echo $ex;
}
?>
Пример 2 (без записи возвращаемых результатов)
# @to - номер получателя, например: 79221111111
# @msg - сообщение в кодировке windows-1251
# @login - логин на веб-сервисе websms. ru
# @password - пароль на веб-сервисе websms. ru
function send_sms($to, $msg, $login, $password)
{
$u = 'http://www. websms. ru/http_in5.asp';
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
'Http_username='.urlencode($login).'&Http_password='.urlencode($password).'&Phone_list='.$to.'&Message='.urlencode($msg));
curl_setopt($ch, CURLOPT_URL, $u);
$u = trim(curl_exec($ch));
curl_close($ch);
preg_match("/message_id\s*=\s*[0-9]+/i", $u, $arr_id );
$id = preg_replace("/message_id\s*=\s*/i", "", @strval($arr_id[0]) );
return $id;
}
![]()
параметр | значимость | тип | значение | описание |
http_username | обязательный | string | Логин пользователя | |
http_password | обязательный | string | Пароль пользователя (задается в Персональных настройках Личного кабинета в разделе безопасность. По умолчанию пароль тот же, что для входа в кабинет ) | |
message | обязательный | string | Текст сообщения Формат текста сообщения описан в разделе 11 стр.19 | |
phone_list | обязательный | string | Номера телефонов Разделитель запятая Обязательный параметр если параметр Group не используется | |
packet_id | не обязательный | integer | Уникальный номер (ID пакета) Если параметр не задан, то ID пакета будет автоматически назначен системой. (Пакет может содержать множество адресатов в параметре phone_list) | |
message_id | не обязательный | integer | Уникальный номер (ID сообщения) Если параметр не задан, то ID сообщения будет автоматически назначен системой. (Пакет не может содержать множество адресатов в параметре phone_list) Включение или выключение проверки уникальности ID сообщения) производится в Личном кабинете в разделе «Персональные» настройки - Безопасность» . | |
group | не обязательный | integer | ID группы, абонентам которой будет произведена рассылка. Обязательный параметр если параметр Phone_list не используется (Группы формируются через web-интерфейс). Номера групп можно получить при обращении к странице http_Group. asp | |
send_on | не обязательный | string | Дата и время отправки (если не задан - текущее время) Формат dd. mm. yyyy hh:nn | |
UseReceiverGMT | не обязательный | integer | 0 | Время отправки сообщений абонентам будет производится с учетом часового пояса инициатора рассылки |
1 | Время отправки сообщений абонентам будет производится с учетом часового пояса абонента Доставка сообщений происходит в интервале с 9:00 до 21:00 часов по их местному времени. Если рассылка активирована на текущий день, но по местному времени уже более 21:00 часа, то доставка автоматически отложится до назначенного времени следующего дня | |||
translit | не обязательный | integer | 0 | Принудительной транслитерации сообщения не будет (по умолчанию) |
1 | Принудительная транслитерация сообщения | |||
fromPhone | не обязательный | string | Имя отправителя. Имена необходимо предварительно резервировать в личном кабинете в «Персональных настройках» - «Имя отправителя». Внимание! Допускаются только латинские буквы и цифры, не более 11 символов. При гостевом уровне доступа имя отправителя назначается системой | |
nosplit | не обязательный | integer | 0 | Длинное сообщение будет разбиваться на части (по умолчанию) |
1 | Длинное сообщение не будет разбиваться на части и будет обрезано до одной части | |||
test | не обязательный | integer | 0 | Сообщение будет отправлено (по умолчанию) |
1 | Сообщение не будет отправлено Вернется результат в том виде, в каком он был бы при отправке. Предназначено для отладки | |||
birthday | не обязательный | integer | 0 | Время рассылки будет определяется параметром Send_on (по умолчанию) |
1 | Время рассылки будет определяется значением поля «Дата» в телефонной книге | |||
gmt | не обязательный | integer | 0 | Использовать часовую зону из настроек. По умолчанию +4 (Москова) |
+12..-12 | Часовая зона абонента | |||
format | не обязательный | string | txt | Формат вывода результатов в текстовом формате (по умолчанию txt) |
xml | Формат вывода результатов в формате xml | |||
valid_period | не обязательный | integer | 10-1440 | Время жизни смс-сообщения в минутах |
Дополнительные опции: 1 Включение ограничения рассылок по ценовым зонам производится через веб-интерфейс www. websms. ru в разделе «Персональные настройки – Безопасность» 2 Включение системной проверки на уникальность назначенного пользователем packet_id (ID пакета) производится через веб-интерфейс www. websms. ru в разделе «Персональные настройки – Безопасность» 3 Для рассылок смс-сообщений на других языках (иероглифы, арабская вязь, санскрит и т. д.) используйте скриптовую страницу http_in6.asp, которая принимает кодировку UTF-8 |


