Status

Version 9.1 by michaely on 2015/07/09 15:05
Warning
For security reasons, the document is displayed in restricted mode as it is not the current version. There may be differences and errors due to this.

Description

The live status REST resource allows access to information about the status of a specific user in the system. ThisĀ resourceĀ also provides an action to update the status of a user.

On this page:

The [toc] macro is a standalone macro and it cannot be used inline. Click on this message for details.
 

Root Resource Path

communication_manager/rest/live/coreServers/[{core_server_id} | getByName/{core_server_slug}]/users/[{user_id} | getByName/{username}]/status

JSON Representation

{
 "id": "99c6c017-7c86-4d78-89ca-dbc1267ffe76",
 "configurationId": "215734e0-383d-11e2-81c1-0800200c9a66",
 "name": "Available",
 "type": "available",
 "note": "",
 "returnTime": -1,
 "userCreated": false
}

Property

Type

Description

id

String

The id of the user status.

configurationId

String

The id of the configuration object that represents the user status.

name

String

The status name.

type

String

The status type. Determines the icon used for the status. See Status Types below.

note

String

The note set for the status.

returnTime

Long

The time the user has set to return, or -1 if no return time has been set. Represented as a unix timestamp, in milliseconds.

userCreated

Boolean

True, if the status is a custom status set by the user; false, if the status is a pre-configured status.

Status Types

The following is a list of accepted status types. These types will be used in the JSON representation of the status, and in the set action when changing the status.

Information

The current status type set on a user does not effect call flow or any other actions in the panel. The status is simply used for informational purposes.

 

  • available
  • unavailable
  • away
  • xa
  • dnd
  • chat
  • altblue
  • altgreen
  • altpink
  • altpurple
  • altred

Resource Paths

communication_manager/rest/live/coreServers/[{core_server_id} | getByName/{core_server_slug}]/users/[{user_id} | getByName/{username}]/status

Description

Accesses the status state of a specified user, in a core server.

Information

This resource will not be available if the user is not licensed/full, or no license is installed on the core server.

Parameters:

  • core_server_id: the id of the parent core server
  • core_server_slug: the slug of the parent core server
  • user_id: the id of the parent user
  • user_name: the username of the parent user

Errors:

  • 404 Not Found: Returned if no core server with the given id or slug exists
  • 404 Not Found: Returned if no user with the given id or username exists in the specified core server
  • 403 Forbidden: Returned if the user is not licensed/full, or no license is installed on the core server.

GET

Gets the status state of a specified user, in a core server.

Actions

communication_manager/rest/live/coreServers/[{core_server_id} | getByName/{core_server_slug}]/users/[{user_id} | getByName/{username}]/status/set

Description

Updates the status of a user.

Information

This action will not be available if the user is not licensed/full, or no license is installed on the core server.

 

Parameters:

  • core_server_id: the id of the parent core server
  • core_server_slug: the slug of the parent core server
  • user_id: the id of the user to update status on
  • user_name: the username of the user to update status on

Errors:

  • 404 Not Found: Returned if no core server with the given id or slug exists
  • 404 Not Found: Returned if no user with the given id or username exists in the specified core server
  • 422 Unprocessable Entity: Returned if no JSON name property is given
  • 422 Unprocessable Entity: Returned if no JSON type property is given
  • 422 Unprocessable Entity: Returned if the JSON type property value is not valid
  • 422 Unprocessable Entity: Returned if the JSON returnTime property value is to large, or non numerical value.
  • 403 Forbidden: Returned if the user is not licensed/full, or no license is installed on the core server.

POST

Updates the status of the user.

JSON

{
"name" : "Went back in time",
"type" : "away",
"note" : "Let Doc Brown know",
"returnTime" : 499132800
}

Properties:

Property

Type

Description

name

String

The status name.

type

String

The status type. Determines the icon used for the status. See Status Types above.

note

String

The note for the status.

returnTime

Long

The time the user has set to return, or -1 for not return time. Represented as a unix timestamp, in milliseconds.



Curl Examples

Get the status of a user in a specific core server

curl --user manager:manag3rpa55word -i -H "Accept: application/json" http://localhost:58080/communication_manager/rest/live/coreServers/ca5de6c4-17bd-46ce-95a2-8b29c7812ca4/users/status

Set the status of a user in a specific core server

curl --user manager:manag3rpa55word -i -H "Content-Type: application/json" -X POST -d '{"name" : "Went back in time","type" : "away","note" : "Let Doc Brown know","returnTime" : 499132800}' curl --user manager:manag3rpa55word -i -H "Accept: application/json" http://localhost:58080/communication_manager/rest/live/coreServers/ca5de6c4-17bd-46ce-95a2-8b29c7812ca4/users/status/set