API для совершения обратного звонка (Веб-телефон)

В данном форуме описаны все API, поддерживаемые нашими услугами.

Re: API для совершения обратного звонка (Веб-телефон)

Сообщение sd » 20 сен 2011, 22:43

Уважаемые пользователи, кто пользуется нашим API, большая просьба сообщить информацию о себе (достаточно только логина), написав нам на support@comtube.ru. Так же рекомендую подписаться на уведомления об изменениях в разделе API на тот случай, чтобы быть в курсе что и когда меняется.
Аватара пользователя
sd
 
Сообщения: 5184
Зарегистрирован: 31 июл 2009, 13:11

Re: API для совершения обратного звонка (Веб-телефон)

Сообщение sd » 21 сен 2011, 19:37

Предлагаем вашему вниманию вторую версию API для заказа callback-вызовов. Оно пока еще не идеально, но некоторую востребованную функциональность уже поддерживает, достаточную для того, чтобы отслеживать статус вызова, а также завершать его. Старое API пока еще будет работать (до ноября), так что у вас есть время на обновление ваших скриптов. Если есть замечания или предложения, то смело пишите. С вами мы сделаем сервис лучше. Большая просьба подписаться на уведомления об изменениях в данной ветке форума, так как возможны изменения/дополнения.
Аватара пользователя
sd
 
Сообщения: 5184
Зарегистрирован: 31 июл 2009, 13:11

Re: API для совершения обратного звонка (Веб-телефон)

Сообщение egorfedorov » 21 сен 2011, 20:48

sd писал(а):Опс, извините. В описании есть ошибка - время нужно формировать в виде YYYY-MM-DD HH:MM:SS. Вы же не указываете секунды, хотя они и не используются. Завтра, кстати, будет опубликовано новое API для callback-вызовов. Там есть поддержка получения статуса вызова (правда, есть недочеты, но все работает). Старое API все еще будет работать некоторое время (еще месяц другой), но его описание будет заменено на новое API.


Да, теперь работает, спасибо (кстати, работает и для ненулевых значений секунд, что тоже хорошо).
Со временем перелезу на новый АПИ.

Благодарю за скорость реакции.
egorfedorov
 
Сообщения: 2
Зарегистрирован: 11 май 2011, 18:36

Re: Обновление API для совершения обратного звонка

Сообщение multiton1973 » 06 авг 2012, 13:29

sd писал(а):Изменено описание API для совершения обратного звонка (Веб-телефон). API теперь возвращает тарифы по каждому номеру. Появилась поддержка параметра maxdur. Так же добавились новые значения ошибок.


Здравствуйте! В режиме mode = 1 при случае если абонент2 не ответил, занят и т.д., едет вызов абоненту1 (инициатору вызова) , где просто едет информирование того, что мы видим по АПИ. Зачем тогда этот вызов, трафик же кушает! И можно ли это как нибудь исправить?
Аватара пользователя
multiton1973
 
Сообщения: 17
Зарегистрирован: 15 окт 2010, 15:00

Re: Обновление API для совершения обратного звонка

Сообщение sd » 07 авг 2012, 11:48

multiton1973 писал(а):
sd писал(а):Изменено описание API для совершения обратного звонка (Веб-телефон). API теперь возвращает тарифы по каждому номеру. Появилась поддержка параметра maxdur. Так же добавились новые значения ошибок.


Здравствуйте! В режиме mode = 1 при случае если абонент2 не ответил, занят и т.д., едет вызов абоненту1 (инициатору вызова) , где просто едет информирование того, что мы видим по АПИ. Зачем тогда этот вызов, трафик же кушает! И можно ли это как нибудь исправить?

Вы ведь про автодозвон, когда первым делом пытаются дозвониться до вызываемой стороны, а уже потом до пользователя, заказавшего вызов? Если так, то отзвон пользователю сделан намеренно, иначе как он узнает, что до вызываемой стороны дозвониться не удалось? Наш сайт состояние вызова пока еще не показывает, поэтому пока без отзвони нельзя. Возможно, сделаем режим, когда отзвон будет отключен.
Аватара пользователя
sd
 
