Описание API ЛК сервиса Team

Примеры даны с использованием Linux утилиты curl. Вы можете использовать любой аналогичный удобный вам инструмент.

Логин и получение токена

Выполните запрос с выводом результата:

curl -d "{\"login\":\"{YOUR_EMAIL}\",\"password\":\"{YOUR_PASS}\"}" -H "Content-Type: application/json" -H "Accept: application/json, text/plain, */*" -H "Referer: https://{YOUR_TENANT}.softphone.pro/login/" -k -X POST "https://{YOUR_TENANT}.softphone.pro/login/api/auth" -v

где:

Параметр Описание Пример
{YOUR_TENANT} Адрес вашего ЛК в сервисе Team, строка после https:// до первой точки. company
{YOUR_EMAIL} Почта администратора ЛК. admin@company.ru
{YOUR_PASS} Пароль администратора ЛК. password

В результате запроса ищем строку начинающуюся с:

< Set-Cookie: jwt

Из этой строки берём токен (далее по тексту {YOUR_TOKEN}) - всё, что находится между знаком = и символом ;.

Создание пользователя

Выполните запрос:

curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer {YOUR_TOKEN}" -d "{\"usesSoftphone\":true,\"name\":\"John\",\"surname\":\"Doe\",\"email\":\"user@company.ru\",\"password\":\"123456\",\"role\":\"EMPLOYEE\",\"groups\":[1,2],\"config\":\"{% include \\\"_Restrictions\\\" %}\n{% include \\\"_SipSettings\\\" %}\n{% include \\\"_Account1\\\" %}\n{% include \\\"_ACW\\\" %}\n{% include \\\"_Statuses\\\" %}\n{% include \\\"_Camera\\\" %}\n{% include \\\"_ScreenRecording\\\" %}\n{% include \\\"Default\\\" %}\"}" https://{YOUR_TENANT}.softphone.pro/api/settings/users/save

Параметры запроса:

Параметр Описание Пример
usesSoftphone Использует ли пользователь Softphone.Pro. true
name Имя пользователя (непустая строка, длиной до 256 символов). John
surname Фамилия пользователя (непустая строка, длиной до 256 символов). Doe
email Электронная почта пользователя. user@company.ru
password Пароль пользователя (непустая строка, длиной от 6 до 256 символов). 123456
role Роль пользователя.

EMPLOYEE - оператор;

MANAGER - руководитель;

RESTRICTED_ADMIN - администратор (без управления подпиской).

groups

ID групп, в которых пользователь будет состоять, один или несколько через запятую. Параметр задаётся в квадратных скобках.

ID групп можно получить в адресной строке браузера во время настройки группы.

[1] - пользователь состоит в группе с ID 1;

[2,4,7] - пользователь состоит в группах с ID 2, 4 и 7.

manageGroups

ID групп, которыми пользователь будет управлять, если его роль MANAGER или RESTRICTED_ADMIN, один или несколько через запятую. Параметр задаётся в квадратных скобках.

ID групп можно получить в адресной строке браузера во время настройки группы.

[1] - пользователь управляет группой с ID 1;

[2,4,7] - пользователь управляет группами с ID 2, 4 и 7.

config Конфигурация Softphone.Pro. Пример конфигурации вы можете найти в поле Конфигурационный файл на странице настроек пользователя сервиса Team. {% include "_Restrictions" %}\n{% include "_SipSettings" %}\n{% include "_Account1" %}\n{% include "_ACW" %}\n{% include "_Statuses" %}\n{% include "_Camera" %}\n{% include "_ScreenRecording" %}\n{% include "Default" %}

После удачного выполнения запроса на добавление вам вернётся ID созданного пользователя, вы можете сохранить его для того, чтобы использовать при удалении.

Удаление пользователя

Выполните запрос:

curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer {YOUR_TOKEN}" -d "{USER_ID}" https://{YOUR_TENANT}.softphone.pro/api/settings/users/delete
Параметр Описание Пример
{USER_ID}

ID пользователей для удаления, один или несколько через запятую. Значение параметра задаётся в квадратных скобках.

ID пользователя можно получить в ответе на запрос на добавление или в адресной строке браузера во время настройки пользователя.

[1] - удалить пользователя с ID 1;

[2,4,7] - удалить пользователей с ID 2, 4 и 7.

Получение истории статусов операторов

Выполните запрос:

curl -H "Authorization: Bearer {YOUR_TOKEN}" -k -X GET "https://{YOUR_TENANT}.softphone.pro/api/reports/agents/worktime/raw?from=2019-01-01T00:00:00&to=2020-01-02T00:00:00&format=csv"

Параметры запроса:

Параметр Описание Пример
from Дата и время в формате UTC, с которого надо получить данные. 2019-01-01T00:00:00
to Дата и время в формате UTC, по которое надо получить данные. 2019-12-31T23:59:59
format Формат полученных данных. Необязательный параметр. csv или tsv

Получение истории звонков

Выполните запрос:

curl -H "Authorization: Bearer {YOUR_TOKEN}" -k -X GET "https://{YOUR_TENANT}.softphone.pro/api/history/calls/export?dateFrom=2021-10-13T00:00:00%2B05:00&dateTo=2021-10-14T00:00:00%2B05:00&localTimeZoneOffset=%2B300"

Параметры запроса:

Параметр Описание Пример
dateFrom Дата и время в формате UTC, с которого надо получить историю.
Положительный сдвиг задаётся знаком %2B (+ в кодировке), отрицательный - знаком -.
2021-10-13T00:00:00%2B05:00
dateTo Дата и время в формате UTC, по которое надо получить историю.
Положительный сдвиг задаётся знаком %2B (+ в кодировке), отрицательный - знаком -.
2021-10-14T00:00:00%2B05:00
localTimeZoneOffset Сдвиг времени от нулевого часового пояса в минутах. Положительный сдвиг задаётся знаком %2B (+ в кодировке), отрицательный - знаком -. %2B180
или
-300
lang Язык экспортируемого файла. По умолчанию английский (en). Необязательный параметр. ru или en
typeFile Формат полученных данных. По умолчанию xlsx. Необязательный параметр. xlsx или csv

Загрузка информации с АТС Asterisk в личный кабинет сервиса Team

Если вам нужно загрузить информацию с вашей АТС Asterisk в личный кабинет сервиса Team, выполните запрос:

curl --request POST https://{YOUR_TENANT}.softphone.pro/api/reports/asterisk/upload -H 'Authorization: Bearer {YOUR_TOKEN} ' --form 'logs=@"{YOUR_PATH_TO_FILE_QUEUELOG}"' 

Параметры запроса:

Параметр Описание Пример
{YOUR_PATH_TO_FILE_QUEUELOG} Путь до файла queue_log на сервере, с которого производится запрос. /var/log/asterisk/queueLog

Результатом успешного запроса будет количество звонков, загруженных в личный кабинет. Если вы получите какую-либо ошибку, вы можете очистить все ранее загруженные данные и повторить загрузку файла.

Чтобы удалить ранее загруженные в ЛК данные об очередях, выполните следующий запрос:

curl --request POST https://{YOUR_TENANT}.softphone.pro/api/reports/asterisk/clear -H 'Authorization: Bearer {YOUR_TOKEN}'