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 отправка сообщения на телефон

webfanat вконтакте webfanat youtube

sms 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

Добавить приложение на рабочий стол

Источник

Оцените статью