Примеры реализации взаимодействия на языке PHP – Stream Telecom – универсальная платформа для рассылок
+7 (812) 326 10 75 Наш офис
8 800 333 10 75 Бесплатно по России

Примеры реализации взаимодействия на языке PHP

ВНИМАНИЕ

Для использования данного вида интеграции Вам необходимо
зарегистрироваться
на серверной платформе Stream Telecom, либо зарегистрироваться через менеджера компании. При регистрации Вам присваивается логин, и тестовое имя отправителя SMS Info, которое будет автоматически удалено, после того как Вы запросите новое имя.

Пароль для интеграции задается в настройках пользователя во вкладке Настройки API.

Библиотека функций и пример реализации на PHP.zip Документация по интеграции Stream Telecom PHP.pdf

Функции

Функция формирования и отправки get-запроса на сервер через cURL

function GetConnect($href){

        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL,$href);

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        $result = curl_exec($ch);

            curl_close($ch);

            return $result;

        }

Наименование поля

Описание

 $href

Передаваемый запрос.


Функция формирования и отправки post-запроса на сервер через cURL

function PostConnect($src, $href){

        $ch = curl_init();

        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/x-www-form-

urlencoded');

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        curl_setopt($ch, CURLOPT_CRLF, true);

        curl_setopt($ch, CURLOPT_POST, true);

        curl_setopt($ch, CURLOPT_POSTFIELDS, $src);

        curl_setopt($ch, CURLOPT_URL, $href);

        $result = curl_exec($ch);

            return $result;

            curl_close($ch);

        }

Наименование поля

Описание

 $src

Передаваемый запрос.

 $href

Адрес для подключения.



GET

function GetSessionId_Get($server,$login,$password){

        $href = $server.'Session/?login='.$login.'&password='.$password;

        $result = $this -> GetConnect($href);

        return json_decode($result,true);

        }

POST

function GetSessionId_Post($server,$login,$password){ 

        $href = $server.'Session/session.php';

$src = 'login='.$login.'&password='.$password;

        $result = $this -> PostConnect($src,$href);

        return json_decode($result,true);

        }

Наименование поля

