Описание 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 |
Электронная почта пользователя. | 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}'