Получение статистики по звонкам, записей разговоров и статусов сотрудников


Через API статистики вы можете в любой момент получать информацию по звонкам в формате CSV, обрабатывать эту информацию, сохранять в своей базе данных или CRM. Также данное API предоставляет возможность скачивать записи звонков, таким образом, вы можете все записи звонков сохранять у себя на диске.

Чтобы начать пользоваться функцией, зайдите в Настройки > API > Статистика и нажмите на кнопку

«Подключить услугу».


Получение списка записей разговоров (в формате CSV)


URL: https://sipuni.com/api/statistic/export


Параметры:

НазваниеОписаниеЗначения
userНомер в системе061927
fromС какой даты24.05.2022
toДо какой даты (включительно)24.05.2022
typeТип звонка0 — Все звонки
1 — Входящий
2 — Исходящий
3 — Внутренний
stateСтатус звонка0 — Все звонки
1 — Пропущенный
2 — Принятый
treeНомер схемы000694486 — Исходящая
000-422754 — Дежурные
000-424131 — Иван Семенов
000-424722 — Схема распределитель спам
showTreeIdОтображать ID схемы0 - Нет
1 - Да
fromNumberНомер, откуда7916123456
101
102
...
toNumberНомер, куда7916123456
101
102
...
numbersRingedКому звонили0 - не отображать
1 - отображать
numbersInvolvedКто разговаривал0 - не отображать
1 - отображать
namesОтобразить имена сотрудников0 - Нет
1 - Да
outgoingLineИсходящая линия0 - не отображать
1 - отображать
toAnswerНомер, кто ответил7916123456
101
102
...
anonymousОтображать анонимные звонки0 — Нет
1 — Да
firstTimeТолько новые клиенты0 — Нет
1 — Да
dtmfUserAnswerОтобразить набор dtmf0 - Нет
1 - Да
hashКонтрольная подпись

При формировании контрольной подписи значения полей "склеиваются" в одну строку с разделителем "+" в следующем порядке:
anonymous
dtmfUserAnswer
firstTime
from
fromNumber
names
numbersInvolved
numbersRinged
outgoingLine
state
to
toAnswer
toNumber
tree
showTreeId
type
user
секретный ключ
От полученной строки вычисляется MD5.

Пример на PHP:

$user = '061927';
$from = date('d.m.Y');
$to = date('d.m.Y');
$type = '0';
$state = '0';
$tree = '';
$showTreeId = '1';
$fromNumber = '';
$numbersRinged = 0;
$numbersInvolved = 0;
$names = 0;
$outgoingLine = 1;
$toNumber = '';
$toAnswer = '';
$anonymous = '1';
$firstTime = '0';
$dtmfUserAnswer = 0;
$secret = 'ваш ключ интеграции';

$hashString = join('+', array($anonymous, $dtmfUserAnswer, $firstTime, $from, $fromNumber, $names, $numbersInvolved, $numbersRinged, $outgoingLine, $showTreeId, $state, $to, $toAnswer, $toNumber, $tree, $type, $user, $secret));
$hash = md5($hashString);

$url = 'https://sipuni.com/api/statistic/export';
$query = http_build_query(array(
    'anonymous' => $anonymous,
    'firstTime' => $firstTime,
    'from' => $from,
    'fromNumber' => $fromNumber,
    'numbersRinged' => $numbersRinged
    'outgoingLine' => $outgoingLine,
    'showTreeId' => $showTreeId,
    'state' => $state,
    'to' => $to,
    'toAnswer' => $toAnswer,
    'toNumber' => $toNumber,
    'tree' => $tree,
    'type' => $type,
    'user' => $user,
    'dtmfUserAnswer' => $dtmfUserAnswer,
    'hash' => $hash,
));

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);

header("Content-Disposition: attachment; filename=stat_$from-$to.csv");
echo $output;

Получение списка всех записей разговоров (в формате CSV)

URL: https://sipuni.com/api/statistic/export/all
Параметры:

НазваниеОписаниеЗначения
userНомер в системе061927
limitКол-во записей1-200000
orderОтсчитывать с начальной или конечной датыasc-с начала
desc-с конца
pageСтраница пагинации1
hashКонтрольная подпись



При формировании контрольной подписи значения полей "склеиваются" в одну строку с разделителем "+" в следующем порядке:
limit
order
page
user
секретный ключ
От полученной строки вычисляется MD5.

Пример на PHP:

$user = '061927';
$limit = 200000;
$order = 'asc';
$page = 1;
$secret = 'ваш ключ интеграции';

$hashString = join('+', array($limit, $order, $page, $user, $secret));
$hash = md5($hashString);

$url = 'https://sipuni.com/api/statistic/export/all';
$query = http_build_query(array(
    'limit' => $limit,
    'order' => $order,
    'page' => $page,
    'user' => $user,
    'hash' => $hash,
));

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);

header("Content-Disposition: attachment; filename=stat_$page.csv");
echo $output;



Получение файла записи разговора


URL: https://sipuni.com/api/statistic/record
Параметры:

НазваниеОписаниеЗначения
userНомер в системе061927
idID записиБерется из CSV-файла (см. выше)
hashКонтрольная подпись



При формировании контрольной подписи значения полей "склеиваются" в одну строку с разделителем "+" в следующем порядке:
id
user
секретный ключ
От полученной строки вычисляется MD5.

Пример на PHP:

$user = '061927';
$id = '1234567890.123456';
$secret = 'ваш ключ интеграции';

$hashString = join('+', array($id, $user, $secret));
$hash = md5($hashString);

$url = 'https://sipuni.com/api/statistic/record';
$query = http_build_query(array(
    'id' => $id,
    'user' => $user,
    'hash' => $hash,
));

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);

header("Content-Disposition: attachment; filename=$id.mp3");
echo $output;


Получение списка сотрудников и статусов присутствия (в формате CSV)


URL: https://sipuni.com/api/statistic/operators
Параметры:

НазваниеОписаниеЗначения
userНомер в системе061927
hashКонтрольная подпись



При формировании контрольной подписи значения полей "склеиваются" в одну строку с разделителем "+" в следующем порядке:
user
секретный ключ
От полученной строки вычисляется MD5.

Пример на PHP:

$user = '061927';
$secret = 'ваш ключ интеграции';

$hashString = join('+', array($user, $secret));
$hash = md5($hashString);

$url = 'https://sipuni.com/api/statistic/operators';
$query = http_build_query(array(
    'user' => $user,
    'hash' => $hash,
));

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);

header("Content-Disposition: attachment; filename=operators_$from-$to.csv");
echo $output;