Сообщения: 5184
Зарегистрирован: 31 июл 2009, 13:11

Re: Обновление API для совершения обратного звонка

Сообщение multiton1973 » 07 авг 2012, 12:08

sd писал(а):
multiton1973 писал(а):
sd писал(а):Изменено описание API для совершения обратного звонка (Веб-телефон). API теперь возвращает тарифы по каждому номеру. Появилась поддержка параметра maxdur. Так же добавились новые значения ошибок.


Здравствуйте! В режиме mode = 1 при случае если абонент2 не ответил, занят и т.д., едет вызов абоненту1 (инициатору вызова) , где просто едет информирование того, что мы видим по АПИ. Зачем тогда этот вызов, трафик же кушает! И можно ли это как нибудь исправить?

Вы ведь про автодозвон, когда первым делом пытаются дозвониться до вызываемой стороны, а уже потом до пользователя, заказавшего вызов? Если так, то отзвон пользователю сделан намеренно, иначе как он узнает, что до вызываемой стороны дозвониться не удалось? Наш сайт состояние вызова пока еще не показывает, поэтому пока без отзвони нельзя. Возможно, сделаем режим, когда отзвон будет отключен.


Странно, как не показывает? Я пишу АПИ для своего сайта и состояние едет вызов или поднята трубка на стороне вызываемого абонента по АПИ мне уже известны и это я показываю вызывающей стороне! Ладно понял!
Аватара пользователя
multiton1973
 
Сообщения: 17
Зарегистрирован: 15 окт 2010, 15:00

Re: API для получения статистики (Веб-телефон)

Сообщение multiton1973 » 08 авг 2012, 19:39

sd писал(а):Отправка запроса на получение статистики

Для получения статистики необходимо отправить HTTP запрос по адресу:

Код: Выделить всё
http://api.comtube.ru/scripts/webphone_api/stat.php


В дополнение к адресу необходимо передавать следующие параметры:

  • username - логин пользователя (обязательный параметр)
  • cbk_id - Идентификатор вызова (опционально, по умолчанию =0)
  • date - Дата, за которую необходимо получить статистику (опционально, формат ГГГГ-ММ-ДД)
  • month - Месяц, за который необходимо получить статистику (опционально, используется только совместно с year)
  • year - Год, за который необходимо получить статистику (опционально, используется только совместно с month)
  • type - В каком виде вернуть результат: xml or csv (по умолчанию: csv)
  • signature - подпись запроса (обязательный параметр). Как создать подпись смотрите раздел "Создание подписи (signature)".

При этом необходимо учитывать приоритет: cbk_id, date, month и year. То есть, если указаны все параметры, то статистика будет возвращаться только по параметру cbk_id. Если его нет, то по date, и так далее.
Обратите внимание, что параметры month и year используются вместе и по отдельности не работают.

Если возникла ошибка при формировании ответа, то ее описание будет возвращено вместо данных. Ниже приводится список ошибок:

  • 400 - один из параметров указан неверно
  • 401 - не указан логин пользователя
  • 403 - учетная запись заблокирована
  • 404 - ошибка авторизации. Неправильно сформирована подпись
  • 500 - внутренняя ошибка

Пример отправки запроса и обработки ответа

Ниже приведен пример на языке программирования PHP для работы с данным API.

Код: Выделить всё
<?
include_once('common/signature.inc');

$baseurl = "http://api.comtube.ru/scripts/webphone_api/stat.php";

// Создаем массив и заполняем его параметрами
$params = array();
$params["username"] = "mylogin";
$params["month"] = "10";
$params["year"] = "2010";
$params["type"] = "csv";
//$params["cbk_id"] = 505199;

// Создаем подпись к параметрам
$urlparams = BuildUrlParamsWithSignature($params, "mypassword");

