- Как отправить СМС из PHP?
- Отправка одного СМС сообщения
- Отправка нескольких СМС сообщений
- Получить статус отправленных сообщений
- Узнать стоимость СМС сообщений
- Узнать баланс
- Узнать лимит
- Получить одобренных отправителей
- Добавить номер в стоплист
- Удалить номер из стоплиста
- Получить список номеров в стоплисте
- Значения кодов
- Php отправка сообщения на телефон
- sms php
- Оцените статью:
- Статьи
- Комментарии
- Запись экрана
Как отправить СМС из PHP?
Чтобы отправить СМС из PHP, достаточно подключить в ваш код следующую библиотеку. Отправка СМС при этом осуществляется максимально быстро и удобно.
Файл | Ссылка |
---|---|
Библиотека v1.2 (08 июня 2023) | https://sms.ru/files/smsru_php.zip |
Отправка одного СМС сообщения
require_once 'sms.ru.php'; $smsru = new SMSRU('[зарегистрируйтесь, чтобы получить api_id]'); // Ваш уникальный программный ключ, который можно получить на главной странице $data = new stdClass(); $data->to = 'телефон, на который регистрировались'; $data->text = 'Hello World'; // Текст сообщения // $data->from = ''; // Если у вас уже одобрен буквенный отправитель, его можно указать здесь, в противном случае будет использоваться ваш отправитель по умолчанию // $data->time = time() + 7*60*60; // Отложить отправку на 7 часов // $data->translit = 1; // Перевести все русские символы в латиницу (позволяет сэкономить на длине СМС) // $data->test = 1; // Позволяет выполнить запрос в тестовом режиме без реальной отправки сообщения // $data->partner_id = '1'; // Можно указать ваш ID партнера, если вы интегрируете код в чужую систему // $data->ip = '89.100.111.222'; // IP адрес пользователя, в случае если вы отправляете код авторизации ему на номер в ответ на его запрос (к примеру, при регистрации). В случае аттаки на ваш сайт, наша система сможет помочь с защитой. $sms = $smsru->send_one($data); // Отправка сообщения и возврат данных в переменную if ($sms->status == "OK") < // Запрос выполнен успешно echo "Сообщение отправлено успешно. "; echo "ID сообщения: $sms->sms_id. "; echo "Ваш новый баланс: $sms->balance"; > else < echo "Сообщение не отправлено. "; echo "Код ошибки: $sms->status_code. "; echo "Текст ошибки: $sms->status_text."; >
Отправка нескольких СМС сообщений
require_once 'sms.ru.php'; $smsru = new SMSRU('[зарегистрируйтесь, чтобы получить api_id]'); // Ваш уникальный программный ключ, который можно получить на главной странице $data = new stdClass(); /* Если текст на номера один */ $data->to = 'телефон, на который регистрировались,74993221627'; // Номера для отправки сообщения (От 1 до 100 шт за раз). Вторым указан городской номер, по которому будет возвращена ошибка $data->text = 'Hello World'; // Текст сообщения /* Если текст разный. В этом случае $data->to и $data->text обрабатываться не будут и их можно убрать из кода */ $data->multi = array( // От 1 до 100 штук за раз "телефон, на который регистрировались" => "Hello World", // 1 номер "74993221627" => "Hello World 2", // 2 номер (указан городской номер, будет возвращена ошибка) ); // $data->from = ''; // Если у вас уже одобрен буквенный отправитель, его можно указать здесь, в противном случае будет использоваться ваш отправитель по умолчанию // $data->time = time() + 7*60*60; // Отложить отправку на 7 часов // $data->translit = 1; // Перевести все русские символы в латиницу (позволяет сэкономить на длине СМС) // $data->test = 1; // Позволяет выполнить запрос в тестовом режиме без реальной отправки сообщения // $data->partner_id = ''; // Можно указать ваш ID партнера, если вы интегрируете код в чужую систему $request = $smsru->send($data); // Отправка сообщений и возврат данных в переменную if ($request->status == "OK") < // Запрос выполнен успешно foreach ($request->sms as $phone => $sms) < // Перебираем массив отправленных сообщений if ($sms->status == "OK") < echo "Сообщение на номер $phone отправлено успешно. "; echo "ID сообщения: $sms->sms_id. "; echo ""; > else < echo "Сообщение на номер $phone не отправлено. "; echo "Код ошибки: $sms->status_code. "; echo "Текст ошибки: $sms->status_text. "; echo ""; > > echo "Ваш новый баланс: $request->balance"; > else < echo "Ошибка при выполнении запроса. "; echo "Код ошибки: $request->status_code. "; echo "Текст ошибки: $request->status_text. "; >
Получить статус отправленных сообщений
Мы настоятельно рекомендуем использовать бесплатную опцию api callback для более быстрого и удобного получения статусов сообщений. Она позволяет вам не запрашивать многократно статус сообщений — он будет автоматически отправляться на ваш сервер в реальном времени.
require_once 'sms.ru.php'; $smsru = new SMSRU('[зарегистрируйтесь, чтобы получить api_id]'); // Ваш уникальный программный ключ, который можно получить на главной странице $request = $smsru->getStatus('1000-100000,1000-100001'); // ID соробщений через запятую if ($request->status == "OK") < // Запрос выполнен успешно foreach ($request->sms as $sms_id => $data) < // Перебираем массив сообщений if ($data->status == "OK") < // Статус сообщения получен echo "ID сообщения: $sms_id "; echo "Код статуса сообщения: $data->status_code "; echo "Текст статуса сообщения: $data->status_text "; echo ""; > else < // Ошибка в получении статуса echo "ID сообщения: $sms_id "; echo "Код ошибки: $data->status_code "; echo "Текст ошибки: $data->status_text "; echo ""; > > > else < echo "Ошибка при выполнении запроса. "; echo "Код ошибки: $request->status_code. "; echo "Текст ошибки: $request->status_text. "; >
Узнать стоимость СМС сообщений
require_once 'sms.ru.php'; $smsru = new SMSRU('[зарегистрируйтесь, чтобы получить api_id]'); // Ваш уникальный программный ключ, который можно получить на главной странице $data = new stdClass(); /* Если текст на номера один */ $data->to = 'телефон, на который регистрировались,74993221627'; // Номера для отправки сообщения (От 1 до 100 шт за раз). Вторым указан городской номер, по которому будет возвращена ошибка $data->text = 'Hello World'; // Текст сообщения /* Если текст разный. В этом случае $data->to и $data->text обрабатываться не будут и их можно убрать из кода */ $data->multi = array( // От 1 до 100 штук за раз "телефон, на который регистрировались" => "Hello World", // 1 номер "74993221627" => "Hello World 2", // 2 номер (указан городской номер, будет возвращена ошибка) ); // $data->from = ''; // Если у вас уже одобрен буквенный отправитель, его можно указать здесь, в противном случае будет использоваться ваш отправитель по умолчанию // $data->translit = 1; // Перевести все русские символы в латиницу (позволяет сэкономить на длине СМС) $request = $smsru->getCost($data); // Отправка сообщений и возврат данных в переменную if ($request->status == "OK") < // Запрос выполнен успешно foreach ($request->sms as $phone => $data) < // Перебираем массив СМС сообщений if ($data->status == "OK") < // Сообщение обработано echo "Номер: $phone "; echo "Стоимость: $data->cost "; echo "Длина в СМС: $data->sms "; > else < // Ошибка в отправке echo "Номер: $phone "; echo "Код ошибки: $data->status_code "; echo "Текст ошибки: $data->status_text "; > > echo "Общая стоимость: $request->total_cost "; echo "Общая длина СМС: $request->total_sms "; > else < echo "Ошибка при выполнении запроса. "; echo "Код ошибки: $request->status_code. "; echo "Текст ошибки: $request->status_text. "; >
Узнать баланс
require_once 'sms.ru.php'; $smsru = new SMSRU('[зарегистрируйтесь, чтобы получить api_id]'); // Ваш уникальный программный ключ, который можно получить на главной странице $request = $smsru->getBalance(); if ($request->status == "OK") < // Запрос выполнен успешно echo "Ваш баланс: $request->balance "; > else < echo "Ошибка при выполнении запроса. "; echo "Код ошибки: $request->status_code. "; echo "Текст ошибки: $request->status_text. "; >
Узнать лимит
require_once 'sms.ru.php'; $smsru = new SMSRU('[зарегистрируйтесь, чтобы получить api_id]'); // Ваш уникальный программный ключ, который можно получить на главной странице $request = $smsru->getLimit(); if ($request->status == "OK") < // Запрос выполнен успешно echo "Ваш лимит: $request->total_limit "; echo "Использовано сегодня: $request->used_today "; > else < echo "Ошибка при выполнении запроса. "; echo "Код ошибки: $request->status_code. "; echo "Текст ошибки: $request->status_text. "; >
Получить одобренных отправителей
require_once 'sms.ru.php'; $smsru = new SMSRU('[зарегистрируйтесь, чтобы получить api_id]'); // Ваш уникальный программный ключ, который можно получить на главной странице $request = $smsru->getSenders(); if ($request->status == "OK") < // Запрос выполнен успешно foreach ($request->senders as $sender) < // Перебираем массив отправителей echo "Отправитель: $sender "; >> else < echo "Ошибка при выполнении запроса. "; echo "Код ошибки: $request->status_code. "; echo "Текст ошибки: $request->status_text. "; >
Добавить номер в стоплист
require_once 'sms.ru.php'; $smsru = new SMSRU('[зарегистрируйтесь, чтобы получить api_id]'); // Ваш уникальный программный ключ, который можно получить на главной странице $request = $smsru->addStoplist("79991112233","Примечание (видно только вам)"); if ($request->status == "OK") < // Запрос выполнен успешно echo "Номер добавлен в стоплист."; >else < echo "Ошибка при выполнении запроса. "; echo "Код ошибки: $request->status_code. "; echo "Текст ошибки: $request->status_text. "; >
Удалить номер из стоплиста
require_once 'sms.ru.php'; $smsru = new SMSRU('[зарегистрируйтесь, чтобы получить api_id]'); // Ваш уникальный программный ключ, который можно получить на главной странице $request = $smsru->delStoplist("79991112233"); if ($request->status == "OK") < // Запрос выполнен успешно echo "Номер удален из стоплиста."; >else < echo "Ошибка при выполнении запроса. "; echo "Код ошибки: $request->status_code. "; echo "Текст ошибки: $request->status_text. "; >
Получить список номеров в стоплисте
require_once 'sms.ru.php'; $smsru = new SMSRU('[зарегистрируйтесь, чтобы получить api_id]'); // Ваш уникальный программный ключ, который можно получить на главной странице $request = $smsru->getStoplist(); if ($request->status == "OK") < // Запрос выполнен успешно foreach ($request->stoplist as $phone=>$text) < // Перебираем массив номеров echo "Номер: $phone "; echo "Примечание: $text "; >> else < echo "Ошибка при выполнении запроса. "; echo "Код ошибки: $request->status_code. "; echo "Текст ошибки: $request->status_text. "; >
Значения кодов
Код | Значение |
---|---|
100 | Команда выполнена успешно (или сообщение принято к отправке) |
100 | Сообщение находится в нашей очереди |
101 | Сообщение передается оператору |
102 | Сообщение отправлено (в пути) |
103 | Сообщение доставлено |
104 | Сообщение не может быть доставлено: время жизни истекло |
105 | Сообщение не может быть доставлено: удалено оператором |
106 | Сообщение не может быть доставлено: сбой в телефоне |
107 | Сообщение не может быть доставлено: неизвестная причина |
108 | Сообщение не может быть доставлено: отклонено |
130 | Сообщение не может быть доставлено: превышено количество сообщений на этот номер в день |
131 | Сообщение не может быть доставлено: превышено количество одинаковых сообщений на этот номер в минуту |
132 | Сообщение не может быть доставлено: превышено количество одинаковых сообщений на этот номер в день |
200 | Неправильный api_id |
201 | Не хватает средств на лицевом счету |
202 | Неправильно указан получатель |
203 | Нет текста сообщения |
204 | Имя отправителя не согласовано с администрацией |
205 | Сообщение слишком длинное (превышает 8 СМС) |
206 | Будет превышен или уже превышен дневной лимит на отправку сообщений |
207 | На этот номер (или один из номеров) нельзя отправлять сообщения, либо указано более 100 номеров в списке получателей |
208 | Параметр time указан неправильно |
209 | Вы добавили этот номер (или один из номеров) в стоп-лист |
210 | Используется GET, где необходимо использовать POST |
211 | Метод не найден |
212 | Текст сообщения необходимо передать в кодировке UTF-8 (вы передали в другой кодировке) |
220 | Сервис временно недоступен, попробуйте чуть позже. |
230 | Превышен общий лимит количества сообщений на этот номер в день. |
231 | Превышен лимит одинаковых сообщений на этот номер в минуту. |
232 | Превышен лимит одинаковых сообщений на этот номер в день. |
300 | Неправильный token (возможно истек срок действия, либо ваш IP изменился) |
301 | Неправильный пароль, либо пользователь не найден |
302 | Пользователь авторизован, но аккаунт не подтвержден (пользователь не ввел код, присланный в регистрационной смс) |
Последнее обновление: 08 Июня 2023 в 13:57
Php отправка сообщения на телефон
sms php
Всем доброго времени суток! В предыдущей статье посвященной php мы научились отправлять сообщения на почту с помощью php используя класс PHPMailer. Теперь пришло время рассмотреть отправку сообщений на телефон.
Тут вы должны понимать что данная процедура увы не бесплатна. Роуминг никто не отменял! Для отправки sms сообщений существуют специальные сервисы которые предоставляют работу с api. И именно через api данных сервисов мы можем отправлять сообщения на php.
Мы рассмотрим на примере использования сервиса https://sms.ru. C помощью него через api мы можем отправлять сообщения на телефон. Еще данный сервис предоставляет отправку до пяти бесплатных сообщений в сутки c ограничением до 70 символов на наш телефон. В общем со всеми услугами и правилами вы можете ознакомится на самом сервисе.
Итак поехали! Для начала нужно зарегистрироваться на данном сервисе. Переходим на сайт https://sms.ru и проходим процедуру регистрации, здесь все стандартно. Далее после того как мы попали в свой личный кабинет, перейдя во вкладку ‘мои рассылки’ мы можем отправить тестовое сообщение на свой телефон который указали при регистрации. Повторюсь ,именно только на этот телефон мы можем отправлять до пяти сообщений в сутки бесплатно с ограниченным количеством символов.
SMS сообщения при использовании данного сервиса приходят довольно шустро практически без задержек. Отлично, после того как вы проверили что все работает. Можно переходить к работе c сервисом через api. Для этого нам понадобиться взять уникальный ключ, некий api_id. Найти вы его можете в настройках, во вкладке ‘программистам’. Выглядит он примерно так 00000000-0000-0000-0000-000000000000.
Все и теперь используя данный программный код php мы можем отправлять sms сообщения на телефон.
$message = 'Отличная погода, не так ли?!'; $api_id = '00000000-0000-0000-0000-000000000000'; $phones = "7xxxxxxxxxx"; $api = 'http://sms.ru/sms/send?api_id='.$api_id.'&to='.$phones.'&text='.urlencode(iconv('utf-8','utf-8',$message)); $res = file_get_contents($api); if($res)< echo 'SMS сообщение отправлено успешно'; >else
Здесь для отправки sms сообщения мы используем стандартную функцию php _file_get_contents() и в зависимости от результата выполнения выводим сообщение.
$api_id — идентификатор api
$phones — номера телефонов на которые мы отправляем сообщения, если несколько можно указывать через запятую
$api — сформированный api запрос на сервер сервиса.
Подобная схема отправки sms сообщений используется на большинстве сервисов предоставляющих такие услуги. Поэтому вы всегда можете подобрать себе подходящий тариф и сделать sms рассылку.
Вот в принципе и все что вам необходимо знать по отправке sms — сообщений на php.
А я с вами прощаюсь. Желаю удачи и успехов! Пока!
Оцените статью:
Статьи
Комментарии
Внимание. Комментарий теперь перед публикацией проходит модерацию
Все комментарии отправлены на модерацию
Запись экрана
Данное расширение позволяет записывать экран и выводит видео в формате webm
Добавить приложение на рабочий стол