API для получения своих sms сообщений
Добавлено: 31 янв 2011, 17:30
Создание запроса на получение своих входящих и исходящих sms сообщений
Для получения своих входящих и исходящих SMS сообщений необходимо отправить HTTPS (POST и GET) запрос по адресу:
В дополнение к адресу необходимо передавать следующие параметры:
После отправки запроса вы получите ответ.
Обработка результата запроса
После обработки запроса возвращается XML или HTML с результатами выполнения запроса. Ниже приводится пример ответа в формате XML:
Если есть поле code, то оно указывает код выполнения операции:
Поле datetime Указывает дату время получения или отправки sms сообщения в формате YYYY-MM-DD HH:MM:SS.
Поле dnis указывает номер получателя сообщения.
Поле ani указывает номер отправителя.
Поле size указывает количество символов в сообщении.
Поле message содержит текст сообщения.
Поле what указывает тип сообщения: 1 - входящее прочитанное сообщение, 2 - входящее непрочитанное сообщение, 4 - исходящее сообщение
Поле source зарезервированно.
Пример отправки запроса и обработки ответа
Ниже приведен простой пример на языке программирования PHP для работы с данным API.
Для получения своих входящих и исходящих SMS сообщений необходимо отправить HTTPS (POST и GET) запрос по адресу:
- Код: Выделить всё
http://api.comtube.ru/scripts/sms_api/getsms.php
В дополнение к адресу необходимо передавать следующие параметры:
- username – логин пользователя. Обязательный параметр.
- type – тип возвращаемого результата: xml (по умолчанию) или html. Необязательный параметр.
- what – Указывает, что конкретно необходимо получить: 0 - все входящие и исходящие сообщения, 1 - входящие прочитанные сообщения, 2 - входящие непрочитанные сообщения, 3 - все входящие сообщения, 4 - исходящие сообщения. Необязательный параметр.
- date – дата/время (ГГГГ-ММ-ДД ЧЧ:ММ:СС) в часовом поясе, указанном в вашем личном кабинете. Необязательный параметр.
- when – Дополнительная информация к параметру date: 0 - получить сообщения за весь период, 1 - получить сообщения до указанной в date дате/времени (включительно), 2 - получить сообщения после указанной даты/времени, 4 - только за указанную дату. Необязательный параметр.
- signature – подпись запроса. Обязательный параметр. Как создать подпись смотрите раздел "Создание подписи (signature)"
После отправки запроса вы получите ответ.
Обработка результата запроса
После обработки запроса возвращается XML или HTML с результатами выполнения запроса. Ниже приводится пример ответа в формате XML:
- Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<result>
<smsinfo>
<datetime>2011-01-27 15:16:50</datetime>
<dnis>79261234567</dnis>
<ani>79031234567</ani>
<size>5</size>
<message>hello</message>
<what>1</what>
<source>1</source>
</smsinfo>
<smsinfo>
<datetime>2011-01-27 15:16:50</datetime>
<dnis>79035261253</dnis>
<ani>79267651209</ani>
<size>12</size>
<message>how are you?</message>
<what>2</what>
<source>1</source>
</smsinfo>
Если есть поле code, то оно указывает код выполнения операции:
- 200 - успешное выполнение.
- 400 - в запросе отсутствуют требуемые параметры или они имеют неправильные значения.
- 401 - ошибка авторизации. Не указан логин пользователя.
- 404 - ошибка авторизации. Некорректно сформирована подпись.
- 500 - системная ошибка
Поле datetime Указывает дату время получения или отправки sms сообщения в формате YYYY-MM-DD HH:MM:SS.
Поле dnis указывает номер получателя сообщения.
Поле ani указывает номер отправителя.
Поле size указывает количество символов в сообщении.
Поле message содержит текст сообщения.
Поле what указывает тип сообщения: 1 - входящее прочитанное сообщение, 2 - входящее непрочитанное сообщение, 4 - исходящее сообщение
Поле source зарезервированно.
Пример отправки запроса и обработки ответа
Ниже приведен простой пример на языке программирования PHP для работы с данным API.
- Код: Выделить всё
<?php
// В этом файле находится функция для подписи параметров
include_once('common/signature.inc');
$baseurl = "http://api.comtube.ru/scripts/sms_api/getsms.php";
// Создаем массив и заполняем его параметрами
$params = array();
$params["username"] = "mylogin";
$params["type"] = "html";
// Создаем подпись к параметрам
$urlparams = BuildUrlParamsWithSignature($params, "mypwd");
// Формируем полный URL для обращения к серверу
$url = $baseurl . "?" . $urlparams;
// Инициализируем curl и отправляем запрос
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
echo $data;
?>