// Формируем полный 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);

// Анализируем результат
$matches = array();
preg_match("/([0-9]+);([^;]+);<br\/>/", $data, $matches);

if (count($matches) > 0)
{
  $code = $matches[1];
  $desc = $matches[2];
  echo "code: " . $code . ", desc: " . $desc;
}
else
{
  // Получен неправильный ответ от сервера
  echo $data;
}

?>



Опять проблемы в разработке обратного звонка по АПИ. В запросе вызова обратного звонка я параметр uid использую для последующего запроса на статус вызова и в том числе для статистики этого вызова (после завершения вызова), который получаю от вашего сервера вида: 83d41187-d6e1-4866-9be2-27773804cfe. Но при запросе статистики вызова с указанием данного uid, так как мне нужна статистика именно этого вызова а не по дате или периоду, то результат не получаю. Когда решил его не указывать а запрос делаю по дате, то результат получаю но вот чудо, я вижу что параметр cbk_id (который должен быть в запросе) отсутствует, а есть некий cbk_side вида хххххххх знаков! Как это так? Точнее что я должен указывать в параметре запроса cbk_id, которого я не знаю по результатам АПИ вызова?

Сегодня я уже вижу cbk_id в ответе (запрос по дате), если я его потом ставлю в запросе, то ответ получаю тот который мне нужен, но вопрос открытым остается, где мне брать этот параметр cbk_id для запроса? Если как понимаю cbk_id и uid разные параметры!
Аватара пользователя
multiton1973
 
Сообщения: 17
Зарегистрирован: 15 окт 2010, 15:00

Re: API для получения статистики (Веб-телефон)

Сообщение multiton1973 » 04 сен 2012, 10:21

multiton1973 писал(а):
sd писал(а):Отправка запроса на получение статистики

Для получения статистики необходимо отправить HTTP запрос по адресу:

Код: Выделить всё
http://api.comtube.ru/scripts/webphone_api/stat.php


В дополнение к адресу необходимо передавать следующие параметры:

  • username - логин пользователя (обязательный параметр)
  • cbk_id - Идентификатор вызова (опционально, по умолчанию =0)
  • date - Дата, за которую необходимо получить статистику (опционально, формат ГГГГ-ММ-ДД)
  • month - Месяц, за который необходимо получить статистику (опционально, используется только совместно с year)
  • year - Год, за который необходимо получить статистику (опционально, используется только совместно с month)
  • type - В каком виде вернуть результат: xml or csv (по умолчанию: csv)
  • signature - подпись запроса (обязательный параметр). Как создать подпись смотрите раздел "Создание подписи (signature)".

При этом необходимо учитывать приоритет: cbk_id, date, month и year. То есть, если указаны все параметры, то статистика будет возвращаться только по параметру cbk_id. Если его нет, то по date, и так далее.
Обратите внимание, что параметры month и year используются вместе и по отдельности не работают.

Если возникла ошибка при формировании ответа, то ее описание будет возвращено вместо данных. Ниже приводится список ошибок:

  • 400 - один из параметров указан неверно
  • 401 - не указан логин пользователя
  • 403 - учетная запись заблокирована
  • 404 - ошибка авторизации. Неправильно сформирована подпись
  • 500 - внутренняя ошибка

Пример отправки запроса и обработки ответа

Ниже приведен пример на языке программирования PHP для работы с данным API.

Код: Выделить всё
<?
include_once('common/signature.inc');

$baseurl = "http://api.comtube.ru/scripts/webphone_api/stat.php";

// Создаем массив и заполняем его параметрами
$params = array();
$params["username"] = "mylogin";
$params["month"] = "10";
$params["year"] = "2010";
$params["type"] = "csv";
//$params["cbk_id"] = 505199;

// Создаем подпись к параметрам
$urlparams = BuildUrlParamsWithSignature($params, "mypassword");

// Формируем полный 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);