Описание

 $server

 Адрес для подключения (

http://gateway.api.sc/rest/)
.  Обязательный.

 $login

 Логин пользователя. Обязательный.

 $password

Пароль для api (задается в личном кабинете во вкладке Настройка > Безопасность) Обязательный.

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


GET

function GetBalance_Get($server,$session){

        $href = $server.'Balance/?sessionId='.$session;

        $result = $this -> GetConnect($href);

        return json_decode($result,true);

        }

POST

function GetBalance_Post($server,$session){

        $href = $server.'Balance/balance.php';

$src ='sessionId='.$session;

        $result = $this -> PostConnect($src,$href);

        return json_decode($result,true);

        }

Наименование поля

Описание

 $server

 Адрес для подключения (

http://gateway.api.sc/rest/)
.  Обязательный.

 $session

 Идентификатор сессии. Обязательный.

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

function GetStatistic($server,$session,$startDateTime,$endDateTime){

        $href = $server.'Statistic/?sessionId='.$session.

'&startDateTime='.$startDateTime.'&endDateTime='.$endDateTime;

        $result = $this -> GetConnect($href);

        return json_decode($result,true);

        }

Наименование поля

Описание

 $server

 Адрес для подключения (

http://gateway.api.sc/rest/)
.  Обязательный.

 $session

 Идентификатор сессии. Обязательный.

 $startDateTime

 Дата и время начала периода, за который необходимо получить  статистику, например 2012-01-18T00:00:00. Обязательный.

 $endDateTime

 Дата и время конца периода, за который необходимо получить  статистику, например 2012-01-18T23:59:00. Обязательный.

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

function GetIncomingSms($server,$session,$minDateUTC,$maxDateUTC){

        $href = $server.'Incoming/?sessionId='.$session.'

&minDateUTC='.$minDateUTC.'&maxDateUTC='.$maxDateUTC;

        $result = $this -> GetConnect($href);

$result = $this -> ChangeFormateDate(json_decode($result,true));

        return json_decode($result,true);

        }

Наименование поля

Описание

 $server

 Адрес для подключения (

http://gateway.api.sc/rest/)
.  Обязательный.

 $session

 Идентификатор сессии. Обязательный.

 $minDateUTC

 Минимальное значение периода за который происходит  выборка  входящих сообщений (пример 2010-06-01T19:14:00).  Обязательный.

 $maxDateUTC

 Максимальное значение периода за который происходит  выборка  входящих сообщений (пример 2010-06-02T19:14:00).  Обязательный.



GET

function GetState_Get($server,$session,$messageId){

        $href = $server.'State/?sessionId='.$session.'&messageId='.$messageId;

        $result = $this -> GetConnect($href);

$result = $this -> ChangeFormateDate(json_decode($result,true));

        return $result;

        }

POST

function GetState_Post($server,$session,$messageId){

        $href = $server.'State/state.php';

$src ='sessionId='.$session.'&messageId='.$messageId;

        $result = $this -> PostConnect($src,$href);

  $result = $this -> ChangeFormateDate(json_decode($result,true));

        return $result;

        }

Наименование поля

Описание

 $server

 Адрес для подключения (

http://gateway.api.sc/rest/)
.  Обязательный.

 $session

 Идентификатор сессии. Обязательный.

 $messageId

 Статус отправленного сообщения. Обязательный.


function SendSms($server,$session,$sourceAddress,$destinationAddress,$data,

$validity,$sendDate = ' '){

$href = $server.'Send/SendSms/';

if($sendDate != ' ')

$sendDate = '&sendDate='.$sendDate;

$src = 'sessionId='.$session.'&sourceAddress='.$sourceAddress.'&destinationAddress='.

$destinationAddress.'&data='.$data.'&validity='.$validity.$sendDate;

        $result = $this -> PostConnect($src,$href);

        return json_decode($result,true);

        }

Наименование поля

Описание

 $server

 Адрес для подключения (

http://gateway.api.sc/rest/)
.  Обязательный.

 $session

 Идентификатор сессии. Обязательный.

 $sourceAddress

 Имя отправителя. До 11 латинских символов или до  15  цифровых. Примечание: Передаваемое значение в адресе  отправителя, должно в точности соответствовать ранее  зарегистрированному. Если установлена функция  динамической  смены адреса, то значение может быть любым. Обязательный.

 $destinationAddress

 Номер получателя, в международном формате: код  страны + код  сети + номер телефона. Пример:  79031234567. Обязательный.

 $data

 Текст сообщения. Обязательный.

 $validity

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

 $sendDate

 Время передачи сообщения. Необязательный.

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

Функция отправки сообщений на несколько номеров (без учета часового пояса получателя)

function SendBulk($server,$session,$sourceAddress,$destinationAddresses,$data,$validity){

    $href = $server.'Send/SendBulk/';

$src = 'sessionId='.$session.'&sourceAddress='.$sourceAddress.'&destinationAddresses='.

$destinationAddresses.'&data='.$data.'&validity='.$validity;

$result = $this -> PostConnect($src,$href);

  return json_decode($result,true);

  }

Наименование поля

Описание

 $server

Адрес для подключения (

http://gateway.api.sc/rest/)
.  Обязательный.

 $session

Идентификатор сессии. Обязательный.

 $sourceAddress

Имя отправителя. До 11 латинских символов или до 15 цифровых. Примечание: Передаваемое значение в адресе отправителя, должно в точности соответствовать ранее зарегистрированному. Если установлена функция динамической смены адреса, то значение может быть любым. Обязательный.

 $destinationAddresses

Список номеров получателей, в международном формате: код страны + код сети + номер телефона. Пример: 79031234567, номера вводятся через запятую. Обязательный.

 $data

Текст сообщения. Обязательный.

 $validity

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

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

Отправка единичного SMS-сообщения (с учетом часового пояса получателя)

function SendByTime($server,$session,$sourceAddress,$destinationAddresses,$data,$validity){

    $href = $server.'Send/SendByTime/';

$src = 'sessionId='.$session.'&sourceAddress='.$sourceAddress.'&destinationAddress='.

$destinationAddress.'&data='.$data.'&validity='.$validity.$sendDate;

        $result = $this -> PostConnect($src,$href);

  return json_decode($result,true);

  }

Наименование поля

Описание

 $server

Адрес для подключения (

http://gateway.api.sc/rest/)
. Обязательный.

 $session

Идентификатор сессии. Обязательный.

 $sourceAddress

Имя отправителя. До 11 латинских символов или до 15 цифровых. Примечание: Передаваемое значение в адресе отправителя, должно в точности соответствовать ранее зарегистрированному. Если установлена функция динамической смены адреса, то значение может быть любым. Обязательный.

 $destinationAddress

Список номеров получателей, в международном формате: код страны + код сети + номер телефона. Пример: 79031234567, номера вводятся через запятую. Обязательный.

$data

Текст сообщения. Обязательный.

 $validity

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

 $sendDate

Время передачи сообщения. Обязательный.

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

function SendBulkPacket($server,$session,$sourceAddress,$phone_data,$validity){

        $href = $server.'Send/SendBulkPacket/';

$src = 'sessionId='.$session.'&sourceAddress='.$sourceAddress.'&phone_data='.

$phone_data.'&validity='.$validity;

        $result = $this -> PostConnect($src,$href);

        return json_decode($result,true);

        }

Наименование поля

Описание

 $server

 Адрес для подключения (

http://gateway.api.sc/rest/)
.  Обязательный.

 $session

 Идентификатор сессии. Обязательный.

 $sourceAddress

 Имя отправителя. До 11 латинских символов или до  15  цифровых. Примечание: Передаваемое значение в адресе  отправителя, должно в точности соответствовать ранее  зарегистрированному. Если установлена функция динамической  смены адреса, то значение может быть любым. Обязательный.

 $post_data

 Тексты сообщений и номера получателей. Обязательный.

 $validity

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

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

REST error code

HTTP status code

Описание

 -

 200

 OperationComplete

 1

 400

 ArgumentCanNotBeNullOrEmpty

 2

 400

 InvalidArgument

 3

 400

 InvalidSessionID

 4

 401

 SessionID expired

 5

 403

 NotEnoughCredits

 6

 400

 InvalidOperation

 7

 403

 Forbidden

 8

 500

 GatewayError

 9

 500

 InternalServerError

 10

 400

 Flood SMS

State

Описание

Тип статуса

 -1

 Отправлено (передано в мобильную сеть)

 Промежуточный

  0

 Доставлено абоненту

 Окончательный

 42

 Не доставлено

 Окончательный

 46

 Просрочено (истек срок жизни сообщения) 

 Окончательный