Функция отправки смс PHP скриптом v 3 от 29.10.2013 Содержание 1 стр.2 1 Введение стр.2 1 Защищенное соединение (SSL) стр.3 2 PHP скрипт стр.4 3 Передаваемые параметры WEBSMS предоставляет возможность осуществлять рассылки, используя доступ к сервисам через PHP запросы. Это позволяет автоматизировать процесс рассылки при помощи вызова скриптов на сервере WEBSMS из клиентских программ и веб-форм на сайтах. WEBSMS гарантирует безопасность обмена запросами с клиентскими приложениями. В случае выявления ошибок в документации или возникновения необходимости доработки функционала обращайтесь в технический отдел по адресу support@websms.ru Для обеспечения безопасности Вы можете использовать защищенное соединение (SSL). Для этого необходимо вызывать страницу отправки, заменив протокол http на https. При открытии страниц по протоколу https в браузере будет показан запрос на просмотр в защищенном режиме, там же можно посмотреть информацию о сертификате, выданных для этого соединения: Для продолжения работы по протоколу PHP Вам необходимо согласится принять сертификат. 2 PHP-интерфейс расположен по адресу: для кодировки windows 1251 http://cab.websms.ru/http_in5.asp для кодировки UTF-8 http://cab.websms.ru/http_in6.asp Все параметры передаются методом POST или GET Пример 1 (с записью возвращаемых результатов) <?php $to="номер_ получателя"; $msg="текст_сообщения"; $login = "логин"; $password="пароль"; $r = new HttpRequest('http://cab.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='.urlenc ode($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; } 3 параметр значимость тип значение описание http_username обязательный string Логин пользователя http_password обязательный string Пароль пользователя (задается в Персональных настройках Личного кабинета в разделе безопасность. По умолчанию пароль тот же, что для входа в кабинет ) message обязательный string Текст сообщения Формат текста сообщения описан в разделе 11 стр.19 phone_list обязательный string packet_id не обязательный integer message_id не обязательный integer group не обязательный integer send_on не обязательный string Номера телефонов Разделитель запятая Обязательный параметр если параметр Group не используется Уникальный номер (ID пакета) Если параметр не задан, то ID пакета будет автоматически назначен системой. (Пакет может содержать множество адресатов в параметре phone_list) Уникальный номер (ID сообщения) Если параметр не задан, то ID сообщения будет автоматически назначен системой. (Пакет не может содержать множество адресатов в параметре phone_list) Включение или выключение проверки уникальности ID сообщения) производится в Личном кабинете в разделе «Персональные» настройки - Безопасность» . ID группы, абонентам которой будет произведена рассылка. Обязательный параметр если параметр Phone_list не используется (Группы формируются через web-интерфейс). Номера групп можно получить при обращении к странице http_Group.asp Дата и время отправки (если не задан - текущее время) Формат dd.mm.yyyy hh:nn 0 UseReceiverGMT не обязательный Время отправки сообщений абонентам будет производится с учетом часового пояса абонента integer 1 translit не обязательный 0 integer 1 fromPhone не обязательный string nosplit не обязательный integer 4 Время отправки сообщений абонентам будет производится с учетом часового пояса инициатора рассылки 0 Доставка сообщений происходит в интервале с 9:00 до 21:00 часов по их местному времени. Если рассылка активирована на текущий день, но по местному времени уже более 21:00 часа, то доставка автоматически отложится до назначенного времени следующего дня Принудительной транслитерации сообщения не будет (по умолчанию) Принудительная транслитерация сообщения Имя отправителя. Имена необходимо предварительно резервировать в личном кабинете в «Персональных настройках» - «Имя отправителя». Внимание! Допускаются только латинские буквы и цифры, не более 11 символов. При гостевом уровне доступа имя отправителя назначается системой Длинное сообщение будет разбиваться на части (по умолчанию) не обязательный test birthday не обязательный не обязательный gmt 1 Длинное сообщение не будет разбиваться на части и будет обрезано до одной части 0 Сообщение будет отправлено (по умолчанию) 1 Сообщение не будет отправлено Вернется результат в том виде, в каком он был бы при отправке. Предназначено для отладки 0 Время рассылки будет определяется параметром Send_on (по умолчанию) 1 Время рассылки будет определяется значением поля «Дата» в телефонной книге 0 Использовать часовую зону из настроек. По умолчанию +4 (Москова) integer integer integer +12..-12 format valid_period не обязательный не обязательный Часовая зона абонента txt Формат вывода результатов в текстовом формате (по умолчанию txt) xml Формат вывода результатов в формате xml string integer 10-1440 Время жизни смс-сообщения в минутах Дополнительные опции: 1 Включение ограничения рассылок по ценовым зонам производится через веб-интерфейс cab.websms.ru в разделе «Персональные настройки – Безопасность» 2 Включение системной проверки на уникальность назначенного пользователем packet_id (ID пакета) производится через веб-интерфейс cab.websms.ru в разделе «Персональные настройки – Безопасность» 3 Для рассылок смс-сообщений на других языках (иероглифы, арабская вязь, санскрит и т.д.) используйте скриптовую страницу http_in6.asp , которая принимает кодировку UTF-8 5