Help-Center
  • Axatel Cloud
  • О приложении
    • Регистрация
    • Функционал Аксател
      • Управление звонками
      • Прием звонков
      • Запись разговоров
      • Статистика и аналитика
      • Уведомления
      • Конференц связь
      • Селекторное совещание
      • Интеграция с другими системами
      • WEB-интерфейс
      • API
  • Техническая поддержка
    • SLA
    • Порядок обращения в службу технической поддержки
    • Удаленная помощь TeamViewer
  • Рабочее место пользователя
    • IP-телефон
      • Настройка телефонов Yealink серии T
    • Настройка клиента Zoiper
      • IOS
      • Anroid
      • Mac OS
      • Windows
    • Установка и настройка софтофон Microsip
  • Безопасность IP-телефонии
    • Защита оборудования и рабочего места
    • Операторская защита
  • Документация
    • Подготовка аудио файла для Axatel
    • API
      • API управление файлами домена
      • FAX API
      • voicebot
    • Настройка GSM, FXO шлюзов
      • VoIP-шлюзы Yeastar
        • UMTS, GSM-шлюзы TG серии
    • Подключение внешних провайдеров
      • Подключение городских SIP номеров у компании «ANITEX» РБ
    • Основные термины
    • Администрирование
    • Интеграции
      • CRM системы
        • АМОCRM
        • AlfaCRM
        • Битрикс24
        • 1С
      • Сквозная аналитика
        • Roistat
      • Речевая аналитика и контроля качества
        • COS
        • Dealapp
        • Speech analytics
    • Работа с графическим редактором сценариев
      • Блок "Компоненты"
      • Блок Работа с данными
      • Блок Управление
      • Блок Обмен сообщениями
      • Блок Телефония
    • РП: Настройки
      • Раздел: Каналы коммутации
        • SIP-устройства
        • SIP-провайдеры
      • Раздел: Нормализация номеров
      • Раздел: Обработка звонка
      • Раздел: Маршрутизация звонка
      • Раздел: Настройки домена
    • Статистика вызовов CDR
      • Успешные звонки
      • Ошибочные звонки
      • Маршруты звонков
      • История вызова Б
    • ПР: Мониторинг
      • Трассировка звонков и сценариев
      • Моделирование маршрутизации
      • Моделирование нормализации номеров внешних линий
      • Моделирование нормализации звонков между доменами
      • Активные абоненты доменов
      • Активные регистрации SIP-устройств
      • Активные подписи на состояния (BLF)
      • Активные сценарии
      • Использование лицензий
      • Состояние очередей
    • ПР: Журнал звонков
      • Журнал
      • Диаграммы
      • Шкала времени
  • FAQ
    • Часто задаваемый вопросы
      • Прием факса
      • Настройка электронной почты для отправки факса
      • О качестве связи
      • О переводах звонков
  • SIP ответы и их значения
  • Обновления
    • Список изменений
  • Разработчикам
    • Ролевые приложения
    • Создание ролевого приложения
    • Установка ролевых приложений
    • Канал статистики
Powered by GitBook
On this page
  • Введение
  • Файл ролевого приложения
  • Файл roleapp.json
  • Установка ролевого приложения
  • Результат установки

Was this helpful?

  1. Разработчикам

Создание ролевого приложения

в статье содержится инструкция и пример по созданию Ролевого приложения и загрузки его в домен.

PreviousРолевые приложенияNextУстановка ролевых приложений

Last updated 4 years ago

Was this helpful?

Введение

Ролевое приложение представляет собой Web-приложение, которое загружается в домен Аксател. Права доступа пользователей определяются ролевыми политиками безопасности в рамках Домена.

Каждое Ролевое приложение имеет связанный SVC сценарий, который выполняет задачи вычислений и предоставления данных для отображения в Ролевом приложении конечному пользователю. Запуск сценария происходит через выполнение REST запроса /exec

Ролевое приложение работает после успешной аутентификации пользователя в домене Аксател.

Файл ролевого приложения

Ролевое приложение представляет из себя zip-архив, который будет распакован на сервере при установке.

Архив содержит в себе две значимые части:

  1. Файл roleapp.json

  2. Непосредственно web-приложение, выполняемое на стороне браузера

Пример структуры файлов Ролевого приложения

Файл roleapp.json в корне архива содержит описание приложения. Как правило все файлы приложения находятся также в корне архива (index.html и другие).

Файл roleapp.json

Должен быть валидным json файлом, размер которого не превышает 10Kb. Пример json файла.

{
 "name": "Roleapp Sample",
 "description": "Monitor (old) as RoleApp description",
 "order": 5000,
 "fa-icon": "fa-paw",
 "iconPath": "assets/desktop.svg"
}

Название

Описание

name

Название ролевого приложения. Значение поля будет использовано для названия ролевого приложения в списке если администратор оставил поле "title" объекта ролевого приложения пустым.

Тип поля – строка

Обязательная переменная

description

Тип поля – строка

Обязательная переменная

order

Порядок ролевого приложения при сортировке для отображения в списке. Администратор может принудительно его задать в поле ext.order объекта roleapp.

Тип поля – число

Необязательная переменная

fa-icon

имя класса иконки Font Awesome.

Необязательная переменная

iconPath

путь до иконки для списка приложений относительно папки ролевого приложения.

Обязательная переменная

folder

Подпапка внутри архива в качестве папки с web-документами (по-умолчанию используется весь архив от корня)

Необязательная переменная

Если указан, то в результате по url’у установленного приложения будет доступен не корень архива, а эта подпапка (в url не появляется).

Например, если “folder”:”dist”, то index.html должен быть размещен в подпапке dist и файл roleapp.json нельзя будет получить из прямого URL (/app/appname/roleapp.json )

├── dist

│ └── index.html

└── roleapp.json

Установка ролевого приложения

  1. Необходимо создать SVC сценарий

  2. Создать RoleApp приложение

    • Раздел «Обработка сервиса» - «Ролевые приложения»

    • Новый объект

      • Путь приложения – уникальный путь в рамках текущего домена

      • Название приложения – как приложение будет отображаться на главной странице после авторизации

      • Права доступа – указать все права (роли) которым разрешен доступ к этому приложению

      • SVC сценарий – выбрать необходимый SVC сценарий

  3. Загрузить zip архив с RoleApp

  • Получить ID Ролевого приложения (после создания открыть карточку на редактирование и скопировать id)

  • Открыть Talend API Tester (Restlet) addon в браузере и методом PUT загрузить файл

    • Method = put

      • /rest/v1/domain/roleapps/ = constant

      • daee4ff3-0170-4032-d6ca-fa163eec3818 = RoleApp ID

      • /attachment = constant

    • Content-Type = multipart/form-data

Также загрузить файл можно через curl (нужна сессионная куки)

curl -b curl-worker.cookies \ -X PUT \ -F 'file=@roleapp_sample.zip' http://demo.axatel.ru/rest/v1/domain/roleapps/daee4ff3-0170-4032-d6ca-fa163eec3818/attachment

4. Проверить корректность загруженного файла можно через запрос на тот же адрес но с Method = GET. В результате браузер должен скачать файл attachment (переименовать в attachment.zip и он будет равен первоначально загруженному файлу)

После установки ролевого приложения И корректной связи по ролевым меткам оно появляется в списке приложений на главной странице (страница после авторизации или по клику на логотипе Аксател).

Результат установки

Приложение становится доступным на основной странице Аксател (после аутентификации и при клике на логотипе Аксател).

URL установки не известен автору приложения заранее – Путь приложения определяет администратором в момент установки. Это позволяет установить, например, разные версии одного ролевого приложения в разные папки и пользоваться ими одновременно.

Для корректной работы необходимо ссылаться на ресурсы ролевого приложения по относительным путям, например:

<!DOCTYPE html>
 <html lang="en">
 <head>
 <meta charset="utf-8">
 <title>R.API Monitor</title>
 <link rel="stylesheet" href="css/jsoneditor.min.css">
 <script src="js/jsoneditor.min.js"></script>
 <script src="js/jquery-3.1.1.min.js"></script>
 <script src="js/aes-js.js"></script>
 <script src="js/base64.js"></script>
 <script src="monitor.js"></script>

Ресурсы будут загружаться из папок …/css/, …/js/ и т.д. или напрямую из папки ролевого приложения как …/monitor.js.

Если есть необходимость использовать полный путь ссылок, то из переменной window.location.pathname в javascript можно это выяснить. Например,

<html>
 <body>
 <h1>Role Application "Def2".<h1>
 <div id="abc"></div>
 <script>
 console.log('1');
 (function() {
 var path = window.location.pathname;
 console.log('path = ', path);
 document.getElementById('abc').innerHTML = path;
 })();
 console.log('2');
 </script>
 </body>
</html>

Описание ролевого приложения. Значение будет доступно через .

URL =

= URL WS

http://demo.axatel.ru/rest/v1/domain/roleapps/daee4ff3-0170-4032-d6ca-fa163eec3818/attachment
http://demo.axatel.ru
/rest/v1/iam/sessions/current
507KB
01.Sample_roleapp_full.zip
archive
Пример ролевого приложения