Страница 1 из 1

API для получения своих sms сообщений

СообщениеДобавлено: 31 янв 2011, 17:30
sd
Создание запроса на получение своих входящих и исходящих sms сообщений

Для получения своих входящих и исходящих 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;

?>

Re: API для получения своих sms сообщений

СообщениеДобавлено: 24 авг 2012, 23:02
ua
Нынче такой ответ сервера

<?xml version="1.0" encoding="utf-8"?>
<result>
<smscdr>
<datetime>2010-02-10 15:48:41</datetime>
<dnis>79198997009</dnis>
<ani>+79032208855</ani>
<size>178</size>
<message>Уважаемый пользователь проекта Comtube! Поздравляем с успешным получением первого SMS сообщения. С помощью нашего сервиса "SMS" вы сможете легко принимать и отправлять сообщения.</message>
<what>2</what>
<source>1</source>
</smscdr>
</result>

Re: API для получения своих sms сообщений

СообщениеДобавлено: 11 мар 2013, 23:43
alexmlp
Странно, выдаёт 401 ошибку (Не указан логин пользователя)... Хотя в URL запроса присутствует параметр username=

Код: Выделить всё
http://api.comtube.ru/scripts/sms_api/getsms.php?username=

Что может быть? Свой логин указываю верно и в нижнем регистре (строчными).

Re: API для получения своих sms сообщений

СообщениеДобавлено: 12 мар 2013, 05:37
sd
alexmlp писал(а):Странно, выдаёт 401 ошибку (Не указан логин пользователя)... Хотя в URL запроса присутствует параметр username=

Код: Выделить всё
http://api.comtube.ru/scripts/sms_api/getsms.php?username=

Что может быть? Свой логин указываю верно и в нижнем регистре (строчными).

Прошу прощения, но это API уже не поддерживается, и возможно, уже не работает. Рекомендую использовать API, описанное в разделе для отправки сообщений. Там есть action=getsmses&what=3, который позволяет получить входящие сообщения.