Главная / Отправки СМС через API

Отправка СМС через PHP API

SMSimple API — web-сервис, позволяющий интегрировать функциональность нашего сервиса с вашими сайтами (или приложениями).

Скачать архив с примерами использования API (включает в себя «легкую» библиотеку XML-RPC протокола).

Работу некоторых примеров можно посмотреть здесь.

Полную документацию по библиотеке можно посмотреть здесь.

Рассылка с помощью метода http-get

Как это работает?

В качестве транспорта используется XML-RPC протокол. Библиотеки, реализующие данный протокол реализованы под все существующие языки программирования.

Для запуска данных примеров требуется:
  • Аккаунт в нашей системе (логин и пароль);
  • PHP5;
  • Библиотека XML-RPC for PHP.
Итак, начнем

Платформа поддерживает следующий режим работы: отправка SMS-сообщения на конкретный номер.

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

Отправка SMS-сообщения на конкретный номер
// Подключаем интерфейс для доступа к API
require_once('./smsimple.class.php');

// Создаем класс для доступа к API
$sms = new SMSimple(array(
    'url'      => 'http://api.smsimple.ru',
    'username' => 'xxxxx', // имя учетной записи
    'password' => 'xxxxx', // и пароль
));

try {

    // Подключаемся к сервису
    $sms->connect();

    // при помощи метода $sms->origins() можно получить список зарегистрированных подписей отправителя
    $origin_id = 1;
    $phone = '926-111-2233';
    $message = 'Hello, world!'; // сообщение в кодировке UTF-8

    // Производим отправку сообщения
    $message_id = $sms->send($origin_id, $phone, $message);

    // В случае успешной отправки получаем $message_id, по которому можно проверить статус доставки сообщения
    print 'Сообщение #'.$message_id.' отослано.';
}
catch (SMSimpleException $e) {
    print $e->getMessage();
}
Проверка статуса доставки сообщения
// Подключаем интерфейс для доступа к API
require_once('./smsimple.class.php');

// Создаем класс для доступа к API
$sms = new SMSimple(array(
    'url'      => 'http://api.smsimple.ru',
    'username' => 'xxxxx', // имя учетной записи
    'password' => 'xxxxx', // и пароль
));

try {

    // Подключаемся к сервису
    $sms->connect();

    // Уникальный идентификатор сообщения, возвращенный функцией send
    $message_id = 12345;

    /* Проверяем статус отправки сообщения.
       Если:
        $delivery['sms_delayed'] = 1    - сообщение пока не доставлено
        $delivery['sms_delivered'] = 1 - сообщение доставлено
        $delivery['sms_failed'] = 1    - сообщение не удалось доставить
    */
    $delivery = $sms->check_delivery($message_id);

}
catch (SMSimpleException $e) {
    print $e->getMessage();
}

Особенности проверки:

  • Обновление информации о статусе доставки — 5 минут.
  • В случае если доставка сообщения еще не произведена, метод будет возвращать False.
  • Попытки доставки сообщения осуществляются в течение 24 часов, с интервалом от 1 минуты, до 10 минут. Информация о статусе доставки, при ожидании "регистрации абонента в сети", будет недоступна.
  • При удачной попытке либо в случае, если сообщение отвергнуто SMS-центром, информация о результатах будет доступна сразу же.
  • По истечении 24 часов, информация о доставке сообщения гарантированно будет доступна для проверки.

Тестирование 10 смс
БЕСПЛАТНО