Смс-сервисы для рассылки и получения сообщений

Рейтинг: 1Ответов: 3Опубликовано: 05.12.2014

Добрый день, друзья!

На моем сайте используется смс-рассылка с использованием сервиса sms.ru. Все работает замечательно, но начальник сказал, чтобы сделать совместимым со всеми возможными смс-сервисами. В связи с чем прошу привести полный перечень всех основных смс-сервисов, а также указать, в чем каждый отличается от остальных, требуются ли инсталляция классов, модулей или чего-то еще для работы смс отправки, а также указать, какие данные требуются для отправки сообщений (в одних случаях это api_id, в других логин и пароль, в третьих почтовый ящик или номер телефона и т.д).

В общем, задача такая, гугл особо не помог, нету полного списка всех сервисов хотя бы внутрироссийских и обзора их функциональностей и реквизитов.

P.S. И это все такие особенности в работе постоянны, и надо выполнять всего за 15 штук)), я, наверное, свалю с этой работы и найду, где хотя бы платят нормально, а требования будут такие же).

Спасибо за внимание.

Ответы

▲ 2Принят

Бегать за всем-всеми агрегаторами рассылок будет утомительно и бесполезно, поскольку кто-то закроется, кто-то откроется, кто-то протокол поменяет и т.д..
Более правильный путь - это работа напрямую с операторами сотовой связи, их как-то значительно меньше, чем агрегаторов рассылок. Т.е. стать самому себе агрегатором.
Для этого нужно заключить договор с кем-то из операторов и получить доступ к их шлюзу по протоколу SMPP, после чего поднять у себя сервис отправки смс и контроля за доставкой (из бесплатных популярен kannel) и приложить к нему веб-интерфейс управления, самописный или готовый.

▲ 1

Подключение одного SMS-сервиса займет один день! + отладка сутки. В итоге два дня и один сервис готов!

Список сервисов:
http://smsc.ru/ - он поддерживает шесть протоколов взаимодействия, выбирайте любой (наиболее удобный для Вас) протокол. Инфа тут.

http://smsaero.ru/ - очень простой, отправить сообщение можно элементарным GET-запросом. Инфа тут.

http://www.mobilmoney.ru/ - обмен по протоколам SMPP и XML.

http://www.epochta.ru/products/sms/sms-api.php - смс-сервис, по этой ссылке описано API.

http://www.sms4b.ru/programs/clearphp.php - можно скачать уже готовый php-скрипт, установить на сайте и юзать!

П.С. Это всего лишь малый список смс-сервисов. Но это самые популярные. Думаю, еще можно найти около 15 мелких - вот только особого смысла подключать их не вижу. Для отказоустойчивости системы достаточно 3-х смс-сервисов. Не думаю, что все три откажут в одно и тоже время!

▲ 1

Отвечу по привычке на свой же вопрос. Вот что мне удалось нарыть:

1) http://sms.ru

Простой и удобный сервис для отправки/получения смс. Использование кода минимально.

Установка токена выглядит проще некуда:

$token=file_get_contents("http://sms.ru/auth/get_token");

Отправка смс тоже очень простая, требует лишь наличие api ключа:

$this->config['urlSMSService'] = 'http://sms.ru/sms/send?api_id=e9c9392d-dff3-d104-d584-1e603434dc1b&to=7';
$send = file_get_contents($this->config['urlSMSService'].$data['email']."&text=".urlencode(iconv("utf-8", "windows-1251","Ваш временный код для восстановления аккаунта: ".$pass)));

В переменную $send можно получать коды ошибки, возможные при отправке.

2) http://www.smsfeedback.ru

Еще один сервис по отправке и получения смс. Объемы кода более внушительные, к примеру, функция отправки смс выглядит таким образом:

<?php

/* 
* функция передачи сообщения 
*/

function send($host, $port, $login, $password, $phone, $text, $sender = false, $wapurl = false )
{
    $fp = fsockopen($host, $port, $errno, $errstr);
    if (!$fp) {
        return "errno: $errno \nerrstr: $errstr\n";
    }
    fwrite($fp, "GET /messages/v2/send/" .
        "?phone=" . rawurlencode($phone) .
        "&text=" . rawurlencode($text) .
        ($sender ? "&sender=" . rawurlencode($sender) : "") .
        ($wapurl ? "&wapurl=" . rawurlencode($wapurl) : "") .
        "  HTTP/1.0\n");
    fwrite($fp, "Host: " . $host . "\r\n");
    if ($login != "") {
        fwrite($fp, "Authorization: Basic " . 
            base64_encode($login. ":" . $password) . "\n");
    }
    fwrite($fp, "\n");
    $response = "";
    while(!feof($fp)) {
        $response .= fread($fp, 1);
    }
    fclose($fp);
    list($other, $responseBody) = explode("\r\n\r\n", $response, 2);
    return $responseBody;
}

/* 
* использование функции передачи сообщения
*/

echo send("api.smsfeedback.ru", 80, "login", "password", 
          "79031234567", "text here", "TEST-SMS");
?>

Необходимые данные для передачи: url-сервиса, порт, логин, пароль, номер телефона, ну и соответственно сам текст смс.

3) http://www.epochta.ru/products/sms/sms-api.php

Еще один сервис по рассылке смс, подробности я пока еще не узнавал. На практике не использовал. Подробное описание работы данного сервиса описаны тут.

4) http://ruseller.com/lessons.php?rub=37&id=940

Еще один хитрый способ отправки смс, через почту. Правда, код выглядит объемным и не очень красивым местами.

P.S. Если кто предложит еще смс-сервисы и способы отправки смс, напишите, так как я сделал явно не полный обзор возможных сервисов.