API для получения статистики звонков

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

API для получения статистики звонков

Сообщение ntcargo » 06 авг 2013, 15:26

Добрый день! У Вас на сайте для получения статистики звонков используется следующий API:
https://www.comtube.com/api/scripts/api/cdr.php

Можно ли получить описание входящих и выходящих параметров для данного скрипта (хотим прикрутить эту статистику к нашей АТС 3CX)?

Пока удалось так:
Код: Выделить всё
<?

   function BuildUrlParamsWithSignature($params, $password)
   {
       ksort($params);
       $url = '';
       if (!is_array($params))
           return $url;
       foreach($params as $key => $value)
       {
           $url .= $key . "=" . urlencode($value) . "&";
       }
       $signature = md5($url . "&password=".urlencode($password));
       $url .= "signature=" . $signature;
       return $url;
   }

    $baseurl = "http://api.comtube.com/scripts/api/cdr.php";

   $params = array();// Создаем массив и заполняем его параметрами
   $params["username"] = "login";
   $params["type"] = "csvfile";
   $params["incl"] = "1";
   $params["service"] = "all";
   $params["count"] = "0";
   $params["fromdttm"] = "2013-08-01 00:00:00";
   $params["untildttm"] = "2013-08-06 00:00:00";

   $urlparams = BuildUrlParamsWithSignature($params, "password"); // Создаем подпись к параметрам
   $url = $baseurl . "?" . $urlparams; // Формируем полный URL для обращения к серверу
   $ch = curl_init(); // Инициализируем curl и отправляем запрос
   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);

   print_r($data);

?>


Этот скрипт даже выдает данные. Интересует больше всего как получить например только исходящие по IP-телефонии
ntcargo
 
Сообщения: 12
Зарегистрирован: 22 июн 2011, 17:43

Re: API для получения статистики звонков

Сообщение sd » 07 авг 2013, 10:52

ntcargo писал(а):Этот скрипт даже выдает данные. Интересует больше всего как получить например только исходящие по IP-телефонии

В параметре service поставьте outcalls вместо all
Аватара пользователя
sd
 
Сообщения: 5184
Зарегистрирован: 31 июл 2009, 13:11

Re: API для получения статистики звонков

Сообщение ntcargo » 07 авг 2013, 11:31

А можно получить список всех возможных входящих параметров и назначение полученных?
ntcargo
 
Сообщения: 12
Зарегистрирован: 22 июн 2011, 17:43

Re: API для получения статистики звонков

Сообщение sd » 08 авг 2013, 10:16

ntcargo писал(а):А можно получить список всех возможных входящих параметров и назначение полученных?

Варианты такие:
  • 'all' - все,
  • 'allcalls' - все вызовы для всех услуг,
  • 'calls' - вх/исх. вызовы,
  • 'outcalls' - исходящие вызовы,
  • 'incalls' - входящие вызовы,
  • 'callback' - вызовы услуги обратный звонок,
  • 'callme' - вызовы услуги клик-вызов (виджеты),
  • 'sms' - исходящие смс,
  • 'fax' - исходящие факсы,
  • 'conference' - вызовы для конференций,
  • 'vmgs' - вызовы рассылок голосвых сообщений
Описание каждого вызова одинаково для всех видов данных. Сейчас под рукой нет примера с данными, так что если есть вопросы, то задавайте.
Аватара пользователя
sd
 
Сообщения: 5184
Зарегистрирован: 31 июл 2009, 13:11

Re: API для получения статистики звонков

Сообщение ntcargo » 08 авг 2013, 13:29

Можно еще расшифровку вот этой строки (в ответе)
beg_call;answered_on;hangup_on;call_type;duration;sum;tariff;crcy;dnis;ani;service;app_cause;app_cause_id
ntcargo
 
Сообщения: 12
Зарегистрирован: 22 июн 2011, 17:43

Re: API для получения статистики звонков

Сообщение sd » 09 авг 2013, 10:17

ntcargo писал(а):Можно еще расшифровку вот этой строки (в ответе)
beg_call;answered_on;hangup_on;call_type;duration;sum;tariff;crcy;dnis;ani;service;app_cause;app_cause_id

beg_call - время начала вызова (в часовом поясе, указанным в настройках профиля) в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС
answered_on - время ответа на вызываемой стороне
hangup_on - время завершения вызова
call_type - тип вызова (входящий/исходящий)
duration - тарифицированное время разговора в секундах (то есть, при поминутной тарификации за вызов длительностью 61 секунду в этой графе будет 120 - округление до минуты в большую сторону)
sum - общая стоимость вызова
tariff - тариф за минуту разговора/смс
crcy - валюта, в которой было списание
dnis - набранный номер
ani - номер, от имени которого прошел вызов. Имеет смысл при входящих вызовах/смс
service - текстовое название сервиса
app_cause - описание причины завершения вызова
app_cause_id - идентификатор причины завершения вызова
Аватара пользователя
sd
 
Сообщения: 5184
Зарегистрирован: 31 июл 2009, 13:11

Re: API для получения статистики звонков

Сообщение ntcargo » 12 авг 2013, 09:42

Спасибо! Теперь все ясно!
Думаю можно эту тему прикрепить к остальным API!
ntcargo
 
Сообщения: 12
Зарегистрирован: 22 июн 2011, 17:43

Re: API для получения статистики звонков

Сообщение ntcargo » 22 авг 2013, 13:18

После работ перестала работать данная функция!
ntcargo
 
Сообщения: 12
Зарегистрирован: 22 июн 2011, 17:43

Re: API для получения статистики звонков

Сообщение sd » 22 авг 2013, 21:36

ntcargo писал(а):После работ перестала работать данная функция!

Что именно не работает? Я только что проверил - отчет формируется.
Аватара пользователя
sd
 
Сообщения: 5184
Зарегистрирован: 31 июл 2009, 13:11

Re: API для получения статистики звонков

Сообщение ntcargo » 28 авг 2013, 10:25

Функция работает с очень переменным успехом.
В строку браузера вставляю полностью сформированный URL и тут варианты:
1. 504 Gateway Time-out
2. Fatal error: Maximum execution time of 60 seconds exceeded in ... (хотя когда делаю через CURL добавляю опцию таймаута в 180 секунд)

Чаще всего это происходит только при первом запуске в день
ntcargo
 
Сообщения: 12
Зарегистрирован: 22 июн 2011, 17:43

След.

Вернуться в API

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

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