// Анализируем результат
$matches = array();
preg_match("/([0-9]+);([^;]+);<br\/>/", $data, $matches);

if (count($matches) > 0)
{
  $code = $matches[1];
  $desc = $matches[2];
  echo "code: " . $code . ", desc: " . $desc;
}
else
{
  // Получен неправильный ответ от сервера
  echo $data;
}

?>



Опять проблемы в разработке обратного звонка по АПИ. В запросе вызова обратного звонка я параметр uid использую для последующего запроса на статус вызова и в том числе для статистики этого вызова (после завершения вызова), который получаю от вашего сервера вида: 83d41187-d6e1-4866-9be2-27773804cfe. Но при запросе статистики вызова с указанием данного uid, так как мне нужна статистика именно этого вызова а не по дате или периоду, то результат не получаю. Когда решил его не указывать а запрос делаю по дате, то результат получаю но вот чудо, я вижу что параметр cbk_id (который должен быть в запросе) отсутствует, а есть некий cbk_side вида хххххххх знаков! Как это так? Точнее что я должен указывать в параметре запроса cbk_id, которого я не знаю по результатам АПИ вызова?

Сегодня я уже вижу cbk_id в ответе (запрос по дате), если я его потом ставлю в запросе, то ответ получаю тот который мне нужен, но вопрос открытым остается, где мне брать этот параметр cbk_id для запроса? Если как понимаю cbk_id и uid разные параметры!



Здравствуйте! Вы можете озвучить примерные сроки выхода новой версии API? Я вас выбрал как оператора связи для своего проекта в надежде стабильности вашей компании а вы молчите на все мои обращения. Поймите у меня тоже работа стоит и чего ждать от вас я уже не знаю!
Аватара пользователя
multiton1973
 
Сообщения: 17
Зарегистрирован: 15 окт 2010, 15:00

Re: API для получения статистики (Веб-телефон)

Сообщение sd » 05 сен 2012, 13:41

multiton1973 писал(а):Здравствуйте! Вы можете озвучить примерные сроки выхода новой версии API? Я вас выбрал как оператора связи для своего проекта в надежде стабильности вашей компании а вы молчите на все мои обращения. Поймите у меня тоже работа стоит и чего ждать от вас я уже не знаю!

Прошу прощения за долгое молчание. Я обновил описание API по callbback-вызова. Так что можете его посмотреть - первый пост.
Аватара пользователя
sd
 
Сообщения: 5184
Зарегистрирован: 31 июл 2009, 13:11

Re: API для совершения обратного звонка (Веб-телефон)

Сообщение multiton1973 » 05 сен 2012, 18:48

Здравствуйте! Как с нетерпением ждали обновленное API. И уже есть вопросы:
1. Наверное тут ошибка в описание, скорее имелось ввиду для action = statistics, верно?
fromdttm - Для action = getsmses указывает дату и время, после которой необходимо получить статистику
untildttm - Для action = getsmses указывает дату и время, до которой необходимо получить статистику

2.При запросе детальной статистике я передаю только uid, который получил в заказе соединения (без номера 1 и 2) и в ответ получаю {"code":400,"desc":"action 'statistics': The value is not allowed"}, тут непонятно как так. Или нужно еще номера тоже передовать?

3. В ответе при детальной статистике к сожалению отсутствует возврат посланного в запросе параметр uid. Это не удобно будет для пользователей, так как нужно будет делать на стороне клиента, проверку полученного ответа уже по номерам 1 и 2. Но такая пара номеров может уже существовать. У каждого конечно своя логика обработки запросов, но я полагаю лучше его получать и не делать порой лишние запросы в БД скрипта обработчика. Надеюсь мою мысль поняли.
Аватара пользователя
multiton1973
 
Сообщения: 17
Зарегистрирован: 15 окт 2010, 15:00

Пред.След.

Вернуться в API

Просмотр страницы «Кто сейчас на форуме COMTUBE»

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0