1. DOC SIPUNI
  2. База знаний Сипуни
  3. Интеграции
  4. API
  5. Получение статистики

Получение статистики


Настройка

Автоматизирует получение и сохранение информации по звонкам в собственной базе данных (CRM).

Предоставляет возможность скачивать записи звонков для локального сохранения.

Чтобы включить услугу, перейдите в меню "Интеграции" - "API" и откройте закладку "Статистика".

Нажмите кнопку «Подключить услугу».

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

(в формате CSV)

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

НазваниеОписаниеЗначения
userНомер в системе012345
fromС какой даты24.05.2022
toДо какой даты (включительно)24.05.2022
typeТип звонка0 — Все звонки
1 — Входящий
2 — Исходящий
3 — Внутренний
stateСтатус звонка0 — Все звонки
1 — Пропущенный
2 — Принятый
treeНомер схемы000691234 — Исходящая
000-421234 — Дежурные
000-424321 — Схема распределитель спам
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

showTreeId

state

to

toAnswer

toNumber

tree

type

user

секретный ключ

От полученной строки вычисляется MD5.

Пример на PHP:

$user = '012345';
$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Номер в системе012345
limitКол-во записей1-200000
orderОтсчитывать с начальной или конечной датыasc-с начала
desc-с конца
pageСтраница пагинации1
hashКонтрольная подпись


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

limit

order

page

user

секретный ключ


От полученной строки вычисляется MD5.

Пример на PHP:

$user = '012345';
$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Номер в системе012345
idID записиБерется из CSV-файла (см. выше)
hashКонтрольная подпись


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

id

user

секретный ключ


От полученной строки вычисляется MD5.
Пример на PHP:

$user = '012345';
$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Номер в системе012345
hashКонтрольная подпись


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

user

секретный ключ


От полученной строки вычисляется MD5.
Пример на PHP:

$user = '012345';
$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;
Предыдущая статья Отправка событий Websocket
Следующая статья Yandex SpeechSense