Готовое решение для отправки смс из bash

Скачайте класс

notisend.class.php для PHP5.4 и новее

notisend.class.php для PHP5.3


Посмотрите пример вызова функций класса с описанием.


      <?php
      // Подключение класса
      require_once 'notisend.class.php' ;
      
      // Notisend Инициализация объекта
      // Список параметров ($project, $key, $useSSL = false, $testMode = false)
      // $project - название проекта
      // $key - ключ проекта
      // $useSSL - не обязательный параметр, если true то взаимодействие будет осуществляться по протоколу https иначе http
      // $testMode - не обязательный параметр, если true то сообщения не будут отправляться и деньги не будут списываться(используется для отладки)
      $api = new Notisend ( 'your_project_name' , 'e24a61ef07e80', false, false );
      
      // getBalance Запрос баланса, возвращает остаток на балансе в случае успеха и false в случае ошибки
      // Параметров нет
      echo 'Текущий баланс: ' . $api->getBalance (), PHP_EOL ;
      
      // sendSMS отправка смс, возвращает true в случае успеха, false в случае ошибки
      // список параметров sendSMS($recipients, $message, $sender, $run_at = null)
      // $recipients - получатели в любом формате, пример 89121231234,9121231235
      // $message - текст сообщения
      // $sender - имя отправителя
      // %run_at - не обязательный параметр, дата и время кода будет отправленно сообщение, пример '03.10.2011 17:00'.
      echo 'отправка СМС/а смс: ' . $api->sendSMS ( '89121231234' , 'api test' , 'notisend', '03.10.2011 17:00' ), PHP_EOL ;
      
      // getResponse - последний ответ от сервера
      $response = $api->getResponse ();
      // checkStatus запрос статуса сообщения, возвращает ассоциативный массив статусов, пример {"1567" : "delivered", "1568" : "accepted"} 
      // список параметров checkStatus ($messagesId)
      // $messagesId - id сообщений через запятую, пример 1567,1568 
      $result = $api->checkStatus ( $response [ 'messages_id' ]);
      foreach ( $result as $message_id => $status ) {
      echo sprintf ( 'Статус сообщения %s: %s' , $message_id , $status ), PHP_EOL ;
      }
      
      // messagePrice - запрос стоимости смс, возвращает сумму которая спишется в случае отправки сообщения или false в случае ошибки
      // список параметров ($recipients, $message)
      // $recipients - получатели в любом формате, пример 89121231234,9121231235
      // $message - текст сообщения
      echo 'запрос стоимости смс: ' . $api->messagePrice ( '89121231234,9121231235', 'api test' ), PHP_EOL ;
      
      
      // phoneInfo - запрос информации о номерах, возвращает массив ответов содержащий названия операторов, регион, код.
      // список параметров phoneInfo( $phones )
      // $phones - номера телефонов в любом формате, пример 89121231234,9121231235
      echo 'запрос информации о номерах: ' . $api->phoneInfo ( '89121231234,9121231235' ), PHP_EOL ;
      
      // cancelSMS отмена запланированного сообщения, возвращает ассоциативный массив статусов, пример {"1567" : "canceled", "1568" : "canceled"} 
      // список параметров cancelSMS ($messagesId)
      // $messagesId - id сообщений через запятую, пример 1567,1568 
      // $api->cancelSMS ( $response [ 'messages_id' ]);
      
      // Для отладки используйте getResponse
      // $response = $api->getResponse ();
      // var_dump($response);
      // В случае обнаружение каких либо ошибок обращайтесь в техническую поддержку sms.notisend.ru http://sms.notisend.ru/support/run
      ?>