sd писал(а):Опс, извините. В описании есть ошибка - время нужно формировать в виде YYYY-MM-DD HH:MM:SS. Вы же не указываете секунды, хотя они и не используются. Завтра, кстати, будет опубликовано новое API для callback-вызовов. Там есть поддержка получения статуса вызова (правда, есть недочеты, но все работает). Старое API все еще будет работать некоторое время (еще месяц другой), но его описание будет заменено на новое API.
sd писал(а):Изменено описание API для совершения обратного звонка (Веб-телефон). API теперь возвращает тарифы по каждому номеру. Появилась поддержка параметра maxdur. Так же добавились новые значения ошибок.
multiton1973 писал(а):sd писал(а):Изменено описание API для совершения обратного звонка (Веб-телефон). API теперь возвращает тарифы по каждому номеру. Появилась поддержка параметра maxdur. Так же добавились новые значения ошибок.
Здравствуйте! В режиме mode = 1 при случае если абонент2 не ответил, занят и т.д., едет вызов абоненту1 (инициатору вызова) , где просто едет информирование того, что мы видим по АПИ. Зачем тогда этот вызов, трафик же кушает! И можно ли это как нибудь исправить?
sd писал(а):multiton1973 писал(а):sd писал(а):Изменено описание API для совершения обратного звонка (Веб-телефон). API теперь возвращает тарифы по каждому номеру. Появилась поддержка параметра maxdur. Так же добавились новые значения ошибок.
Здравствуйте! В режиме mode = 1 при случае если абонент2 не ответил, занят и т.д., едет вызов абоненту1 (инициатору вызова) , где просто едет информирование того, что мы видим по АПИ. Зачем тогда этот вызов, трафик же кушает! И можно ли это как нибудь исправить?
Вы ведь про автодозвон, когда первым делом пытаются дозвониться до вызываемой стороны, а уже потом до пользователя, заказавшего вызов? Если так, то отзвон пользователю сделан намеренно, иначе как он узнает, что до вызываемой стороны дозвониться не удалось? Наш сайт состояние вызова пока еще не показывает, поэтому пока без отзвони нельзя. Возможно, сделаем режим, когда отзвон будет отключен.
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;
}
?>
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 разные параметры!
multiton1973 писал(а):Здравствуйте! Вы можете озвучить примерные сроки выхода новой версии API? Я вас выбрал как оператора связи для своего проекта в надежде стабильности вашей компании а вы молчите на все мои обращения. Поймите у меня тоже работа стоит и чего ждать от вас я уже не знаю!
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20