Отправка SMS-сообщений с помощью API сервиса sms.mobilgroup.ru
Данный код позволяет отправить SMS-сообщения с помощью API сервиса sms.mobilgroup.ru. Это может быть полезно для различных целей, например, для уведомлений пользователей о событиях или для рассылки информации.
Для того чтобы отправить SMS-сообщение, необходимо выполнить следующие шаги:
- Создать массив
$params
с данными для отправки сообщения. В этом массиве вы должны указать следующие параметры:'user_id'
– ваш ID-номер в сервисе;
'user'
– номер телефона, который вы используете в сервисе;
'pwd'
– ваш пароль в сервисе;
'command'
– тип события (в данном случае – отправка SMS);
'phone'
– номер телефона получателя;
'message'
– текст сообщения;
'id'
– уникальный идентификатор сообщения (может быть сгенерирован с помощью функцииtime()
);
'sender'
– название отправителя (не более 11 символов);
'rus_sms'
– флаг, указывающий на необходимость использования русского текста в сообщении (1 – на русском языке, 0 – на английском);
'schedule'
– дата и время отправки сообщения (если не указано, сообщение будет отправлено немедленно).
- Сформировать XML-запрос на основе массива
$params
. Для этого создайте строку$xml
, которая будет содержать следующие элементы:- Первой строкой должен идти XML-заголовок:
<?xml version="1.0" encoding="UTF-8"?>
.
- Затем следует открывающий тег
<request>
.
- Далее идут элементы массива
$params
в виде<название_элемента>значение</название_элемента>
.
- Закрывающий тег
</request>
.
- Первой строкой должен идти XML-заголовок:
- Создать новый сеанс cURL с помощью функции
curl_init()
и настроить его параметры:CURLOPT_URL
– адрес, куда будет отправлен запрос;
CURLOPT_POST
– указывает на то, что запрос будет отправлен методом POST;
CURLOPT_POSTFIELDS
– содержит XML-запрос, который мы создали ранее;
CURLOPT_RETURNTRANSFER
– указывает на то, что результат запроса будет возвращен в виде строки;
CURLOPT_HTTPHEADER
– содержит заголовок запроса, который указывает на тип содержимого (application/xml).
- Выполнить запрос с помощью функции
curl_exec()
и сохранить результат в переменную$response
.
- Закрыть сеанс cURL с помощью функции
curl_close()
.
Код имеет простую структуру и может быть легко адаптирован для отправки SMS-сообщений в вашем приложении или на вашем сайте.
Подробнее о шагах
Создание массива $params
Для начала необходимо создать массив $params
, который будет содержать параметры для отправки SMS-сообщения. В этом массиве вы должны указать следующие параметры:
'user_id'
– ваш ID-номер в сервисе;
'user'
– номер телефона, который вы используете в сервисе;
'pwd'
– ваш пароль в сервисе;
'command'
– тип события (в данном случае – отправка SMS);
'phone'
– номер телефона получателя;
'message'
– текст сообщения;
'id'
– уникальный идентификатор сообщения (может быть сгенерирован с помощью функцииtime()
);
'sender'
– название отправителя (не более 11 символов);
'rus_sms'
– флаг, указывающий на необходимость использования русского текста в сообщении (1 – на русском языке, 0 – на английском);
'schedule'
– дата и время отправки сообщения (если не указано, сообщение будет отправлено немедленно).
Пример создания массива $params
:
$params = array(
'first_line' => '?xml version="1.0" encoding="UTF-8"?',
'wrapper' => 'request',
'body' => array(
'user_id' => 1234, // ID учетной записи в сервисе
'user' => '71111111111', // телефон в сервисе
'pwd' => 'xxxxxxxxxxx', // пароль в сервисе
'command' => 'send', // тип события Отправка СМС
'phone' => '71111111111', // номер получателя
'message' => 'Интернет-магазин Лаптянки, Ваш код 1234', // текст СМС
'id' => time().rand(1111,9999), // ID для СМС, уникален для каждого сообщения
'sender' => 'Lapty', // название отправителя в смс
'rus_sms' => 1, // установить 1 если нужен русский текст в сообщении
'schedule' => date("Y-m-d H:i")
)
);
Формирование XML-запроса
После создания массива $params
необходимо сформировать XML-запрос для отправки SMS-сообщения. Для этого создайте строку $xml
, которая будет содержать следующие элементы:
- Первой строкой должен идти XML-заголовок:
<?xml version="1.0" encoding="UTF-8"?>
.
- Затем следует открывающий тег
<request>
.
- Далее идут элементы массива
$params
в виде<название_элемента>значение</название_элемента>
.
- Закрывающий тег
</request>
.
Пример формирования XML-запроса:
$xml = '<'.$params['first_line'].'>';
$xml .= '<'.$params['wrapper'].'>';
foreach ($params['body'] as $name => $value) {
$xml .= "<" . $name . ">" . $value . "</" . $name . ">";
}
$xml .= '</'.$params['wrapper'].'>';
Отправка запроса
После создания XML-запроса необходимо отправить его на сервер через API сервиса sms.mobilgroup.ru. Для этого создайте новый сеанс cURL с помощью функции curl_init()
и настройте его параметры:
CURLOPT_URL
– адрес, куда будет отправлен запрос;
CURLOPT_POST
– указывает на то, что запрос будет отправлен методом POST;
CURLOPT_POSTFIELDS
– содержит XML-запрос, который мы создали ранее;
CURLOPT_RETURNTRANSFER
– указывает на то, что результат запроса будет возвращен в виде строки;
CURLOPT_HTTPHEADER
– содержит заголовок запроса, который указывает на тип содержимого (application/xml).
Полный пример для отправки запроса:
$params = array(
'first_line' => '?xml version="1.0" encoding="UTF-8"?',
'wrapper' => 'request',
'body' => array(
'user_id' => 1234, // ID учетной записи в сервисе
'user' => '71111111111', // телефон в сервисе
'pwd' => 'xxxxxxxxxxx', // пароль в сервисе
'command' => 'send', // тип события Отправка СМС
'phone' => '71111111111', // номер получателя
'message' => 'Интернет-магазин Лаптянки, Ваш код 1234', // текст СМС
'id' => time().rand(1111,9999), // ID для СМС, уникален для каждого сообщения
'sender' => 'Lapty', // название отправителя в смс
'rus_sms' => 1, // установить 1 если нужен русский текст в сообщении
'schedule' => date("Y-m-d H:i")
)
);
$xml = '<'.$params['first_line'].'>';
$xml .= '<'.$params['wrapper'].'>';
foreach ($params['body'] as $name => $value) {
$xml .= "<" . $name . ">" . $value . "</" . $name . ">";
}
$xml .= '</'.$params['wrapper'].'>';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, '<https://sms.mobilgroup.ru/extxml.php>');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $xml);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-type: application/xml'
));
$response = curl_exec($curl);
curl_close($curl);
Преимущества использования API сервиса sms.mobilgroup.ru
SMS-рассылка с помощью API сервиса sms.mobilgroup.ru имеет ряд преимуществ:
- Большое количество возможных получателей;
- Отправка сообщений в любую точку мира;
- Высокая скорость отправки сообщений;
- Надежность и безопасность передачи данных.
Заключение
Отправка SMS-сообщений с помощью API сервиса sms.mobilgroup.ru – это простой и удобный способ связи с вашими пользователями. Благодаря API сервиса, вы можете легко и быстро отправлять SMS-сообщения в любую точку мира.