Страница 3 из 7

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

СообщениеДобавлено: 20 сен 2011, 22:43
sd
Уважаемые пользователи, кто пользуется нашим API, большая просьба сообщить информацию о себе (достаточно только логина), написав нам на support@comtube.ru. Так же рекомендую подписаться на уведомления об изменениях в разделе API на тот случай, чтобы быть в курсе что и когда меняется.

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

СообщениеДобавлено: 21 сен 2011, 19:37
sd
Предлагаем вашему вниманию вторую версию API для заказа callback-вызовов. Оно пока еще не идеально, но некоторую востребованную функциональность уже поддерживает, достаточную для того, чтобы отслеживать статус вызова, а также завершать его. Старое API пока еще будет работать (до ноября), так что у вас есть время на обновление ваших скриптов. Если есть замечания или предложения, то смело пишите. С вами мы сделаем сервис лучше. Большая просьба подписаться на уведомления об изменениях в данной ветке форума, так как возможны изменения/дополнения.

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

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


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

Благодарю за скорость реакции.

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

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


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

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

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


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

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

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

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


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

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


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

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

СообщениеДобавлено: 08 авг 2012, 19:39
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 разные параметры!

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

СообщениеДобавлено: 04 сен 2012, 10:21
multiton1973
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? Я вас выбрал как оператора связи для своего проекта в надежде стабильности вашей компании а вы молчите на все мои обращения. Поймите у меня тоже работа стоит и чего ждать от вас я уже не знаю!

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

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

Прошу прощения за долгое молчание. Я обновил описание API по callbback-вызова. Так что можете его посмотреть - первый пост.

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

СообщениеДобавлено: 05 сен 2012, 18:48
multiton1973
Здравствуйте! Как с нетерпением ждали обновленное 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. Но такая пара номеров может уже существовать. У каждого конечно своя логика обработки запросов, но я полагаю лучше его получать и не делать порой лишние запросы в БД скрипта обработчика. Надеюсь мою мысль поняли.