Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Updated using 4PSA automated script
Excerpt

With the help of this method, you can list the presence of Extensions in particular contexts such as User, Organization or global.

Table of Contents
maxLevel3
excludeApps Using This, Quick Examples, Need Help?

Request/Response model

Overview

Use this request to list the presence status of one or several Extensions.

If successful, the Service returns a collection of Presence resources.

The request is made by an App that is registered to a User account.

To list the presence of extensions in a desired context, issue a HTTP GET request:

Panel
borderColor#DADADA
bgColor#FFFFFF
titleBGColor#F0F0F0
borderWidth1
titleModel
borderStyledashed
HTTP-Method        = "GET"
URI-Fragment       = "/uapi/extensions/" User-Id "/" Extension-Number "/presence"
Query-Parameters   = Get-ExtensionPresence-Request-Parameters) 
Request-Payload    = null

Return-Object      = Collection<ExtensionPresence>
Panel
borderColor#DADADA
bgColor#FFFFFF
titleBGColor#F0F0F0
borderWidth1
titleExample
borderStyledashed
GET /uapi/extensions/@me/0003*210/presence/ HTTP/1.1
HOST uapi.voipnow.com
Content Type: application/json
Authorization: Bearer token

Request

This section describes how to format the request to the service.

Anchor
urifragment
urifragment

URI fragment

The following parameters must be sent in the URI fragment:

NameTypeRequiredDescription

userId

  User-Id

Yes

Id of the User which owns the Extensions for which the presence is returned.
It can take one of the following values:
@me - refers to the authenticated User.
@viewer - also refers to the authenticated User.
@owner - refers to the User that owns the Extension used to make the phone call.
User-Id - refers to the unique identifier of the User.
Default: @me

extension

  UAPI-Extension-Number

Yes

Extended number of a Phone Terminal Extension.
Use @self to match all the extensions under the User.

Anchor
queryparam
queryparam

Get ExtensionPresence request parameters

Restriction to Standard Request Parameters

All requests to list the Phone Calls support the Standard-Request-Parameters:

NameTypeDescription
countNumber

The page size of a collection.
Maximum possible value is 5000.
Default: 20 entries

filterBy

String

Records can be filtered only by the extension field.

filterValueStringThe value to filter by.
startIndexNumberThe start index of the paged collection.
Maximum possible value is 5000.
Default: 0
Custom Request Parameters

These additional parameters can be sent in the Query-Parameters:

NameTypeDescription

fields

Array<String>

An array of ExtensionPresence field names. For standard values, please see the Presence object.

Response

Success

If successful, a collection of Presence resources and the following HTTP statuses:

HTTP CodeDescription
200The list of phone calls is returned.
204There are no phone calls to be returned.

Failure

When it fails, the request returns the following error codes:

HTTP CodeCodeDescription
400extension_invalidValue supplied in the URI-Fragment as extension is invalid. The parameter must reference the number of an existing Phone Terminal extension or can be set to @self.
400fields_invalidValue supplied in fields parameter is missing or invalid. The parameter must be set to a value of consisting of the name of the possible Presence fields separated by a comma (e.g. extension, id, answered).
400count_invalidValue supplied in count parameter is missing or invalid. The parameter must be set to a numeric value lower than 5000.
400filterby_invalidValue supplied in filterBy parameter is missing or invalid. The parameter must be set to the name of a Presence field.
400filterop_invalidValue supplied in filterOp parameter is missing or invalid. The parameter must be set to one of the values: contains, equals, starts with or present.
400filtervalue_invalidValue supplied in filterValue parameter is missing or invalid. The parameter must be set to a string value.
400sortorder_invalidValue supplied in sortOrder parameter is missing or invalid. The parameter must be set to one of the values: ascending or descending.
400startindex_invalidValue supplied in startIndex parameter is missing or invalid. The parameter must be set to a numeric value, higher or equal with 0 and lower than 5000.

Example

Here is an example to help you understand the request and the response.

This example lists the presence of Extension 0003*210. The request is made by an App on behalf of a User.

Anchor
example
example

Code Block
titleHTTP Request
GET /uapi/extensions/@me/0003*210/presence/ HTTP/1.1
HOST uapi.voipnow.com
Content Type: application/json
Authorization: Bearer token

Assuming that the request has been successful, the Service answers with:

Code Block
titleHTTP Response
HTTP/1.1 200 OK
...

{
 "startIndex":0,
 "totalResults":2,
 "itemsPerPage":20,
 "filtered":false,
 "sorted":false,
 "entry":[
  {
   "extension":"0003*210",
   "status":0,
   "registration": [
		{ 
        	"agent": "3CXPhone 5.0.14439.0",
	        "registration": "-1",
    	    "expire": "2011-02-10T15:10:55Z"
	    }
	]
  }
 ]
}

Except where otherwise noted, content in this space is licensed under a Creative Commons Attribution 4.0 International.