Лично мне часто приходится работать с различными сервисами уведомлений и sms шлюзы это, наверное, самые удобные для пользователя. Для разработчиков и программистов работать с смс шлюзом тоже обычно очень легко. Большинство из них имеют свой API и подробную документацию. По большому счёту это службы b2b от одних разработчиков для других.
Если смотреть со стороны обычного пользователя SMS шлюз отправляющий уведомления на мобильный телефон это очень удобно и безопасно. Я сейчас говорю о реально полезных сервисах, а не о всякой надоедливой рекламе 🙂
Для чего нужен sms шлюз?
- организовать напоминание пароля
- восстановление пароля или каких то других конфиденциальных данных.
- авторизация, подтверждение личности \ аккаунтов
- различные напоминания
- уведомления
- реклама \ спам
Что лучше sms шлюз или напрямую с оператором?
Все ОпСоСы дают такую возможность для крупных B2B клиентов, но в большинстве случаем это всё мало афишируется и нужно в каждом конкретном случае связываться с их менеджерами и договариваться о подобном сервисе услуг. Конечно же если есть возможность работать напрямую с мобильным оператором, то лучше сделать именно так. Но только вот для этого понадобится заключить договор с оператором и не все ещё операторы захотят работать с мелкими ИП или ООО, а уж с физиками точно не будут. Опять же цены на смс, при работе напрямую, будут значительно меньше, но там тоже всё зависит от объемов и если вам нужно отправлять не больше 100 смс в месяц, то возможно напрямую от оператора это выйдет даже дороже.
Есть ещё подводные камни при работе напрямую с оператором:
- Не у всех операторов есть удобные инструменты и API.
- Нет никаких админок и прочего, что вы привыкли видеть у разрекламмированых в интернете смс шлюзах.
Например при работе с пчелайном мне пришлось освоить особый протокол SMPP , по которому обычно операторы шлют свои SMSки, а вместо админки была только электронная почта одного из сотрудников пчелайна, который помогал решить возникшие вопросы. Но это было всё давно и сейчас возможно уже всё поменялось. Ещё советую посмотреть в сторонут теле2, у них есть удобный интерфейс для бизнес клиентов и возможность слать смс напрямую от них через API, только вот цены при небольших объёмах не очень интересные.
Итого. Если есть возможность и устраивает цена, работать напрямую с оператором гораздо надёжнее и выгоднее. В противном случае нужно смотреть в сторону обычных sms шлюзов.
Таблица — обзор SMS шлюзов по ценам и услугам
Данную табличку собирал сам для себя. Но возможно она ещё кому понадобится, тут только три самых популярных шлюза. Я отобрал именно эти шлюзы, потому что у них есть удобная админка, откуда можно вручную слать sms, а так же своё API, которое понадобиться для автоматизации процесса. Данные на текущий 2020 год, но естественно цены у них могут очень быстро меняться. Если кто-то захочет расширить таблицу и дополнить — пишите в комментарии. При желании могу выложить это в exel формате.
Название | адрес | буквенное имя | админка\API | Тариф зависит от суммы платежа в месяца | МТС | Билайн | Мегафон | Теле2 | дешёвые смс без гарантии доставки и без имени |
sms.ru | http://sms.ru/ | бесплатно | есть\есть | нет | 2,12 | 2,38 | 2,37 | 2,38 | 5 смс бесплатно на свой номер |
epochta | https://www.epochta.ru/ | от 1000-2000 | есть\есть | да | 2,22 | 2,49 | 2,75 | 2,83 | есть от 0,30р |
smsc.ru | https://smsc.ru/ | от 1000-2000 | есть\есть | да | 1,5 | 2,15 | 1,92 | 2,45 | нет |
Как видно смс у них стоят примерно одинаково и всё зависит опять от объемов. Из последнего что использовал сам и настраивал это SMS.ru. Собственно от них мне прилетает бесплатная sms при бекапе этого сайта на сервере. Если использовать в личных нуждах на один номер у них есть 5 бесплатных sms в день. Этого более чем достаточно, чтобы оповещать себя о каких-либо сбоях на сайте. Так что рекомендую для админов и блогеров будет полезно.
В качестве бонуса покажу пример простейшего скрипта на php для работы с sms.ru.
Скрипт на php для отправки бесплатного sms через sms.ru
Для работы скрипта нужна будет библиотека, которую можно скачать на сайте sms.ru, а так же тут отправляется письмо по электронной почте. Для отправки письма нужно настроить сервер, но в большинстве случаев это уже сделано. Если письмо не нужно, можно просто закоментировать 3 и 4 строку сверху и снизу. А ещё тут используется определение IP адреса нашего сервера из вот этой статьи.
Для работы так же нужен уникальный ключ, который можно получить бесплатно при регистрации на sms.ru.
<?php $ipaddr = system('curl ifconfig.me'); if (mail("pochta@ya.ru","backup hosting server", "бекап сайтов готов! Мои ИП: $ipaddr")) {echo "Сообщение передано функции mail, проверьте почту в ящике."; require_once 'sms_lib/sms.ru.php'; $smsru = new SMSRU('B$FDS$-TFD234F-7360-826D-CDDFR7JJA44B'); // Ваш уникальный программный ключ, который можно получить на главной странице $data = new stdClass(); $data->to = '79055684477'; //номер куда уйдет смс $data->text = 'Бекап сайта готов! Мои ИП:'.$ipaddr; // Текст сообщения // $data->from = ''; // Если у вас уже одобрен буквенный отправитель, его можно указать здесь, в противном случае будет использоваться ваш отправитель по умолчанию // $data->time = time() + 7*60*60; // Отложить отправку на 7 часов // $data->translit = 1; // Перевести все русские символы в латиницу (позволяет сэкономить на длине СМС) // $data->test = 1; // Позволяет выполнить запрос в тестовом режиме без реальной отправки сообщения // $data->partner_id = '1'; // Можно указать ваш ID партнера, если вы интегрируете код в чужую систему $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."; } } else echo "Функция mail не работает, свяжитесь с администрацией хостинга."; ?>
Естественно этот скрипт вызывается в нужное нам время из других скриптов, например после удачного\неудачного бекапа или когда появился новый комментарий на сайте. Тут уже всё будет зависеть от вашей фантазии.