Как отправить SMS сообщение с сайта

Author Автор: Роман Чернышов    Опубликовано: 31 декабря 2017

Отправить СМС с сайтаПривет уважаемые читатели моего блога, сегодня я хочу рассказать немного про СМС сервисы, или про то как отправить СМС сообщение с сайта. Сегодня, привязка мобильного телефона(номера) к сайту, столь же актуальна как и привязка емаил. Некоторые крупные порталы и социальные сети, почти полностью перешли на регистрацию пользователей и их дальнейшую авторизацию на сайте, по средствам номера мобильного телефона, используя его в качестве логина, а СМС с кодом в качестве ключа доступа.

Для того, чтобы отправить СМС сообщение с сайта, необходимо зарегистрироваться на сайте СМС-шлюза(ниже рассмотрим несколько из них) — это сервис предоставляющий возможность автоматически отправить СМС сообщение любому количеству пользователей вашего сайта. После регистрации и пополнения баланса, все что вам нужно это передать сервису команду(с помощью REST API, HTTP запроса или SMTP) на отправку сообщения абоненту, указав при этом номер мобильного телефона и текст сообщения.

Где это может пригодиться

  1. Регистрация на сайте с подтверждением номера телефона, последующая авторизация по СМС коду доступа, а также восстановление доступа в случае утраты пароля;
  2. Двухфакторная авторизация на сайте, повышающая степень защищенности аккаунта пользователя, от возможного взлома;
  3. Подтверждение по СМС тех или иных действий производимых пользователем на сайте. Например перевод денежных средств со своего кошелька на сайте, на кошелек другого пользователя;
  4. Получение важных уведомлений, новостей;
  5. Подтверждение по СМС также позволяет отсеять на этапе регистрации: ботов, фейков, спамеров, клонов и т.д., или во всяком случае сделает для них процесс регистрации нового аккаунта несколько более затруднительным, нежели чем с простым указанием емаил адреса.

Краткий обзор СМС сервисов

Я в своих проектах использую следующие СМС сервисы: sms.ru, websms.rusmsaero.rusmsbliss.ru, у каждого из них есть свои преимущества и недостатки. Основные критерии по которым я буду сравнивать эти четыре сервиса, это стоимость одного СМС сообщения по России, сложность подключения к системе(юридические аспекты), сложность подключения с технической точки зрения(интеграция на сайт), количество способов отправки сообщения, дополнительные инструменты, качество работы службы поддержки.

СервисЦена 1 СМСДоговорИнтеграция на сайтОтправка сообщенияИнструментыПоддержка
sms.ruот 1.50 р.ДаЛегко
Хорошая документация
Примеры
Модули
SMTP
HTTP
Viber
интеграция с CRM
Стоп-листы
автоматика
API
партнерская программа
5 баллов
websms.ruот 0.90 р.ДаЛегко
Хорошая документация
Примеры
Модули
SMTP
SOAP
HTTP
XML
интегр. 1C
Web-интерфейс
расписание
виджет
смс-подписка
модераторы
партнерская программа
4 балла
smsaero.ruот 1.30 р.Да/НетСредне
Документация
Модули
HTTP
SMPP
Viber рассылка
HLR-запросы
Сбор контактов
4 балла
smsbliss.ruот 1.30 р.Да/НетСредне
Документация
HTTP
(REST, JSON)
SMTP
Входящие SMS
партнерская программа
5 баллов

Касаемо стоимости СМС сообщений надо отметить, что чем больше сообщений вы отправляете или покупаете пакет сообщений большего размера, тем меньше стоимость одного СМС. У всех сервисов есть гибкая система скидок. В сводной таблице я сравниваю цены из расчета отправки одного СМС, без учета возможного дисконта. Также у некоторых операторов предусмотрена оправка дешевых СМС но с некоторыми ограничениями,  такие варианты отправки я также не рассматриваю.

Примеры отправки на PHP

И так, вы зарегистрировались на подходящем для вас СМС сервисе, пополнили баланс и заключили договор. Теперь можно отправить сообщение из PHP скрипта, одним из следующих способов:

sms.ru HTTP запрос

<?php
$url = 'http://sms.ru/sms/send?api_id=YOU_LOGIN&to=+74955555555&text=Текст_сообщения&from=Имя_Отправителя';
$result = file_get_contents($url);
?>

websms.ru SMTP

<?php
$message = "user=YOU_LOGIN \r\n pass=YOU_PASS \r\n fromPhone=Имя_Отправителя \r\n tels=+74955555555 \r\n mess=Текст сообщения \r\n";
mail("post@websms.ru", "", $message, "From: from_email@example.com");
?>

smsaero.ru HTTP запрос

<?php
$url = 'https://gate.smsaero.ru/send/?user=YOU_LOGIN&password=YOU_PASS&to=+74955555555&text=Текст_сообщения&from=Имя_Отправителя';
$result = file_get_contents($url);
?>

smsbliss.ru SMTP

<?php
$message = "Текст сообщения \r\n YOU_LOGIN: Test \r\n password: YOU_PASS \r\n sender: Имя_Отправителя";
mail("74955555555@gate.smsbliss.ru", "", $message, "From: from_email@example.com");
?>

Обозначения в приведенных примерах:
74955555555 — номер телефона абонента, которому следует отправить СМС сообщение;
YOU_LOGIN — ваш логин на сайте сервиса или ключ API;
YOU_PASS — ваш пароль на сайте сервиса;
Имя_Отправителя — имя отправителя состоящее из 11 символом латинского алфавита или цифр, которое абонент увидит в качестве отправителя;
Текст сообщения — 70 кириллических или 160 латинских символом СМС сообщения (можно и больше, но тогда сервис засчетает сообщение как за 2 и более).

Обращайтесь за помощью!

Если требуется помощь в подключении СМС сервиса к вашему сайту, то буду рад с вами поработать! На что вы можете рассчитывать?

  1. Разработка эксклюзивного функционала для вашего сайта;
  2. Реализация ваших идей;
  3. Интеграция готовых модулей;
  4. Настройка СМС сервиса;
  5. Поддержка.

Оставить комментарий

Автор блога
Чернышов Роман
Роман Чернышов
Веб-разработчик, Full Stack
Senior, Architector
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка