User Tools

Site Tools


api:pbx:app:settings:desktop:get

API : PBX : APP: Settings : Desktop : Get

Introduction

This request is used to retrieve the Communicator Desktop configuration for an employee. An employee can only access the employees own configuration.

Request

URL https://api.telecomx.dk/pbx/app/settings/desktop
Method GET
Access level PERSONAL, VIEWER, MANAGER, OWNER, RESELLER, RESELLER_ADMIN, ADMIN.

Query examples

https://api.telecomx.dk/pbx/app/settings/desktop

Response

Property Type Description
ringtoneExternal Id Ringtone to use for external callers - see list here, null for no ringtone.
ringtoneLocal Id Ringtone to use for internal callers - see list here, null for no ringtone.
ringtoneQueue Id Ringtone to use for calls from queues - see list here, null to use regular ringtones.
showStatusPanel Boolean Should the status panel with connection status be shown.
autoLaunch Boolean Shall the app auto launch when the employee logon their computer.
autoLaunchHide Boolean If auto launch is enabled, shall the app launch as hidden.
queueCriticalSound Boolean True to play an alarm when a queue caller has waiting for a critical long time.
theme string Name of theme for styling the app.
phoneId Id Optional id of SIP phone to pair with.
softphoneId Id Optional id of Softphone if using softphone.
dashboardId Id Optional id of dashboard to use.
windowWallboardMode Boolean Shall the app be shown i fullscreen wallboard mode.
presenceBackground Boolean If presence shall also color the background of the employee.
callBackground Boolean If on a call, also change the background of the employee.
fullscreen Boolean If we are in/shall run in fullscreeen mode.
zoom Number UI zoom level, default 100.
dashboardColumnWidth Number Standard width of columns in the dashboard (default 370).
dndWhenDesktopLocked Boolean When true Communicator sets itself DND while the computer is locked.
popupOnIncomingCall Boolean When true and Communicator is minimized or not in focus, it will pop to the front.
popupRevertWhenDone Boolean If popupOnIncomingCall is enabled, this will hide Communicator when the call has ended.
alwaysOnTop Boolean True if Communicator shall allways be on top.
beaconsMayUpdateLocation Boolean True if beacons may update the users location.
queueRingtones Array List of queues with distinct ringtones.
queueRingtones[].queue Id Id of queue.
queueRingtones[].ringtone Id Id of ringtone.
window Object Settings for the size and placement of the app window.
window.x Number X position in pixels.
window.y Number Y position in pixels.
window.width Number Width of window in pixels.
window.height Number Height of window in pixels.
globalShortcuts Object Global shortcut settings.
globalShortcuts.ANSWER Object Answer shortcut settings.
globalShortcuts.ANSWER.enabled Boolean True if the shortcut is enabled.
globalShortcuts.ANSWER.key String Key to press.
globalShortcuts.ANSWER.commandOrControl Boolean True if Command (MacOS) or Control (Windows) must also be pressed.
globalShortcuts.ANSWER.shift Boolean True if shift must also be pressed.
globalShortcuts.ANSWER.alt Boolean True if alt must also be pressed.
globalShortcuts.HANGUP Object Answer shortcut settings.
globalShortcuts.HANGUP.enabled Boolean True if the shortcut is enabled.
globalShortcuts.HANGUP.key String Key to press.
globalShortcuts.HANGUP.commandOrControl Boolean True if Command (MacOS) or Control (Windows) must also be pressed.
globalShortcuts.HANGUP.shift Boolean True if shift must also be pressed.
globalShortcuts.HANGUP.alt Boolean True if alt must also be pressed.
globalShortcuts.TOGGLE_WINDOW Object Answer shortcut settings.
globalShortcuts.TOGGLE_WINDOW.enabled Boolean True if the shortcut is enabled.
globalShortcuts.TOGGLE_WINDOW.key String Key to press.
globalShortcuts.TOGGLE_WINDOW.commandOrControl Boolean True if Command (MacOS) or Control (Windows) must also be pressed.
globalShortcuts.TOGGLE_WINDOW.shift Boolean True if shift must also be pressed.
globalShortcuts.TOGGLE_WINDOW.alt Boolean True if alt must also be pressed.
globalShortcuts.CALL Object Answer shortcut settings.
globalShortcuts.CALL.enabled Boolean True if the shortcut is enabled.
globalShortcuts.CALL.key String Key to press.
globalShortcuts.CALL.commandOrControl Boolean True if Command (MacOS) or Control (Windows) must also be pressed.
globalShortcuts.CALL.shift Boolean True if shift must also be pressed.
globalShortcuts.CALL.alt Boolean True if alt must also be pressed.
globalShortcuts.SEARCH Object Answer shortcut settings.
globalShortcuts.SEARCH.enabled Boolean True if the shortcut is enabled.
globalShortcuts.SEARCH.key String Key to press.
globalShortcuts.SEARCH.commandOrControl Boolean True if Command (MacOS) or Control (Windows) must also be pressed.
globalShortcuts.SEARCH.shift Boolean True if shift must also be pressed.
globalShortcuts.SEARCH.alt Boolean True if alt must also be pressed.
integration Object Integration settings.
integration.run Object Run application settings.
integration.run.when String When to run - NEVER, RINGING or ANSWERED.
integration.run.delay Number Number of milliseconds to wait before running.
integration.run.command String Command to execute - supports variables: {NUMBER}, {NUMBER-NO-PREFIX}, {NAME}, {VAR:call-variable-name}.
integration.run.requireArgs Boolean The integration shall only run if all variables used have values.
integration.sendkeys Object Send keystrokes settings.
integration.sendkeys.when String When to run - NEVER, RINGING or ANSWERED.
integration.sendkeys.delay Number Number of milliseconds to wait before running.
integration.sendkeys.focusProcess String Name of process to give focus to.
integration.sendkeys.maximizeProcess Boolean True if process shall be maximized.
integration.sendkeys.useAutoit Boolean True to use AutoIT instead of system for sending keys (Windows only).
integration.sendkeys.keys String Keys to type - supports variables: {NUMBER}, {NUMBER-NO-PREFIX}, {NAME}, {VAR:call-variable-name}.
integration.sendkeys.requireArgs Boolean The integration shall only run if all variables used have values.
integration.copyToClipboard Object Copy to clipboard settings.
integration.copyToClipboard.when String When to run - NEVER, RINGING or ANSWERED.
integration.copyToClipboard.what String The string to store in the clipboard - supports variables: {NUMBER}, {NUMBER-NO-PREFIX}, {NAME}, {VAR:call-variable-name}.
integration.copyToClipboard.requireArgs Boolean The integration shall only run if all variables used have values.
integration.browser Object Browser integration settings.
integration.browser.when String When to run - NEVER, RINGING or ANSWERED.
integration.browser.website String Hostname of website to be active on.
integration.browser.spa Boolean True if website is a single page application.
integration.browser.requireArgs Boolean The integration shall only run if all variables used have values.
integration.browser.actions Array List of actions to perform.
integration.browser.actions[].action String Type of action to perform:
sleep - for X milliseconds,
target - select DOM target,
click - click on target,
focus - focus target,
clear - clear target value,
insert - insert text into target,
js - execute JS code,
scrolltop - scroll to top of page.
integration.browser.actions[].value string/number Value for action:
sleep - milliseconds
target - CSS selector
insert - text to insert, supports variables: {NUMBER}, {NUMBER-NO-PREFIX}, {NAME}, {VAR:call-variable-name}
js - JS code to run.
integration.website Object Webpage integration settings.
integration.website.when String When to run - NEVER, RINGING or ANSWERED.
integration.website.delay Number Number of milliseconds to wait before opening the website.
integration.website.url String URL to open, supports variables: {NUMBER}, {NUMBER-NO-PREFIX}, {NAME}, {VAR:call-variable-name}.
integration.website.preferWindow Boolean True if URL should be opened in a window, instead of a tab.
integration.website.requireArgs Boolean The integration shall only run if all variables used have values.
integration.website.apiMode String If set, request operates in API mode, Set to POST, PATCH, PUT, or GET. Set to null if not used.
integration.website.apiData String Body of API request if API mode is POST or PATCH. Supports variables: {NUMBER}, {NUMBER-NO-PREFIX}, {NAME}, {VAR:call-variable-name}.
media Object Settings for media.
media.preferredAudioInputs Array Ordered list of which microphone is preferred, latest 5 used.
media.preferredAudioOutputs Array Ordered list of which speaker is preferred, latest 5 used.
media.preferredVideoInputs Array Ordered list of which cameras is preferred, latest 5 used.
media.preferredRingerOutputs Array Ordered list of which speaker devices is preferred for playing ringtone on, latest 5 used.
media.ringerVolume Number Ringtone volume 0-1.
media.kuando Object Kuando busylight settings.
media.kuando.use Boolean True to use Kuando.
media.kuando.ringTone String Name of ringtone to play, blank for none.
media.kuando.ringVolume Number Ringtone volume 0-100.
media.preferredHeadset String Name of preferred headset that Communicator will connect to if possible on startup and after sleep: NONE, JABRA, SENNHEISER, YEALINK.
outboundGoto Boolean True if outbound goto is enabled for the users primary extension which means that number presentation on the employee is ignored.

Example

{
  "ringtoneExternal": "12345678901234567890ABCD",
  "ringtoneLocal": "1245678901234567890ABCE",
  "ringtoneQueue": "1234567801234567890AABB",
  "showStatusPanel": true,
  "autoLaunch": true,
  "autoLaunchHide": true,
  "queueCriticalSound": false,
  "theme": "EARTH",
  "phoneId": null,
  "softphoneId": "1234567890123457890AAAA",
  "dashboardId": "12345678902134567890BBBB",
  "windowWallboardMode": false,
  "callBackground": false,
  "presenceBackground": true,
  "fullscreen": false,
  "zoom": 100,
  "dashboardColumnWidth": 370,
  "dndWhenDesktopLocked": false,
  "popupOnIncomingCall": false,
  "popupRevertWhenDone": false,
  "alwaysOnTop": false,
  "beaconsMayUpdateLocation", false,
  "queueRingtones": [
    {
      "queue": "123456780124567890ABCD",
      "ringtone": "12345678901234567890AAAA"
    }
  ],
  "window": {
    "x": 0,
    "y": 0,
    "width": 800,
    "height": 600
  },
  "globalShortcuts": {
    "ANSWER": {
      "enabled": true,
      "key": "a",
      "commandOrControl": true,
      "shift": true,
      "alt": false
    },
    "HANGUP": {
      "enabled": true.
      "key": "h",
      "commandOrControl": true,
      "shift": true,
      "alt": false
    },
    "TOGGLE_WINDOW": {
      "enabled": true,
      "key": "t",
      "commandOrControl": true,
      "shift": true,
      "alt": false
    }.
    "CALL": {
      "enabled": true,
      "key": "c",
      "commandOrControl": true.
      "shift": true,
      "alt": false
    },
    "SEARCH": {
      "enabled": true,
      "key": "s",
      "commandOrControl": true,
      "shift": true.
      "alt": false
    }
  },
  "integration": {
    "run": {
      "when": "ANSWERED",
      "delay": 500,
      "command": "cmdrun.exe {NUMBER} {NAME}",
      "requireArgs": true
    },
    "sendkeys": {
      "when": "ANSWERED",
      "delay": 500,
      "focusProcess": "notepad.exe",
      "maximizeProcess": false,
      "useAutoit": false,
      "keys": "{F2}{NUMBER}{ENTER}",
      "requireArgs": true
    },
    "copyToClipboard": {
      "when": "ANSWERED",
      "what": "{NUMBER}",
      "requireArgs": true
    },
    "browser": {
      "when": "ANSWERED",
      "website": "www.mycrm-solution.com",
      "spa": true,
      "requireArgs": true,
      "actions": [
        {
          "action": "target",
          "value": ".searchButton"
        },
        {
          "action": "click"
        },
        {
          "action": "target",
          "value": ".searchQuery"
        },
        {
          "action": "insert",
          "value": "{NUMBER}"
        }
      ]
    },
    "website": {
      "when": "ANSWERED",
      "delay": 0,
      "url": "http://mycrm/integration/%NUMBER%",
      "preferWindow": true,
      "requireArgs": false,
      "apiMode": null,
      "apiData": null
    }
  }
  "media": {
    "preferredAudioInputs": [ "12345678901234567890001", "1234567890123457890002" ],
    "preferredAudioOutputs": [ "12345678901234567890003", "12345678901234567890004" ],
    "preferredVideoInputs": [ "12345678901245678900005" ],
    "preferredRingerOutputs": [ "12345678901234567890003", "12345678901234567890004" ],
    "ringerVolume": 0.5,
    "kuando": {
      "use": true,
      "ringTone": "wave",
      "ringVolume": 25
    },
    "preferredHeadset": "YEALINK"
  },
  "outboundGoto": false
}

Errors

Error code Message Description
403 access_denied Access denied
404 id Not found
500 internal_error <Unspecified>
api/pbx/app/settings/desktop/get.txt · Last modified: 2025/09/22 15:40 by Per Møller

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki