Через API статистики вы можете в любой момент получать информацию по звонкам в формате CSV, обрабатывать эту информацию, сохранять в своей базе данных или CRM. Также данное API предоставляет возможность скачивать записи звонков, таким образом, вы можете все записи звонков сохранять у себя на диске.
Чтобы начать пользоваться функцией, зайдите в Настройки > API > Статистика и нажмите на кнопку «Подключить услугу».
Получение списка записей разговоров (в формате CSV)
URL: https://sipuni.com/api/statistic/export
Параметры:
Название |
Описание |
Значения |
---|---|---|
user | Номер в системе | 078332 |
from | С какой даты | 30.01.2019 |
to | До какой даты (включительно) | 30.01.2019 |
type | Тип звонка | 0 — Все звонки 1 — Входящий 2 — Исходящий 3 — Внутренний |
state | Статус звонка | 0 — Все звонки 1 — Пропущенный 2 — Принятый |
tree | Номер схемы | 000658612 — Входящая 000658610 — Исходящая |
fromNumber | Номер, откуда | 7916123456 101 102 ... |
toNumber | Номер, куда | 7916123456 101 102 ... |
toAnswer | Номер, кто ответил | 7916123456 101 102 ... |
anonymous | Отображать анонимные звонки | 0 — Нет 1 — Да |
firstTime | Только новые клиенты | 0 — Нет 1 — Да |
hash | Контрольная подпись |
При формировании контрольной подписи значения полей "склеиваются" в одну строку с разделителем "+" в следующем порядке:
anonymous
firstTime
from
fromNumber
state
to
toAnswer
toNumber
tree
type
user
секретный ключ
От полученной строки вычисляется MD5.
Пример на PHP:
$user = '078332'; $from = date('d.m.Y'); $to = date('d.m.Y'); $type = '0'; $state = '0'; $tree = ''; $fromNumber = ''; $toNumber = ''; $toAnswer = ''; $anonymous = '1'; $firstTime = '0'; $secret = 'ваш ключ интеграции'; $hashString = join('+', array($anonymous, $firstTime, $from, $fromNumber, $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, 'state' => $state, 'to' => $to, 'toAnswer' => $toAnswer, 'toNumber' => $toNumber, 'tree' => $tree, 'type' => $type, '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_$from-$to.csv"); echo $output;
Получение файла записи разговора
URL: https://sipuni.com/api/statistic/record
Параметры:
Название | Описание | Значения |
---|---|---|
user | Номер в системе | 078332 |
id | ID записи | Берется из CSV-файла (см. выше) |
hash | Контрольная подпись |
При формировании контрольной подписи значения полей "склеиваются" в одну строку с разделителем "+" в следующем порядке:
id
user
секретный ключ
От полученной строки вычисляется MD5.
Пример на PHP:
$user = '078332'; $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 | Номер в системе | 078332 |
hash | Контрольная подпись |
При формировании контрольной подписи значения полей "склеиваются" в одну строку с разделителем "+" в следующем порядке:
user
секретный ключ
От полученной строки вычисляется MD5.
Значения полей в результатах статистики.
Status - статус сотрудника в данный момент времени :
"free" - сотрудник на линии;
"away" - сотрудник ушёл с линии;
Call state - текущая занятость относительно звонков:
"idle" - сотрудник свободен для принятия или совершения звонка;
"ringing" - либо на устройство сотрудника поступил входящий звонок, либо он совершает исходящий дозвон;
"talking" - сотрудник находится в разговоре.
Пример на PHP:
$user = '078332'; $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;