This document is
intended for developers who want to create applications using the silhouette
API. The silhouette API is a web service based on REST and WebSocket
technologies that accepts
and delivers content
in JSON format. Application Developers can use any development
platform capable of consuming the service.
Typographical Conventions
The following typographical
conventions are used in the documentation.
•
Bold text
Indicates GUI components, such
as menu items and buttons.
•
Italic text
References titles of
publications and is used for emphasis.
•
Monospace text
Indicates paths and filenames,
and is used for code.
The silhouette Public API
integrates call management, status monitoring, and provisioning, and enables
applications to receive asynchronous notification of call- related events.
Applications can use it to make calls, answer calls, release calls and view the
call details of active calls in silhouette. It allows applications to
monitor the call and presence status
of specific users
by subscribing to receive call and presence
status events.
The silhouette
API is a RESTful hyperlinking API, supporting the following the HAL media type specification, combined
with a WebSocket-based stream for reporting real- time call and presence events.
Public API Guide
Architecture
The silhouette API provides public access, implemented as a web service following a REST/HATEOAS architectural
style. Call and presence events are delivered via WebSockets.
Application Requirements
An
application using the silhouette API is expected to
•
provide authentication credentials
with each request to the API
•
authenticate users connected to
the application
•
populate the HTTP User-Agent
header with a string identifying the client application
•
limit request rate to avoid
exceeding limits
•
handle errors appropriately
(interpret response)
Client applications using the silhouette API to manage calls are expected to
•
subscribe for required events
•
associate requests
and events and manage the application view of call activity, and so forth
•
track call history, if required
•
not assume events will be received
immediately (may be rate limited)
•
initiate and maintain connection to silhouette (for
example, use a keep-alive to keep
a WebSocket open to receive events)
•
request the current state of a silhouette account when it initially
connects (if required). Events
are only pushed to the applications as they occur.
API Access
The Public API
is intended for use by client applications deployed in the customer premise. Applications access the Public API through
the TOWS, using the existing WebAdmin IP address or FQDN.
See Architecture.
Security
silhouette API
security comprises
•
Authentication
•
Authorization
Authentication
An
authentication protocol is used for authenticating silhouette API access.
All REST requests and the
WebSocket connection request must be authenticated individually (no sessions).
Authorization
Authorization is per request
and is based on the authority users
have to access
the API.
Load Control
Load control mechanisms ensure
the following on the Public API:
•
WebSockets
•
maxIdleTimeout=3600000 milliseconds (1 hour). Without
any data transfer, the WebSocket connection times out after 1 hour.
•
maxConnectionCount=4000. The maximum number
of public WebSocket connections.
•
maxConnectionPerClient=1. The maximum number
of concurrent processing threads per client. Per client
means per user+client IP address.
•
blockAfterFailedLoginCount=3.
Client is locked out after 3 failed login attempts.
•
blockFailedLoginWithin=1800000 milliseconds (30 minutes). After 3 failed login
attempts within 30 minutes, the client is locked out.
•
blockPeriod=3600000 milliseconds (1 hour). After
3 failed attempts
within 30 minutes, the client
is locked out for an hour.
•
For REST service calls
•
maxThreads=100. The maximum number
of concurrent requests
from all clients that the
server accepts.
•
maxConnectionPerClient=3. The maximum number
of concurrent processing threads per client. Per client
means per user+client IP address.
•
busyDelay=3000 milliseconds (3 seconds). When a response
is delayed for 3
seconds, the system returns a 503.
•
blockAfterFailedLoginCount=3.
Client is locked out after 3 failed login attempts.
•
blockFailedLoginWithin=1800000 milliseconds (30 minutes). After 3 failed login
attempts within 30 minutes, the client is locked out.
•
blockPeriod=3600000 milliseconds (1 hour). After
3 failed attempts
within 30 minutes, the client
is locked out for an hour.
SSL Certification
The silhouette API supports the following versions
of Transport Layer Security (TLS):
•
TLS v1.2
The silhouette API supports the TLS SSL ECDHE_* cipher suite, excluding
all RC4, MD5, DES, DSS and
NULL ciphers.
Hyperlinking API Fundamentals
The silhouette API is designed
as a hyperlinking RESTful API. Rather than focusing on specific URLs, which may change as the
system evolves, a hyperlinking API focuses on exposing relationships between
resources and providing the ability to discover available resources. The
benefit of this approach is that it results in an explorable API that provides
client developers the ability to browse data and interact with the API at
design time, which makes it much easier for the client developers to build a
mental model of the API and its data structures.
Using HTTP Verbs
The silhouette API supports the following HTTP verbs in compliance with the definitions in the HTTP specification
(RFC7231). Note that not all resources of the API support all verbs. See the
resource details (online or in this document) for its supported verbs.
•
GET—Retrieves the representation of the
resource at the request URL. Some resources accept optional
query parameters that let the client refine the content received in the response.
•
HEAD —Performs the same logic on the server
as a GET request to the same URL,
but does not return any response data. Clients can use this to pre-test whether
a GET will be successful.
•
PUT—Creates a new resource
or replaces an existing resource
at the request URL using the
request payload.
•
POST—Tells the service how to modify
the contents of the resource
at the request URL, particularly when that resource is a container of
other resources. Thus, a POST request may create a new subordinate
resource if it is a container resource (a POST request
to the Call Group list is used to add a new Call Group). If the resource is not
a container resource, the POST request may have the effect of
directly modifying the resource at the request
URL (a POST request to a Call is used to change the call state).
If a new resource is created as the effect
of a POST request, the HTTP response code will be a 201 Created
and the HTTP Location header
will be populated with the URL of the new resource.
•
DELETE—Deletes the resource at the request
URL. A successful response is typically a 200 OK with an empty
payload.
The API
supports the media type application/json for request payloads, and
application/hal+json in response payloads.
API Documentation—The HAL Browser
The HAL Browser is a web-based user interface that is provided
as part of the silhouette API. It lets client
developers explore the API’s capabilities. Use it to discover the resources
supported in the API, their data structures, and their link relationships.
When accessing The HAL Browser
for the first
time, you are prompted for credentials.
See API
Access. Once the credentials have been accepted you can proceed with
exploring the API.
Resource
Graph
The menu at the
top of The HAL Browser has a link to the API Resource Graph. The client
developer can expand resource nodes and follow documentation links to explore
the Resource Model. The graph
documents the full model; however,
visibility of resource data in the application is subject to authorization, licensing, and permission controls.
See Resource
Model.
The detailed
documentation (online and in this document) includes sample Request/
Response
formats,
including
sample
URLs.
The
URLs
shown
in
these
examples
are representative only. Actual URLs will
likely differ at runtime, based on the runtime
environment.
WebSockets
The silhouette API delivers Call and Presence
Event Notifications over a WebSocket. You can find out more about the
WebSocket protocol at
http://www.websocket.org/aboutwebsocket.html
To establish a WebSocket connection with silhouette, the URL is published in API Root Resource response as the link
relation called “v1:createWebSocket”. In the current release, this URL is as
follows:
https:<WebAdmin
IP>/api/ws
Any valid user credentials can be
used.
After the
WebSocket connection has been successfully established, a message is sent from
the server to the client indicating the UUID of the newly-created WebSocket.
This UUID is used in subsequent REST requests to the silhouette API to subscribe to events. Note that
there could be a small delay before this message is sent.
Example
===>
wss://{webadmin ip}/api/ws
<===
HTTP/1.1 101 Switching Protocols
Connection: Upgrade Upgrade: WebSocket
<===
{"webSocketId":"aa922613-78ad-4e30-97e1-fac6a6a7e75c"}
The server
establishes a timeout
interval for the WebSocket connection. If no events
are delivered in that period of time, silhouette closes the
connection and any subscriptions on the WebSocket are cancelled. Clients can
force the connection to stay open by periodically sending a message
over the connection. The format of the message
may be a short
string, such as “hello”. The server will echo this back if the connection is still alive and reset the timeout counter.
The timeout value for
connections is set to 1 hour.
WebSockets should
be explicitly torn down gracefully by the client
before any attempt
to establish a new connection.
WSTool
WSTool is a
web-based tool that creates a WebSocket connection. It is shipped with the silhouette
API, preconfigured to use the createWebsocket URL to establish a
connection, and can be used for testing or exploring the API. It requires HTTP
basic authentication, the same as the API itself (see Security). Access WSTool at https://
<webadmin IP>/api/wstool/wstool.html.
Subscription Sets
Once it has established a WebSocket, the client can subscribe to events.
To receive events, follow these steps:
1.
Establish a WebSocket with the silhouette API.
2.
Receive a WebSocket ID over the
newly-established WebSocket.
3.
Use the WebSocket ID to create a
Subscription Set for each set of subscriptions.
4. Create a subscription within the Subscription Set to subscribe
for specific events. (Events related to the subscriptions are sent over the WebSocket as they occur.)
Using API Features
The
silhouette API includes the
following features:
•
Expand Support
•
Filter Support
•
enum lookup
Expand Support
Table of Contents
•
Description
•
Expand Keys
•
Performance
•
Expand
Parameter Examples Description
Most resources list or entity (for example: a list of tenants, or a
single tenant) support an optional query parameter on the URL that enables
the client to request more detail in the
query response.
In a query response, many entity representations include information about
related resources in the _embedded section of the payload. Similarly, in
a list query, each element of the list is included in the _embedded section of the payload. Embedded representations typically
include only identifying information about the resource.
However, when a
client is interested in more information about some embedded representations
than is included by default, it can ask for more detail about those
representations to be included in the response
by providing the representation name in
the value of the expand query parameter.
If the embedded
resource contains an array, each element of the array will be expanded.
In the case of list resources, such as the tenant list or user list, this allows the client to retrieve detail about every
item in the list in a single query.
Expand Keys
The expand parameter value contains one or more expand keys,
each expand key can
be:
•
simple keys:
•
item,
this special key only used in a list resource
context, it means
item of the list.
•
all,
this special key means expand all possible
embed resources of an entity resource.
•
<valid embed name of entity>, this means expand
the specified embed resource of an entity resource.
•
-<valid
embed name of entity>, minus
sign can be used to specify not expand the specified embed resource,
which is useful when together with the
all key to exclude the specified embed
resource.
•
multi-level
keys: (combination of simple keys)
•
<valid embed name of entity>.item,
this means expand the embedded resource, not include embedded
of the embedded resource.
•
<valid
embed name of entity>.all, this means expand
the embedded resource,
include all embedded of the embedded resource.
•
<valid embed name of entity>.<valid embed name>, this means
expand the specified embed resource of specified embed resource of the
entity.
•
-<valid
embed name of entity>.<valid
embed name>, minus sign
can be used to specify
not expand the specified embed
resource of specified embed resource of the entity, which is useful when together
with the <valid
embed name of entity>.all key.
•
Recursive
expansion can be specified by identifying the desired tokens using
dot-notation to specify the path to the embedded
resource within the embedded
resource, there is no limitation of how many level can be expanded.
When more than one expand key
provided, they must be separated by coma.
Any unrecognized key include embed name of embed resource
not accessible for user
will be ignored.
When expand
any embed resource, the owner of the embed
resource will be expanded
as well (the item will be implicitly included).
When expand any
entity(include embedded resource), it only expand one level, which means it
will include all attributes of the entity(visible by user role), and
un-expanded view of all embedded resource
of the entity, if need expand next level, next level expand key have to be provided in the
parameter value.
When using embed name as expand key, must exactly (case-sensitively) match the name of the
embedded resource to include.
Performance
When expand
parameter included, the more content included and more level content included, the more time it will be cost to build
the response and the much bigger size of
the response will be.
It is up to the client
to judge the query performance based on their
requirements. Expand
Parameter Examples
Here are some examples of getting
a list of user with expand parameters:
GET
/api/v1/tenants/414/users?expand=item GET /api/v1/tenants/414/users?expand=all
GET
/api/v1/tenants/414/users?expand=all,-keyProfile
GET
/api/v1/tenants/414/users?expand=featureSettings,adminSettings GET
/api/v1/tenants/414/users/100?expand=all
GET
/api/v1/tenants/414/users/100?expand=callPermissionProfile
Filter Support
Table of Contents
•
Description
•
Filter condition
•
value condition
•
non-value condition
•
Performance
•
Filter
Parameter Examples Description
Filtering
result of GET request on all List resources is supported by optional filter
query parameter.
When multiple
filter parameters provided, the logical relation
between these filters are AND which means the result will only
include items match all filters.
Filter condition
Each filter parameter value
contains one or more filter conditions.
When more than one condition
provided, they must be separated by coma.
When more than
one filter conditions in the filter parameter value, the logical relation
between filter conditions are OR relation which
mean any item match any one of the filter conditions will be included in the
result.
Each
filter condition must match valid
format, if NOT, will get 400 bad request error. There are 2 type of filter
conditions: value condition and no-value condition. value condition
Value condition means compare the current value
of an attribute of resource
or embed resource with a
provided value.
Each value condition format is:
<operator>(<key>,<value>)
value condition operators
operator
|
description
|
support value type
|
eq
|
equal
|
Integer, Boolean, String
|
ne
|
not equal
|
Integer, Boolean, String
|
operator
|
description
|
support value type
|
gt
|
greater than
|
Integer
|
ge
|
greater and equal
|
Integer
|
lt
|
less than
|
Integer
|
le
|
less and equal
|
Integer
|
ct
|
contains
|
String(case sensitive)
|
ci
|
contains ignore case
|
String(case insensitive)
|
sw
|
start with
|
String(case sensitive)
|
ew
|
end with
|
String(case sensitive)
|
value condition key
•
Key must
be either a <valid property name> of the item resource of the list or a
<valid property name> of a
valid embed resource of the item resource.
•
Only
property or embedded which is visible to the user can be used as key
•
Multi level
embed resources and properties is valid for filter condition key value,
such as:
•
<valid embed
name>.<valid embed name>…<valid embed name>.<valid
property name>
•
Note: the above condition
implicitly indicate that every higher level embed must be exist
value
•
•
value must be provided
value must match expected value type
•
string
value should not be quoted and must be URI encoded if contains URI special
characters
value condition
examples eq(active,false) ci(firstName,Steven)
sw(keyProfile.name,Sales)
non-value condition
format: <operator>(<key>)
non-value condition operators
operator
|
description
|
est
|
exist
|
nes
|
not exist
|
emp
|
empty
|
nem
|
not empty
|
non-value condition key
•
key must be:
<valid property name or valid embed name> of the item resource of the list or <valid property name or valid embed
name> of a valid embed
resource of the item
resource.
•
only
property or embedded which is visible to the user can be used as key
•
Multi level
embed resources and properties is valid for filter condition key value,
such as:
•
<valid
embed name>.<valid embed name>…<valid embed name>
•
<valid
embed name>.<valid embed name>…<valid embed name>.<valid
property name>
•
Note: the
above condition implicitly indicate that every higher level embed
must be exist
non-value condition examples
est(keyProfile)
emp(feature.callForwardNoAnswer.callTarget) Performance
When filter parameter included,
it will cause server processing time slightly increase, while it may reduce the network
transfer time if the result list getting smaller.
When multiple
filter parameter provided, the order in the URI will affect performance, the better
performance can be achieved by put the more restricted filter more closer
to beginning of the query parameter. For example, the filter of filter
user by name equals Steven should be put before user do not have a key profile.
When use more than one condition in a filter,
better performance can be achieved
by put the less restricted
condition before more restricted condition. For example, you should be put user
do not have a key profile before name equals Steven.
Filter Parameter Examples
Here is an example
query URI for get a list of user with filter to ask for users which extension start with 2 or 3 and no
key profile:
GET /api/v1/tenants/414/users? filter=sw(extension,2),sw(extension,3)&filter=nes(keyProfile)
enum lookup
As a client
development aid, the silhouette API provides an enum lookup service for
enumerated type values
used in the API. This service provides
a list of valid values
that can be used for the indicated property. A hyperlink is provided to each enum value from the resource that uses it.
For example, the POST Call request has a required field called callRequest:
POST /calls/3501-1441389611741-3%3A155@12345
{"callRequest":"hangupCall",
"myPartyId":"155@12345",
"deviceId":"4564",
}
The GET Call response includes
a hyperlink to the enum lookup resource for the
callRequest field:
GET /calls/3501-1441389611741-3%3A155%4012345 HTTP/1.1
Response:
{
"_links" : {
"curies" : {
"href" : "/api/v1/rels/{rel}",
"name" : "v1options", "templated" : true
},
"self" : {
"href" : "/calls/3501-1441389611741-3:155@12345"
},
"v1options:callRequest"
: {
"href" : "/api/v1/enums/callrequest"
}
},
"answerTime" : "2016-03-18T13:05:14.216-04:00",
"callId" : "3501-1441389611741-3:155@12345",
"callParties"
: [ { "PartyId" : "155@12345",
"PartyName" :
"User, Jane"
}, {
"PartyId" : "203@12345",
"PartyName" : "User, Joe"
} ],
"callState" : "connected",
"digitsDialed" : "203", "from" : "203@12345",
"redirected" : false,
"startTime" : "2016-03-18T13:04:44.260-04:00",
"talkDuration" : "PT45S",
"to" : "155@12345",
"transferred" : false
}
You can issue a GET request
to the href value indicated by the v1options:callRequest link to see the
list of valid values that can be used for the callRequest field:
GET /api/v1/enums/callrequest
The response includes a list of
valid values:
{
"_links": {
"self": {
"href": "/api/v1/enums/callrequest"
}
},
"values": [
{
"name":
"answerCall", "defaultLabel": "answerCall"
},
{
"name":
"hangupCall", "defaultLabel": "hangupCall"
}
]
}
The string value in the name property can be used as the value
of the callRequest
property in
subsequent POST requests to modify the call state.
By programmatically parsing it at runtime, client
can ensure they are using
the correct string value.
Third Party Call Control
The purpose
of a Third Party Call Control API is to enable applications to monitor calls, and to invoke requests to make
calls, and modify existing calls.
Details on how
to initiate a call, retrieve a parked call, and query a user’s active calls are documented in the ActiveCalls Resource
section of Call Management Resources. Commands to answer, hang up, or
invoke call features are documented in the Call
Resource section of Call Management Resources.
It is possible
to monitor call activity using Events received over a WebSocket. In order to
receive Call, Presence, or ParkLocation events, a Subscription Set must be created, and the client must register for specific
events. The details on how to register for events are documented in the Event
Management Resources section.
Detail on the Event content is
contained in the Events section.
It is also
possible to get the current status information of a user or park location as
described in the Presence Status Resource and ParkLocation Status Resource. This is
normally used by an application that has registered for events to get an
initial status.
Third Party Call Control Commands
The silhouette API
includes the following
Third Party Call Control (3PCC) commands. All commands are supported for MiNET and
VVX devices. The following table shows which commands are supported for BSTs
(Basic SIP Terminals).
For more information, see API Resources and Subscription Sets.
makeCall
Description
Places a call.
Allows the user to place the call from an external number as part of the Bring Your Own Number
(BYON) feature. The feature still
places a call from the user’s
default device when no device is specified.
Details
https://{ip}/api/v1/calls
{"request":"makeCall"
"from":"102@tenantId",
"to":"912125551212",
"deviceIdType":"external", "deviceId": "{external number}"}
For a basic SIP terminal (BST) to support makeCall, the SIP phone must
•
be able to handle a minimum of two
calls concurrently
•
have an available line appearance
•
accept reINVITEs
•
be able to send reINVITEs
getCalls
Description
Gets a list of active calls for
the authorized user.
Details
https://{ip}/api/v1/calls/{callObserverId}
For a basic SIP terminal (BST) to support getCalls, the SIP phone must
•
be able to handle a minimum of two
calls concurrently
•
have an available line appearance
•
accept reINVITEs
•
be able to send reINVITEs
getCall
Description
Gets the details of a particular call based on the callObserverId.
Details
https://{ip}/api/v1/calls/{callObserverId}
For a basic SIP terminal (BST) to support getCall, the SIP phone must
•
be able to handle a minimum of two
calls concurrently
•
have an available line appearance
•
accept reINVITEs
•
be able to send reINVITEs
parkCall
Description
Parks a specific call based on
the callId.
To Park a call at system-generated (generic) location, remove
featureData from the request body.
Details
https://{ip}/api/v1/calls/{callId}
{"callRequest":"parkCall",
"myPartyId":"105@tenantId", “featureData”:”4”}
For a basic SIP terminal (BST) to support parkCall, the SIP phone must
•
be able to handle a minimum of two
calls concurrently
•
have an available line appearance
•
accept reINVITEs
•
be able to send reINVITEs
answerCall
Description Answers a call.
Details
https://{ip}/api/v1/calls/{callObserverId}
{"callRequest":"answerCall", ”myPartyId”:"ext@tenantId"}
hangupCall
Description Hangs up a call.
Details
https://{ip}/api/v1/calls/{callObserverId}
{"callRequest":"hangupCall"}
For a basic SIP terminal (BST) to support hangupCall, the SIP phone must
•
be able to handle a minimum of two
calls concurrently
•
have an available line appearance
•
accept reINVITEs
•
be able to send reINVITEs
deflectCall
Description
Deflects a ringing call to coverage. Details
https://{ip}/api/v1/calls/{callId}
{"callRequest":"deflectCall", "myPartyId":"105@tenantId"
}
For a basic SIP terminal (BST) to support deflectCall, the SIP phone must
•
be able to handle a minimum of two
calls concurrently
•
have an available line appearance
•
accept reINVITEs
•
be able to send reINVITEs
holdCall
Description
Holds a specific call based on
the callId.
Details
https://{ip}/api/v1/calls/{callId}
{"callRequest":"holdCall", "myPartyId":105@tenantId
}
resumeCall
Description
Resumes a specific call based
on the callId from a
hold state.
Details
https://{ip}/api/v1/calls/{callId}
{"callRequest":"resumeHeldCall",
"myPartyId":"105@tenantId"
}
transferCall
Description
Transfers active and held calls.
Details
https://{ip}/api/v1/calls/{callId2}
{"callRequest":"transfer",
"myPartyId":"105@tenantId", "otherCallId":"{callId1}"
}
For a basic SIP terminal (BST) to support transferCall, the SIP phone must
•
be able to handle a minimum of two
calls concurrently
•
have an available line appearance
•
accept reINVITEs
•
be able to send reINVITEs
retrieveCall
Description
Retrieves a parked call at a park location
referenced by featureData.
Details
POST https://{ip}/api/v1/calls
{"request":"retrieveParkedCall"
"from":"102@tenantId", "featureData”:”4"
"deviceIdType":"device", "deviceId":
"23"}
For a basic SIP terminal (BST) to support retrieveCall, the SIP phone must
•
be able to handle a minimum of two
calls concurrently
•
have an available line appearance
•
accept reINVITEs
•
be able to send reINVITEs
Call Events
Call events
provide the necessary information for tracking calls. Call events reference a callId, which can be used to associate events common to a single call on the account. Call events also reference the
account. Call events report basic call events such as dial, ring, answer,
offer, and end—although not all information is included in each event.
Calls start with either an offer (incoming) or dial (outgoing) event and
end with an “end” event. When a client starts up, if it tracks calls, it can
get current calls to find out about existing calls. See ActiveCalls Resource and Call Management Resources. After that the
events should provide all needed information.
Feature events including hold, resume, forward,
and transfer are reported as call events. Call events are pushed to each subscribed
application as they occur. Call events report the same basic information on
accounts as the legacy call events, but are not identical. Call events
reference the phone used by the associated user or location when relevant
(events such as Answer).
General Format
===>
https://{webadminIP}/api/v1/calls
dial
Description
Account has dialed a call.
Details
{
“subscriptionSetId”:”12345”, “event”:”dial”,
“callId”:1, “observedParty”:”100@Windstream”,
“timestamp”:”2015-05-11T14:06:52-04”,
“version”:”v1”, “from”:”100@Windstream”, “to”:”101@Windstream”,
“sipCallId”:”[email protected]”, “dialingDeviceId”:1
}
ringback
Description
Dialed call is ringing.
Details
{
“subscriptionSetId”:”12345”, “event”:”ringback”, “callId”:1,
“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,
“version”:”v1”
}
offer
Description
Call has been offered
to account. Details
{
“subscriptionSetId”:”12345”, “event”:”offer”,
“callId”:1, “observedParty”:”100@Windstream”,
“timestamp”:”2015-05-11T14:06:52-04”,
“version”:”v1”, “from”:”101@Windstream”, “to”:”100@Windstream”,
“via”:”102@Windstream”,
“sipCallId”:”[email protected]”, “dialedDigits”:“100”,
“callingName”:”Homer Simpson”
}
ringing
Description
Call offered
to account is ringing on a particular phone. Details
{
“subscriptionSetId”:”12345”, “event”:”ringing”, “callId”:1,
“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,
“version”:”v1”, “ringingDeviceId”:1
}
answer
Description
Ringing call offered to account has been answered
on a particular phone, or dialed call has been answered.
Details
{
“subscriptionSetId”:”12345”, “event”:”answer”, “callId”:1,
“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,
“version”:”v1”, “answeringParty”:”101@Windstream”, “answeringDeviceId”:2
}
forward
Description
Call has been forwarded. Details
{
“subscriptionSetId”:”12345”, “event”:”forward”, “callId”:1,
“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,
"version”:”v1”, “forwardingParty”:”101@Windstream”,
“forwardTarget”:”102@Windstream”
}
hold
Description
Call has been put on hold. Details
{
“subscriptionSetId”:”12345”, “event”:”hold”,
“callId”:1, “observedParty”:”100@Windstream”,
“timestamp”:”2015-05-11T14:06:52-04”,
“version”:”v1”, “holdingParty”:”100@Windstream”,
“heldParty”:”101@Windstream”
}
held
Description
Issued for the held party when a call is put on hold. Details
{
“subscriptionSetId”:”12345”, “event”:”hold”,
“callId”:1, “observedParty”:”100@Windstream”,
“timestamp”:”2015-05-11T14:06:52-04”,
“version”:”v1”, “holdingParty”:”100@Windstream”,
“heldParty”:”101@Windstream”
}
resume
Description
Held call has been resumed.
Details
{
“subscriptionSetId”:”12345”, “event”:”resume”, “callId”:1,
“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,
“version”:”v1”, “resumingParty”:”100@Windstream”,
“heldParty”:”101@Windstream”
}
resumed
Description
Issued to the held party when a call is taken off hold. Details
{
“subscriptionSetId”:”12345”, “event”:”resume”, “callId”:1,
“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,
“version”:”v1”, “resumingParty”:”100@Windstream”, “heldParty”:”101@Windstream”
}
transfer
Description
Call has been transferred. Details
{
“subscriptionSetId”:”12345”, “event”:”transfer”, “callId”:1,
“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,
“version”:”v1”, “transferringParty”:”100@Windstream”,
“transferee”:”101@Windstream”, “transferTarget”:”102@Windstream”
}
callError
Description
Call cannot
be completed and has been forwarded to treatment.
Details
{
“subscriptionSetId”:”12345”, “event”:”callError”, “callId”:1,
“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52-04”,
“version”:”v1”, “error”:”Subscriber
unavailable”
}
end
Description
Account is no longer
involved in a call . Details
{
“subscriptionSetId”:”12345”, “event”:”end”,
“callId”:1, “observedParty”:”100@Windstream”,
“timestamp”:”2015-05-11T14:06:52-04”,
“version”:”v1”, “from”:”100@Windstream”, “to”:”101@Windstream”, “endingParty”:”100@Windstream”,
“endReason”:”normal”, “callDuration”:”PT3M25S”
}
park
Description
Issued for the parking
party when an account parks a call. Details
{
“callId”:1, "parkingPartyNumber"."100",
"parkLocationId"."1",
"observedParty"."120",
"parkedPartyNumber"."101", “subscriptionSetId”:”12345”,
“event”:”park”, "parkingPartyName"."Jack Slack",
“version”:”v1”, “parkedPartyName”:”Joe
Schmo” “timestamp”:”2015-05-11T14:06:52-04”,
}
parked
Description
Issued for the parked
party when a call is parked.
Details
{
“callId”:1, "parkingPartyNumber"."100",
"parkLocationId"."1",
"observedParty"."120",
"parkedPartyNumber"."101", “subscriptionSetId”:”12345”,
“event”:”park”, "parkingPartyName"."Jack Slack",
“version”:”v1”, “parkedPartyName”:”Joe
Schmo” “timestamp”:”2015-05-11T14:06:52-04”,
}
retrieve
Description
Issued for the retrieving party when an account retrieves a call from the parked
state. Details
{
“callId”:1, "retrievingPartyName"."Joe
Schmo", "parkLocationID"."3",
"observedPartyID"."100@5556661111",
"parkedPartyNumber"."100", “subscriptionSetId”:”12345”,
“event”:”retrieve”,
“version”:”v1”, “retrievingPartyID”:”101”, “parkedPartyName”:”Jack
Slack” “timestamp”:”2015-05-11T14:06:52-04”,
}
retrieved
Description
Issued for the parked party when a call is retrieved
from park. Details
{
“callId”:1, "retrievingPartyName"."Joe
Schmo", "parkLocationID"."3",
"observedPartyID"."100@5556661111",
"parkedPartyNumber"."100", “subscriptionSetId”:”12345”,
“event”:”retrieved”, “version”:”v1”, “retrievingPartyID”:”101”, “parkedPartyName”:”Jack
Slack”
“timestamp”:”2015-05-11T14:06:52-04”,
}
Presence Events
Presence Events
must be reported from the perspective of a single user or location extension.
Currently, presence events are relevant only for users and locations. The
application must explicitly subscribe for presence events for specific
accounts. All presence events include
a reference to the account,
rather than particular calls. Clients that
track presence status will want to get the current presence status of users at
the same time that they register for presence events. See PresenceStatusByExtension Resource.
Presence events
report basic account status such as idle, busy, available for calls,
unavailable for calls, joined group, left group, available for ACD, unavailable for ACD. Presence
events are pushed as they occur to each subscribed application.
The sipCallId header may or may not be present
in the dial, offer, ringback, ringing, and answer
events. To be included at any point in a call flow, the call must include at
least one SIP endpoint (device, gateway, and so forth.). The particular events
in a call event stream that contain a sipCallId header depends on the call
scenario.
The via header may or may not be included in the offer
event, depending on the call scenario.
idle
Account is not involved
in any calls. Details
{
“subscriptionSetId”:”12345”, “event”:”idle”,
“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,
“version”:”v1”
}
busy
Account is involved in one or more calls. Details
{
“subscriptionSetId”:”12345”, “event”:”busy”,
“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,
“version”:”v1”
}
available
Account is available to receive calls
(that is, logged
in to at least one, connected device). Details
{
“subscriptionSetId”:”12345”, “event”:”available”,
“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,
“version”:”v1”
}
unavailable
Account is not available to receive calls
(i.e., account is not logged
into any connected devices.
Details
{
“subscriptionSetId”:”12345”, “event”:”unavailable”,
“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,
“version”:”v1”
}
joinedGroup
Account has joined a group.
Details
{
“subscriptionSetId”:”12345”, “event”:”joinedGroup”,
“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,
“version”:”v1”, “groupJoined”:”600@Windstream”
}
leftGroup
Account has left a group.
Details
{
“subscriptionSetId”:”12345”, “event”:”leftGroup”,
“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,
“version”:”v1”, “groupLeft”:”600@Windstream”
}
signedInAcd
Account is available to participate in ACD applications. Details
{
“subscriptionSetId”:”12345”, “event”:”signedInAcd”,
“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,
“version”:”v1”
}
signedOutAcd
Account is unavailable to participate in ACD applications. Details
{
“subscriptionSetId”:”12345”, “event”:”signedOutAcd”,
“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,
“version”:”v1”
}
dndOff
Account has turned DND off.
Details
{
“subscriptionSetId”:”12345”, “event”:”dndOff”,
“observedParty”:”100@Windstream”, “timestamp”:”2015-05-11T14:06:52+04”,
“version”:”v1”
}
dndOn
Account has turned DND on.
Details
{
“subscriptionSetId”:”12345”, “event”:”dndOn”, “observedParty”:”100@Windstream”,
“timestamp”:”2015-05-11T14:06:52+04”,
“version”:”v1”
}
ParkLocation Events
ParkLocation Events must be reported from the perspective of a single Park Location. The application must explicitly
subscribe for ParkLocation events for specific Park Location or all Park Locations in a tenant.
All ParkLocation events
include a reference to the Park Location. Clients
that track ParkLocation status will want to get the
current ParkLocation status of a ParkLocation at the same time that they register
for ParkLocation events. See ParkLocationStatus Resource.
ParkLocation events report basic Park Location
status such as idle, busy. ParkLocation
events are pushed as they occur to each subscribed application.
idle
ParkLocation is not involved
in any calls. Details
{
“subscriptionSetId”:”12345”, “event”:”idle”,
“observedParty”:”PL1@315100001”, “timestamp”:”2015-05-11T14:06:52+04”,
“version”:”v1”
}
busy
ParkLocation is involved in one or more calls. Details
{
“subscriptionSetId”:”12345”, “event”:”busy”,
“observedParty”:”PL1@315100001”,
"parkedParty":"6132805555", "parkedPartyName":"Steve
L" “timestamp”:”2015-05-11T14:06:52+04”,
“version”:”v1”
}
Resource Model
You can view the complete
interactive graph online at https://<webadminIP>/api/
browser/graph.html or using
the “Resource Graph” link in the HAL browser. You can view a whole
list of all resource models
online at https://< webadminIP>/api/ browser/list.html or using the “Resource List” link
in the HAL browser.
Navigation Resources
Navigation resources include:
•
API Root Resource—the API entry point; this resource varies depending on the
authorization of the requesting user.
•
V1 Resource—the
entry point to the V1 of the API; this resource varies
depending on the authorization of the requesting user.
•
URI Template Dictionary—provides a list of URL templates
of major resources supported by the API.
•
Enums List
Resource—provides a list of all enum
types used by the application.
•
Enum Resource—describes the general response
format to a query for enum
details.
API Root Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Properties
•
Link Relations
•
Sample
GET Response Description
This resource is the entry point
of the silhouette API.
This resource
returns a list of potential resources an application client may wish to
navigate to as a logical next step in using the silhouette API.
If the end user making the request is restricted to viewing data within a tenant, then basic information about that tenant
will also be returned in this response.
Supported Operations
GET
View API Root resource HEAD
Get just the header response
Permitted Authorities (as defined in API Guide)
Telco
User
|
View
|
TenantAdmin
|
View
|
User
|
View
|
Location
|
View
|
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
tenantId
|
Number
|
The
unique identifier of the
requesting subscriber’s tenant. This may form
part of the AccountId. This property
is only provided if the requester is a Subscriber or a Telco user with tenant scope.
|
TenantAdmin, User
|
tenantName
|
String
|
The tenant name of the requesting subscriber’s
tenant. This property is only provided if the requester
is
a Subscriber or a Telco user with tenant scope.
|
TenantAdmin, User
|
Link Relations
Relation
|
Description
|
Visibility
|
api:createWebsocket
|
The
href defined by this link
relation provides the URL to use to create
a WebSocket connection for the
delivery of Call and Presence Events.
|
all
|
api:v1
|
The
v1 resource is the entry
point to the v1 version of
the interface.
|
all
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 353
{
"_links" : {
"curies" : {
"href" : "/api/releases/{rel}",
"name" : "api",
"templated" : true
},
"self" : {
"href" : "/api"
},
"api:createWebsocket" : {
"href" : "/api/ws"
},
"api:v1" : {
"href" : "/api/v1"
}
},
"tenantId" : 156,
"tenantName" : "Dave's Moose Hunting Supply"
}
V1 Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Link Relations
•
Sample
GET Response Description
This relation
returns a list of resources that an application client may wish to allow
the end user to view and manage.
The content
of this resource
varies depending on the role and identity
of the end user initiating
the request.
·
TelcoAdmin users with Tenant Management permission will be provided with a link to explore tenant resources in the
system
·
TelcoAdmin users with Tenant Scope and Call Control Management
permission will
be provided
with links to manage their event subscription sets and the presence
status for users within their tenant
·
TenantAdmin users will be provided with links to explore the
details of their tenant’s
data, their
personal data, as well as links to manage their
event subscription sets and view their own presence status
·
Non-admin users (Users and Locations) will be provided with links
to explore details
of their own system usage.
Supported Operations
GET
View V1 resources
HEAD
Get just the header response
Permitted Authorities (as defined in API Guide)
|
GET
|
Telco
User with Tenant Scope
|
GET
|
TenantAdmin
User
|
GET
|
User
|
GET
|
Location
|
GET
|
Resource Details
Link Relations
Relation
|
Description
|
Visibility
|
v1:tenants
|
Provides a list of tenants configured in the system.
|
Telco(TenantBasicOrAdvance
Management)
|
v1:systemAnnouncements
|
Provides a list of system
announcement configured in the
system.
|
Telco(TenantBasicOrAdvance
Management)
|
v1:defaultSystem Announcement
|
Provides the default system
announcement setting details
of the system.
|
Telco(TenantBasicOrAdvance
Management)
|
v1:customAnnouncementFiles
|
Lists all existing custom announcement files.
|
Telco(TenantBasicOrAdvance
Management)
|
v1:defaultAnnouncementFiles
|
Lists all existing default announcement files.
|
Telco(TenantBasicOrAdvance
Management)
|
v1:languages
|
Provide a list of Supported languages of the system.
|
Telco(TenantBasicOrAdvance
Management, SystemManagement), TenantAdmin, User
|
Relation
|
Description
|
Visibility
|
v1:aaLanguages
|
Provide a list of Supported auto
attendant languages of the system.
|
Telco(TenantBasicOrAdvance
Management, SystemManagement), TenantAdmin
|
v1:crPlatforms
|
Provide a list of CrPlatform of the
system.
|
Telco(TenantBasicOrAdvance
Management, SystemManagement)
|
v1:priGroups
|
Provide a list of PRIGroup of the
system.
|
Telco(SystemManagement)
|
v1:routes
|
Provide a list of Route of the system.
|
Telco(SystemManagement)
|
v1:dialPlans
|
Provide a list of DialPlan of the
system.
|
Telco(SystemManagement)
|
v1:enterprises
|
Provide a list of Enterprises of the
system.
|
Telco(TenantBasicOrAdvance
Management)
|
v1:zones
|
Provide a list of Zone of the system.
|
Telco(SystemManagement, Tenant BasicOrAdvanceManagement, Site BasicOrAdvanceManagement)
|
v1:codecSets
|
Provides a list of codecSets.
|
Telco(SystemManagement, Tenant BasicOrAdvanceManagement)
|
v1:defaultSystemCodecSet
|
Provide the default system
CodecSet setting details of the system.
|
Telco(SystemManagement, Tenant BasicOrAdvanceManagement, Site BasicOrAdvanceManagement)
|
v1:brandDetails
|
Provide a list of BrandDetail of the
system.
|
Telco(SystemManagement, Tenant BasicOrAdvanceManagement)
|
v1:standardDhcpOptions
|
Provide a list of global standard DHCP options of the system.
|
Telco(SystemManagement)
|
v1:customDhcpOptions
|
Provide a list of global custom
DHCP options of the system.
|
Telco(SystemManagement)
|
v1:tenantPhoneModels
|
List of Phone Models
available for this tenant.
|
User
|
Relation
|
Description
|
Visibility
|
v1:macAddresses
|
Provides a list of MAC addresses.
|
Telco(TenantBasicOrAdvance
Management)
|
v1:serviceProviders
|
Provides a list of serviceProviders.
|
Telco(SystemManagement, Tenant BasicOrAdvanceManagement)
|
v1:voicemailServers
|
Provides a list of voicemailServers.
|
Telco(ElementManagement)
|
v1:carriers
|
Provides a list of carriers.
|
Telco(SystemManagement)
|
v1:appServers
|
Provides a list of application servers.
|
Telco(ElementManagement, Tenant BasicOrAdvanceManagement)
|
v1:gateways
|
Provides a list of gateways.
|
Telco(ElementManagement)
|
v1:mediaServers
|
Provides a list of media servers.
|
Telco(ElementManagement)
|
v1:conferenceServers
|
Provides a list of conference servers.
|
Telco(SystemManagement, Tenant BasicOrAdvanceManagement)
|
v1:rtpProxyServers
|
Provides a list of RTP Proxy servers.
|
Telco(SystemManagement, Tenant BasicOrAdvanceManagement)
|
v1:phoneAccessEntries
|
Provides a list of Phone Access Entries.
|
Telco(SystemManagement)
|
v1:callpServers
|
Provides a list of Callp Servers.
|
Telco(ElementManagement, Tenant BasicOrAdvanceManagement)
|
v1:licensing
|
Provides access to Silhouette licenses.
|
Telco(SystemManagement, Tenant BasicOrAdvanceManagement)
|
v1:pinNotificationSettings
|
Manage PIN notification settings.
|
Telco(SystemManagement, Tenant BasicOrAdvanceManagement)
|
v1:systemProperties
|
System properties management.
|
Telco(SystemManagement)
|
v1:runningTasks
|
Provide a list of Running Tasks.
|
Telco(TenantBasicOrAdvance
Management)
|
Relation
|
Description
|
Visibility
|
v1:vmLanguages
|
Provide a list of Supported Voicemail languages of the system.
|
Telco(TenantBasicOrAdvance
Management, SystemManagement), TenantAdmin, User
|
v1:activeCalls
|
Allows the client to retrieve a list of active calls for this subscriber.
|
ScopedTelco(CallControl), Tenant Admin, User
|
v1:deviceStates
|
Allows the client to retrieve a list of device states.
|
ScopedTelco(TenantBasicOr
AdvanceManagement), TenantBasic OrAdvanceManagement
|
v1:eventSubscriptionSets
|
Enables a client application to
register to receive Presence and Call
Events for extensions within a tenant.
|
ScopedTelco(CallControl), Tenant Admin, User
|
v1:extensions
|
Retrieves a list of configured
extensions within the tenant.
|
ScopedTelco(CallControl), Tenant Admin, User
|
v1:location
|
Provides details about the location’s
configuration. This Link Relation is provided only when the requesting
extension belongs to a location.
|
TenantAdmin, User
|
v1:presenceStatusBy Extension
|
Allows a client application to retrieve the
current Presence Status for
the requesting user/location. For a
Scoped TelcoAdmin request initiator, this template resource allows them to retrieve the Presence Status for an
extension within the tenant.
|
ScopedTelco(CallControl), Tenant Admin, User
|
v1:presenceStatusTenant Accounts
|
Allows a client application to retrieve the
current Presence Status for all accounts in a tenant. For a Scoped TelcoAdmin
request initiator, this template resource allows them to retrieve the
Presence Status for all extensions within the tenant.
|
ScopedTelco(CallControl), Tenant Admin
|
v1:presenceStatusTenantPark Locations
|
Allows a client application to
retrieve the current Presence Status for park locations. For a Scoped
TelcoAdmin request initiator, this template resource allows them to retrieve
the Presence Status for all park locations
within the tenant.
|
ScopedTelco(CallControl), Tenant Admin, User
|
Relation
|
Description
|
Visibility
|
v1:parkLocationStatus
|
Allows a client application to retrieve the
current Status for the specified park location.
|
ScopedTelco(CallControl), Tenant Admin, User
|
v1:sendMessageUsers
|
Allows a client application to send an emergency message to phones of
specific users or locations.
|
ScopedTelco(CallControl), Tenant Admin
|
v1:sendMessageSites
|
Allows a client application to send an emergency message to phones in
specific sites.
|
ScopedTelco(CallControl), Tenant Admin
|
v1:tenant
|
Provides details about the tenant
business configuration.
|
ScopedTelco(CallControl), Tenant Admin
|
v1:user
|
Provides details about the user’s
personal configuration. This Link Relation
is provided only when the requesting extension belongs to a
TenantAdmin or non-admin user.
|
TenantAdmin, User
|
v1:userPhones
|
Provides a list of the
user/location’s logged-in phones and identifies their default Click-to-Call and Intercom
devices.
|
TenantAdmin, User
|
v1:externalContacts
|
List of ExternalContact configured by the current tenant. This link are not available for Telco
Users.
|
TenantAdmin, User
|
v1:uriDictionary
|
Provides a list of URI Templates
which can be used to directly navigate to specific entity instances by applying correct entity identifiers to the URI.
|
Telco(all), ScopedTelco(CallControl), TenantAdmin
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 5603
{
"_links" : {
"curies" : {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
},
"self" : {
"href" : "/api/v1"
},
"v1:aaLanguages" : {
"href" : "/api/v1/aalanguages{?filter}",
"templated" : true
},
"v1:activeCalls"
: { "href" : "/api/v1/calls"
},
"v1:appServers" : {
"href" : "/api/v1/appservers{?expand,filter}",
"templated" : true
},
"v1:brandDetails" : {
"href" : "/api/v1/branddetails{?filter}",
"templated" : true
},
"v1:callpServers" : {
"href" : "/api/v1/callpservers{?expand}",
"templated" : true
},
"v1:carriers" : {
"href" : "/api/v1/carriers{?expand,filter}",
"templated" : true
},
"v1:codecSets" : {
"href" : "/api/v1/codecsets{?expand,filter}",
"templated" : true
},
"v1:conferenceServers" : {
"href" : "/api/v1/conferenceservers{?expand,filter}",
"templated" : true
},
"v1:crPlatforms" : {
"href" : "/api/v1/crplatforms{?expand,filter}",
"templated" : true
},
"v1:customAnnouncementFiles" : {
"href" : "/api/v1/customannouncementfiles/{langCode}{?filter}",
"templated" : true
},
"v1:customDhcpOptions" : {
"href" : "/api/v1/customdhcpoptions{?filter}",
"templated" : true
},
"v1:defaultAnnouncementFiles" : {
"href" : "/api/v1/defaultannouncementfiles/{langCode}{?filter}",
"templated" : true
},
"v1:defaultSystemAnnouncement" : {
"href" : "/api/v1/defaultsystemannouncement{?expand}",
"templated" : true
},
"v1:defaultSystemCodecSet" : {
"href" : "/api/v1/defaultcodecset{?expand}",
"templated" : true
},
"v1:deviceStates" : {
"href" : "/api/v1/devicestates"
},
"v1:dialPlans" : {
"href" : "/api/v1/dialplans{?expand,filter}",
"templated" : true
},
"v1:enterprises" : {
"href" : "/api/v1/enterprises{?expand,filter}",
"templated" : true
},
"v1:eventSubscriptionSets" : {
"href" : "/api/v1/subscriptions/ws/{webSocketId}/subscriptionsets",
"templated" : true
},
"v1:extensions" : {
"href" : "/api/v1/tenants/156/extensions{?expand,filter,extensionType,agent}",
"templated" : true
},
"v1:externalContacts" : {
"href" : "/api/v1/tenants/156/externalcontacts{?expand,filter}",
"templated" : true
},
"v1:gateways" : {
"href" : "/api/v1/gateways{?expand,filter}",
"templated" : true
},
"v1:languages" : {
"href" : "/api/v1/languages{?filter}",
"templated" : true
},
"v1:licensing" : {
"href" : "/api/v1/licensing"
},
"v1:macAddresses" : {
"href" : "/api/v1/macaddresses?macAddress={macAddress}",
"templated" : true
},
"v1:mediaServers" : {
"href" : "/api/v1/mediaservers{?expand,filter}",
"templated" : true
},
"v1:parkLocationStatus" : {
"href" : "/api/v1/presencestatus/parklocationstatus/{accountId}",
"templated" : true
},
"v1:phoneAccessEntries" : {
"href" : "/api/v1/phoneaccessentries{?expand,filter}",
"templated" : true
},
"v1:pinNotificationSettings" : {
"href" : "/api/v1/pinnotificationsettings"
},
"v1:presenceStatusByExtension" : {
"href" : "/api/v1/presencestatus/tenants/156/extensions/4332"
},
"v1:presenceStatusTenantAccounts" : {
"href" : "/api/v1/presencestatus/tenants/156/extensions"
},
"v1:presenceStatusTenantParkLocations" : {
"href" : "/api/v1/presencestatus/tenants/156/parklocations"
},
"v1:priGroups" : {
"href" : "/api/v1/prigroups{?expand,filter}",
"templated" : true
},
"v1:routes" : {
"href" : "/api/v1/routes{?expand,filter}",
"templated" : true
},
"v1:rtpProxyServers" : {
"href" : "/api/v1/rtpproxyservers{?expand,filter}",
"templated" : true
},
"v1:runningTasks" : {
"href" : "/api/v1/runningtasks{?expand,filter}",
"templated" : true
},
"v1:sendMessageSites" : {
"href" : "/api/v1/sendmessage/tenants/156/alertsites"
},
"v1:sendMessageUsers" : {
"href" : "/api/v1/sendmessage/tenants/156/alertusers"
},
"v1:serviceProviders" : {
"href" : "/api/v1/serviceproviders{?expand,filter}",
"templated" : true
},
"v1:standardDhcpOptions" : {
"href" : "/api/v1/standarddhcpoptions{?expand,filter}",
"templated" : true
},
"v1:systemAnnouncements" : {
"href" : "/api/v1/systemannouncements{?expand,filter}",
"templated" : true
},
"v1:systemProperties" : {
"href" : "/api/v1/systemproperties"
},
"v1:tenant" : {
"href" : "/api/v1/tenants/156"
},
"v1:tenantPhoneModels" : {
"href" : "/api/v1/tenants/156/phonemodels{?expand,filter}",
"templated" : true
},
"v1:tenants" : {
"href" : "/api/v1/tenants{?expand,filter}",
"templated" : true
},
"v1:uriDictionary" : {
"href" : "/api/v1/uridictionary"
},
"v1:user" : {
"href" : "/api/v1/tenants/156/users/4332"
},
"v1:userPhones" : {
"href" : "/api/v1/tenants/156/users/4332/phones{?expand,filter}",
"templated" : true
},
"v1:vmLanguages" : {
"href" : "/api/v1/vmlanguages{?filter}",
"templated" : true
},
"v1:voicemailServers" : {
"href" : "/api/v1/voicemailservers"
},
"v1:zones" : {
"href" : "/api/v1/zones{?expand,filter}",
"templated" : true
}
}
}
URI Template Dictionary
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Properties
•
Link Relations
•
Expandable Relations
•
Sample
GET Response Description
This resource
is the URI Template Dictionary of the silhouette API. It returns
a list of URI Templates of frequently used links which can be used to
access a single Entity Resource.
Each list of
resources in the service publishes an itemTemplate link relation that provides a templated URI that the client can use in conjunction with a known
identifier value to resolve the URI to a specific instance URL. This
resource gathers those templates into a single place so that a client that is
identifier-aware can cache the templates and resolve them as required, which
may help to reduce the number of required round-trip queries.
The URI Template Dictionary only provides URI Templates links visible to Telco and TenantAdmin users.
Supported Operations
GET
View URI Template Dictionary resources HEAD
Get just the header response
Permitted Authorities (as defined in API Guide)
Telco
User
|
View
|
TenantAdmin
|
View
|
Resource Details
Properties
This resource has no
configurable properties.
Link Relations
Relation
|
Description
|
Visibility
|
v1:call
|
A URI template for managing a
specific Call. Clients that know the callId of the Call they’re seeking may use this URL to manage the resource instead
of iterating over the
list. Provided to requesters User or Location authority.
|
ScopedTelco(CallControl), Tenant Admin, User
|
v1:deviceState
|
A URI
template for retrieve state of a specific Device.
Clients that know the device ID of the Device they’re
seeking may use this
URL to manage the resource instead of iterating
over the list. Provided to requesters
TelcoAdmin authority.
|
ScopedTelco(CallControl)
|
v1:subscriptionSets
|
A URI template for managing a
specific SubscriptionSet. Clients that know the UUID of the Subscription Set they’re seeking
may use this URL to manage
the resource instead of iterating over the list.
Provided to requesters with User, Location, or Scoped TelcoAdmin authority.
|
ScopedTelco(CallControl), Tenant Admin, User
|
v1:callEventAccount
|
A URI template for managing a specific
Call Event Account of a SubscriptionSet. Clients that know the UUID of the
SubscriptionSet and the Account
ID they’re seeking may use this URL to manage the
resource instead of iterating over
the list. Provided to requesters with User,
Location, or Scoped TelcoAdmin authority.
|
ScopedTelco(CallControl), Tenant Admin, User
|
v1:presenceEventAccount
|
A URI template for managing a
specific Presence Event Account of a SubscriptionSet. Clients
that know the UUID of the
SubscriptionSet and the Account ID
they’re seeking may use this URL to manage the
resource
instead of iterating over the
|
ScopedTelco(CallControl), Tenant Admin, User
|
Relation
|
Description
|
Visibility
|
|
list. Provided to requesters with User,
Location, or Scoped TelcoAdmin authority.
|
|
v1:presenceStatusBy Extension
|
A
URI template indicating how to retrieve the
Presence Status for a specific extension. Clients that
know the extension of the account they’re seeking may use this URL
to retrieve the resource instead of iterating over the list. Provided to
requesters with User, Location or Scoped TelcoAdmin authority.
|
ScopedTelco(CallControl), Tenant Admin, User
|
v1:parkLocationStatus
|
A URI template indicating how to
retrieve the Park Location Status for a specific park location. Clients that
know the park location of the account they’re seeking may use this
URL
to
retrieve the resource instead of iterating
over the list. Provided to requesters with User, Location or Scoped
TelcoAdmin authority.
|
ScopedTelco(CallControl), Tenant Admin, User
|
v1:parkLocationEventAccount
|
A URI template for querying a
specific Park Location Event Account. Clients that know the UUID
of the Park Location Account ID they’re seeking may use this URL
to query the resource instead of
iterating over the list. Provided to requesters with User, Location, or Scoped TelcoAdmin authority.
|
ScopedTelco(CallControl), Tenant Admin, User
|
v1:announcement
|
A URI template indicating how to
retrieve a specific Announcement. Clients that know the announcement Id of
the announcement they are seeking can use this URL to retrieve the resource,
instead of iterating over the list. Provided to TelcoAdmin
requesters only.
|
Telco(TenantBasicOrAdvance
Management, SystemManagement), TenantAdmin
|
v1:priGroup
|
A URI template indicating how to
retrieve a specific PRIGroup. Clients that know the priGroupId of the
PRIGroup they are seeking can use this URL to retrieve the resource, instead
of iterating over the list.
Provided to TelcoAdmin requesters only.
|
Telco(SystemManagement, Element Management)
|
Relation
|
Description
|
Visibility
|
v1:route
|
A URI template indicating how to
retrieve a specific Route. Clients that know the routeId of the Route they are seeking can
use this URL to
retrieve the resource, instead of iterating
over the list. Provided to TelcoAdmin requesters only.
|
Telco(SystemManagement)
|
v1:dialPlan
|
A URI template indicating how to
retrieve a specific DialPlan. Clients that know the dialPlanId of the
DialPlan they are seeking can use this URL to retrieve the resource, instead
of iterating over the list.
Provided to TelcoAdmin requesters only.
|
Telco(SystemManagement)
|
v1:zone
|
A URI template indicating how to
retrieve a specific Zone. Clients that know
the zoneId of the Zone they are seeking can use this URL to retrieve
the resource, instead of iterating
over the list. Provided to TelcoAdmin
requesters only.
|
Telco(TenantBasicOrAdvance
Management,
SiteBasicOrAdvance Management, SystemManagement)
|
v1:codecSet
|
A URI template indicating how to
retrieve a specific CodecSet.
Clients that know the
codecId of the CodecSet they are seeking
can use this URL to retrieve
the resource, instead of iterating over the list.
Provided to TelcoAdmin requesters only.
|
Telco(TenantBasicOrAdvance
Management, SystemManagement)
|
v1:gateway
|
A URI template indicating how to
retrieve a specific Gateway. Clients that know the gatewayId of the
Gateway they are seeking can use this URL to retrieve the resource, instead
of iterating over the list.
Provided to requesters with Tenant
Admin or TelcoAdmin authority.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
v1:crPlatform
|
A URI template indicating how to
retrieve a specific CR Platform. Clients that know the crPlatformId of the CR Platform they
are seeking can use this URL to retrieve the
resource, instead of iterating over the list.
Provided to TelcoAdmin requesters only.
|
Telco(TenantBasicOrAdvance
Management, SystemManagement)
|
Relation
|
Description
|
Visibility
|
v1:brandDetail
|
A URI template indicating how to
retrieve a specific BrandDetail. Clients that know the brandDetailId of the BrandDetail they are seeking can use this
URL to retrieve the resource,
instead of iterating over the list.
Provided to TelcoAdmin requesters only.
|
Telco(SystemManagement)
|
v1:carrier
|
A URI template indicating how to
retrieve a specific Carrier. Clients that
know the carrierId of the Carrier they are seeking can use this
URL to retrieve the resource, instead of iterating over the list. Provided to
TelcoAdmin requesters only.
|
Telco(TenantBasicOrAdvance
Management, SystemManagement)
|
v1:mediaServer
|
A URI template indicating how to
retrieve a specific MediaServer. Clients that know the codecId of the
MediaServer they are seeking can use this URL
to retrieve the
resource, instead of iterating over the list.
Provided to TelcoAdmin requesters only.
|
Telco(TenantBasicOrAdvance
Management, SystemManagement), TenantAdmin
|
v1:enterprise
|
A URI template indicating how to
retrieve a specific Enterprise. Clients that know the enterpriseId of
the Enterprise they are seeking can use this URL to retrieve the resource,
instead of iterating over the list.
Provided to TelcoAdmin requesters only.
|
Telco(TenantBasicOrAdvance
Management)
|
v1:conferenceServer
|
A URI template indicating how to
retrieve a specific ConferenceServer.
Clients that know the codecId of the ConferenceServer they are seeking can
use this URL to retrieve the resource, instead of iterating over the list. Provided to TelcoAdmin
requesters only.
|
Telco(TenantBasicOrAdvance
Management, SystemManagement), TenantAdmin
|
v1:rtpProxyServer
|
A URI template indicating how to
retrieve a specific ConferenceServer.
Clients that know the codecId of the RtpProxyServer they are seeking
can use this URL
to retrieve the
resource, instead of iterating over the list.
Provided to TelcoAdmin requesters only.
|
Telco(TenantBasicOrAdvance
Management, SystemManagement), TenantAdmin
|
Relation
|
Description
|
Visibility
|
v1:tenant
|
A URI template indicating how to
retrieve a specific Tenant. Clients that know the
tenantId of the
tenant they are seeking can use this URL to retrieve the resource,
instead of iterating over the list. Provided to TelcoAdmin requesters only.
|
Telco(TenantBasicOrAdvance
Management, SiteBasicOrAdvance Management),
TenantAdmin
|
v1:staticSite
|
A URI template indicating how to
retrieve a specific Site. Clients that know the siteId of the (non-dynamic)
site they are seeking can use this URL to retrieve the resource, instead of iterating over the list.
Provided to TelcoAdmin requesters only.
|
Telco(TenantBasicOrAdvance
Management, SiteBasicOrAdvance Management),
TenantAdmin
|
v1:dynamicSite
|
A URI template indicating how to
retrieve a specific Dynamic Site. Clients that know the siteId of the Dynamic
Site they are seeking can use this URL
to retrieve the
resource, instead of iterating over the list.
Provided to TelcoAdmin requesters only.
|
Telco(TenantBasicOrAdvance
Management, SiteBasicOrAdvance Management),
TenantAdmin
|
v1:did
|
A URI template indicating how to
retrieve a specific DID. Clients that know the didId of the DID they are
seeking can use this URL to retrieve the resource, instead of iterating over the list.
Provided to TelcoAdmin requesters only.
|
Telco(TenantBasicOrAdvance
Management, SiteBasicOrAdvance Management),
TenantAdmin
|
v1:businessHoursProfile
|
A
URI template indicating how to retrieve a specific Business
HoursProfile. Clients that know the
businessHoursId of the Business Hours they are seeking can use this URL to retrieve the resource, instead of iterating over the list.
Provided
to
TenantAdmin and TelcoAdmin requesters only.
|
Telco(TenantBasicOrAdvance
Management, SiteBasicOrAdvance Management),
TenantAdmin
|
v1:callGroup
|
A URI template indicating how to
retrieve a specific Call Group.
Clients that know the callGroupId of the call group they are seeking
can use this URL to retrieve the resource, instead of iterating over the list.
Provided
to
TenantAdmin and TelcoAdmin requesters only.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
Relation
|
Description
|
Visibility
|
v1:keyProfile
|
A URI template indicating how to
retrieve a specific Key Profile. Clients that know the keyProfileId of the key profile they are
seeking can use this URL to retrieve the resource, instead of iterating over the list. Provided
to
TenantAdmin and TelcoAdmin requesters only.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
v1:callPermissionProfile
|
A URI template indicating how to
retrieve a specific Call Permission Profile. Clients that know the call
PermissionProfileId of the call permission profile they are seeking can use
this URL to retrieve the resource, instead of iterating over the
list. Provided to TenantAdmin and TelcoAdmin requesters only.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
v1:extension
|
A URI template indicating how to use
a known extension value to find a specific Extension resource. Provided to requesters with Tenant
Admin and TelcoAdmin authority.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
v1:user
|
A URI template indicating how to
retrieve a specific User resource. Clients
that know the
extension of the user they are seeking can use this
URL to retrieve the resource, instead of iterating over the list. Provided to
requesters with TenantAdmin and TelcoAdmin authority.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
v1:location
|
A URI template indicating how to use
a known subscriber extension to
find a specific Location. Provided to requesters with TenantAdmin and TelcoAdmin authority.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
v1:acd
|
A URI template indicating how to
retrieve a specific ACD. Clients that know the acdId of the ACD they are
seeking can use this URL
to retrieve the resource,
instead of iterating over the list. Provided to requesters with TenantAdmin
and TelcoAdmin authority.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
v1:autoAttendant
|
A URI template indicating how to
retrieve a specific AutoAttendant. Clients that know the autoAttendant
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
Relation
|
Description
|
Visibility
|
|
Id of the AutoAttendant they are
seeking can use this
URL to retrieve the resource, instead of
iterating over the list. Provided to requesters with TenantAdmin and
TelcoAdmin authority.
|
|
v1:phone
|
A URI template indicating how to
retrieve a specific Phone. Clients that know
the extension of the Phone they are seeking can use this URL
to
retrieve the resource, instead of iterating
over the list. Provided to requesters with TenantAdmin or TelcoAdmin
authority.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
v1:externalContact
|
A URI template indicating how to
retrieve a specific ExternalContact. Clients
that know the externalContact
Id of the ExternalContact they are seeking can use this URL to retrieve the
resource, instead of iterating
over the list. Provided to requesters with
TenantAdmin or TelcoAdmin authority.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
v1:callpServer
|
A URI template indicating how to
retrieve a specific Callp Server. Clients that know the callpId of the Callp
Server they are seeking can use this URL
to retrieve the
resource, instead of iterating over the list.
Provided to requesters with Tenant
Admin or TelcoAdmin authority.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
v1:serviceProvider
|
A URI template indicating how to
retrieve a specific Service Provider. Clients that know the serviceProvider
Id of the Service Provider they are seeking can use this URL to retrieve the
resource, instead of iterating over
the list. Provided to requesters with TenantAdmin or TelcoAdmin authority.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
v1:voicemailServer
|
A URI template indicating how to retrieve a specific Voicemail Server. Clients that know the voicemail ServerId of the
Voicemail Server they are seeking can use this URL to retrieve the resource,
instead of
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
Relation
|
Description
|
Visibility
|
|
iterating over the list. Provided to
requesters with TenantAdmin or TelcoAdmin authority.
|
|
Expandable Relations
This resource contains no
expandable elements.
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 5142
{
"_links" : {
"curies" : {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
},
"self" : {
"href" : "/api/v1/uridictionary"
},
"v1:acd" : {
"href" : "/api/v1/tenants/{tenantId}/acds/{acdId}",
"templated" : true
},
"v1:announcement" : {
"href" : "/api/v1/announcements/{announcementId}",
"templated" : true
},
"v1:autoAttendant" : {
"href" : "/api/v1/tenants/{tenantId}/autoattendants/{autoAttendantId}",
"templated" : true
},
"v1:brandDetail" : {
"href" : "/api/v1/branddetails/{brandDetailId}",
"templated" : true
},
"v1:businessHoursProfile" : {
"href" : "/api/v1/tenants/{tenantId}/businesshours/{businessHourId}",
"templated" : true
},
"v1:call" : {
"href" : "/api/v1/calls/{callObserverId}",
"templated" : true
},
"v1:callEventAccount" : {
"href" : "/api/v1/subscriptions/ws/{webSocketId}/subscriptionsets/{subscriptionSetId}/
calleventaccounts/{accountId}", "templated"
: true
},
"v1:callGroup" : {
"href" : "/api/v1/tenants/{tenantId}/callinggroups/{callGroupId}",
"templated" : true
},
"v1:callPermissionProfile" : {
"href" : "/api/v1/tenants/{tenantId}/callpermissionprofiles/{callPermissionProfileId}",
"templated" : true
},
"v1:callpServer" : {
"href" : "/api/v1/callpservers/{callpId}",
"templated" : true
},
"v1:carrier" : {
"href" : "/api/v1/carriers/{carrierId}",
"templated" : true
},
"v1:codecSet" : {
"href" : "/api/v1/codecsets/{codecSetId}",
"templated" : true
},
"v1:conferenceServer" : {
"href" : "/api/v1/conferenceservers/{conferenceServerId}",
"templated" : true
},
"v1:crPlatform" : {
"href" : "/api/v1/crplatforms/{crPlatformId}",
"templated" : true
},
"v1:deviceState" : {
"href" : "/api/v1/devicestates/{deviceId}",
"templated" : true
},
"v1:dialPlan" : {
"href" : "/api/v1/dialplans/{dialPlanId}",
"templated" : true
},
"v1:did" : {
"href" : "/api/v1/tenants/{tenantId}/dids/{didId}",
"templated" : true
},
"v1:dynamicSite" : {
"href" : "/api/v1/tenants/{tenantId}/dynamicsites/{siteId}",
"templated" : true
},
"v1:enterprise" : {
"href" : "/api/v1/enterprises/{enterpriseId}",
"templated" : true
},
"v1:extension" : {
"href" : "/api/v1/tenants/{tenantId}/extensions/{extension}",
"templated" : true
},
"v1:externalContact" : {
"href" : "/api/v1/tenants/{tenantId}/externalcontacts/{externalContactId}",
"templated" : true
},
"v1:gateway" : {
"href" : "/api/v1/gateways/{gatewayId}",
"templated" : true
},
"v1:keyProfile" : {
"href" : "/api/v1/tenants/{tenantId}/keyprofiles/{keyProfileId}",
"templated" : true
},
"v1:location" : {
"href" : "/api/v1/tenants/{tenantId}/locations/{extension}",
"templated" : true
},
"v1:mediaServer" : {
"href" : "/api/v1/mediaservers/{mediaServerId}",
"templated" : true
},
"v1:parkLocationEventAccount" : {
"href" : "/api/v1/subscriptions/ws/{webSocketId}/subscriptionsets/{subscriptionSetId}/
parklocationeventaccounts/{accountId}",
"templated" : true
},
"v1:parkLocationStatus" : {
"href" : "/api/v1/presencestatus/parklocationstatus/{accountId}",
"templated" : true
},
"v1:phone" : {
"href" : "/api/v1/tenants/{tenantId}/phones/{phoneId}",
"templated" : true
},
"v1:presenceEventAccount" : {
"href" : "/api/v1/subscriptions/ws/{webSocketId}/subscriptionsets/{subscriptionSetId}/
presenceeventaccounts/{accountId}",
"templated" : true
},
"v1:presenceStatusByExtension" : {
"href" : "/api/v1/presencestatus/tenants/{tenantId}/extensions/{extension}",
"templated" : true
},
"v1:priGroup" : {
"href" : "/api/v1/prigroups/{priGroupId}",
"templated" : true
},
"v1:route" : {
"href" : "/api/v1/routes/{routeId}",
"templated" : true
},
"v1:rtpProxyServer" : {
"href" : "/api/v1/rtpproxyservers/{rtpProxyServerId}",
"templated" : true
},
"v1:serviceProvider" : {
"href" : "/api/v1/serviceproviders/{serviceProviderId}",
"templated" : true
},
"v1:staticSite" : {
"href" : "/api/v1/tenants/{tenantId}/staticsites/{siteId}",
"templated" : true
},
"v1:subscriptionSets" : {
"href" : "/api/v1/subscriptions/ws/{webSocketId}/subscriptionsets/{subscriptionSetId}",
"templated" : true
},
"v1:tenant" : {
"href" : "/api/v1/tenants/{tenantId}",
"templated" : true
},
"v1:user" : {
"href" : "/api/v1/tenants/{tenantId}/users/{extension}",
"templated" : true
},
"v1:voicemailServer" : {
"href" : "/api/v1/voicemailservers/{voicemailServerId}",
"templated" : true
},
"v1:zone" : {
"href" : "/api/v1/zones/{zoneId}",
"templated" : true
}
}
}
List Details
The Enum list resource provides
a list of Enum resources.
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
Embedded Representations
Name
|
Description
|
Visibility
|
Expandable
|
parkLocationRange
|
Values for configuring the Tenant’s
Park Location Range setting. See Tenant
AdminSettings resource.
|
all
|
n
|
extensionType
|
Supported Extension types. See the Extension resource.
|
all
|
n
|
directorySearchType
|
Values for the tenant Directory
Search Type setting. See Tenant
Details resource.
|
all
|
n
|
subscriberClidType
|
The possible origins for setting the CLID for a User or Location.
|
all
|
n
|
parameterType
|
Used in error messages that contain
substitutable parameters, this enum indicates the type of each
parameter.
|
all
|
n
|
callparkLocation Algorithm
|
Values for the Tenant’s Callpark Location Algorithm setting. See Tenant Details resource.
|
all
|
n
|
signallingProtocol
|
Supported values for a phone’s signalling protocol.
|
all
|
n
|
Name
|
Description
|
Visibility
|
Expandable
|
autoAttendantAction Type
|
Actions that can be assigned to keys within
an auto attendant.
|
all
|
n
|
callRequest
|
Supported values for making a request to handle
a call. See Active Calls resource.
|
all
|
n
|
callForwardTarget Type
|
Supported values for specifying the Call Forward (Immediate) Target. See
User/Location Features resource for details.
|
all
|
n
|
callTargetType
|
Supported values for configuring the
Call Forward No Answer call target type. See the User/ Location Features or Call Group details resource for details.
|
all
|
n
|
callGroupType
|
Supported values for Call Group
types. See the Tenant CallGroups resource for details.
|
all
|
n
|
ringBehaviourType
|
Possible values for the Ring
Behaviour Type of broadcast and hunt call groups. See the Tenant Call Groups
resource for details.
|
all
|
n
|
huntGroupType
|
Possible values for the Hunt Group Type for hunt call groups.
See the Tenant Call Groups resource for details.
|
all
|
n
|
vvxBlfRingToneType
|
Possible values for configuring the
BLF ring on a VVX phone. See the
User/Location Polycom Ring Tones resource for details.
|
all
|
n
|
Name
|
Description
|
Visibility
|
Expandable
|
mitelRingToneType
|
Possible values for configuring the Ring Tones on a Mitel phone. See
the User/Location Mitel Ringtones resource for details.
|
all
|
n
|
deviceIdType
|
Supported values for making a request to handle
a call. See Active Calls resource.
|
all
|
n
|
callDestinationType
|
Supported values for configuring the SCR call destination type. See the SCR
related target resources for details.
|
all
|
n
|
clidMatchType
|
Supported values for configuring the SCR CLID condition match type. See the SCR related CLID condition
resources for details.
|
all
|
n
|
keyFeatureDataType
|
Supported values for key feature data type. See the
KeyFeature resource for details.
|
all
|
n
|
keyFeatureData Require
|
Supported values for key feature data require
type. See the KeyFeature resource for details.
|
all
|
n
|
pinNotification MethodType
|
Supported values PIN notification type.
See the PinNotificationMethod resource for
details.
|
all
|
n
|
routeType
|
Supported values of route
type. See the Route
resource for details.
|
all
|
n
|
classOfService
|
Supported values of class of service. See the DialPlan Entry resource for details.
|
all
|
n
|
Name
|
Description
|
Visibility
|
Expandable
|
numberOfDigitsType
|
Supported values of number of digits
type. See the DialPlanEntry resource for details.
|
all
|
n
|
phoneSiteAssignment Type
|
Supported values of class of phone
site assignment type. See the PhoneToSite
resource for details.
|
all
|
n
|
sipPhoneNameDefault Type
|
User agent or custom.
|
all
|
n
|
codecType
|
The
voice encoding types available on the system.
|
all
|
n
|
packetization IntervalType
|
The
packetization intervals
available on the system.
This is the number of speech frames
per packet.
|
all
|
n
|
moreHelpLinkType
|
Possible values for the more help link type.
|
all
|
n
|
voicemailBoxState Type
|
Possible values for the voicemail box state type.
|
all
|
n
|
gatewayType
|
Possible values for the gateway type.
|
all
|
n
|
mediaServerType
|
Possible values for the media server type.
|
all
|
n
|
conferenceServerType
|
Possible values for the conference
server type.
|
all
|
n
|
minetSiteIPAssign Type
|
Possible values for the minet site IP assign
type.
|
all
|
n
|
supportLink VisibilityType
|
Possible values for the support link
visibility type.
|
all
|
n
|
Name
|
Description
|
Visibility
|
Expandable
|
supportLinkType
|
Possible values for the support link type.
|
all
|
n
|
telcoGroupPermission Type
|
Possible values for permissions for Telco
Groups and Users.
|
all
|
n
|
presenceStateRouting OverrideType
|
list of types available for Presence State Routing Override.
|
all
|
n
|
dhcpOptionValueType
|
Possible values for DHCP option value types.
|
all
|
n
|
alertPriority
|
Supported values for the priority of an alert message. See Send Message
resource.
|
all
|
n
|
phoneMessageAlert Type
|
The
options for Phone Message Alert Type.
|
all
|
n
|
runningTaskType
|
The
options for Running Task Type.
|
all
|
n
|
runningTaskState
|
The
options for Running Task State.
|
all
|
n
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 6894
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/enums"
},
"v1:itemTemplate" : [ {
"href" : "/api/v1/enums/{enumName}",
"templated" : true
} ]
},
"_embedded"
: { "pinNotificationMethodType" : [ {
"_links"
: {
"self" : {
"href" : "/api/v1/enums/pinnotificationmethodtype"
}
}
} ],
"huntGroupType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/huntgrouptype"
}
}
} ],
"callTargetType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/calltargettype"
}
}
} ],
"deviceIdType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/deviceidtype"
}
}
} ],
"presenceStateRoutingOverrideType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/presencestateroutingoverridetype"
}
}
} ],
"callparkLocationAlgorithm" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/callparklocationalgorithm"
}
}
} ],
"callDestinationType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/calldestinationtype"
}
}
} ],
"alertPriority" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/alertpriority"
}
}
} ],
"codecType" : [ {
"_links" : {
"self" : {
"href" : "/api/v1/enums/codectype"
}
}
} ],
"autoAttendantActionType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/autoattendantactiontype"
}
}
} ],
"gatewayType" : [ {
"_links" : {
"self" : {
"href" : "/api/v1/enums/gatewaytype"
}
}
} ],
"subscriberClidType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/subscriberclidtype"
}
}
} ],
"conferenceServerType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/conferenceservertype"
}
}
} ],
"voicemailBoxStateType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/voicemailboxstatetype"
}
}
} ],
"runningTaskState" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/runningtaskstate"
}
}
} ],
"telcoGroupPermissionType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/telcogrouppermissiontype"
}
}
} ],
"callGroupType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/callgrouptype"
}
}
} ],
"clidMatchType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/clidmatchtype"
}
}
} ],
"packetizationIntervalType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/packetizationintervaltype"
}
}
} ],
"routeType" : [ {
"_links" : {
"self" : {
"href" : "/api/v1/enums/routetype"
}
}
} ],
"callForwardTargetType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/callforwardtargettype"
}
}
} ],
"numberOfDigitsType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/numberofdigitstype"
}
}
} ],
"classOfService" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/classofservice"
}
}
} ],
"ringBehaviourType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/ringbehaviourtype"
}
}
} ],
"signallingProtocol" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/signallingprotocol"
}
}
} ],
"parameterType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/parametertype"
}
}
} ],
"keyFeatureDataRequire" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/keyfeaturedatarequire"
}
}
} ],
"supportLinkType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/supportlinktype"
}
}
} ],
"directorySearchType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/directorysearchtype"
}
}
} ],
"vvxBlfRingToneType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/vvxblfringtonetype"
}
}
} ],
"keyFeatureDataType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/keyfeaturedatatype"
}
}
} ],
"dhcpOptionValueType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/dhcpoptionvaluetype"
}
}
} ],
"phoneSiteAssignmentType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/phonesiteassignmenttype"
}
}
} ],
"mitelRingToneType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/mitelringtonetype"
}
}
} ],
"minetSiteIPAssignType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/minetsiteipassigntype"
}
}
} ],
"moreHelpLinkType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/morehelplinktype"
}
}
} ],
"parkLocationRange" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/parklocationrange"
}
}
} ],
"extensionType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/extensiontype"
}
}
} ],
"supportLinkVisibilityType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/supportlinkvisibilitytype"
}
}
} ],
"sipPhoneNameDefaultType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/sipphonenamedefaulttype"
}
}
} ],
"callRequest" : [ {
"_links" : {
"self" : {
"href" : "/api/v1/enums/callrequest"
}
}
} ],
"phoneMessageAlertType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/phonemessagealerttype"
}
}
} ],
"mediaServerType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/mediaservertype"
}
}
} ],
"runningTaskType" : [ { "_links" : {
"self" : {
"href" : "/api/v1/enums/runningtasktype"
}
}
} ]
}
}
Modify List Request
This is a server-managed list
and does not support element creation.
Enum Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Properties
•
Sample
GET Response Description
The Enum Resource provides a list
of possible values for an enumerated type.
For each
property in the API that uses an enumerated type, the list of possible values
for the property can be looked up in the enum dictionary. Each value list
follows a consistent format, providing the real value
that is used in the API as well as a suggested label for the value.
Supported Operations
GET
View Enum Details
HEAD
Get just the header response
Permitted Authorities (as defined in API Guide)
Telco
User
|
GET
|
Telco
User with Tenant Scope
|
GET
|
TenantAdmin
User
|
GET
|
User
|
GET
|
Location
|
GET
|
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
values[]
|
Array
|
Each element of the values
array represents an enum value and a suggested label that clients can use to present to the end user.
|
all
|
values[].name
|
String
|
Name is the (enum) value that is used in the resource that is referencing the enum.
|
all
|
values[].default Label
|
String
|
The default label property provides
a string that can be used for presenting to the user. Localization is not
currently supported.
|
all
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 441
{
"_links" : {
"self" : {
"href" : "/api/v1/enums/extensiontype"
}
},
"values" : [ {
"name"
: "userExt", "defaultLabel" : "userExt"
}, {
"name"
: "locationExt", "defaultLabel" : "locationExt"
}, {
"name"
: "acdExt", "defaultLabel"
: "acdExt"
}, {
"name"
: "groupExt", "defaultLabel" : "groupExt"
}, {
"name"
: "autoAttendantExt", "defaultLabel" : "autoAttendantExt"
} ]
}
Non-admin
Call Control User
|
GET,
POST
|
List Details
The Event Subscription Sets
list returns a list of SubscriptionSets resources.
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
Embedded Representations
Name
|
Description
|
Visibility
|
Expandable
|
subscriptionSets
|
Each element of the subscriptionSets
array represents a single subscriptionSet resource, and indicates the UUID and tenantId of the subscription Set.
|
ScopedTelco(CallControl), TenantAdmin, User
|
n
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 2085
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" :
"/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/subscriptionsets"
},
"v1:itemTemplate" : [ {
"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/subscriptionsets/
{subscriptionSetId}", "templated" : true
} ]
},
"_embedded"
: { "subscriptionSets" : [ {
"_links"
: {
"self" : {
"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"
},
"v1:callEventSubscriptions" : [ {
"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts"
} ],
"v1:emergencyCallAlertEventSubscriptions"
: [ {
"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/alertevent/emergencycall"
} ],
"v1:parkLocationEventSubscriptions" : [ {
"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts"
} ],
"v1:parkLocationStatusBySubscriptionSet" :
[ {
"href" : "/api/v1/presencestatus/parklocationstatus/
ws/300f5121-17e0-477e-915a-830121cdc5d7/subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"
} ],
"v1:presenceEventSubscriptions" : [ {
"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts"
} ],
"v1:presenceStatusBySubscriptionSet" : [ {
"href" : "/api/v1/presencestatus/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"
} ]
},
"subscriptionSetId" : "5817dfce-61a8-4c37-ab6d-d72ec78219e8",
"tenantId" : 12345
} ]
}
}
Modify List Request
Use a POST request to create a
new SubscriptionSet.
POST Request Properties
No properties are required in
the payload of the POST request.
Sample POST Request
POST /api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/subscriptionsets HTTP/1.1 Content-Type:
application/x-www-form-urlencoded; charset=ISO-8859-1
Host: localhost:34989
Sample POST Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 1582
{
"_links" : {
"curies" : {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
},
"self" : {
"href" :
"/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"
},
"v1:callEventSubscriptions" : {
"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts"
},
"v1:emergencyCallAlertEventSubscriptions"
: {
"href"
: "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/alertevent/emergencycall"
},
"v1:parkLocationEventSubscriptions" : {
"href"
: "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts"
},
"v1:parkLocationStatusBySubscriptionSet" :
{
"href" : "/api/v1/presencestatus/parklocationstatus/
ws/300f5121-17e0-477e-915a-830121cdc5d7/subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"
},
"v1:presenceEventSubscriptions" : {
"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts"
},
"v1:presenceStatusBySubscriptionSet" : {
"href" : "/api/v1/presencestatus/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"
}
},
"subscriptionSetId" : "5817dfce-61a8-4c37-ab6d-d72ec78219e8",
"tenantId" : 12345
}
SubscriptionSets Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Properties
•
Link Relations
•
Sample
GET Response Description
Each
Subscription Set resource is used to register for and manage the delivery of
events on the WebSocket. It holds two collections of eventAccounts: one represents the subscribed accounts for call events,
and one represents the subscribed accounts for presence events.
A Subscription Set is associated with the user who creates
it, and also the tenant that the user is a member of.
After creating the subscription set, the client must
explicitly register
to receive the events that it is interested in by adding
accounts to the appropriate list: the server does not
automatically add any event subscriptions.
When creating
event subscriptions within
a set, all Accounts must be associated with the tenant
associated with the subscription set. A TenantAdmin may subscribe to events for
any Account (user) within the tenant, but a non-admin user may only subscribe to events
related to his own extension.
Supported Operations
GET
View Subscription Set details HEAD
Get just the header response
Permitted Authorities (as defined in API Guide)
Telco
Call Control User with Tenant Scope
|
GET,
POST
|
TenantAdmin
Call Control User
|
GET,
POST
|
Non-admin
Call Control User
|
|
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
subscriptionSetId
|
String
|
The UUID that uniquely identifies this
Subscription Set.
|
TenantAdmin, User
|
tenantId
|
Number
|
The unique identifier of the Tenant
for which subscriptions may
be created within this SubscriptionSet.
|
TenantAdmin, User
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:callEventSubscriptions
|
Use this link to query or modify the list of subscribed accounts for Call Events on
this Subscription Set.
|
ScopedTelco(CallControl), Tenant Admin, User
|
v1:emergencyCallAlertEvent Subscriptions
|
Use this link to query or modify the
subscription of Emergency Call Alert Event on
this Subscription Set.
|
ScopedTelco(CallControl), Tenant Admin
|
v1:presenceEvent Subscriptions
|
Use this link to query or modify the list of subscribed accounts for
Presence Events on this Subscription
Set.
|
ScopedTelco(CallControl), Tenant Admin, User
|
v1:presenceStatusBy SubscriptionSet
|
Use this link to query the current
Presence Status of all accounts subscribed
for Presence Events
on this Subscription Set.
|
ScopedTelco(CallControl), Tenant Admin, User
|
v1:parkLocationEvent Subscriptions
|
Use this link to query or modify the
list of subscribed accounts for Park Location Events on this Subscription
Set.
|
ScopedTelco(CallControl), Tenant Admin, User
|
Relation
|
Description
|
Visibility
|
v1:parkLocationStatusBy SubscriptionSet
|
Use this link to query the current
Park Location Status
of all accounts subscribed for Park Location Events on this Subscription Set.
|
ScopedTelco(CallControl), Tenant Admin, User
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 1582
{
"_links" : {
"curies" : {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
},
"self" : {
"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"
},
"v1:callEventSubscriptions" : {
"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts"
},
"v1:emergencyCallAlertEventSubscriptions"
: {
"href"
: "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/alertevent/emergencycall"
},
"v1:parkLocationEventSubscriptions" : {
"href"
: "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts"
},
"v1:parkLocationStatusBySubscriptionSet" :
{
"href" : "/api/v1/presencestatus/parklocationstatus/
ws/300f5121-17e0-477e-915a-830121cdc5d7/subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"
},
"v1:presenceEventSubscriptions" : {
"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts"
},
"v1:presenceStatusBySubscriptionSet" : {
"href" : "/api/v1/presencestatus/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"
}
},
"subscriptionSetId" : "5817dfce-61a8-4c37-ab6d-d72ec78219e8",
"tenantId" : 12345
}
List Details
The Call Events Subscriptions
list returns a list of Call Event
Account resources.
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
v1:extensions
|
List of valid extensions for the tenant which can be used for presence
status subscription.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
Embedded Representations
Name
|
Description
|
Visibility
|
Expandable
|
eventAccount
|
Each Account representation in the event Account array reflects an
extension for which
events are generated.
|
TenantAdmin, User
|
n
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 995
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" :
"/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts"
},
"v1:extensions" : [ {
"href" : "/api/v1/tenants/{tenantId}/extensions{?expand,filter,extensionType,agent}",
"templated" : true
} ],
"v1:itemTemplate" : [ {
"href"
: "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts/{accountId}",
"templated" : true
} ]
},
"_embedded"
: { "eventAccount" : [ {
"_links"
: {
"self" : {
"href"
: "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts/3235@12345"
}
},
"accountId" : "3235@12345"
} ]
}
}
Modify Request
Use a PUT
request specifying an array of AccountIds to create or fully replace the
current set of call event
subscriptions. Providing an empty list will have the effect
of deleting all call event subscriptions on this subscription set.
PUT Request Properties
The following properties are processed as part of each element
in the PUT request. Any other content in the payload is
ignored. This includes other properties that may be part of the GET response:
if they are not documented here, they are ignored by the server if they are
included as part of this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
eventAccounts
|
Array
|
An
array of Account Ids
|
TenantAdmin, User
|
Required. The value must be
an array of valid Account Ids
in
format <ext>@
<tenantId>. Empty array can be
used to remove all current subscribed account.
|
scope
|
Null
|
used for Park Location events
|
TenantAdmin, User
|
Not
Required for call events
|
Sample PUT Request
PUT /api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:34921 Content-Length: 58
{
"scope" : null,
"eventAccounts" : [ "3235@12345"
]
}
Sample PUT Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 995
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts"
},
"v1:extensions" : [ {
"href" : "/api/v1/tenants/{tenantId}/extensions{?expand,filter,extensionType,agent}",
"templated" : true
} ],
"v1:itemTemplate" : [ {
"href"
: "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts/{accountId}",
"templated" : true
} ]
},
"_embedded"
: { "eventAccount" : [ {
"_links"
: {
"self" : {
"href"
: "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts/3235@12345"
}
},
"accountId" : "3235@12345"
} ]
}
}
Add Element Request
This list does not directly support
adding an element.
A new element can be created in the list by using a PUT request to
create a Call
Event Account resource.
Call Event Account Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Properties
•
Modify Request
•
PUT Request Properties
•
Sample PUT Request
•
Sample
PUT Response Description
This resource
identifies an Account
for subscribing to Call Events.
Issue a PUT request
to this resource, specifying the Account in the URI, in order to start
subscribing to call events for the account, or DELETE it to stop receiving call
events.
An account has
the format "<ext>@<tenantId>". The extension represents a
user or location extension. The tenantId is the unique identifier that is used during authentication using the "ID"
domain, and is provided as a property in the response to the initial query to
the API’s root resource at https://<address>/api.
Any account
being subscribed to must belong to the same tenant that was used to create the subscription set. Permission to subscribe to events for a specific
account depend upon the Authority of the requesting user: non-admin
users may subscribe to call events only for their own extension, while other
users may subscribe to call events for any extension within the tenant. Those
with permission can subscribe to
multiple users
at once using the format "ALL_USERS@<tenantId>". Similarly,
multiple accounts can be subscribed to using the terms: ALL_CALL_GROUP_EXTENSIONS,
ALL_AA_EXTENSIONS, and ALL_ACD_EXTENSIONS. For for all users and locations,
all broadcast/hunt/rollover groups, all AAs and all ACD queues within a tenant,
register for ALL.
Supported Operations
PUT
Add or replace an existing Account
in the Subscription set DELETE
Remove an Account from the
Subscription set
Permitted Authorities (as defined in API Guide)
Telco
Call Control User with Tenant Scope
|
|
|
PUT, DELETE
|
TenantAdmin
Call Control User
|
PUT,
DELETE
|
Non-admin
Call Control User
|
PUT,
DELETE
|
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
accountId
|
String
|
The
accountId identifies an account which is registered for Call Events within this
Subscription Set.
|
TenantAdmin, User
|
Modify Request
The PUT request to this resource
causes a new subscription to be added
if there was no
existing subscription for that account.
PUT Request Properties
The PUT request does not
require a payload.
Sample PUT Request
PUT
/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts/3235@12345 HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:34921
Sample PUT Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 235
{
"_links" : {
"self" : {
"href" :
"/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/calleventaccounts/3235@12345"
}
},
"accountId" : "3235@12345"
}
{
"_links" : {
"self" : {
"href" :
"/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/alertevent/emergencycall"
}
},
"allSites" : false
}
Modify Request
Use a PUT request
to specify the status of subscription for Emergency Call Alert Event subscription.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
allSites
|
Boolean
|
This will enable/
|
TenantAdmin
|
Required. The value
|
|
|
disable Emergency
|
|
must be true or false.
|
|
|
Call Alert Event
|
|
|
|
|
subscription for all
|
|
|
|
|
sites of tenant within
|
|
|
|
|
this
Subscription Set.
|
|
|
Sample PUT Request
PUT /api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/alertevent/emergencycall HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:37181 Content-Length: 23
{
"allSites" : true
}
Sample PUT Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 222
{
"_links" : {
"self" : {
"href" :
"/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/alertevent/emergencycall"
}
},
"allSites" : true
}
List Details
The Presence
Events Subscriptions list returns a list of Presence Event Account resources.
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
v1:extensions
|
List of valid extensions for the tenant which can be used for presence
status subscription.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
Embedded Representations
Name
|
Description
|
Visibility
|
Expandable
|
eventAccount
|
Each element in the event Account
array reflects an account for which
presence events are generated.
|
TenantAdmin, User
|
n
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 1139
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts"
},
"v1:extensions" : [ {
"href" : "/api/v1/tenants/{tenantId}/extensions{?expand,filter,extensionType,agent}",
"templated" : true
} ],
"v1:itemTemplate" : [ {
"href"
: "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts/{accountId}",
"templated" : true
} ]
},
"_embedded"
: { "eventAccount" : [ {
"_links"
: {
"self" : {
"href"
: "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts/3235@12345"
},
"v1:presenceStatusByExtension" : [ {
"href" : "/api/v1/presencestatus/tenants/12345/extensions/3235"
} ]
},
"accountId" : "3235@12345"
} ]
}
}
Modify Request
Use a PUT
request specifying an array of AccountIds to initialize or fully replace the
current set of presence event
subscriptions. Providing an empty list will have the effect of the deleting all presence event
subscriptions on this list.
PUT Request Properties
The following properties are processed as part of each element
in the PUT request. Any other content in the payload is
ignored. This includes other properties that may be part of the GET response:
if they are not documented here, they are ignored by the server if they are
included as part of this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
eventAccounts
|
Array
|
An
array of Account Ids
|
TenantAdmin, User
|
Required. The value must be
an array of valid Account Ids
in
format <ext>@
<tenantId>. Empty array can be
used to remove all current subscribed account.
|
scope
|
Null
|
used for Park Location events
|
TenantAdmin, User
|
Not
Required for call events
|
Sample PUT Request
PUT /api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:38547 Content-Length: 58
{
"scope" : null,
"eventAccounts" : [ "3235@12345"
]
}
Sample PUT Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 1139
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts"
},
"v1:extensions" : [ {
"href" : "/api/v1/tenants/{tenantId}/extensions{?expand,filter,extensionType,agent}",
"templated" : true
} ],
"v1:itemTemplate" : [ {
"href"
: "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts/{accountId}",
"templated" : true
} ]
},
"_embedded"
: { "eventAccount" : [ {
"_links"
: {
"self" : {
"href"
: "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts/3235@12345"
},
"v1:presenceStatusByExtension" : [ {
"href" : "/api/v1/presencestatus/tenants/12345/extensions/3235"
} ]
},
"accountId" : "3235@12345"
} ]
}
}
Add Element Request
This list does not directly support
adding an element.
A new element can be created in the list by using a PUT request to
create a Presence
Event Account resource.
Presence Event Account Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Properties
•
Sample GET Response
•
Modify Request
•
PUT Request Properties
•
Sample PUT Request
•
Sample
PUT Response Description
This resource
identifies an Account for subscribing to Presence Events. Issue a PUT request to this resource, specifying the Account
in the URI, in order
to start subscribing to presence events for the
account, or DELETE it to stop receiving presence events.
An account has
the format "<ext>@<tenantId>". The extension represents a
user or location extension. The tenantId is the unique identifier that is used during authentication using the "ID"
domain, and is provided as a property in the response to the initial query to
the API’s root resource at https://<address>/api.
Any account
being subscribed to must belong
to the same tenant that was used to create the subscription set.
Permission to subscribe to events for a specific account depend upon the
Authority of the requesting user: non-admin users may subscribe to presence
events only for their own extension, while other users may subscribe to
presence events for any extension within the tenant.
Those with
permission can subscribe to multiple users at once using the format
"ALL_USERS@<tenantId>". Similarly, multiple accounts can be
subscribed to using the terms: ALL_CALL_GROUP_EXTENSIONS,
ALL_AA_EXTENSIONS, and
ALL_ACD_EXTENSIONS. For for all users and locations, all broadcast/hunt/rollover
groups, all AAs and all ACD queues within a tenant, register for ALL.
Supported Operations
PUT
Add or replace an existing Account
in the Subscription list DELETE
Remove an Account from the
Subscription list
Permitted Authorities (as defined in API Guide)
Telco
Call Control User with Tenant Scope
|
PUT,
DELETE
|
TenantAdmin
Call Control User
|
PUT,
DELETE
|
Non-admin
Call Control User
|
PUT,
DELETE
|
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
accountId
|
String
|
The accountId identifies an
account which is registered
for Presence Events within this Subscription Set.
|
TenantAdmin, User
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 462
{
"_links" : {
"curies" : {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
},
"self" : {
"href" : "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts/3235@12345"
},
"v1:presenceStatusByExtension" : {
"href" : "/api/v1/presencestatus/tenants/12345/extensions/3235"
}
},
"accountId" : "3235@12345"
}
Modify Request
This resource
has no configuration properties, so the PUT request simply serves to create or refresh the presence events
subscription for the account.
PUT Request Properties
The PUT request does not
require a payload.
Sample PUT Request
PUT
/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts/3235@12345 HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:38547
Sample PUT Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 462
{
"_links" : {
"curies" : {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
},
"self" : {
"href" :
"/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/presenceeventaccounts/3235@12345"
},
"v1:presenceStatusByExtension" : {
"href" : "/api/v1/presencestatus/tenants/12345/extensions/3235"
}
},
"accountId" : "3235@12345"
}
List Details
The Park Location Events
Subscriptions list returns
a list of Park Location
Event Account resources.
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
Embedded Representations
Name
|
Description
|
Visibility
|
Expandable
|
eventAccount
|
The updated set of accounts for which park location events are generated.
|
TenantAdmin, User
|
n
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 989
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" :
"/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts"
},
"v1:itemTemplate" : [ {
"href"
: "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts/{accountId}",
"templated" : true
} ]
},
"_embedded"
: { "eventAccount" : [ {
"_links"
: {
"self" : {
"href"
: "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts/PL1@12345"
},
"v1:parkLocationStatus" : [ {
"href" : "/api/v1/presencestatus/parklocationstatus/PL1@12345"
} ]
},
"accountId" : "PL1@12345"
} ]
}
}
Modify Request
Use a PUT request to specify the Park Locations that should be included in the events on this subscription set. The
"scope" field is used to specify the intent of the request.
If scope = "all", then all valid
park locations for the tenant
will be included. If scope = "none", then any current park
locations will be removed. If the scope = "all", then an array of
Park Location AccountIds of interest must be included.
PUT Request Properties
The following properties are processed as part of each element
in the PUT request. Any other content in the payload is
ignored. This includes other properties that may be part of the GET response:
if they are not documented here, they are ignored by the server if they are
included as part of this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
scope
|
String
|
used for Park
|
TenantAdmin, User
|
Required. The value
|
|
|
Location events to
|
|
must be all, none,
|
|
|
define whether the
|
|
or set. If the value
|
|
|
subscription is for
|
|
is all, an event will
|
|
|
all, none, or a subset
|
|
be reported any time
|
|
|
of available park
|
|
a call is parked or
|
|
|
locations
|
|
retrieved on this
|
|
|
|
|
tenant. A value of
|
|
|
|
|
none removes all
|
|
|
|
|
park locations from
|
|
|
|
|
the subscription set.
|
|
|
|
|
A value of set is
|
|
|
|
|
used to subscribe
|
|
|
|
|
for specific park
|
|
|
|
|
locations as defined
|
|
|
|
|
in
the eventAccounts
|
eventAccounts
|
Array
|
An array of Account
|
TenantAdmin, User
|
Required only if
|
|
|
Ids
|
|
the scope = set.
|
|
|
|
|
The value must be
|
|
|
|
|
an array of valid
|
|
|
|
|
Account Ids in format
|
|
|
|
|
<PLnumber>@
|
|
|
|
|
<tenantId>.
|
Sample PUT Request
PUT /api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:35029 Content-Length: 58
{
"scope" : "set",
"eventAccounts" : [ "PL1@12345" ]
}
Sample PUT Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 989
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" :
"/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts"
},
"v1:itemTemplate" : [ {
"href"
: "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts/{accountId}",
"templated" : true
} ]
},
"_embedded"
: { "eventAccount" : [ {
"_links"
: {
"self" : {
"href"
: "/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts/PL1@12345"
},
"v1:parkLocationStatus" : [ {
"href" : "/api/v1/presencestatus/parklocationstatus/PL1@12345"
} ]
},
"accountId" : "PL1@12345"
} ]
}
}
Add Element Request
This list does not directly support
adding an element.
A new element can be created in the list by using a PUT request to
create a Park Location Event Account resource.
Park Location Event Account Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Properties
•
Modify Request
•
PUT Request Properties
•
Sample PUT Request
•
Sample
PUT Response Description
This resource
identifies an Account
for subscribing to Park Location
Events. Issue a PUT request to
this resource, specifying the Account in the URI, in order to start
subscribing to park location
events for the account, or DELETE it to stop receiving park location events.
An account
has the format
"PL<parkLocationNumber>@<tenantId>". The PL indicates that the number following
is a park location. The tenantId is the unique identifier that is
used during authentication using the "ID" domain, and is provided as
a property in the response to the initial query to the API’s root resource at https://<address>/api.
Any park location
account being subscribed to must belong
to the same tenant that was
used to create
the subscription set. A user can subscribe to any park locations
associated with their tenant.
Supported Operations
PUT
Add or replace an existing Account
in the Subscription list DELETE
Remove an Account from the
Subscription list
Permitted Authorities (as defined in API Guide)
Telco
Call Control User with Tenant Scope
|
PUT,
DELETE
|
TenantAdmin
Call Control User
|
PUT,
DELETE
|
Non-admin
Call Control User
|
PUT,
DELETE
|
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
accountId
|
String
|
The accountId identifies a park location account which is
registered for Events within this Subscription Set.
|
TenantAdmin, User
|
Modify Request
This resource
has no configuration properties, so the PUT request simply serves to create the park location event
subscription for the account.
PUT Request Properties
The PUT request does not
require a payload.
Sample PUT Request
PUT
/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/ subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts/PL1@12345
HTTP/1.1
Content-Type: application/json; charset=UTF-8 Host: localhost:35029
Sample PUT Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 456
{
"_links" : {
"curies" : {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
},
"self" : {
"href" :
"/api/v1/subscriptions/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8/parklocationeventaccounts/PL1@12345"
},
"v1:parkLocationStatus" : {
"href" : "/api/v1/presencestatus/parklocationstatus/PL1@12345"
}
},
"accountId" : "PL1@12345"
}
Call Management Resources
Call Management resources include:
•
ActiveCalls Resource—can be used to get a list of current
calls for the requesting
user, to initiate new calls, and to retrieve parked calls.
•
Call Resource—can
be used to answer, hang up, deflect,
transfer, hold, resume and park an active call.
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
v1options:deviceIdType
|
List of valid device Id Types.
|
all
|
Embedded Representations
Name
|
Description
|
Visibility
|
Expandable
|
call
|
Each element of the active
Calls list represents a single active call and includes information about the parties involved in the call.
|
TenantAdmin, User
|
n
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 816
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
}, {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/calls"
},
"v1:itemTemplate" : [ {
"href" : "/api/v1/calls/{callObserverId}",
"templated" : true
} ],
"v1options:deviceIdType" : [ {
"href" : "/api/v1/enums/deviceidtype"
} ]
},
"_embedded" : {
"call" : [ {
"_links" : {
"self" : {
"href" : "/api/v1/calls/3501-0-1669924620258-3:4332@12345"
}
},
"callId" : "3501-0-1669924620258-3:4332@12345",
"from" : "4332@12345",
"smdrCallId" :
"3501-0-1669924620258-3-1",
"to" : "3235"
} ]
}
}
Modify List Request
Use POST to initiate a call
from the requesting user.
POST Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
request
|
String
|
The desired action for this call: makeCall or retrieveParked Call.
|
TenantAdmin,
User
|
Optional
|
"makeCall"
|
from
|
String
|
The accountId requesting the call.
|
TenantAdmin,
User
|
Required. Must be a valid account in format <ext>@
<tenantId>.
|
n/a
|
to
|
String
|
The
digits to dial to place the call, including any
prefixes required by the dial
plan.
|
TenantAdmin,
User
|
Required for MakeCall. Not used for retrieve
ParkedCall
|
n/a
|
deviceId
|
String
|
The device which should
be used for the call
request.
|
TenantAdmin,
User
|
Optional. If provided, must be the unique identifier of a device
(phoneId) that the user is logged into, or a PSTN number, or the
string literal "twinningDevice".
Only device is supported for retrieve.
|
The user’s default Click-to- call device.
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
deviceIdType
|
String
|
Indicates the type of device
that is originating the call.
|
TenantAdmin,
User
|
Optional. If provided, must reflect the value
provided in
the
deviceId property.
|
device
|
playPrompt
|
String
|
If
the deviceType Id is
external, indicates if a prompt should be
played on the
originating device before dialing the target.
|
TenantAdmin,
User
|
Optional. If provided, must be true
or false.
|
If not specified, the subscriber’s clickToCall ConfirmBefore Dial feature setting will be applied.
|
featureData
|
String
|
Used for the Park Location Number in a Park
Retrieve.
|
TenantAdmin,
User
|
Optional. Required for Park Retrieve. Not used for MakeCall
|
n/a
|
POST Response Properties
A successful POST returns the
identifier of the newly-created Call resource.
Path
|
Type
|
Description
|
Visibility
|
callId
|
String
|
The CallObserverId for the call.
This is the ID of the call as it appears in the Call Event stream.
|
TenantAdmin, User
|
smdrCallId
|
String
|
This is the smdr
call id of the
call and it appears in the Call Event stream.
|
TenantAdmin, User
|
Sample POST Request
POST /api/v1/calls HTTP/1.1
Content-Type: application/json; charset=UTF-8 Host: localhost:43089
Content-Length: 148
{
"request" : "makeCall",
"from" : "4332@12345", "to" : "3235",
"deviceIdType" : "device",
"deviceId" : "4564", "playPrompt" :
"false"
}
Sample POST Response
HTTP/1.1 201 Created
Location: /api/v1/calls/1234-1486070433518-136:4332@12345
Content-Type: application/hal+json
Content-Length: 212
{
"_links" : {
"self" : {
"href" :
"/api/v1/calls/1234-1486070433518-136:4332@12345"
}
},
"callId"
: "1234-1486070433518-136:4332@12345", "smdrCallId" : "1234-1486070433518-136:4332@12345"
}
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
callId
|
String
|
The call observer id that uniquely
identifies this participant’s leg of the call.
|
TenantAdmin, User
|
smdrCallId
|
String
|
The smdr call id that uniquely identifies smdr record of the call this participant’s involved.
|
TenantAdmin, User
|
from
|
String
|
The
number of the call
originator.
|
TenantAdmin, User
|
to
|
String
|
The number or accountId that the originator intended to call.
|
TenantAdmin, User
|
callState
|
String
|
The
current state of the
call.
|
TenantAdmin, User
|
startTime
|
String
|
The
start time of the call,
in ISO8601 format.
|
TenantAdmin, User
|
answerTime
|
String
|
The
time that the call was answered, in ISO8601 format.
|
TenantAdmin, User
|
talkDuration
|
String
|
The
current measured duration of
the call, in ISO8601 format.
|
TenantAdmin, User
|
digitsDialed
|
String
|
The number that was dialed
by the call originator.
|
TenantAdmin, User
|
redirected
|
Boolean
|
This property indicates whether the call reached
its target directly, or whether it was directed to this target via
another method.
|
TenantAdmin, User
|
Path
|
Type
|
Description
|
Visibility
|
transferred
|
Boolean
|
This property indicates whether the
call reached its current target
directly or whether it was
transferred from another number.
|
TenantAdmin, User
|
callParties
|
Array
|
The callParties property provides a list of the current participants in the call.
Internal numbers are listed using
their AccountId, external numbers are listed
using their CLID.
|
TenantAdmin, User
|
Link Relations
Relation
|
Description
|
Visibility
|
v1options:callRequest
|
The POST request to modify a call
requires a callRequest value. Options for this value can be obtained
by following this link.
|
all
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 712
{
"_links" : {
"curies" : {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
},
"self" : {
"href" : "/api/v1/calls/3501-0-1669924617622-3:4332@12345"
},
"v1options:callRequest" : {
"href" : "/api/v1/enums/callrequest"
}
},
"answerTime" : "2022-12-01T14:57:38.630-05:00",
"callId" : "3501-0-1669924617622-3:4332@12345",
"callParties" : [ { }, { } ], "callState" :
"connected", "digitsDialed" : "3235",
"from" : "4332@12345",
"redirected" : false,
"smdrCallId"
: "3501-0-1669924617622-3-1", "startTime" : "2022-12-01T14:57:08.630-05:00",
"talkDuration" : "PT45S",
"to" : "3235",
"transferred" : false
}
Modify Request
Use a POST request
to modify the state of an existing
call. An example
of a hangup request is provided below.
POST Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
callRequest
|
String
|
The desired action for this call:
answer Call, hangup Call, deflect Call, holdCall, resumeHeldCall,
transfer,
parkCall.
|
n/a
|
Required. Possible values are specified in the
CallRequest Type enum.
|
n/a
|
myPartyId
|
String
|
The accountId requesting the call update.
|
n/a
|
Required for all requests
with the exception of hangupCall.
Must be a valid
account in format <ext>@
<tenantId>.
|
n/a
|
deviceId
|
String
|
The device which should
be used for the call
request.
|
n/a
|
Optional for Answer and ResumeHeld. Not checked for other
requests. If provided, must be
the unique identifier of a device that the user is logged into.
|
If not specified, the user’s
default Click-to-Call phone
will be used as the target device
for the request, or the device already in use for this call.
|
otherCallId
|
String
|
The callId of the second call
to be used for the call request.
|
n/a
|
Required for transfer. Not checked
for other requests.
If
provided, must
be
a callObserver
|
n/a
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
|
|
|
|
Id referencing
a different call involving the user
|
|
featureData
|
String
|
Data to be used for the call
feature
request. .
|
n/a
|
For call park, it can be used for
the park location number. If not provided for call park, the system chooses the park
location.
|
n/a
|
POST Response Properties
The response
to a hangupCall request returns
a Call Resource object (see above). The reponse to any other Modify request
will return an empty response.
Sample POST Request - Hangup Call
POST /api/v1/calls/3501-0-1669924617622-3%3A4332%4012345
HTTP/1.1
Content-Type: application/json; charset=UTF-8 Host: localhost:43817
Content-Length: 64
{
"callRequest" : "hangupCall",
"myPartyId" : "4332@12345"
}
Sample POST Response -
Hangup Call
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 626
{
"_links" : {
"curies" : {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
},
"self" : {
"href" :
"/api/v1/calls/3501-0-1669924617622-3:4332@12345"
},
"v1options:callRequest" : {
"href" : "/api/v1/enums/callrequest"
}
},
"callId" : "3501-0-1669924617622-3:4332@12345",
"callParties" : [ { }, { } ], "dialingDeviceId" :
"198",
"digitsDialed" : "3235",
"from" : "4332",
"redirected" : false,
"smdrCallId"
: "1234-1486070433518-136", "startTime" : "2017-02-09T16:17:32.307-05:00",
"to" : "3235",
"transferred" : false
}
Presence Status Resources
Presence Status resources include:
•
PresenceStatusByExtension—the
current Presence Status
of an account with this extension.
•
PresenceStatusBySubscriptionSet—the
current Presence Status
of any accounts subscribed for presence events on this subscription
set.
•
PresenceStatusTenantAccounts—the
current Presence Status of all accounts in this tenant.
•
PresenceStatusTenantParkLocations—the
current Presence Status
of all park locations in this tenant.
•
PresenceStatusParkLocation—the
current Presence Status of the specified park location in this tenant.
On startup or
initial connection, the client can use the PresenceStatusBySubscriptionSet Resource to find the current
Presence Status of all currently subscribed accounts. If an additional account
is added to the subscription set after startup, the client can use the PresenceStatusByExtension Resource to retrieve the current
status of that account. Use PresenceStatusByExtension or PresenceStatusTenantAccounts or PresenceStatusTenantParkLocations to query presence status anytime.
A subscription set is not required.
PresenceStatusByExtension Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Properties
•
Sample
GET Response Description
This resource
provides a mechanism to poll the silhouette API
to interrogate the current
presence status of an extension.
Supported Operations
GET
View Presence
Status HEAD
Get just the header response
Permitted Authorities (as defined in API Guide)
TelcoUser
with Tenant Scope & Call Control permission
|
GET
|
TenantAdmin
Call Control User
|
GET
|
Non-admin
Call Control User
|
GET
(self-only)
|
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
accountId
|
String
|
The AccountId for the the specified
extension, as used for call management and
event reporting through the API.
|
TenantAdmin, User
|
Path
|
Type
|
Description
|
Visibility
|
availability
|
String
|
Indicates the extension’s
availability status: available or unavailable.
|
TenantAdmin, User
|
callStatus
|
String
|
Reflects whether the extension is currently
involved in an active or pending call: idle or busy.
|
TenantAdmin, User
|
dndStatus
|
String
|
Indicates whether the DND feature is
active for this extension: dndOn or dndOff
|
TenantAdmin, User
|
acdAvailability
|
String
|
Indicates whether the extension is
an ACD Application and is currently
signed in.
|
TenantAdmin, User
|
groupStatus
|
Object
|
Indicates whether the extension is
currently receiving calls (i.e.
Joined) the specified group
|
TenantAdmin, User
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 287
{
"_links" : {
"self" : {
"href" : "/api/v1/presencestatus/tenants/12345/extensions/3235"
}
},
"accountId"
: "4332@12345", "acdAvailability" : "signedOutAcd",
"availability" : "available", "callStatus" :
"busy",
"dndStatus" : "dndOff",
"groupStatus" : { }
}
PresenceStatusBySubscriptionSet
Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Embedded Representations
•
Sample
GET Response Description
This resource
provides a mechanism to poll the silhouette API
to retrieve the Presence
Status information for all accounts in a subscription set.
Supported Operations
GET
View Presence
Status for accounts
in subscription set HEAD
Get just the header response
Permitted Authorities (as defined in API Guide)
TelcoUser
with Tenant Scope & Call Control permission
|
GET
|
TenantAdmin
Call Control User
|
GET
|
Non-admin
Call Control User
|
GET
|
Resource Details
Embedded Representations
Name
|
Description
|
Visibility
|
Expandable
|
presenceStatus
|
Each presenceStatus element of the _embedded list contains the Presence
Status of the account.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
n
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 883
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/presencestatus/ws/300f5121-17e0-477e-915a-830121cdc5d7/
subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"
},
"v1:itemTemplate" : [ {
"href" : "/api/v1/presencestatus/tenants/12345/extensions/{extension}",
"templated" : true
} ]
},
"_embedded"
: { "presenceStatus" : [ {
"_links"
: {
"self" : {
"href" : "/api/v1/presencestatus/tenants/12345/extensions/3235"
}
},
"accountId"
: "3235@12345", "acdAvailability" : "signedOutAcd",
"availability" : "unavailable", "callStatus" :
"idle",
"dndStatus" : "dndOff",
"groupStatus" : {
"6001" : "groupJoined",
"6041" : "groupLeft"
}
} ]
}
}
PresenceStatusTenantAccounts Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
List Details
•
Resource Details
•
Embedded Representations
•
Sample
GET Response Description
This resource
provides a mechanism to poll the silhouette API
to retrieve the Presence
Status information for all accounts in a Tenant.
Supported Operations
GET
View Presence
Status for accounts
in the tenant HEAD
Get just the header response
Permitted Authorities (as defined in API Guide)
TelcoUser
with Tenant Scope & Call Control permission
|
GET
|
TenantAdmin
Call Control User
|
GET
|
List Details
The Presence
Status Tenant Account
list returns a list of presenceStatusByExtension resources.
Resource Details
Embedded Representations
Name
|
Description
|
Visibility
|
Expandable
|
presenceStatus
|
Each presenceStatus element of the _embedded list contains the Presence
Status of the account.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
n
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 1082
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/presencestatus/tenants/12345/extensions"
},
"v1:itemTemplate" : [ {
"href" : "/api/v1/presencestatus/tenants/12345/extensions/{extension}",
"templated" : true
} ]
},
"_embedded"
: { "presenceStatus" : [ {
"_links"
: {
"self" : {
"href" : "/api/v1/presencestatus/tenants/12345/extensions/4332"
}
},
"accountId"
: "4332@12345", "acdAvailability" : "signedOutAcd",
"availability" : "available", "callStatus" :
"busy",
"dndStatus" : "dndOff",
"groupStatus" : { }
}, {
"_links" : {
"self" : {
"href" : "/api/v1/presencestatus/tenants/12345/extensions/3235"
}
},
"accountId"
: "3235@12345", "acdAvailability" : "signedOutAcd",
"availability" : "available", "callStatus" :
"idle",
"dndStatus" : "dndOff",
"groupStatus" : { }
} ]
}
}
PresenceStatusTenantParkLocations
Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Embedded Representations
•
Sample
GET Response Description
This resource
provides a mechanism to poll the silhouette API
to retrieve the Presence
Status information for all park locations in a Tenant.
Supported Operations
GET
View Presence
Status for park locations in the tenant HEAD
Get just the header response
Permitted Authorities (as defined in API Guide)
TelcoUser
with Tenant Scope & Call Control permission
|
GET
|
TenantAdmin
Call Control User
|
GET
|
Non-admin
Call Control User
|
GET
|
Resource Details
Embedded Representations
Name
|
Description
|
Visibility
|
Expandable
|
parkStatus
|
Each presenceStatus element of the _embedded list contains the Presence
Status of a park location.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
n
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 729
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/presencestatus/tenants/12345/parklocations"
},
"v1:itemTemplate" : [ {
"href" : "/api/v1/presencestatus/tenants/12345/parklocations/{parkLocationNumber}",
"templated" : true
} ]
},
"_embedded" : {
"parkStatus" : [ {
"_links" : {
"self" : {
"href" : "/api/v1/presencestatus/tenants/12345/parklocations/PL1"
}
},
"accountId"
: "PL1@12345", "parkLocationNumber" : "1",
"parkedPartyName" : "Smith", "parkedPartyNumber" : "5555555555",
"status" : "busy"
} ]
}
}
PresenceStatusParkLocation Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Properties
•
Sample
GET Response Description
This resource
provides a mechanism to poll the silhouette API
to interrogate the current
status of a park location.
Supported Operations
GET
View Park Location Status HEAD
Get just the header response
Permitted Authorities (as defined in API Guide)
TelcoUser
with Tenant Scope & Call Control permission
|
GET
|
TenantAdmin
Call Control User
|
GET
|
Non-admin
Call Control User
|
GET
|
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
accountId
|
String
|
The AccountId for the the specified
park location, as used for call management and event reporting through the API.
|
TenantAdmin, User
|
Path
|
Type
|
Description
|
Visibility
|
parkLocationNumber
|
String
|
The park location number used for
park and retrieve commands from the phone
or API
|
TenantAdmin, User
|
status
|
String
|
Reflects whether the park location is currently in use
for an active call: idle or busy.
|
TenantAdmin, User
|
parkedPartyNumber
|
String
|
The
phone number of the
party parked against this location. Only reported if status is busy
|
TenantAdmin, User
|
parkedPartyName
|
String
|
The name of the party parked against
this location. Only reported if status is busy
|
TenantAdmin, User
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 264
{
"_links" : {
"self" : {
"href" : "/api/v1/presencestatus/tenants/12345/parklocations/PL1"
}
},
"accountId"
: "PL1@12345", "parkLocationNumber" : "1",
"parkedPartyName" : "Smith", "parkedPartyNumber" : "5555555555",
"status" : "busy"
}
ParkLocation Status Resources
ParkLocation Status resources include:
•
ParkLocationStatus—the current ParkLocation Status of a Park Location.
•
ParkLocationStatusBySubscriptionSet—the
current ParkLocation Status
of any Park Locations subscribed for ParkLocation events on this
subscription set.
On startup or
initial connection, the client can use the ParkLocationStatusBySubscriptionSet Resource to find the current
ParkLocation Status of all currently subscribed Park Locations. If an
additional Park Location is added to the subscription set after startup,
the client can use the
ParkLocationStatus Resource to retrieve the
current status of that Park Location. Use ParkLocationStatus to query the ParkLocation status anytime. A subscription
set is not required.
ParkLocationStatus Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Properties
•
Sample
GET Response Description
This resource
provides a mechanism to poll the silhouette API
to interrogate the current
status of a park location.
Supported Operations
GET
View Park Location Status HEAD
Get just the header response
Permitted Authorities (as defined in API Guide)
TelcoUser
with Tenant Scope & Call Control permission
|
GET
|
TenantAdmin
Call Control User
|
GET
|
Non-admin
Call Control User
|
GET
|
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
accountId
|
String
|
The AccountId for the the specified
park location, as used for call management and event reporting through the API.
|
TenantAdmin, User
|
Path
|
Type
|
Description
|
Visibility
|
parkLocationNumber
|
String
|
The park location number used for
park and retrieve commands from the phone
or API
|
TenantAdmin, User
|
status
|
String
|
Reflects whether the park location is currently in use
for an active call: idle or busy.
|
TenantAdmin, User
|
parkedPartyNumber
|
String
|
The
phone number of the
party parked against this location. Only reported if status is busy
|
TenantAdmin, User
|
parkedPartyName
|
String
|
The name of the party parked against
this location. Only reported if status is busy
|
TenantAdmin, User
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 261
{
"_links" : {
"self" : {
"href" : "/api/v1/presencestatus/parklocationstatus/PL1@12345"
}
},
"accountId"
: "PL1@12345", "parkLocationNumber" : "1",
"parkedPartyName" : "Smith", "parkedPartyNumber" : "5555555555",
"status" : "busy"
}
ParkLocationStatusBySubscriptionSet
Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Embedded Representations
•
Sample
GET Response Description
This resource
provides a mechanism to poll the silhouette API
to retrieve the Status
information for all park location accounts in a subscription set.
Supported Operations
GET
View Park Location Status
for accounts in subscription set HEAD
Get just the header response
Permitted Authorities (as defined in API Guide)
TelcoUser
with Tenant Scope & Call Control permission
|
GET
|
TenantAdmin
Call Control User
|
GET
|
Non-admin
Call Control User
|
GET
|
Resource Details
Embedded Representations
Name
|
Description
|
Visibility
|
Expandable
|
parkStatus
|
Each presenceStatus element of the _embedded list contains the Presence
Status of the account.
|
TenantAdmin, User
|
n
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 793
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/presencestatus/parklocationstatus/
ws/300f5121-17e0-477e-915a-830121cdc5d7/subscriptionsets/5817dfce-61a8-4c37-ab6d-d72ec78219e8"
},
"v1:itemTemplate" : [ {
"href" : "/api/v1/presencestatus/parklocationstatus/{accountId}",
"templated" : true
} ]
},
"_embedded" : {
"parkStatus" : [ {
"_links" : {
"self" : {
"href" : "/api/v1/presencestatus/parklocationstatus/PL1@12345"
}
},
"accountId"
: "PL1@12345", "parkLocationNumber" : "1",
"parkedPartyName" : "Smith", "parkedPartyNumber" : "5555555555",
"status" : "busy"
} ]
}
}
AutoAttendantLanguage Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Properties
•
Sample
GET Response Description
The AutoAttendantLanguage resource
provides information about
a supported Auto Attendant Language.
Supported Operations
GET
View AutoAttendantLanguage Details HEAD
Get just the header response
Permitted Authorities (as defined in API Guide)
Telco
User
|
GET
|
TenantAdmin
User
|
GET
|
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
langCode
|
String
|
The ISO-639-1 language code of the supported Auto Attendant Language.
|
Telco(TenantBasicOr
AdvanceManagement, SystemManagement), TenantAdmin
|
description
|
String
|
The description of the supported Auto
Attendant Language, usually is the language name.
|
Telco(TenantBasicOr
AdvanceManagement, SystemManagement), TenantAdmin
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 133
{
"_links" : {
"self" : {
"href" : "/api/v1/aalanguages/en"
}
},
"description" : "English",
"langCode" : "en"
}
Parameter
|
Description
|
Constraints
|
|
and the result will be filtered by all
filters based on the
provided order in rhe query parameter.
|
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources.
See more details at Expand Support.
The generic term 'item'
can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used
to expand the resource and all its child elements (one level deep).
Name
|
Description
|
Visibility
|
Expandable
|
aaLanguage
|
Each element of the AutoAttendantLanguage list represents a
single supported AutoAttendant
Language of the system.
|
Telco(TenantBasicOr
AdvanceManagement, SystemManagement), TenantAdmin
|
n
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 594
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/aalanguages"
},
"v1:itemTemplate" : [ {
"href" : "/api/v1/aalanguages/{langCode}",
"templated" : true
} ]
},
"count"
: { "aaLanguage" : 1
},
"total"
: { "aaLanguage" : 1
},
"_embedded" : {
"aaLanguage" : [ {
"_links" : {
"self" : {
"href" : "/api/v1/aalanguages/en"
}
},
"description" : "English",
"langCode" : "en"
} ]
}
}
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
accountCodesEnabled ByTenant
|
Boolean
|
Indicates whether the TenantAdmin has enabled
account codes for their tenant.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
accountCodesMin Length
|
Number
|
The minimum number of digits
required for an Account Code for this tenant.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
accountCodesMax Length
|
Number
|
The
maximum number of digits
allowed for an Account Code for this tenant.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 199
{
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/accountcodes"
}
},
"accountCodesEnabledByTenant" : false,
"accountCodesMaxLength" : 10,
"accountCodesMinLength"
: 5
}
Modify Request
Use a PUT request
with the following properties in the payload to modify the tenant’s
account codes settings.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The Default Value column indicates the
default value that will be assigned to the property during resource creation. During
update, only those
values provided in the request
payload will be updated unless
otherwise noted.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
accountCodes EnabledBy Tenant
|
Boolean
|
Indicates whether the TenantAdmin would enable account codes
for their tenant.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional
|
The value of current setting before update. When tenant creation, the value is false.
|
accountCodes MinLength
|
Number
|
The minimum number of digits
required for an Account Code for this tenant.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, value should equal or greater
than 1 and equal
or less than accountCodes MaxLength.
|
The value of current setting before update. When tenant creation, the value is 1.
|
accountCodes MaxLength
|
Number
|
The maximum number of digits allowed
for an Account Code for this tenant.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, value should equal or less
than 20 and equal or greater than account CodesMinLength.
|
The value of current setting before update. When tenant creation, the value is 20.
|
Sample PUT Request
PUT /api/v1/tenants/12345/accountcodes HTTP/1.1 Content-Type: application/json;
charset=UTF-8 Host: localhost:40873
Content-Length: 105
{
"accountCodesEnabledByTenant" : true,
"accountCodesMinLength" : 5,
"accountCodesMaxLength"
: 10
}
Sample PUT Response
Same as "GET response"
|
|
Non-admin
User
|
GET
|
Location
|
GET
|
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
Properties
Path
|
Type
|
Description
|
Visibility
|
name
|
String
|
The
name of the ACD.
Read Only for Tenant Admin user.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
extension
|
String
|
The
extension to be used
for the ACD. Read Only after created.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
acdId
|
Number
|
Identifier for the ACD. Read
Only, system assigned.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:acdCallPermissionProfile
|
call permission profile management.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.
Name
|
Description
|
Visibility
|
Expandable
|
callPermission Profile
|
The
CallPermissionProfile currently associated with the ACD.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 646
{
"_links" : {
"curies" : {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
},
"self" : {
"href" : "/api/v1/tenants/12345/acds/136"
},
"v1:acdCallPermissionProfile" : {
"href" : "/api/v1/tenants/12345/acds/136/callpermissionprofile"
}
},
"acdId" : 136,
"extension" : "5001",
"name" : "Sales ACD", "_embedded" : {
"callPermissionProfile" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/callpermissionprofiles/116"
}
},
"callPermissionProfileId"
: 116, "name" : "Call Permission - Sales"
}
}
}
Modify Request
Use a PUT request to modify the
properties of a ACD.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
name
|
String
|
The
name of the ACD. Only Telco User can
make change.
|
Telco(Tenant
BasicOrAdvance Management)
|
Max 50 chars.
|
Sample PUT Request
PUT /api/v1/tenants/12345/acds/136
HTTP/1.1 Content-Type: application/json; charset=UTF-8 Host: localhost:46873
Content-Length: 26
{
"name" : "Sales ACD"
}
Sample PUT Response
Same as "GET response"
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
filter
|
This parameter can be used to filter
list result. Multiple filter parameter can be provided in same request, and
the result will be filtered by all filters
based on the
provided order in rhe query parameter.
|
Optional, see details at Filter
Support
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
v1:extensions
|
List of existing extensions of the
tenant. This is useful to find the a not used extension if the client
want specify one.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources.
See more details at Expand Support.
The generic term 'item'
can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used
to expand the resource and all its child elements (one level deep).
Name
|
Description
|
Visibility
|
Expandable
|
acd
|
Each element of the ACD list
represents a single ACD, and indicates the ACD extension and name.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 758
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/acds"
},
"v1:extensions" : [ {
"href" : "/api/v1/tenants/12345/extensions{?expand,filter,extensionType,agent}",
"templated" : true
} ],
"v1:itemTemplate" : [ {
"href" : "/api/v1/tenants/12345/acds/{acdId}",
"templated" : true
} ]
},
"count" : {
"acd" : 1
},
"total" : {
"acd" : 1
},
"_embedded" : {
"acd" : [ {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/acds/136"
}
},
"acdId" : 136,
"extension" : "5001",
"name" : "Sales ACD"
} ]
}
}
Modify List Request
Use a POST request to add a new
ACD.
POST Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The
Default Value column
indicates the default
value that will be assigned
to the property during resource creation.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
name
|
String
|
The
name of the ACD.
|
Telco(Tenant
BasicOrAdvance Management)
|
Required. Max 50 chars.
|
None
|
extension
|
String
|
The
extension to be used for the
ACD.
|
Telco(Tenant BasicOrAdvance
Management)
|
Optional. If specified, it must be a
valid extension for a ACD and not be
in use.
|
Next unused value in range.( Same
range as User or Location)
|
POST Response
A successful POST returns a 201 (Created). A link to the newly
added ACD can be
found in the Location field in the response header.
Sample POST Request
POST
/api/v1/tenants/12345/acds HTTP/1.1 Content-Type: application/json; charset=UTF-8
Host: localhost:46873
Content-Length: 50
{
"extension" : "5001",
"name" : "Sales ACD"
}
Sample POST Response
HTTP/1.1 201 Created
Location: /api/v1/tenants/12345/acds/34
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
Properties
Path
|
Type
|
Description
|
Visibility
|
callPermission ProfileId
|
Number
|
Identifier the call permission profile currently associated with the ACD.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:callPermissionProfiles
|
List of call permission profiles for the tenant.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.
Name
|
Description
|
Visibility
|
Expandable
|
callPermission Profile
|
The
CallPermissionProfile currently associated with the ACD.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 670
{
"_links" : {
"curies" : {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
},
"self" : {
"href" : "/api/v1/tenants/12345/acds/136/callpermissionprofile"
},
"v1:callPermissionProfiles" : {
"href" : "/api/v1/tenants/12345/callpermissionprofiles{?expand,filter}",
"templated" : true
}
},
"callPermissionProfileId" : 116,
"_embedded" : {
"callPermissionProfile" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/callpermissionprofiles/116"
}
},
"callPermissionProfileId"
: 116, "name" : "Call Permission - Sales"
}
}
}
Modify Request
Use a PUT request to modify the
ACD Call Permission Profile setting.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The Default Value column indicates the
default value that will be assigned to the property during resource creation. During
update, only those
values provided in the request
payload will be updated unless
otherwise noted.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
call Permission ProfileId
|
Number
|
Identifier of the call permission profile going
to associate with the ACD.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Must be a valid call permission profile identifier of the tenant, could be the
' Unassigned' call permission profile.
|
n/a
|
Sample PUT Request
PUT /api/v1/tenants/12345/acds/136/callpermissionprofile HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:46873 Content-Length: 37
{
"callPermissionProfileId" : 116
}
Path
|
Type
|
Description
|
Visibility
|
address2
|
String
|
Street address, second line
|
Telco(TenantBasicOr
AdvanceManagement, SiteBasicOrAdvance Management), Tenant
Admin
|
city
|
String
|
City
|
Telco(TenantBasicOr
AdvanceManagement, SiteBasicOrAdvance Management), Tenant
Admin
|
state
|
String
|
State/Province/Region
|
Telco(TenantBasicOr
AdvanceManagement, SiteBasicOrAdvance Management), Tenant
Admin
|
country
|
String
|
Country
|
Telco(TenantBasicOr
AdvanceManagement, SiteBasicOrAdvance Management), Tenant
Admin
|
postalCode
|
String
|
Postal/Zip Code
|
Telco(TenantBasicOr
AdvanceManagement, SiteBasicOrAdvance Management), Tenant
Admin
|
phoneNumber
|
String
|
Contact Phone number for site
|
Telco(TenantBasicOr
AdvanceManagement, SiteBasicOrAdvance Management), Tenant
Admin
|
faxNumber
|
String
|
Contact Fax number for site
|
Telco(TenantBasicOr
AdvanceManagement, SiteBasicOrAdvance Management), Tenant
Admin
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 321
{
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/staticsites/5/address"
}
},
"address1" : "1 Jones Road",
"address2" : "Suite 10", "city" :
"Kanata",
"country"
: "Canada", "faxNumber"
: "6135552030",
"phoneNumber" : "6135552000",
"postalCode" : "K2M 3PC", "state" :
"Ontario"
}
Modify Request
Use a PUT request to modify the
properties of a address.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The Default Value column indicates the
default value that will be assigned to the property during resource creation. During
update, only those
values provided in the request
payload will be updated unless
otherwise noted.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
address1
|
String
|
Street address, first line
|
Telco(SiteBasic
Management)
|
Optional. if not provided will keep current value unchanged.
|
If
not provided, will keep
current setting unchanged.
|
address2
|
String
|
Street address, second line
|
Telco(SiteBasic
Management)
|
Optional. if not provided will keep current value unchanged.
|
If
not provided, will keep
current setting unchanged.
|
city
|
String
|
City
|
Telco(SiteBasic
Management)
|
Optional. if not provided will keep current value unchanged.
|
If
not provided, will keep
current setting unchanged.
|
state
|
String
|
State/Province/
Region
|
Telco(SiteBasic
Management)
|
Optional. if not provided will keep current value unchanged.
|
If
not provided, will keep
current setting unchanged.
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
country
|
String
|
Country
|
Telco(SiteBasic
Management)
|
Optional. if not provided will keep current value unchanged.
|
If
not provided, will keep
current setting unchanged.
|
postalCode
|
String
|
Postal/Zip Code
|
Telco(SiteBasic
Management)
|
Optional. if not provided will keep current value unchanged.
|
If
not provided, will keep
current setting unchanged.
|
phoneNumber
|
String
|
Contact Phone number for site
|
Telco(SiteBasic
Management)
|
Optional. if not provided will keep current value unchanged.
|
If
not provided, will keep
current setting unchanged.
|
faxNumber
|
String
|
Fax
number for site
|
Telco(SiteBasic
Management)
|
Optional. if not provided will keep current value unchanged.
|
If
not provided, will keep
current setting unchanged.
|
Sample PUT Request
PUT /api/v1/tenants/12345/staticsites/5/address HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:37381 Content-Length: 219
{
"address1" : "1 Hines Road",
"address2" : "Suite 310", "city" :
"Kanata",
"state" : "Ontario",
"country"
: "Canada", "faxNumber"
: "6132802030",
"phoneNumber" : "6132802000",
"postalCode" : "K2M 3PC"
}
Sample PUT Response
Same as "GET response"
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get requested
information.
|
Optional, see details at Expand
Support
.
|
Properties
Path
|
Type
|
Description
|
Visibility
|
active
|
Boolean
|
Indicates whether the user/location is active. An inactive user cannot use the phone system.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
adminUser
|
Boolean
|
Indicates whether the user has
TenantAdmin privileges within the WebAdmin
and the API.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
queueGroupAgent
|
Boolean
|
Indicates whether the user/ location is a Queue Group Agent.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
dialableFromAAByExt
|
Boolean
|
If true, the
user/location can be dialed
directly by extension from
the Auto Attendant.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
inAANameDirectory
|
Boolean
|
If
true, the user/location’s name and extension are
searchable in the Auto Attendant directory.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
lockedToPhone
|
Boolean
|
If true, the user/location is tied
to a single phone and is not permitted to manually
log themselves in or out of a phone.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
emergencyCallMessage Alert
|
Boolean
|
If
true, the user/location will receive instant message alert when emergency call occurs
in its tenant.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Path
|
Type
|
Description
|
Visibility
|
maxLoggedInDevices
|
Number
|
Some tenants support allowing
a user to log into multiple phones
concurrently. This property
indicates the maximum number of phones that the user can log into.
Locations do not support this feature.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
subscriberClidType
|
String
|
Identifies the origin of the
user/location’s CLID: Site, Private(no CLID), or DID. Read
Only.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
failedLoginAttempts
|
Number
|
The number of failed WebAdmin login
attempts since the last successful WebAdmin login for this user.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
webLoginLocked
|
Boolean
|
If
true, indicates that this
user has been locked out of WebAdmin (after exceeding the maximum number
of failed login attempts).
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
enterpriseUser
|
Boolean
|
If true, Indicates whether the user
has Enterprise Admin privileges within
the WebAdmin UI.
|
Telco(TenantBasicOr
AdvanceManagement)
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:clid
|
Can
be used to view the
user/ location’s CLID settings.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1:dynamicSiteSettings
|
Follow this link to view the user’s Dynamic Site Settings. Note that this is
not the same as viewing
the user’s Dynamic Site.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1:dids
|
Link to get a list of available DIDs
of the tenant.
|
Telco(TenantBasicOrAdvance
Management)
|
Relation
|
Description
|
Visibility
|
v1:zones
|
Link to get a list of available Zones
of the system.
|
Telco(TenantBasicOrAdvance
Management)
|
v1:manageCLID
|
This relation is being
replaced by the "v1:clid" relation, and will be removed
in a future release.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1:manageDynamicSite Settings
|
This relation is being
replaced by the "v1:dynamicSiteSettings"
relation, and will be removed in a future release.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1options:subscriberClid Type
|
List of possible values
of subscriber CLID type for
admin settings.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.
Name
|
Description
|
Visibility
|
Expandable
|
dynamicSiteSettings
|
Describes the configuration
the system uses when creating a new dynamic
site for this user. The representation is present only if Dynamic Site
Permission has been enabled for this user.
Locations do not support this feature.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
clid
|
This representation describes the
Calling Line Id information for this user/ location.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 1782
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
}, {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/users/4332/adminsettings"
},
"v1:clid" : {
"href" : "/api/v1/tenants/12345/users/4332/clid"
},
"v1:dids" : {
"href" : "/api/v1/tenants/12345/dids{?expand,filter,assigned}",
"templated" : true
},
"v1:dynamicSiteSettings" : {
"href" : "/api/v1/tenants/12345/users/4332/dynamicsitesettings"
},
"v1:manageCLID" : {
"href" : "/api/v1/tenants/12345/users/4332/clid"
},
"v1:manageDynamicSiteSettings" : {
"href" : "/api/v1/tenants/12345/users/4332/dynamicsitesettings"
},
"v1:zones" : {
"href" : "/api/v1/zones{?expand,filter}",
"templated" : true
},
"v1options:subscriberClidType" : {
"href" : "/api/v1/enums/subscriberclidtype"
}
},
"active"
: true, "adminUser" : false,
"dialableFromAAByExt"
: true, "emergencyCallMessageAlert"
: false,
"enterpriseUser" : false, "failedLoginAttempts" : 0,
"inAANameDirectory" : true, "lockedToPhone" : false,
"maxLoggedInDevices" : 2, "queueGroupAgent" : true,
"subscriberClidType" : "DID", "webLoginLocked" :
false, "_embedded" : {
"clid" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/users/4332/clid"
}
}
},
"dynamicSiteSettings" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/users/4332/dynamicsitesettings"
}
},
"clid" : "6132802000",
"defaultZoneId" : 3,
"maxCallCount" : 4
}
}
}
Modify Request
Use a PUT request to modify
user/location Admin Settings.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The Default Value column indicates the
default value that will be assigned to the property during resource creation. During
update, only those
values provided in the request
payload will be updated unless
otherwise noted.
|
|
 |
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
active
|
Boolean
|
Indicates if the User or Location
is active.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, possible values are 'true' or 'false'.
|
The value of current setting before update.
|
dialableFromA AByExt
|
Boolean
|
Indicates if the User or Location’s extension is dialable from
AutoAttendant.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, possible values are 'true' or 'false'.
|
The value of current setting before update.
|
inAAName Directory
|
Boolean
|
Indicates if the User or Location
is listed in the AutoAttendant’s name
directory.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, possible values are 'true' or 'false'.
|
The value of current setting before update.
|
lockedToPhone
|
Boolean
|
Indicates if the User or Location is
locked to phone(can not logout its phone).
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, possible values are 'true' or 'false'.
|
The value of current setting before update.
|
emergencyCall MessageAlert
|
Boolean
|
Indicates if the User or Location will receive instant message alert
when emergency call occurs.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, possible values are 'true' or 'false'.
|
Default to false when user/
location is created.
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
queueGroup Agent
|
Boolean
|
Indicates if the User or
Location could be agent of
Queue CallGroup.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, possible values are 'true' or 'false'.
|
The value of current setting before update.
|
adminUser
|
Boolean
|
Indicates if the User is a Tenant Admin user.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, possible values are 'true' or 'false'.
|
The value of current setting before update.
|
maxLoggedIn Devices
|
Number
|
Indicates the max number of logged
in phones of the User.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, possible values are 'true' or 'false'.
|
The value of current setting before update.
|
webLogin Locked
|
Boolean
|
Indicates if the user web UI login is locked.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, possible values are 'true' or 'false'.
|
The value of current setting before update.
|
failedLogin Attempts
|
Number
|
Indicates counted failed web UI login attempts of the User
|
Telco(Tenant
BasicOrAdvance Management)
|
Optional.
|
The value of current setting before update.
|
enterprise User
|
Boolean
|
Indicates if the User
is a
Enterprise Admin user.
|
Telco(Tenant
BasicOrAdvance Management)
|
Optional.
|
The value of current setting before update.
|
Sample PUT Request
PUT /api/v1/tenants/12345/users/4332/adminsettings HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:45463 Content-Length: 312
{
"active"
: true, "queueGroupAgent" : true, "lockedToPhone" : false,
"inAANameDirectory" : true, "dialableFromAAByExt" : true,
"emergencyCallMessageAlert" : true,
"adminUser" : false, "maxLoggedInDevices" : 2,
"webLoginLocked" : false, "failedLoginAttempts" : 0,
"enterpriseUser" : false
}
AfternoonGreeting File
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Modify
Request Description
The file containing the
AutoAttendant prompt to be played in the afternoon.
Supported Operations
GET
Download the AutoAttendant’s afternoon greeting audio file HEAD
Get just the header response
PUT
Upload an audio to be used for the afternoon greeting DELETE
Remove the current afternoon
greeting audio file
Permitted Authorities (as defined in API Guide)
Telco
User
|
GET,
PUT, DELETE
|
TenantAdmin
User
|
GET
|
Resource Details
Use the GET request
to download the binary audio
file if exist,
it not exist, will get a 404 Not Found error.
Modify Request
Use a PUT request to upload an audio file for the afternoon greeting.
Only audio/wav format is supported, only 8 or 16 bit u-law codecs
are supported. If success, will get a 200 OK response with no content.
Use a DELETE
request to remove the existing audio file for the afternoon greeting.
AfternoonGreetingRecording Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Modify Request
•
POST Request Properties
•
POST Response
•
Sample POST Request
•
Sample
POST Response Description
The AfternoonGreetingRecording resource
provides support for recording afternoon greeting prompt of an
AutoAttendant via phone.
Supported Operations
HEAD
Get just the header response
POST
Recording afternoon greeting
prompt of an AutoAttendant via phone.
Permitted Authorities (as defined in API Guide)
Modify Request
Use a POST request
to record afternoon
greeting prompt of an AutoAttendant via phone.
POST Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The Default Value column indicates the
default value that will be assigned to the property during resource creation. During
update, only those
values provided in the request
payload will be updated unless
otherwise noted.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
phone
|
String
|
Indicates
|
TenantAdmin
|
Optional
|
Extension of
|
Extension
|
|
extension of
|
|
|
current Tenant
|
|
|
phone to use for
|
|
|
Admin User who
|
|
|
the recording.
|
|
|
is authenticated
|
|
|
|
|
|
of
this request.
|
POST Response
A successful
POST returns a 200 (OK). The phone of specified phoneExtension will ring, and user can record prompt
for afternoon greeting
prompt of an AutoAttendant by answering the call and following the
instructions.
Sample POST Request
POST /api/v1/tenants/12345/autoattendants/186/greetingsettings/afternoonrecording HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:42629 Content-Length: 31
{
"phoneExtension" : "4332"
}
Sample POST Response
HTTP/1.1 200 OK
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
announcementId
|
Number
|
Identifier for the Announcement.
|
Telco(SystemManagement,
TenantBasicOrAdvance Management),
Tenant Admin
|
name
|
String
|
The name of the Announcement. For tenant
announcement, does not include tenant webloginUrl.
|
Telco(SystemManagement,
TenantBasicOrAdvance Management),
Tenant Admin
|
fileName
|
String
|
The
file name on disk for the Announcement.
|
Telco(SystemManagement)
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:customAnnouncementFiles
|
Lists all existing custom announcement files.
|
Telco(SystemManagement)
|
v1:defaultAnnouncementFiles
|
Lists all existing default announcement files.
|
Telco(SystemManagement)
|
v1mediafile:custom AnnouncementFile
|
Custom announcement file for this
announcement.
|
Telco(SystemManagement, Tenant BasicOrAdvanceManagement), TenantAdmin
|
v1mediafile:default AnnouncementFile
|
Default announcement file for this
announcement.
|
Telco(SystemManagement, Tenant BasicOrAdvanceManagement), TenantAdmin
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 1125
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
}, {
"href" : "/api/v1mediafile/rels/{rel}",
"name" : "v1mediafile",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/announcements/18"
},
"v1:customAnnouncementFiles" : {
"href" : "/api/v1/customannouncementfiles/{langCode}{?filter}",
"templated" : true
},
"v1:defaultAnnouncementFiles" : {
"href" : "/api/v1/defaultannouncementfiles/{langCode}{?filter}",
"templated" : true
},
"v1mediafile:customAnnouncementFile" : {
"href" : "/api/v1/customannouncementfiles/{langCode}/companyGreeting.wav",
"templated" : true
}
},
"announcementId" : 18,
"fileName" : "companyGreeting.wav",
"name" : "Company Greeting", "_embedded" : {
"tenant" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345"
}
},
"deleting" : false,
"tenantId" : 12345,
"tenantName" : "Dave's Moose Hunting Supply", "webLoginUrl" :
"/mooseByDave"
}
}
}
Modify Request
Use a PUT request to modify the
properties of Announcement.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
name
|
String
|
The name of the Announcement. Only Telco User can make change.
|
Telco(System
Management)
|
Max 50 chars. Allow alphanumeric character including
underscore and space.
|
fileName
|
String
|
The fileName of the Announcement. Only Telco User can make change.
|
Telco(System
Management)
|
Max 50 chars. This must be a file in the announcement file directory
|
Sample PUT Request
PUT /api/v1/announcements/18 HTTP/1.1
Content-Type: application/json; charset=UTF-8 Host: localhost:42499
Content-Length: 71
{
"name"
: "Company Greeting", "fileName" : "companyGreeting.wav"
}
Sample PUT Response
include the sample generated
http-response snippet, or (if identical
to GET response) reference GET response above Same as "GET
response"
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
Properties
Path
|
Type
|
Description
|
Visibility
|
useDefault
|
Boolean
|
Indicates whether use the default announcement of this
tenant.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
announcementId
|
Number
|
ID of the announcement being set as announcement of this User or Location.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:systemAnnouncements
|
Acceptable announcement values
from System Announcement.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1:tenantAnnouncements
|
Acceptable announcement values from Tenant
Announcement of this tenant.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.
Name
|
Description
|
Visibility
|
Expandable
|
announcement
|
The announcement detail which is currently used as the
announcement of this User or Location.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
n
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 742
{
"_links" : {
"curies" : {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
},
"self" : {
"href" : "/api/v1/tenants/12345/users/4332/announcementsetting"
},
"v1:systemAnnouncements" : {
"href" : "/api/v1/systemannouncements{?expand,filter}",
"templated" : true
},
"v1:tenantAnnouncements" : {
"href" : "/api/v1/tenants/12345/announcements{?expand,filter}",
"templated" : true
}
},
"announcementId" : 2,
"useDefault" : false, "_embedded" : {
"announcement" : {
"_links" : {
"self"
: {
"href" : "/api/v1/announcements/2"
}
},
"announcementId"
: 2, "name" : "Comfort Tone"
}
}
}
Modify Request
Use a PUT request to modify the
User or Location Announcement Setting.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The Default Value column indicates the
default value that will be assigned to the property during resource creation. During
update, only those
values provided in the request
payload will be updated unless
otherwise noted.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
useDefault
|
Boolean
|
Indicates if using default announcement of the tenant
as announcement of the User
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional
|
false
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
|
|
or Location.
If this set to true, then the 'announcement
Id'
will be ignored if provided in request.
|
|
|
|
announcement Id
|
Number
|
Indicates using the specified announcement as the tenant default
announcement. The value could be a ID of system announcement or tenant announcement of the same tenant.
|
Telco(Tenant BasicOrAdvance
Management), TenantAdmin
|
Optional, must be a valid
ID of system announcement or tenant announcement
from same tenant.
|
n/a
|
Sample PUT Request
PUT /api/v1/tenants/12345/users/4332/announcementsetting HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:45463 Content-Length: 50
{
"useDefault" : false,
"announcementId" : 2
}
Sample PUT Response
"Same as GET response"
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
Properties
Path
|
Type
|
Description
|
Visibility
|
name
|
String
|
The
name of the Auto
Attendant.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
extension
|
String
|
The
extension to be used
for the AutoAttendant.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
autoAttendantId
|
Number
|
Identifier for the Auto Attendant.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.
Name
|
Description
|
Visibility
|
Expandable
|
autoAttendant GreetingSettings
|
The
greetings settings for the auto attendant.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
n
|
Name
|
Description
|
Visibility
|
Expandable
|
autoAttendantMenu
|
The menu associated with this level of the auto attendant.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 976
{
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/autoattendants/186"
}
},
"autoAttendantId" : 186,
"extension" : "7001",
"name" : "Support Auto Attendant",
"_embedded" : {
"autoAttendantGreetingSettings" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/autoattendants/186/greetingsettings"
}
},
"afternoonGreeting" : {
"recorded" : false,
"greetingText" :
"Good afternoon"
},
"eveningGreeting" : {
"recorded" : false,
"greetingText" :
"Good evening"
},
"morningGreeting" : {
"recorded" : false,
"greetingText" :
"Good morning"
},
"timeOfDayGreetingEnabled" : false
},
"autoAttendantMenu" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/autoattendants/186/autoattendantmenus/187"
}
},
"menuId" : 187,
"name" : "OurAA"
}
}
}
Modify Request
Use a PUT request to modify the
properties of an AutoAttendant.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
name
|
String
|
The
name of the Auto
Attendant.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Required.
|
extension
|
String
|
The extension for the auto
attendant.
Assigned by system if not provided.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
Sample PUT Request
PUT /api/v1/tenants/12345/autoattendants/186 HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:42629 Content-Length: 50
{
"extension"
: "103", "name" : "Shotgun AA"
}
Sample PUT Response
Same as "GET response"
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
filter
|
This parameter can be used to filter
list result. Multiple filter parameter can be provided in same request, and
the result will be filtered by all filters
based on the
provided order in rhe query parameter.
|
Optional, see details at Filter
Support
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
v1:extensions
|
List of existing extensions of the
tenant. This is useful to find the a not used extension if the client
want specify one.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources.
See more details at Expand Support.
The generic term 'item'
can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used
to expand the resource and all its child elements (one level deep).
Name
|
Description
|
Visibility
|
Expandable
|
autoAttendant
|
Each element of the Auto Attendant
list represents a single AutoAttendant, and indicates the AutoAttendant
extension and name.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 851
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/autoattendants"
},
"v1:extensions" : [ {
"href" : "/api/v1/tenants/12345/extensions{?expand,filter,extensionType,agent}",
"templated" : true
} ],
"v1:itemTemplate" : [ {
"href" : "/api/v1/tenants/12345/autoattendants/{autoAttendantId}",
"templated" : true
} ]
},
"count"
: { "autoAttendant" : 1
},
"total"
: { "autoAttendant" : 1
},
"_embedded"
: { "autoAttendant" : [ {
"_links"
: {
"self" : {
"href" : "/api/v1/tenants/12345/autoattendants/186"
}
},
"autoAttendantId" : 186,
"extension" : "7001",
"name" : "Support Auto Attendant"
} ]
}
}
Modify List Request
Use a POST request to add a new
AutoAttendant.
POST Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.

The Default Value
column indicates the default value
that will be assigned to the property
during resource creation.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
name
|
String
|
The
name of the AutoAttendant.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Required.
|
None
|
extension
|
String
|
The
extension for the auto attendant.
Assigned by system if not provided.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
|
POST Response
A successful POST returns a 201 (Created). A link to the newly
added AutoAttendant can be
found in the Location field in the response header.
Sample POST Request
POST /api/v1/tenants/12345/autoattendants HTTP/1.1 Content-Type: application/json;
charset=UTF-8 Host: localhost:42629
Content-Length: 50
{
"extension"
: "103", "name" : "Shotgun AA"
}
Sample POST Response
HTTP/1.1 201 Created
Location: /api/v1/tenants/12345/autoattendants/14
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
Properties
Path
|
Type
|
Description
|
Visibility
|
key
|
String
|
The key on the phone associated with
the action. T is used for
the action if there is no user response.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
autoAttendantAction Type
|
String
|
The
action type. See auto
AttendantActionType for possible values.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
actionData
|
String
|
Data associated with the action, if
any. This is only useful for AutoAttendant ActionType: AutoAttendant, ACD, CallGroup, User.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
promptWording
|
String
|
The
wording of the prompt
associated with the key, such as 'press
5 for sales'.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Link Relations
Relation
|
Description
|
Visibility
|
v1options:autoAttendant ActionType
|
List of action types
for a Auto AttendantAction.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1:extensions
|
List of extension of the tenant
which can be used as actionData for the AutoAttendantAction if
applicable.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.
Name
|
Description
|
Visibility
|
Expandable
|
autoAttendantMenu
|
Optional, the sub menu associated with
this action, only exist
when the action type is
subMenu
.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 932
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
}, {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/autoattendants/186/autoattendantmenus/187/actions/5"
},
"v1:extensions" : {
"href" : "/api/v1/tenants/12345/extensions{?expand,filter,extensionType,agent}",
"templated" : true
},
"v1options:autoAttendantActionType" : {
"href" : "/api/v1/enums/autoattendantactiontype"
}
},
"autoAttendantActionType" : "SubMenu",
"key" : "1",
"promptWording" : "Sub Menu", "_embedded" : {
"autoAttendantMenu" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/autoattendants/186/autoattendantmenus/188"
}
},
"menuId" : 0,
"name" : "SubMenu"
}
}
}
Modify Request
Use a PUT request to modify the
properties of an AutoAttendantAction.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
autoAttendant ActionType
|
String
|
The
action. See auto AttendantActionType
for possible values. For the no response action (key T), the only
valid actions are Disconnect,
CallGroup or User
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
actionData
|
String
|
Data associated with the
action, if any.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
promptWording
|
String
|
The wording of the prompt associated
with the key, such as 'press 5 for sales'.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
Sample PUT Request
PUT /api/v1/tenants/12345/autoattendants/186/autoattendantmenus/187/actions/5 HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:42629 Content-Length: 110
{
"autoAttendantActionType" : "CallGroup",
"actionData" : "603",
"promptWording" :
"Press 4 for Sales"
}
Sample PUT Response
Same as "GET response"
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
afternoonGreeting. greetingText
|
String
|
The
text of the afternoon
AutoAttendant greeting.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
afternoonGreeting. recorded
|
Boolean
|
True if the afternoon greeting has been recorded.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
morningGreeting. greetingText
|
String
|
The text of the morning
AutoAttendant greeting.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
morningGreeting. recorded
|
Boolean
|
True if the morning
greeting has been recorded.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
eveningGreeting. greetingText
|
String
|
The text of the evening
AutoAttendant greeting.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
eveningGreeting. recorded
|
Boolean
|
True if the evening
greeting has been recorded.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
timeOfDayGreeting Enabled
|
Boolean
|
If
true then these
greeting prompts are played.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:morningGreetingRecording
|
Link where user can record morning
greeting via phone by POST request.
|
TenantAdmin
|
v1:afternoonGreeting Recording
|
Link where user can record afternoon greeting via phone by POST request.
|
TenantAdmin
|
v1:eveningGreetingRecording
|
Link where user can record evening
greeting via phone by POST request.
|
TenantAdmin
|
Relation
|
Description
|
Visibility
|
v1mediafile:morningGreeting File
|
Link to the audio
file for the morning
greeting.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1mediafile:afternoon GreetingFile
|
Link to the audio
file for the afternoon
greeting.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1mediafile:eveningGreeting File
|
Link to the audio
file for the evening
greeting.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 1454
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
}, {
"href" : "/api/v1mediafile/rels/{rel}",
"name" : "v1mediafile",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/autoattendants/186/greetingsettings"
},
"v1:afternoonGreetingRecording" : {
"href" : "/api/v1/tenants/12345/autoattendants/186/greetingsettings/afternoonrecording"
},
"v1:eveningGreetingRecording" : {
"href" : "/api/v1/tenants/12345/autoattendants/186/greetingsettings/eveningrecording"
},
"v1:morningGreetingRecording" : {
"href" : "/api/v1/tenants/12345/autoattendants/186/greetingsettings/morningrecording"
},
"v1mediafile:afternoonGreetingFile" : {
"href" : "/api/v1/tenants/12345/autoattendants/186/greetingfiles/afternoon"
},
"v1mediafile:eveningGreetingFile" : {
"href" : "/api/v1/tenants/12345/autoattendants/186/greetingfiles/evening"
},
"v1mediafile:morningGreetingFile" : {
"href" : "/api/v1/tenants/12345/autoattendants/186/greetingfiles/morning"
}
},
"afternoonGreeting" : {
"recorded" : false,
"greetingText" :
"Good afternoon"
},
"eveningGreeting" : {
"recorded" : false,
"greetingText" :
"Good evening"
},
"morningGreeting" : {
"recorded" : false,
"greetingText" :
"Good morning"
},
"timeOfDayGreetingEnabled" : false
}
Modify Request
Use a PUT request to modify the
properties of Greeting Settings for an AutoAttendant.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The Default Value column indicates the
default value that will be assigned to the property during resource creation. During
update, only those
values provided in the request
payload will be updated unless
otherwise noted.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
afternoon Greeting. greetingText
|
String
|
The text of the afternoon AutoAttendant
greeting.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
None
|
morning Greeting. greetingText
|
String
|
The text of the morning AutoAttendant
greeting.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
|
evening Greeting. greetingText
|
String
|
The text of the evening AutoAttendant
greeting.
|
Telco(Tenant BasicOrAdvance
Management), TenantAdmin
|
Optional.
|
|
timeOfDay Greeting Enabled
|
Boolean
|
If true
then these greeting prompts are played.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
|
Sample PUT Request
PUT /api/v1/tenants/12345/autoattendants/186/greetingsettings HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:42629 Content-Length: 251
{
"timeOfDayGreetingEnabled" : false,
"morningGreeting" : {
"greetingText" :
"Morning Greeting"
},
"afternoonGreeting" : {
"greetingText" : "Afternoon Greeting"
},
"eveningGreeting" : {
"greetingText" : "Evening Greeting"
}
}
Sample PUT Response
Same as "GET response"
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
Properties
Path
|
Type
|
Description
|
Visibility
|
introductoryPrompt
|
String
|
The
text introductory prompt for
the Auto Attendant.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
language
|
String
|
The
language for prompts for this menu.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
menuId
|
Number
|
The identifier for the menu.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
menuPromptPlayTimes
|
Number
|
The
number of times
this menu it to be played to users before taking the default action.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
name
|
String
|
The name of this menu.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
promptRecorded
|
Boolean
|
True if the introductory prompt is recorded.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:aaLanguages
|
Provide a list of Supported auto
attendant languages of the system which can be used as menu language.
|
Telco(TenantBasicOrAdvance
Management, SystemManagement), TenantAdmin
|
Relation
|
Description
|
Visibility
|
v1:autoAttendantMenu Recording
|
Link where user can record menu
prompt via phone by POST request.
|
TenantAdmin
|
v1mediafile:autoAttendant MenuFile
|
The
audio file for the current
menu of hte AutoAttendant.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.
Name
|
Description
|
Visibility
|
Expandable
|
autoAttendantAction
|
Actions for each of the digit button on the phones,
the * and # buttons and T
which represents the action if there is not user response.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 1341
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
}, {
"href" : "/api/v1mediafile/rels/{rel}",
"name" : "v1mediafile",
"templated" : true
}, {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/autoattendants/186/autoattendantmenus/187"
},
"v1:aaLanguages" : {
"href" : "/api/v1/aalanguages{?filter}",
"templated" : true
},
"v1:autoAttendantMenuRecording" : {
"href" : "/api/v1/tenants/12345/autoattendants/186/autoattendantmenus/187/menurecording"
},
"v1mediafile:autoAttendantMenuFile" : {
"href" : "/api/v1/tenants/12345/autoattendants/186/autoattendantmenus/187/menufile"
}
},
"introductoryPrompt" : "Hello, hello, hello",
"language" : "en",
"menuId" : 187,
"menuPromptPlayTimes" : 2,
"name" : "OurAA", "promptRecorded" : false,
"_embedded" : {
"autoAttendantAction" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/autoattendants/186/autoattendantmenus/187/actions/1"
}
},
"actionData"
: "6001", "autoAttendantActionType" : "CallGroup",
"key" : "1",
"promptWording" : "prompt"
}
}
}
Modify Request
Use a PUT request to modify the
properties of an AutoAttendantMenu.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
introductory Prompt
|
String
|
The
text introductory prompt for
the Auto Attendant.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
language
|
String
|
The language for prompts for this
menu. Must be a valid and supported auto attendant language of the
system.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
menuPromptPlay Times
|
Number
|
The
number of times this menu it to be played to
users before taking the default action.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
name
|
String
|
The
name of this menu.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
Sample PUT Request
PUT /api/v1/tenants/12345/autoattendants/186/autoattendantmenus/187
HTTP/1.1
Content-Type: application/json; charset=UTF-8 Host: localhost:42629
Content-Length: 105
{
"name"
: "AA Name", "introductoryPrompt" : "HI",
"language" : "en", "menuPromptPlayTimes" : 3
}
Sample PUT Response
Same as "GET response"
AutoAttendantMenu File
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Modify
Request Description
The AutoAttendantMenu File is the audio file for a single menu of an AutoAttendantMenu.
Supported Operations
GET
Download the current AutoAttendantMenu audio file HEAD
Get just the header response
PUT
Upload an audio file to be used for the AutoAttendantMenu DELETE
Remove the current
AutoAttendantMenu audio file
Permitted Authorities (as defined in API Guide)
Telco
User
|
GET,
PUT, DELETE
|
TenantAdmin
User
|
GET
|
Resource Details
Use the GET request
to download the binary audio
file if exist,
it not exist, will get a 404 Not Found error.
Modify Request
Use a PUT request to upload a audio file for the AutoAttendant menu.
Only audio/wav format is
supported, only 8 or 16 bit u-law codecs are supported. If success, will get a
200 OK response with no content.
Use a DELETE
request to remove the existing audio file for the AutoAttendantMenu.
AutoAttendantMenuRecording Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Modify Request
•
POST Request Properties
•
POST Response
•
Sample POST Request
•
Sample
POST Response Description
The AutoAttendantMenuRecording resource
provides support for recording prompt
of an AutoAttendantMenu via
phone.
Supported Operations
HEAD
Get just the header response
POST
Recording prompt of an
AutoAttendantMenu via phone.
Permitted Authorities (as defined in API Guide)
Modify Request
Use a POST request to record
prompt of an AutoAttendantMenu via phone.
POST Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The Default Value column indicates the
default value that will be assigned to the property during resource creation. During
update, only those
values provided in the request
payload will be updated unless
otherwise noted.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
phone
|
String
|
Indicates
|
TenantAdmin
|
Optional
|
Extension of
|
Extension
|
|
extension of
|
|
|
current Tenant
|
|
|
phone to use for
|
|
|
Admin User who
|
|
|
the recording.
|
|
|
is authenticated
|
|
|
|
|
|
of
this request.
|
POST Response
A successful
POST returns a 200 (OK). The phone of specified phoneExtension will ring, and user can record prompt
for the auto attendant menu by answering the call and following the instructions.
Sample POST Request
POST /api/v1/tenants/12345/autoattendants/186/autoattendantmenus/187/menurecording HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:42629 Content-Length: 31
{
"phoneExtension" : "4332"
}
Sample POST Response
HTTP/1.1 200 OK
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
filter
|
This parameter can be used to filter
list result. Multiple filter parameter can be provided in same request, and
the result will be filtered by all filters
based on the
provided order in rhe query parameter.
|
Optional, see details at Filter
Support
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
v1:dids
|
Link to the tenant’s DIDs.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources.
See more details at Expand Support.
The generic term 'item'
can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used
to expand the resource and all its child elements (one level deep).
Name
|
Description
|
Visibility
|
Expandable
|
didBusinessHours
|
The
list of the tenant’s DIDs and the business hours associated
with each
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 796
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/businesshours/2/didmembers"
},
"v1:dids" : [ {
"href" : "/api/v1/tenants/12345/dids{?expand,filter,assigned}",
"templated" : true
} ],
"v1:itemTemplate" : [ {
"href" : "/api/v1/tenants/12345/didbusinesshours/{didId}",
"templated" : true
} ]
},
"count"
: { "didBusinessHours" : 1
},
"total"
: { "didBusinessHours" : 1
},
"_embedded"
: { "didBusinessHours" : [ {
"_links"
: {
"self" : {
"href" : "/api/v1/tenants/12345/didbusinesshours/3"
}
},
"businessHoursProfileId" : 2,
"didId" : 3
} ]
}
}
Modify List Request
Use a POST request to add a new
set of business hours.
POST Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The
Default Value column
indicates the default
value that will be assigned
to the property during resource creation.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
businessHours ProfileId
|
Number
|
The
business hours profile identifier.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
This is ignored
|
NA
|
didId
|
Number
|
The identifier being added
to the business hours.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Must be the identifier of an
existing DID
|
None
|
POST Response Properties
A successful POST returns a 201 (Created). A link to the newly
added did member relationship can be found in the
Location field in the response header.
Sample POST Request
POST /api/v1/tenants/12345/businesshours/2/didmembers HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:36915 Content-Length: 49
{
"businessHoursProfileId" : 2,
"didId" : 3
}
Sample POST Response
HTTP/1.1 201 Created
Location: /api/v1/tenants/12345/businesshours/2/didmembers
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
filter
|
This parameter can be used to filter
list result. Multiple filter parameter can be provided in same request, and
the result will be filtered by all filters
based on the
provided order in rhe query parameter.
|
Optional, see details at Filter
Support
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
v1:staticSites
|
Link to the tenant’s sites.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources.
See more details at Expand Support.
The generic term 'item'
can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used
to expand the resource and all its child elements (one level deep).
Name
|
Description
|
Visibility
|
Expandable
|
siteBusinessHours
|
Each element of the list represents
a relationship between a business hour profile and a static site. In
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Name
|
Description
|
Visibility
|
Expandable
|
|
each case the business
hours profile will be the
same.
|
|
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 820
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/businesshours/2/sitemembers"
},
"v1:itemTemplate" : [ {
"href" : "/api/v1/tenants/12345/sitebusinesshours/{siteId}",
"templated" : true
} ],
"v1:staticSites" : [ {
"href" : "/api/v1/tenants/12345/staticsites{?expand,filter,siteTypeId}",
"templated" : true
} ]
},
"count"
: { "siteBusinessHours" : 1
},
"total"
: { "siteBusinessHours" : 1
},
"_embedded"
: { "siteBusinessHours" : [ {
"_links"
: {
"self" : {
"href" : "/api/v1/tenants/12345/sitebusinesshours/5"
}
},
"businessHoursProfileId" : 2,
"siteId" : 5
} ]
}
}
Modify List Request
Use a POST request to add a new
set of business hours.
POST Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The
Default Value column
indicates the default
value that will be assigned
to the property during resource creation.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
businessHours ProfileId
|
Number
|
The
business hours profile identifier.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
This is ignored
|
NA
|
siteId
|
Number
|
The identifier being added
to the business hours.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Must be the identfier of an existing static
site
|
None
|
POST Response Properties
A successful POST returns a 201 (Created). A link to the newly
added site member relationship can be found in the
Location field in the response header.
Sample POST Request
POST /api/v1/tenants/12345/businesshours/2/sitemembers HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:36915 Content-Length: 50
{
"businessHoursProfileId" : 2,
"siteId" : 5
}
Sample POST Response
HTTP/1.1 201 Created
Location: /api/v1/tenants/12345/businesshours/2/sitemembers
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
businessHoursProfile Name
|
String
|
The
name of the business
hours set.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
businessHoursProfile Id
|
Number
|
The identifier for the new business hours.
Read Only.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
tenantDefault
|
Boolean
|
True for the default business hours
for the tenant. Cannot be changed
to false. Can be set to true in another business hour.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
monday
|
Object
|
The
configuration for Mondays.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
monday.open
|
Boolean
|
Indicates whether or not the business is open at all
on this day.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
monday.openHoursFrom
|
String
|
Indicates the opening time on this day.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
monday.openHoursTo
|
String
|
The start time for lunch time call handling on this
day.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
monday.lunchFrom
|
String
|
The
end time for lunch time call handling on this day.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
monday.lunchTo
|
String
|
Indicates the opening time on this day.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
monday.specialFrom
|
String
|
The
start time for special
call handling on this day.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Path
|
Type
|
Description
|
Visibility
|
monday.specialTo
|
String
|
The end time for special call
handling on this day.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
tuesday
|
Object
|
The configuration for Tuesdays. See Mondays
for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
wednesday
|
Object
|
The
configuration for
Wednesdays. See Mondays for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
thursday
|
Object
|
The configuration for Thursdays. See Mondays
for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
friday
|
Object
|
The configuration for Fridays. See Mondays for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
saturday
|
Object
|
The configuration for Saturdays. See Mondays
for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
sunday
|
Object
|
The configuration for Sundays. See Mondays for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:bhDidMembers
|
The
DIDs that use this business hour.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1:bhSiteMembers
|
The sites that use this business hour.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 2056
{
"_links" : {
"curies" : {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
},
"self" : {
"href" : "/api/v1/tenants/12345/businesshours/2"
},
"v1:bhDidMembers" : {
"href" : "/api/v1/tenants/12345/businesshours/2/didmembers{?expand,filter}",
"templated" : true
},
"v1:bhSiteMembers" : {
"href" : "/api/v1/tenants/12345/businesshours/2/sitemembers{?expand,filter}",
"templated" : true
}
},
"businessHoursProfileId"
: 2, "businessHoursProfileName" : "Standard Business Hours",
"friday" : {
"lunchTo" : "13:00",
"lunchFrom" : "12:00",
"openHoursFrom" : "01:00",
"specialTo" : "17:00",
"specialFrom" : "16:00",
"openHoursTo" : "23:00",
"open" : true
},
"monday" : {
"lunchTo" : "13:00",
"lunchFrom" : "12:00",
"openHoursFrom" : "01:00",
"specialTo" : "17:00",
"specialFrom" : "16:00",
"openHoursTo" : "23:00",
"open" : true
},
"saturday"
: { "lunchTo" : "13:00",
"lunchFrom" : "12:00",
"openHoursFrom" : "01:00",
"specialTo" : "17:00",
"specialFrom" : "16:00",
"openHoursTo" : "23:00",
"open" : true
},
"sunday" : {
"lunchTo" : "13:00",
"lunchFrom" : "12:00",
"openHoursFrom" : "01:00",
"specialTo" : "17:00",
"specialFrom" : "16:00",
"openHoursTo" : "23:00",
"open" : true
},
"tenantDefault" : false,
"thursday" : {
"lunchTo" : "13:00",
"lunchFrom" : "12:00",
"openHoursFrom" : "01:00",
"specialTo" : "17:00",
"specialFrom" : "16:00",
"openHoursTo" : "23:00",
"open" : true
},
"tuesday"
: { "lunchTo" : "13:00",
"lunchFrom" : "12:00",
"openHoursFrom" : "01:00",
"specialTo" : "17:00",
"specialFrom" : "16:00",
"openHoursTo" : "23:00",
"open" : true
},
"wednesday"
: { "lunchTo" : "13:00",
"lunchFrom" : "12:00",
"openHoursFrom" : "01:00",
"specialTo" : "17:00",
"specialFrom" : "16:00",
"openHoursTo" : "23:00",
"open" : true
}
}
Modify Request
Use a PUT request to modify the
properties of a BusinessHoursProfile.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
businessHours ProfileName
|
String
|
The name of the business hours
set.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. if not provided will
keep current value unchanged, if provided, Max 50 chars.
|
monday
|
Object
|
The
configuration for Mondays.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
monday.open
|
Boolean
|
Indicates whether or not the business is open at all on this day
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
True or False
|
monday.openHours From
|
String
|
Indicates the start of opening time on this day.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, the
format should
be HH:MM where HH is value of hours
and MM is value of minutes.
|
monday.openHours To
|
String
|
Indicates the end of
opening time on this
day.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, the
format should
be HH:MM where HH is value of hours
and MM is value of
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
|
|
|
|
minutes, must be
greater than start time.
|
monday.lunchFrom
|
String
|
The start time for lunch time call
handling on this day.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, the
format should
be HH:MM where HH is value of hours
and MM is value of minutes.
|
monday.lunchTo
|
String
|
The end time for lunch time call
handling on this day.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, the
format should
be HH:MM where HH is value of hours
and MM is value of minutes, must be greater than start time.
|
monday.special From
|
String
|
The start time for special call
handling on this day.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, the
format should
be HH:MM where HH is value of hours
and MM is value of minutes.
|
monday.specialTo
|
String
|
The end time for special call
handling on this day.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, the
format should
be HH:MM where HH is value of hours
and MM is value of minutes, must be greater than start time.
|
tuesday
|
Object
|
The configuration for Tuesdays. See
Mondays for details
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as Monday.
|
wednesday
|
Object
|
The
configuration for
Wednesdays. See Mondays for details
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as Monday.
|
thursday
|
Object
|
The configuration for Thursdays. See
Mondays for details
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as Monday.
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
friday
|
Object
|
The configuration for Fridays. See
Mondays for details
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as Monday.
|
saturday
|
Object
|
The configuration for Saturdays. See
Mondays for details
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as Monday.
|
sunday
|
Object
|
The configuration for Sundays. See
Mondays for details
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as Monday.
|
Sample PUT Request
PUT /api/v1/tenants/12345/businesshours/2 HTTP/1.1 Content-Type: application/json;
charset=UTF-8 Host: localhost:36915
Content-Length: 1505
{
"businessHoursProfileName" : "SummerHuntingHours",
"monday" : {
"open"
: true, "openHoursFrom" : "07:00",
"openHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00",
"specialFrom" : "13:00",
"specialTo" : "14:00"
},
"tuesday" : {
"open"
: true, "openHoursFrom" : "07:00",
"openHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00",
"specialFrom" : "13:00",
"specialTo" : "14:00"
},
"wednesday" : {
"open"
: true, "openHoursFrom" : "07:00",
"openHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00",
"specialFrom" : "13:00",
"specialTo" : "14:00"
},
"thursday" : {
"open"
: true, "openHoursFrom" : "07:00",
"openHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00",
"specialFrom" : "13:00",
"specialTo" : "14:00"
},
"friday" : {
"open" : true,
"openHoursFrom" : "07:00",
"openHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00",
"specialFrom" : "13:00",
"specialTo" : "14:00"
},
"saturday" : {
"open"
: true, "openHoursFrom" : "07:00",
"openHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00",
"specialFrom" : "13:00",
"specialTo" : "14:00"
},
"sunday" : {
"open"
: true, "openHoursFrom" : "07:00",
"openHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00",
"specialFrom" : "13:00",
"specialTo" : "14:00"
}
}
Sample PUT Response
Same as "GET response"
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
filter
|
This parameter can be used to filter
list result. Multiple filter parameter can be provided in same request, and
the result will be filtered by all filters
based on the
provided order in rhe query parameter.
|
Optional, see details at Filter
Support
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources.
See more details at Expand Support.
The generic term 'item'
can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used
to expand the resource and all its child elements (one level deep).
Name
|
Description
|
Visibility
|
Expandable
|
businessHoursProfile
|
Each element of the list represents
a single set of business hours for the tenant.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 717
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/businesshours"
},
"v1:itemTemplate" : [ {
"href" : "/api/v1/tenants/12345/businesshours/{businessHourId}",
"templated" : true
} ]
},
"count"
: { "businessHoursProfile" : 1
},
"total"
: { "businessHoursProfile" : 1
},
"_embedded"
: { "businessHoursProfile" : [ {
"_links"
: {
"self" : {
"href" : "/api/v1/tenants/12345/businesshours/2"
}
},
"businessHoursProfileId"
: 2, "businessHoursProfileName" : "Standard Business Hours"
} ]
}
}
Modify List Request
Use a POST request to add a new
BusinessHoursProfile.
POST Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The
Default Value column
indicates the default
value that will be assigned
to the property during resource creation.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
businessHours ProfileName
|
String
|
The
name of the business hours set.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Required. Max 50 chars.
|
None
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
monday
|
Object
|
The
configuration for Mondays.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
Open from 00:00
to 24:00, see detail in open,
lunch, special hour settings.
|
monday.open
|
Boolean
|
Indicates whether or not the business is open at all on this day.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
True or False.
|
true
|
monday.open HoursFrom
|
String
|
Indicates the start of
opening time on this day.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, the format should
be HH:MM where HH is value of hours
and MM is value of minutes.
|
00:00
|
monday.open HoursTo
|
String
|
Indicates the end of opening
time on this day.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, the format should
be HH:MM where HH is value of hours
and MM is value of minutes, must be
greater than start time.
|
24:00
|
monday.lunch From
|
String
|
The
start time for lunch time call handling on this day.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, the format should
be HH:MM where HH is value of hours
and MM is value of minutes.
|
|
monday.lunch To
|
String
|
The
end time for lunch time call handling on this day.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, the format should
be HH:MM where HH is value of hours
and MM is value of minutes, must be
greater than start time.
|
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
monday. specialFrom
|
String
|
The start time for special call
handling on this day.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, the format should
be HH:MM where HH is value of hours
and MM is value of minutes.
|
|
monday. specialTo
|
String
|
The end time for special call
handling on this day.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, the format should
be HH:MM where HH is value of hours
and MM is value of minutes, must be
greater than start time.
|
|
tuesday
|
Object
|
The
configuration for Tuesdays.
See
Mondays for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as Monday.
|
Same as Monday.
|
wednesday
|
Object
|
The configuration for Wednesdays. See
Mondays for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as Monday.
|
Same as Monday.
|
thursday
|
Object
|
The
configuration for Thursdays.
See
Mondays for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as Monday.
|
Same as Monday.
|
friday
|
Object
|
The
configuration for Fridays. See Mondays for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as Monday.
|
Same as Monday.
|
saturday
|
Object
|
The
configuration for Saturdays.
See
Mondays for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as Monday.
|
Not
open on this day.
|
sunday
|
Object
|
The
configuration for Sundays.
See
Mondays for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as Monday.
|
Not
open on this day.
|
POST Response Properties
A successful POST returns a 201 (Created). A link to the newly
added business hours can be found in the Location field
in the response header.
Sample POST Request
POST /api/v1/tenants/12345/businesshours HTTP/1.1 Content-Type: application/json;
charset=UTF-8 Host: localhost:36915
Content-Length: 1505
{
"businessHoursProfileName" : "SummerHuntingHours",
"monday" : {
"open"
: true, "openHoursFrom" : "07:00",
"openHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00",
"specialFrom" : "13:00",
"specialTo" : "14:00"
},
"tuesday" : {
"open"
: true, "openHoursFrom" : "07:00",
"openHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00",
"specialFrom" : "13:00",
"specialTo" : "14:00"
},
"wednesday" : {
"open"
: true, "openHoursFrom" : "07:00",
"openHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00",
"specialFrom" : "13:00",
"specialTo" : "14:00"
},
"thursday" : {
"open"
: true, "openHoursFrom" : "07:00",
"openHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00",
"specialFrom" : "13:00",
"specialTo" : "14:00"
},
"friday" : {
"open"
: true, "openHoursFrom" : "07:00",
"openHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00",
"specialFrom" : "13:00",
"specialTo" : "14:00"
},
"saturday" : {
"open"
: true, "openHoursFrom" : "07:00",
"openHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00",
"specialFrom" : "13:00",
"specialTo" : "14:00"
},
"sunday" : {
"open"
: true, "openHoursFrom" : "07:00",
"openHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00",
"specialFrom" : "13:00",
"specialTo" : "14:00"
}
}
Sample POST Response
HTTP/1.1 201 Created
Location: /api/v1/tenants/12345/businesshours/4
CallCoverage Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Properties
•
Sample
GET Response Description
This
resource is being deprecated. It is being replaced by the CallForwardNoAnswer resource. Clients should build
support for that resource rather than this one.
The Call Coverage resource
indicates the type of Coverage
configured for a User/
Location extension.
Call Coverage is
also known as "Call Forward - No Answer". The configuration of this
feature defines the number of rings that will happen
before a incoming
call is considered to be unanswered, and where
unanswered calls will be directed.
Supported Operations
GET
View Call Coverage feature
state HEAD
Get just the header response
Permitted Authorities (as defined in API Guide)
Telco
User
|
GET
|
TenantAdmin
|
GET
|
User
|
GET
(self only)
|
Location
|
GET
(self only)
|
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
targetNumber
|
String
|
Indicates the target number when the user/location has
configured Call Coverage. If the
target is voicemail, the target number value is "vm".
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
numberOfRings
|
Number
|
Indicates the number of times the user/location’s
phone rings before the call is forwarded to the Call Coverage target.
This property is present only if
Call Coverage has been configured (i.e.
is not 'None').
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 152
{
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/users/4332/coverage"
}
},
"numberOfRings" : 5,
"targetNumber" : "3235"
}
TenantAdmin
|
GET,
PUT
|
User
|
GET,
PUT (self only)
|
Location
|
GET,
PUT (self only)
|
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get requested
information.
|
Optional, see details at Expand
Support
.
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:extensions
|
Provides a list of available extensions which can be used for the
Call Forward Target Number value.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
v1options:callForwardTarget Type
|
Provides a list of the options
available for the Call Forward
Target Type value.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
Properties
Path
|
Type
|
Description
|
Visibility
|
active
|
Boolean
|
Indicates whether Call Forwarding is
currently active for this
user/location.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
callForwardTarget Type
|
String
|
Specifies the Call Forwarding type,
as not all targets have
explicit number associated with
them, for example, Prompt, Coverage.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
Path
|
Type
|
Description
|
Visibility
|
targetNumber
|
String
|
Indicates the Call Forwarding target
for calls to this
user/location.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.
Name
|
Description
|
Visibility
|
Expandable
|
extension
|
When the callForward TargetType is
'coworker', this object represents the extension to which calls are being
forwarded. This embedded representation is not provided when the
callForwardTargetType is other
than 'coworker'.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 968
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
}, {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/users/4332/callforward"
},
"v1:extensions" : {
"href" : "/api/v1/tenants/12345/extensions{?expand,filter,extensionType,agent}",
"templated" : true
},
"v1options:callForwardTargetType" : {
"href" : "/api/v1/enums/callforwardtargettype"
}
},
"active"
: true, "callForwardTargetType" : "coworker",
"targetNumber" : "3235",
"_embedded" : {
"extension" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/extensions/3235"
}
},
"accountId" : "3235@12345",
"enabled" : true, "extension" : "3235",
"extensionType" : "locationExt",
"name" : "Kitchen"
}
}
}
Modify Request
Use a PUT request to modify the
properties of Call Forwarding feature state.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
active
|
Boolean
|
Indicates whether the Call
Forward feature is currently active for this user/location.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
True or False.
|
callForward TargetType
|
String
|
Indicates the type for the targetNumber for
this user/location.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
For
possible values see the callForward
TargetType link relation.
|
targetNumber
|
String
|
Only used when call ForwardTargetType
set to autoattendant, coworker, external or prompt. The value is the number or extension to which calls will be
forwarded for this user/location.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
Numeric
|
Sample PUT Request
PUT /api/v1/tenants/12345/users/4332/callforward HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:45463 Content-Length: 88
{
"active"
: true, "targetNumber" : "3235",
"callForwardTargetType"
: "coworker"
}
TenantAdmin
User
|
GET,
PUT
|
Non-Admin
User
|
GET,
PUT (self only)
|
Location
|
GET,
PUT (self only)
|
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get requested
information.
|
Optional, see details at Expand
Support
.
|
Properties
Path
|
Type
|
Description
|
Visibility
|
callTargetType
|
String
|
The target type of User
or Call Group’s Call Forward No Answer (call
coverage) feature.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
callTarget
|
String
|
The target to which unanswered calls
will be forwarded. If the call
TargetType is Subscriber VM,
the callTarget value it the voicemail account
extension. For CallGroups, if the callTargetType is Call
GroupVM, no callTarget value.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
numberOfRings
|
Number
|
The number of rings
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
Link Relations
Relation
|
Description
|
Visibility
|
v1options:callTargetType
|
List of valid values
for the target
type of the Call Forward No Answer (Call Coverage) feature.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.
Name
|
Description
|
Visibility
|
Expandable
|
extension
|
Optional, details of the extension that the target
is associated with when the callTarget is an extension.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 713
{
"_links" : {
"curies" : {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
},
"self" : {
"href" : "/api/v1/tenants/12345/callfwdnoanswers/6001"
},
"v1options:callTargetType" : {
"href" : "/api/v1/enums/calltargettype"
}
},
"callTarget"
: "4332", "callTargetType"
: "SubscriberVM",
"numberOfRings" : 4,
"_embedded" : {
"extension" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/extensions/4332"
}
},
"accountId"
: "4332@12345", "enabled" : true, "extension" :
"4332", "extensionType"
: "userExt",
"name" : "Smith, Dave"
}
}
}
Modify Request
Use a PUT request to modify the
CallForwardNoAnswer configuration for an extension.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The Default Value column indicates the
default value that will be assigned to the property during resource creation. During
update, only those
values provided in the request
payload will be updated unless
otherwise noted.
|
|
 |
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
callTarget Type
|
String
|
The
target type for the user’s or group’s Call Forward No
Answer
feature.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
Required. Must be one of the types
listed in callTargetType options
link. Call GroupVM type is not supported for Users. For Users, if SubscriberVM is specified then the callTarget
is ignored. For CallGroup, if
CallGroupVM is specified then the
callTarget is ignored, and if
SubscriberV M is specified,
the callTarget is required.An error
is generated if the type
specified is not compatible with the call Target.
|
"None"
|
callTarget
|
String
|
The
external number or extension
to which unanswered calls are to be routed.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
Required if the callTargetType is Subscriber Extension, AutoAttendant Extension or OtherNumber. If provided, it must be a valid
|
An empty string.
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
|
|
|
|
extension for
the defined call TargetType. For
CallGroups, if the callTargetType
is Subscriber VM, this
value indicates the extension
that owns the voicemail box, and if
the call TargetType is CallGroupVM, no
callTarget value required.
|
|
numberOfRings
|
Number
|
The
number of rings to allow
before the call is deemed "unaswered".
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
Required if the callTargetType is not None. An integer between 1 and 20.
|
0
|
Sample PUT Request
PUT /api/v1/tenants/12345/callfwdnoanswers/6001 HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:45761 Content-Length: 87
{
"callTarget"
: "4332", "callTargetType"
: "SubscriberVM",
"numberOfRings" : 4
}
Sample PUT Response
Same as "GET response"
TenantAdmin
User
|
GET,
PUT, DELETE
|
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
Properties
Path
|
Type
|
Description
|
Visibility
|
name
|
String
|
The name of the callgroup.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
extension
|
String
|
The
extension to be used
for the call group.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
callGroupType
|
String
|
The type of the call group.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
ringBehaviour
|
String
|
For a broadcast or hunt group, this
property indicates whether calls should ring all phones, or only phones not
in use. If queuing is enabled on the group, this field will be set to RingPhonesNotInUse. It does not apply to other call group types and will not be included in the response.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
huntGroupSettings. huntGroupType
|
class java.lang.String
|
Required for Hunt Groups. Not
applicable for other group types. For possible values see huntGroupType.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Path
|
Type
|
Description
|
Visibility
|
huntGroupSettings. memberAnswerTimeout
|
int
|
The
number of rings
to wait before timing out a
hunt group member.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
membersLocked
|
Boolean
|
If true then members
of the group cannot
log out of the
group.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
allowGroupCallsTo TwinningTargets
|
Boolean
|
If
true then members
of the group can have calls
ring their twinned devices.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
queueEnabled
|
Boolean
|
Only available when system have
Queue Agent license and tenant
have queue and agent allocations. If true then queuing is enabled for this
group. Queue and Agent support must be enabled for the tenant.
Queuing can be configured for broadcast, hunt and
rollover groups and only if the call behavior is to ring phones not in use.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
voicemailEnabled
|
Boolean
|
Only available when tenant have call
group voicemail allocations. If true then voicemail is enabled for this
group. Voicemail can be configured for broadcast, hunt and rollover groups.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
callGroupId
|
Number
|
Identifier for the group being updated.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Link Relations
Relation
|
Description
|
Visibility
|
v1options:ringBehaviourType
|
List of valid call
group ring behaviour types that can be set for
groups.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1options:callGroupType
|
List of valid call group types.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Relation
|
Description
|
Visibility
|
v1options:huntGroupType
|
List of valid sub
types for hunt groups.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1:callGroupMemberMgmt
|
List members of the group.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin
|
v1:queueSettings
|
Group parameters associated with
queues for the group. This link is only included in the response if the system have Queue Agent
license, tenant must has the queue agent allocation, call group type
must be
broadcast, hunt or rollover and queue Enabled is
true.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1:callGroupPresenceState Routing
|
Call Group Presence State Routing
configuration. This is available for Broadcast, Hunt, and Rollover group types.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1:callGroupVoicemail Settings
|
Call Group vociemail settings.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1:callGroupVoicemailPin Reset
|
Link location where accept POST request for setting new voicemail PIN.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1:callGroupPin
|
Link location where accept POST
request for setting new Call Group
PIN.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1:callGroupPermission Profile
|
Link location where accept POST
request for setting new Call Group
Permission Profile.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.
Name
|
Description
|
Visibility
|
Expandable
|
queueSettings
|
The setting for queuing associated with
the group. This resource is
only included in the response if
the system have Queue Agent license, tenant
must has the
queue agent allocation,
call group type
must be broadcast, hunt
or rollover and queueEnabled is true.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
callForwardNoAnswer
|
Describes how unanswered
calls to the group are handled. Note that Pickup and Page Groups do
not
support this feature, so this resource will
not
be included in the
representation.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
voicemailBox
|
The
allocated voicemail box of
this user.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
callPermission Profile
|
The
allocated permission Profile
of this user.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 2731
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
}, {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/callinggroups/3"
},
"v1:callGroupMemberMgmt" : {
"href" : "/api/v1/tenants/12345/callinggroups/3/members{?expand,filter}",
"templated" : true
},
"v1:callGroupPermissionProfile" : {
"href" : "/api/v1/tenants/12345/callinggroups/3/callpermissionprofile"
},
"v1:callGroupPin" : {
"href" : "/api/v1/tenants/12345/callinggroups/3/pin"
},
"v1:callGroupPresenceStateRouting" : {
"href" : "/api/v1/tenants/12345/callinggroups/3/presencestaterouting"
},
"v1:callGroupVoicemailPinReset" : {
"href" : "/api/v1/tenants/12345/callinggroups/3/voicemailpinreset"
},
"v1:callGroupVoicemailSettings" : {
"href" : "/api/v1/tenants/12345/callinggroups/3/voicemailsettings"
},
"v1:queueSettings" : {
"href" : "/api/v1/tenants/12345/callinggroups/3/queue"
},
"v1options:callGroupType" : {
"href" : "/api/v1/enums/callgrouptype"
},
"v1options:ringBehaviourType" : {
"href" : "/api/v1/enums/ringbehaviourtype"
}
},
"allowGroupCallsToTwinningTargets" : false,
"callGroupId" : 3,
"callGroupType" : "BroadcastGroup",
"extension" : "6001", "membersLocked" : false,
"name" : "Moose Call Horn Sales
Team", "queueEnabled" : true,
"ringBehaviour" : "RingPhonesNotInUse",
"voicemailEnabled" : true,
"_embedded"
: { "callForwardNoAnswer" : {
"_links"
: {
"self" : {
"href" : "/api/v1/tenants/12345/callfwdnoanswers/6001"
}
},
"callTarget"
: "4332", "callTargetType"
: "SubscriberVM",
"numberOfRings" : 4
},
"queueSettings" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/callinggroups/3/queue"
}
},
"announcementDurationMins" : 10,
"positionAnnouncementInterval" : 30,
"positionEnabled" : false,
"rings" : 2
},
"callPermissionProfile" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/callpermissionprofiles/0"
}
},
"callPermissionProfileId"
: 0, "name" : "Call Permission - Sales"
},
"voicemailBox" : {
"_links" : {
"self" : {
"href" : "/api/v1/voicemailservers/101/voicemailboxes/23"
}
},
"releaseDate"
: "12/1/22, 2:46 p.m.", "voicemailBoxAccount" : "243805000496001",
"voicemailBoxId"
: 23, "voicemailBoxState" : "Released"
}
}
}
Modify Request
Use a PUT request to modify the
properties of a call group.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
name
|
String
|
The
name of the call
group.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Max 50 chars.
|
ringBehaviour
|
String
|
Must be a valid call group ring
behaviour. Only used for
broadcast and hunt groups, it will be ignored for all other group types.
|
Telco(Tenant BasicOrAdvance
Management), TenantAdmin
|
For possible values see the ring
BehaviourType link relation. If
queuing is enabled on the
group, this field only allowed to be set to RingPhonesNotIn Use.
|
huntGroup Settings.hunt GroupType
|
String
|
Only valid for hunt groups which
can be Linear or Circular.
For all other group types it will be
ignored if provided.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
For
possible values see the
huntGroup Type link relation.
|
huntGroup Settings.member AnswerTimeout
|
Number
|
The
number of rings to wait before timing out a hunt group member and moving
on to the next. Only applies to hunt groups.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Must be a positive number
|
membersLocked
|
Boolean
|
If true then
members of the group cannot log out of the group. Not applicable for
page groups. This field can only be
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
True or False
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
|
|
set to true if there
are
members in the group.
|
|
|
allowGroupCalls ToTwinning Targets
|
Boolean
|
If
true then members of the group can have calls
ring their twinned devices. Not applicable for page and pickup groups.
This field can only be set to true if there are members in the group.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
True or False
|
queueEnabled
|
Boolean
|
Indicate if the Queuing is enabled
for this Call Group.
When change from true to
false, all current queue settings will be reset and lost.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
True or False. When set to true, all members of this call group
must be
agent, must not reach the queue group allocation limit
of this tenant, otherwise, will fail.
|
voicemailEnabled
|
Boolean
|
Indicate if the Voicemail is enabled
for this Call Group.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
True or False. When set to true, must not reach the
call group voicemail allocation limit of this tenant, otherwise, will fail.
|
Sample PUT Request
PUT /api/v1/tenants/12345/callinggroups/3 HTTP/1.1 Content-Type: application/json;
charset=UTF-8 Host: localhost:39407
Content-Length: 304
{
"name"
: "Moose Call Horn Sales Team", "ringBehaviour" : "RingPhonesNotInUse",
"huntGroupSettings" : {
"huntGroupType" : "Linear",
"memberAnswerTimeout" : 10
},
"membersLocked"
: true, "allowGroupCallsToTwinningTargets" : true,
"queueEnabled" : true,
"voicemailEnabled"
: true
}
Sample PUT Response
Same as "GET response"
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
filter
|
This parameter can be used to filter
list result. Multiple filter parameter can be provided in same request, and
the result will be filtered by all filters
based on the
provided order in rhe query parameter.
|
Optional, see details at Filter
Support
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
v1:extensions
|
List of existing extensions of the
tenant. This is useful to find the a not used extension if the client
want specify one.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1options:ringBehaviourType
|
List of valid call behaviours for
ringing group members
devices.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1options:callGroupType
|
List of valid call group types
that can be set for groups.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1options:huntGroupType
|
List of valid sub
types for hunt groups.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.

The
generic term 'item'
can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used
to expand the resource and all its child elements (one level deep).
Name
|
Description
|
Visibility
|
Expandable
|
callGroup
|
Each element of the call
group list represents a single call group, and indicates the call group
extension and type.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 1316
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
}, {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/callinggroups"
},
"v1:extensions" : [ {
"href" : "/api/v1/tenants/12345/extensions{?expand,filter,extensionType,agent}",
"templated" : true
} ],
"v1:itemTemplate" : [ {
"href" : "/api/v1/tenants/12345/callinggroups/{callGroupId}",
"templated" : true
} ],
"v1options:callGroupType" : [ {
"href" : "/api/v1/enums/callgrouptype"
} ],
"v1options:huntGroupType" : [ {
"href" : "/api/v1/enums/huntgrouptype"
} ],
"v1options:ringBehaviourType" : [ {
"href" : "/api/v1/enums/ringbehaviourtype"
} ]
},
"count"
: { "callGroup" : 1
},
"total"
: { "callGroup" : 1
},
"_embedded" : {
"callGroup" : [ {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/callinggroups/3"
}
},
"callGroupId" : 3,
"callGroupType" : "BroadcastGroup",
"extension" : "6001",
"name" : "Moose Call Horn Sales
Team", "queueEnabled" : true,
"voicemailEnabled" : true
} ]
}
}
Modify List Request
Use a POST request to add a new
call group.
POST Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The
Default Value column
indicates the default
value that will be assigned
to the property during resource creation.
|
|
 |
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
name
|
String
|
The
name of the call group.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Required. Max 50 chars.
|
None
|
extension
|
String
|
The
extension to be used for the
call group.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
If specified, it must be a valid
extension for a group and not be
in use.
|
Next unused value in range.
|
callGroupType
|
String
|
The
call group type.
|
Telco(Tenant BasicOrAdvance
Management), TenantAdmin
|
Required. For possible values see callGroup Type.
|
None
|
ringBehaviour
|
String
|
The desired ring behaviour for the
group: ring all phones, or only ring phones not in use.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Only applies to broadcast and hunt groups, and will be ignored for all other call group types.
If queuing is enabled on the group, this field will be set to Ring
PhonesNotIn
|
RingPhonesNotIn
Use
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
|
|
|
|
Use. For possible
values see ring BehaviourType.
|
|
huntGroup Settings.hunt GroupType
|
String
|
The
hunt group sub-type.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Required for Hunt Groups. Not
applicable for other group types. For possible values see huntGroup Type.
|
Linear
|
huntGroup Settings. memberAnswer Timeout
|
Number
|
The number of rings to wait
before timing
out
a hunt group member.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Must be a positive number
|
1
|
membersLocked
|
Boolean
|
If true then members of the group cannot
log out of the group.
While this field is present when adding a new
group, it can only be set if there
are members in the group.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
True or False
|
false
|
allowGroup CallsTo Twinning Targets
|
Boolean
|
If true then members of the group
can have calls ring their twinned devices.
While this field is present when
adding a new
group, it can only be set if there
are members in the group.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
True or False
|
false
|
queueEnabled
|
Boolean
|
Indicate if the Queuing is enabled for this
Call Group.
When change from true to false, all current
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
True or False. When set to true, all members of this call group
must be agent, must not reach the queue group allocation limit
|
false
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
|
|
queue settings
will be reset and lost.
|
|
of this tenant,
otherwise, will fail.
|
|
voicemail Enabled
|
Boolean
|
Indicate if the Voicemail is enabled for this
Call Group.
|
Telco(Tenant BasicOrAdvance
Management), TenantAdmin
|
True or False. When set to true,
must not reach the call group voicemail
allocation limit of this tenant, otherwise, will fail.
|
false
|
POST Response
A successful POST returns a 201 (Created). A link to the newly
added group can be
found in the Location field in the response header.
Sample POST Request
POST /api/v1/tenants/12345/callinggroups HTTP/1.1 Content-Type: application/json;
charset=UTF-8 Host: localhost:39407
Content-Length: 362
{
"callGroupType" : "HuntGroup",
"name" : "Moose Call Horn Sales
Team", "extension" : "6001",
"ringBehaviour" : "RingPhonesNotInUse",
"huntGroupSettings" : {
"huntGroupType" : "Linear",
"memberAnswerTimeout" : 10
},
"membersLocked"
: true, "allowGroupCallsToTwinningTargets" : true,
"queueEnabled" : false,
"voicemailEnabled"
: true
}
Sample POST Response
HTTP/1.1 201 Created
Location: /api/v1/tenants/12345/callinggroups/4
Non-admin
User
|
GET,
PUT (only their own data)
|
Location
|
GET,
PUT (only their own data)
|
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get requested
information.
|
Optional, see details at Expand
Support
.
|
Properties
Path
|
Type
|
Description
|
Visibility
|
loggedIn
|
Boolean
|
True if the user/location is currently logged into the group. This is inapplicable to Page Group.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
extension
|
String
|
The
extension of the user/
location.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
twinningEnabled
|
Boolean
|
True if the user’s/location’s twinned device is to
be called for group calls. This is inapplicable to Page Group or Pickup
Group.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.
Name
|
Description
|
Visibility
|
Expandable
|
callGroup
|
The call group
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
extension
|
The extension
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 935
{
"_links" : {
"curies" : {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
},
"self" : {
"href" : "/api/v1/tenants/12345/callinggroups/3/members/4332"
}
},
"extension"
: "4332", "loggedIn" : true, "twinningEnabled" : true,
"_embedded" : {
"extension"
: {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/extensions/4332"
}
},
"accountId"
: "4332@12345", "enabled" : true, "extension" :
"4332", "extensionType"
: "userExt",
"name" : "Smith, Dave"
},
"callGroup" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/callinggroups/3"
}
},
"callGroupId" : 3,
"callGroupType" : "BroadcastGroup",
"extension" : "6001",
"name" : "Moose Call Horn Sales
Team", "voicemailEnabled" : true
}
}
}
Modify Request
Use a PUT request to modify the
properties of a Call Group Member.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The Default Value column indicates the
default value that will be assigned to the property during resource creation. During
update, only those
values provided in the request
payload will be updated unless
otherwise noted.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
loggedIn
|
Boolean
|
True if the user/location is currently logged into the group.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
True
|
twinning Enabled
|
Boolean
|
True if the user’s/ location’s twinned device is to be rung for calls
to this group.
|
Telco(Tenant BasicOrAdvance
Management), TenantAdmin
|
Optional. This value can only be set
to true if the call group supports group twinning, and the user/location
has the twinning feature. It cannot be set to true for locations.
|
False
|
Sample PUT Request
PUT /api/v1/tenants/12345/callinggroups/3/members HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:39407 Content-Length: 51
{
"loggedIn"
: true, "twinningEnabled" : true
}
Sample PUT Response
"Same as GET response"
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
Properties
Path
|
Type
|
Description
|
Visibility
|
callPermission ProfileId
|
Number
|
Identifier the call permission profile currently associated with the CallGroup.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:callPermissionProfiles
|
List of call permission profiles for the tenant.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.
Name
|
Description
|
Visibility
|
Expandable
|
callPermission Profile
|
The
CallPermissionProfile currently associated with the CallGroup.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 671
{
"_links" : {
"curies" : {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
},
"self" : {
"href" : "/api/v1/tenants/12345/callinggroups/3/callpermissionprofile"
},
"v1:callPermissionProfiles" : {
"href" : "/api/v1/tenants/12345/callpermissionprofiles{?expand,filter}",
"templated" : true
}
},
"callPermissionProfileId" : 0,
"_embedded" : {
"callPermissionProfile" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/callpermissionprofiles/0"
}
},
"callPermissionProfileId"
: 0, "name" : "Call Permission - Sales"
}
}
}
Modify Request
Use a PUT request to modify the
Call Group Call Permission Profile setting.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The Default Value column indicates the
default value that will be assigned to the property during resource creation. During
update, only those
values provided in the request
payload will be updated unless
otherwise noted.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
call Permission ProfileId
|
Number
|
Identifier of the call permission profile going
to associate with the Call Group.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Must be a valid call permission profile identifier of the tenant, could be the
' Unassigned' call permission profile.
|
n/a
|
Sample PUT Request
PUT /api/v1/tenants/12345/callinggroups/3/callpermissionprofile HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:39407 Content-Length: 35
{
"callPermissionProfileId" : 0
}
Call Group PIN Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Modify Request
•
POST Request Properties
•
Sample POST Request
•
Sample
POST Response Description
The Call Group PIN resource
provides the ability to set a new PIN for Call Group.
Supported Operations
HEAD
Get just the header response
POST
Set Call Group’s PIN
Permitted Authorities (as defined in API Guide)
Telco
User
|
POST
|
TenantAdmin
|
POST
|
Modify Request
Use a POST request with the
following properties in the payload to set new PIN.
POST Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
pin
|
String
|
The
New PIN being set as Call Group PIN.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Required, must be a valid PIN based on system PIN policies.
|
Sample POST Request
POST /api/v1/tenants/12345/callinggroups/3/pin HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:37061 Content-Length: 20
{
"pin" : "3546"
}
Sample POST Response
HTTP/1.1 200 OK
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
awayHoursNumber
|
String
|
The
Number that the call
group routes to during Away Hours. The call
is routed to call group members if the number
is empty.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
inOfficeHoursNumber
|
String
|
The
Number that the call
group routes to during
In Office Hours. The call is routed
to call group members if the number is empty.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
lunchHoursNumber
|
String
|
The
Number that the call
group routes to during Lunch Hours. The call
is routed to call group members if the number
is empty.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
vacationNumber
|
String
|
The Number that the call group
routes to when Vacation routing override is selected. The call is routed to call group members if the number is empty.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
routingOverrideType
|
String
|
The override type is used for
presence state routing.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
timezone
|
String
|
The
time zone is used for presence state routing. Readonly for
now.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
monday
|
Object
|
The
configuration for Mondays.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
monday.inOffice
|
Boolean
|
Indicates whether In Office at all on this day.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Path
|
Type
|
Description
|
Visibility
|
monday.inOfficeHours From
|
String
|
The
start time of In Office hours on this day.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
monday.inOfficeHours To
|
String
|
The
end time of In Office hours on this day.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
monday.lunchFrom
|
String
|
The
start time of Lunch
hours on this day.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
monday.lunchTo
|
String
|
The
end time of Lunch
hours on this day.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
tuesday
|
Object
|
The configuration for Tuesdays. See Mondays
for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
wednesday
|
Object
|
The
configuration for
Wednesdays. See Mondays for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
thursday
|
Object
|
The configuration for Thursdays. See Mondays
for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
friday
|
Object
|
The configuration for Fridays. See Mondays for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
saturday
|
Object
|
The configuration for Saturdays. See Mondays
for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
sunday
|
Object
|
The configuration for Sundays. See Mondays for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Link Relations
Relation
|
Description
|
Visibility
|
v1options:presenceState RoutingOverrideType
|
List of valid Routing
Override types that can be
set for Presence State Routing.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 1613
{
"_links" : {
"curies" : {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
},
"self" : {
"href" : "/api/v1/tenants/12345/callinggroups/3/presencestaterouting"
},
"v1options:presenceStateRoutingOverrideType"
: {
"href" : "/api/v1/enums/presencestateroutingoverridetype"
}
},
"awayHoursNumber" : "",
"friday" : {
"lunchTo"
: "", "inOffice" : true, "lunchFrom" :
"",
"inOfficeHoursTo" :
"24:00",
"inOfficeHoursFrom" : "00:00"
},
"inOfficeHoursNumber" : "",
"lunchHoursNumber" : "", "monday" : {
"lunchTo"
: "", "inOffice" : true, "lunchFrom" :
"",
"inOfficeHoursTo" :
"24:00",
"inOfficeHoursFrom" : "00:00"
},
"routingOverrideType" : "None",
"saturday" : {
"lunchTo"
: "", "inOffice" : true, "lunchFrom" :
"",
"inOfficeHoursTo" :
"24:00",
"inOfficeHoursFrom" : "00:00"
},
"sunday"
: { "lunchTo" : "", "inOffice" : true,
"lunchFrom" : "",
"inOfficeHoursTo" :
"24:00",
"inOfficeHoursFrom" : "00:00"
},
"thursday"
: { "lunchTo" : "", "inOffice" : true,
"lunchFrom" : "",
"inOfficeHoursTo" :
"24:00",
"inOfficeHoursFrom" : "00:00"
},
"timezone" : "America/New_York",
"tuesday"
: { "lunchTo" : "", "inOffice" : true,
"lunchFrom" : "",
"inOfficeHoursTo" :
"24:00",
"inOfficeHoursFrom" : "00:00"
},
"vacationNumber" : "",
"wednesday" : {
"lunchTo"
: "", "inOffice" : true, "lunchFrom" :
"",
"inOfficeHoursTo" :
"24:00",
"inOfficeHoursFrom" : "00:00"
}
}
Modify Request
Use a PUT request to modify
Presence State Routing of Call Group.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes
other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The Default Value column indicates the
default value that will be assigned to the property during resource creation. During
update, only those
values provided in the request
payload will be updated unless
otherwise noted.
|
|
 |
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
awayHours Number
|
String
|
The
Number that the call group
routes to during Away Hours.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. The call is routed
to call group members
if
the number is empty.
|
If
not provided, will keep
current setting unchanged.
|
inOfficeHours Number
|
String
|
The
Number that the call group
routes to during In Office Hours.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. The call is routed
to call group members
if
the number is empty.
|
If
not provided, will keep
current setting unchanged.
|
lunchHours Number
|
String
|
The
Number that the call group
routes to during Lunch Hours.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. The call is routed
to call group members
if
the number is empty.
|
If
not provided, will keep
current setting unchanged.
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
vacation Number
|
String
|
The Number that the call group
routes to when Vacation routing override
is selected.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. The call is routed
to call group members
if
the number is empty.
|
If
not provided, will keep
current setting unchanged.
|
routing OverrideType
|
String
|
The override type is used for presence state routing.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
If
not provided, will keep
current setting unchanged.
|
monday
|
Object
|
The
configuration for Mondays.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
If
not provided, will keep
current setting unchanged.
|
monday.in Office
|
Boolean
|
Indicates whether In Office at all on this day.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
True or False
|
If
not provided, will keep
current setting unchanged.
|
monday.in OfficeHours From
|
String
|
The start time of In Office
hours on this day.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, the format should
be HH:MM where HH is value of hours
and MM is value of minutes.
|
If
not provided, will keep
current setting unchanged.
|
monday.in OfficeHoursTo
|
String
|
The end time of In Office hours
on this day.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, the format should
be HH:MM where HH is value of hours
and MM is value of minutes.
|
If
not provided, will keep
current setting unchanged.
|
monday.lunch From
|
String
|
The
start time of Lunch hours on this day.
|
Telco(Tenant BasicOrAdvance
Management), TenantAdmin
|
Optional, if provided, the format should
be HH:MM where HH is value of hours
and MM is value of minutes.
|
If
not provided, will keep
current setting unchanged.
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
monday.lunch To
|
String
|
The end time of Lunch hours on this day.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, the format should
be HH:MM where HH is value of hours
and MM is value of minutes.
|
If
not provided, will keep
current setting unchanged.
|
tuesday
|
Object
|
The
configuration for Tuesdays.
See
Mondays for details
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as Monday.
|
Same as Monday.
|
wednesday
|
Object
|
The configuration for Wednesdays. See
Mondays for details
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as Monday.
|
Same as Monday.
|
thursday
|
Object
|
The
configuration for Thursdays.
See
Mondays for details
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as Monday.
|
Same as Monday.
|
friday
|
Object
|
The
configuration for Fridays. See Mondays for details
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as Monday.
|
Same as Monday.
|
saturday
|
Object
|
The
configuration for Saturdays.
See
Mondays for details
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as Monday.
|
Same as Monday.
|
sunday
|
Object
|
The
configuration for Sundays.
See
Mondays for details
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as Monday.
|
Same as Monday.
|
Sample PUT Request
PUT /api/v1/tenants/12345/callinggroups/3/presencestaterouting HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:37217 Content-Length: 1318
{
"monday"
: { "inOffice" : true,
"inOfficeHoursFrom"
: "07:00",
"inOfficeHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00"
},
"tuesday"
: { "inOffice" : true,
"inOfficeHoursFrom"
: "07:00",
"inOfficeHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00"
},
"wednesday"
: { "inOffice" : true,
"inOfficeHoursFrom"
: "07:00",
"inOfficeHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00"
},
"thursday"
: { "inOffice" : true,
"inOfficeHoursFrom"
: "07:00",
"inOfficeHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00"
},
"friday"
: { "inOffice" : true,
"inOfficeHoursFrom"
: "07:00",
"inOfficeHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00"
},
"saturday"
: { "inOffice" : true,
"inOfficeHoursFrom"
: "07:00",
"inOfficeHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00"
},
"sunday"
: { "inOffice" : true,
"inOfficeHoursFrom"
: "07:00",
"inOfficeHoursTo" : "18:00",
"lunchFrom" : "12:00",
"lunchTo" : "13:00"
},
"inOfficeHoursNumber" : "2000",
"lunchHoursNumber" : "1000",
"awayHoursNumber" : "6132345678",
"vacationNumber"
: "6135557777", "routingOverrideType" : "Vacation"
}
Sample PUT Response
Same as "GET response"
Call Group Voicemail PIN Reset Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Modify Request
•
POST Request Properties
•
Sample POST Request
•
Sample
POST Response Description
The Call Group Voicemail PIN Reset resource
provides the ability
to set a new PIN for
Call Group’s voicemail.
Supported Operations
HEAD
Get just the header response
POST
Set Call Group’s voicemail PIN
Permitted Authorities (as defined in API Guide)
Telco
User
|
POST
|
TenantAdmin
|
POST
|
Modify Request
Use a POST request
with the following properties in the payload to set new voicemail
PIN.
POST Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
newPIN
|
String
|
The New PIN being set as voicemail PIN.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Required, must be a valid PIN based
on voicemail system PIN policies.
|
Sample POST Request
POST /api/v1/tenants/12345/callinggroups/3/voicemailpinreset HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:33359 Content-Length: 23
{
"newPIN" : "3621"
}
Sample POST Response
HTTP/1.1 200 OK
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
useMWI
|
Boolean
|
Indicates whether the call group
uses MWI for voicemail.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
notificationEmails
|
String
|
One or multiple email addresses where
to send notification, separated by semi-colon.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
copyToEmails
|
String
|
One of multiple email addresses where
to send a copy of the
voicemail, separated by semi-colon.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
deleteAfterCopy
|
Boolean
|
Indicates whether delete the voicemail after sent out a copy to specified email address.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
dial0Enabled
|
Boolean
|
Indicates whether the dial0 option
is enabled for voicemail.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
dial0Extension
|
String
|
When dial0 option enabled, the target extension when 0 is dialed, could be user or location extension, call group
extension or auto attendant extension.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
timeStampTimeZone
|
String
|
TimeZone for
the time stamp in notification or copy emails.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
vmLanguage
|
String
|
Prefer language for
voicemail prompts.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:vmLanguages
|
Link to get a list of available
Voicemail Languages in system.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 601
{
"_links" : {
"curies" : {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
},
"self" : {
"href" : "/api/v1/tenants/12345/callinggroups/3/voicemailsettings"
},
"v1:vmLanguages" : {
"href" : "/api/v1/vmlanguages{?filter}",
"templated" : true
}
},
"copyToEmails" : "[email protected]",
"deleteAfterCopy" : false,
"dial0Enabled"
: true, "dial0Extension" : "7001",
"notificationEmails" : "[email protected]; [email protected]",
"timeStampTimeZone" : "US/Eastern",
"useMWI"
: true, "vmLanguage" : "en"
}
Modify Request
Use a PUT request to modify
voicemail settings of Call Group.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The Default Value column indicates the
default value that will be assigned to the property during resource creation. During
update, only those
values provided in the request
payload will be updated unless
otherwise noted.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
useMWI
|
Boolean
|
Indicates whether the call group uses MWI for voicemail.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. If provided, must be True
or False.
|
If
not provided, will keep the
current setting.
|
notification Emails
|
String
|
One or more email addresses to send
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. If provided, must be a valid email address; if more than one,
|
If
not provided, will keep the
current setting.
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
|
|
notification to.
Maximum 3 emails.
|
|
addresses must
separated by semi-colons.
|
|
copyToEmails
|
String
|
One of multiple email addresses where to send
a
copy of the voicemail.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. If provided, must be a valid email address; if more than one, addresses must
separated by semi-colons.
|
If
not provided, will keep the
current setting.
|
deleteAfter Copy
|
Boolean
|
Indicates whether to delete the voicemail after
a copy is sent out to specified the
email address(es). If copyToEmails is
empty, it is reset to True.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. If provided, must be True
or False.
|
If
not provided, will keep the
current setting.
|
dial0Enabled
|
Boolean
|
Indicates whether the dial0 option
is
enabled for voicemail.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. If provided, must be True
or False.
|
If
not provided, will keep the
current setting.
|
dial0 Extension
|
String
|
The target extension when 0 is dialed, could be user or location extension, call group extension
or auto attendant extension. If
dial0Enabled is false, this value
is ignored.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. If provided, must be valid user or location
extension, call
group extension or auto
attendant extension of this tenant.
|
If
not provided, will keep the
current setting.
|
timeStampTime Zone
|
String
|
TimeZone for the time stamp in notification or copy emails.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. If provided, must be an valid time zone name.
|
If
not provided, will keep the
current setting.
|
vmLanguage
|
String
|
Preferred language for voicemail prompts.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. If provided, must be an valid Voicemail
|
If
not provided, will keep the
current setting.
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
|
|
|
|
Language code
available in system.
|
|
Sample PUT Request
PUT /api/v1/tenants/12345/callinggroups/3/voicemailsettings HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:37289 Content-Length: 275
{
"useMWI" : true,
"notificationEmails" : "[email protected]; [email protected]",
"copyToEmails" : "[email protected]",
"deleteAfterCopy"
: true, "dial0Enabled" : true, "dial0Extension" :
"7001", "timeStampTimeZone" : "US/Eastern",
"vmLanguage" : "en"
}
Sample PUT Response
Same as "GET response"
CallGroupMemberMgmt List Resource
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
List Details
•
Request Parameters
•
Link Relations
•
Embedded Representations
•
Sample GET Response
•
Modify List Request
•
POST Request
•
PUT Request Description
This relation
returns a list of member
of a specific call group.
These members can be
users or locations.
The list of
members is ordered. The client can manage the order of the list by either
POSTing individual new members in the correct
order (new members
are added to the
end of the list), or by using a PUT request to replace the entire list with a
new one.
Most CallGroups can have a maximum of 100 members.
Pickup Groups are limited to a
maximum of 50 members across all groups of that type.
Supported Operations
GET
View list of call group members HEAD
Get just the header response
POST
Add a new member to the end of the call group
PUT
Replace the call group with a new
list
Permitted Authorities (as defined in API Guide)
Telco
User
|
GET,
PUT, POST
|
|
|
TenantAdmin
User
|
GET,
PUT, POST
|
List Details
The CallGroupMember list resource provides
a list of CallGroupMember resources for the specified CallGroup.
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
filter
|
This parameter can be used to filter
list result. Multiple filter parameter can be provided in same request, and
the result will be filtered by all filters
based on the
provided order in rhe query parameter.
|
Optional, see details at Filter
Support
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
v1:extensions
|
List of all
extensions for the tenant that are in use. It is a template that allows filtering so that, for example,
only user extensions can be seen.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.

The
generic term 'item'
can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used
to expand the resource and all its child elements (one level deep).
Name
|
Description
|
Visibility
|
Expandable
|
callGroupMember
|
A list of members of the call group.
Each element indicates the
member’s logged in and personal group twinning status.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 970
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
}, {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/callinggroups/3/members"
},
"v1:extensions" : [ {
"href" : "/api/v1/tenants/12345/extensions{?expand,filter,extensionType,agent}",
"templated" : true
} ],
"v1:itemTemplate" : [ {
"href" : "/api/v1/tenants/12345/callinggroups/3/members/{extension}",
"templated" : true
} ]
},
"count"
: { "callGroupMember" : 1
},
"total"
: { "callGroupMember" : 1
},
"_embedded"
: { "callGroupMember" : [ {
"_links"
: {
"self" : {
"href" : "/api/v1/tenants/12345/callinggroups/3/members/4332"
}
},
"extension"
: "4332", "loggedIn" : true, "twinningEnabled" : true
} ]
}
}
Modify List Request
POST Request
Use a POST
request to add or move a CallGroupMember to
the end of the call group membership list. If the extension is already a group
member, it will be moved to the bottom of the list. If the extension is not already
a member, it will be added to the bottom of the list.
POST Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
loggedIn
|
Boolean
|
Indicates if logged into the group for this
member.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. True or False.
|
twinningEnabled
|
Boolean
|
Indicates if twinning is
enabled for this member.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. True or False.
|
extension
|
String
|
The
extension of the user/location.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
This must be a valid
extension.
|
POST Response Properties
A successful
POST returns a successful response with an empty payload. If the extension was added to the list,
the response is a 201 Created and the Location
header indicates the URI of the new member. If the extension was moved
to the bottom of the list, the response is a 200 OK.
Sample POST Request
POST /api/v1/tenants/12345/callinggroups/3/members HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:39407 Content-Length: 75
{
"loggedIn"
: true, "extension" : "4111", "twinningEnabled" : true
}
Sample POST Response
HTTP/1.1 201 Created
Location: /api/v1/tenants/12345/callinggroups/3/members/4111
Content-Length: 0
PUT Request
Use a PUT request
to replace the existing member
list with a new list of members.
This request also supports setting the member’s loggedIn and twinningEnabled
statuses at the same time.
PUT Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The
Default Value column
indicates the default
value that will be assigned
to the property during resource creation.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
callGroup Member[]. loggedIn
|
Boolean
|
True if the user/location is
currently logged into the group.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
True or False
|
True
|
callGroup Member[]. extension
|
String
|
The extension of the user/location.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
This must be a valid extension.
|
None
|
callGroup Member[]. twinning Enabled
|
Boolean
|
If True then the user’s/location’s twinned device will ring
for group calls.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
True or False
|
False
|
PUT Response Properties
The response
to a successful PUT request
is the new resource representation, as defined in the GET Response.
Sample PUT Request
PUT /api/v1/tenants/12345/callinggroups/3/members HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:39407 Content-Length: 113
{
"callGroupMember"
: [ { "loggedIn" : true, "extension" : "4332",
"twinningEnabled" : true
} ]
}
Sample PUT Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 970
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
}, {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/callinggroups/3/members"
},
"v1:extensions" : [ {
"href" : "/api/v1/tenants/12345/extensions{?expand,filter,extensionType,agent}",
"templated" : true
} ],
"v1:itemTemplate" : [ {
"href" : "/api/v1/tenants/12345/callinggroups/3/members/{extension}",
"templated" : true
} ]
},
"count"
: { "callGroupMember" : 1
},
"total"
: { "callGroupMember" : 1
},
"_embedded"
: { "callGroupMember" : [ {
"_links"
: {
"self" : {
"href" : "/api/v1/tenants/12345/callinggroups/3/members/4332"
}
},
"extension"
: "4332", "loggedIn" : true, "twinningEnabled" : true
} ]
}
}
Non-admin
User
|
GET
|
Location
|
GET
|
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
name
|
String
|
The
name of the Call
PermissionProfile.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
callPermission ProfileId
|
Number
|
Identifier for the Call
PermissionProfile. Read Only,
system assigned.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
international
|
Object
|
International Call Permission of the
Call PermissionProfile. Include
setting for Open, Lunch, Close and Special hours.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
international.allow OpenHour
|
Boolean
|
Permission for open hours of International Call Permission of the Call PermissionProfile.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
international.allow CloseHour
|
Boolean
|
Permission for close hours of International Call Permission of the Call PermissionProfile.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
international.allow LunchHour
|
Boolean
|
Permission for lunch hours of International Call Permission of the Call PermissionProfile.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
international.allow SpecialHour
|
Boolean
|
Permission for special hours of International Call Permission of the Call PermissionProfile.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
Path
|
Type
|
Description
|
Visibility
|
local
|
Object
|
Local Call Permission of the
CallPermissionProfile. Include setting for Open, Lunch, Close and Special
hours. See International Call Permission for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
longDistance
|
Object
|
Long Distance Call Permission of the
Call PermissionProfile. Include
setting for Open, Lunch, Close and Special hours. See International Call
Permission for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
operatorAssisted
|
Object
|
Operator Assisted Call Permission of
the Call PermissionProfile. Include
setting for Open, Lunch, Close and Special hours. See International Call
Permission for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
regional
|
Object
|
Regional Call Permission of the CallPermissionProfile. Include
setting for Open, Lunch, Close and Special hours. See International Call
Permission for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
tollFree
|
Object
|
Toll Free Call Permission of the CallPermissionProfile. Include setting for Open, Lunch,
Close and Special hours. See International Call Permission for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
tollPremium
|
Object
|
Toll Premium Call Permission of the
Call PermissionProfile. Include
setting for Open, Lunch, Close and Special hours. See International Call
Permission for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
redirectInboundTo External
|
Object
|
Redirect Inbound To External Call
Permission of the
CallPermissionProfile. Include setting for Open,
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
Path
|
Type
|
Description
|
Visibility
|
|
|
Lunch, Close and Special
hours. See International Call Permission for details.
|
|
selectLongDistance Provider
|
Object
|
Select Long Distance Provider Call
Permission of the CallPermissionProfile.
Include setting for Open, Lunch, Close and Special hours. See International
Call Permission for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
selectRegional Provider
|
Object
|
Select Regional Provider Call Permission of the Call PermissionProfile. Include setting for Open, Lunch, Close
and Special hours. See International Call Permission for details.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:callPermissionProfile Members
|
List members of the call permission profile.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 1920
{
"_links" : {
"curies" : {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
},
"self" : {
"href" : "/api/v1/tenants/12345/callpermissionprofiles/116"
},
"v1:callPermissionProfileMembers" : {
"href" : "/api/v1/tenants/12345/callpermissionprofiles/116/members{?expand,filter}",
"templated" : true
}
},
"callPermissionProfileId" : 116,
"international" : {
"allowLunchHour"
: true, "allowCloseHour" : false, "allowSpecialHour" : false,
"allowOpenHour" : true
},
"local"
: { "allowLunchHour" : true, "allowCloseHour" : false,
"allowSpecialHour" : false,
"allowOpenHour" : true
},
"longDistance"
: { "allowLunchHour" : true, "allowCloseHour" : false,
"allowSpecialHour" : false, "allowOpenHour" : true
},
"name" : "Call Permission - Sales",
"operatorAssisted" : {
"allowLunchHour"
: true, "allowCloseHour" : false, "allowSpecialHour" : false,
"allowOpenHour" : true
},
"redirectInboundToExternal" : {
"allowLunchHour" : true, "allowCloseHour" : false,
"allowSpecialHour" : false, "allowOpenHour" : true
},
"regional"
: { "allowLunchHour" : true, "allowCloseHour" : false,
"allowSpecialHour" : false, "allowOpenHour" : true
},
"selectLongDistanceProvider" : {
"allowLunchHour" : true, "allowCloseHour" : false, "allowSpecialHour"
: false, "allowOpenHour" : true
},
"selectRegionalProvider"
: { "allowLunchHour" : true, "allowCloseHour" : false,
"allowSpecialHour" : false, "allowOpenHour" : true
},
"tollFree"
: { "allowLunchHour" : true, "allowCloseHour" : false,
"allowSpecialHour" : false, "allowOpenHour" : true
},
"tollPremium"
: { "allowLunchHour" : true, "allowCloseHour" : false,
"allowSpecialHour" : false, "allowOpenHour" : true
}
}
Modify Request
Use a PUT request to modify the
properties of a CallPermissionProfile.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
name
|
String
|
The
name of the Call
PermissionProfile.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. Max 50 chars.
|
international
|
Object
|
The permission setting of
international calls.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
international. allowOpenHour
|
Boolean
|
The permission setting for open hours for international calls.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. True or False.
|
international. allowCloseHour
|
Boolean
|
The permission setting for close hours
for international calls.
|
Telco(Tenant BasicOrAdvance
Management), TenantAdmin
|
Optional. True or False.
|
international. allowLunchHour
|
Boolean
|
The permission setting for lunch hours
for international calls.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. True or False.
|
international. allowSpecialHour
|
Boolean
|
The permission setting for special
hours for international calls.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. True or False.
|
local
|
Object
|
The permission setting of local calls. See international calls setting
for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as permission
setting of international calls.
|
longDistance
|
Object
|
The permission setting of long
distance calls. See international calls setting for
details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as permission
setting of international calls.
|
operatorAssisted
|
Object
|
The permission setting of operator
assisted calls. See international calls setting for
details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as permission
setting of international calls.
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
regional
|
Object
|
The permission setting of regional
calls. See international calls
setting for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as permission
setting of international calls.
|
tollFree
|
Object
|
The
permission setting of toll free calls. See
international calls setting for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as permission
setting of international calls.
|
tollPremium
|
Object
|
The permission setting of toll
premium calls. See international calls setting for
details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as permission
setting of international calls.
|
redirectInbound ToExternal
|
Object
|
The permission setting of redirect
inbound calls to external. See international
calls setting for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as permission
setting of international calls.
|
selectRegional Provider
|
Object
|
The permission setting of select
regional provider for calls. See international calls setting for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as permission
setting of international calls.
|
selectLong DistanceProvider
|
Object
|
The permission setting of select
long distance
provider for calls. See international calls setting for
details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as permission
setting of international calls.
|
Sample PUT Request
PUT /api/v1/tenants/12345/callpermissionprofiles/116 HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:39923 Content-Length: 1486
{
"name" : "Call Permission - Sales",
"international" : {
"allowOpenHour"
: true, "allowCloseHour" : true, "allowLunchHour" : true,
"allowSpecialHour" : true
},
"local"
: { "allowOpenHour" : true, "allowCloseHour" : true,
"allowLunchHour" : true,
"allowSpecialHour"
: true
},
"longDistance"
: { "allowOpenHour" : true, "allowCloseHour" : true,
"allowLunchHour" : true, "allowSpecialHour" : true
},
"operatorAssisted"
: { "allowOpenHour" : true, "allowCloseHour" : true,
"allowLunchHour" : true, "allowSpecialHour" : true
},
"regional"
: { "allowOpenHour" : true, "allowCloseHour" : true,
"allowLunchHour" : true, "allowSpecialHour" : true
},
"tollFree"
: { "allowOpenHour" : true, "allowCloseHour" : true,
"allowLunchHour" : true, "allowSpecialHour" : true
},
"tollPremium"
: { "allowOpenHour" : true, "allowCloseHour" : true,
"allowLunchHour" : true, "allowSpecialHour" : true
},
"redirectInboundToExternal" : {
"allowOpenHour" : true, "allowCloseHour" : true,
"allowLunchHour" : true, "allowSpecialHour" : true
},
"selectLongDistanceProvider" : {
"allowOpenHour" : true, "allowCloseHour" : true,
"allowLunchHour" : true, "allowSpecialHour" : true
},
"selectRegionalProvider" : {
"allowOpenHour" : true, "allowCloseHour" : true,
"allowLunchHour" : true, "allowSpecialHour" : true
}
}
Sample PUT Response
Same as "GET response"
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
filter
|
This parameter can be used to filter
list result. Multiple filter parameter can be provided in same request, and
the result will be filtered by all filters
based on the
provided order in rhe query parameter.
|
Optional, see details at Filter
Support
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources.
See more details at Expand Support.
The generic term 'item'
can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used
to expand the resource and all its child elements (one level deep).
Name
|
Description
|
Visibility
|
Expandable
|
callPermission Profile
|
Each element of the CallPermissionProfile list represents a single CallPermissionProfile, and indicates the
Call
PermissionProfile identifier, name and permissions.
The
'Unassigned' call permission is not included
in the list.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Name
|
Description
|
Visibility
|
Expandable
|
callPermission ProfileForUnassigned
|
The 'Unassigned' Call
PermissionProfile is created with the tenant,
can not be deleted, name can not be changed, members can not
be managed. While the permission setting can be
managed.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 1083
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/callpermissionprofiles"
},
"v1:itemTemplate" : [ {
"href" : "/api/v1/tenants/12345/callpermissionprofiles/{callPermissionProfileId}",
"templated" : true
} ]
},
"count"
: { "callPermissionProfile" : 1,
"callPermissionProfileForUnassigned"
: 1
},
"total"
: { "callPermissionProfile" : 1,
"callPermissionProfileForUnassigned"
: 1
},
"_embedded"
: { "callPermissionProfileForUnassigned" : [ {
"_links"
: {
"self" : {
"href" : "/api/v1/tenants/12345/callpermissionprofiles/110"
}
},
"callPermissionProfileId" : 110,
"name" : "Unassigned"
} ],
"callPermissionProfile" : [ { "_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/callpermissionprofiles/116"
}
},
"callPermissionProfileId"
: 116, "name" : "Call Permission - Sales"
} ]
}
}
Modify List Request
Use a POST request to add a new
CallPermissionProfile.
POST Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The
Default Value column
indicates the default
value that will be assigned
to the property during resource creation.
|
|
 |
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
name
|
String
|
The
name of the CallPermission
Profile.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Required. Max 50 chars.
|
None
|
international
|
Object
|
The
permission setting of international
calls.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional.
|
If not specified, will be not
allowed for Open, Lunch, Close and Special hours.
|
international. allowOpenHour
|
Boolean
|
The
permission setting for open
hours for international calls.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. True or False.
|
false
|
international. allowClose Hour
|
Boolean
|
The
permission setting for close
hours for international calls.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. True or False.
|
false
|
international. allowLunch Hour
|
Boolean
|
The
permission setting for lunch
hours for international calls.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. True or False.
|
false
|
international. allowSpecial Hour
|
Boolean
|
The
permission setting for special hours for international calls.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional. True or False.
|
false
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
local
|
Object
|
The permission setting of local
calls. See international calls
setting for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as permission setting of international
calls.
|
Same as permission setting of international
calls.
|
longDistance
|
Object
|
The permission setting of long
distance calls. See international
calls setting for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as permission setting of international
calls.
|
Same as permission setting of international
calls.
|
operator Assisted
|
Object
|
The permission setting of operator assisted calls. See international calls setting for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as permission setting of international
calls.
|
Same as permission setting of international
calls.
|
regional
|
Object
|
The permission setting of regional
calls. See international calls
setting for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as permission setting of international
calls.
|
Same as permission setting of international
calls.
|
tollFree
|
Object
|
The
permission setting of toll free calls. See
international calls setting for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as permission setting of international
calls.
|
Same as permission setting of international
calls.
|
tollPremium
|
Object
|
The permission setting of toll
premium calls. See international
calls setting for details.
|
Telco(Tenant BasicOrAdvance
Management), TenantAdmin
|
Same as permission setting of international
calls.
|
Same as permission setting of international
calls.
|
redirect InboundTo External
|
Object
|
The permission setting of redirect
inbound calls to external. See international
calls setting for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as permission setting of international
calls.
|
Same as permission setting of international
calls.
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
select Regional Provider
|
Object
|
The permission setting of select
regional provider for calls. See international calls setting for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as permission setting of international
calls.
|
Same as permission setting of international
calls.
|
selectLong Distance Provider
|
Object
|
The permission setting of select
long distance provider for calls. See international calls setting for details.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Same as permission setting of international
calls.
|
Same as permission setting of international
calls.
|
POST Response
A successful
POST returns a 201 (Created). A link to the newly added CallPermissionProfile can be found in the Location field in the response header.
Sample POST Request
POST /api/v1/tenants/12345/callpermissionprofiles HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:39923 Content-Length: 1486
{
"name" : "Call Permission - Sales",
"international" : {
"allowOpenHour"
: true, "allowCloseHour" : true, "allowLunchHour" : true,
"allowSpecialHour" : true
},
"local"
: { "allowOpenHour" : true, "allowCloseHour" : true,
"allowLunchHour" : true,
"allowSpecialHour"
: true
},
"longDistance"
: { "allowOpenHour" : true, "allowCloseHour" : true,
"allowLunchHour" : true, "allowSpecialHour" : true
},
"operatorAssisted"
: { "allowOpenHour" : true, "allowCloseHour" : true,
"allowLunchHour" : true, "allowSpecialHour" : true
},
"regional"
: { "allowOpenHour" : true, "allowCloseHour" : true,
"allowLunchHour" : true, "allowSpecialHour" : true
},
"tollFree" : {
"allowOpenHour"
: true, "allowCloseHour" : true, "allowLunchHour" : true,
"allowSpecialHour" : true
},
"tollPremium"
: { "allowOpenHour" : true, "allowCloseHour" : true,
"allowLunchHour" : true, "allowSpecialHour" : true
},
"redirectInboundToExternal" : {
"allowOpenHour" : true, "allowCloseHour" : true,
"allowLunchHour" : true, "allowSpecialHour" : true
},
"selectLongDistanceProvider" : {
"allowOpenHour" : true, "allowCloseHour" : true,
"allowLunchHour" : true, "allowSpecialHour" : true
},
"selectRegionalProvider" : {
"allowOpenHour" : true, "allowCloseHour" : true,
"allowLunchHour" : true, "allowSpecialHour" : true
}
}
Sample POST Response
HTTP/1.1 201 Created
Location: /api/v1/tenants/12345/callpermissionprofiles/34
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
Properties
Path
|
Type
|
Description
|
Visibility
|
extension
|
String
|
The extension of the Call PermissionProfileMember.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.
Name
|
Description
|
Visibility
|
Expandable
|
extension
|
Extension of the Call PermissionProfileMember, could be a User or Location or ACD extension.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 582
{
"_links" : {
"curies" : {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
},
"self" : {
"href" : "/api/v1/tenants/12345/callpermissionprofiles/116/members/4332"
}
},
"extension" : "4332",
"_embedded" : {
"extension"
: {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/extensions/4332"
}
},
"accountId"
: "4332@12345", "enabled" : true, "extension" :
"4332", "extensionType"
: "userExt",
"name" : "Smith, Dave"
}
}
}
Members of the "Unassigned" Call Permission Profile cannot be
managed, thus PUT is not supported.
List Details
The
CallPermissionProfileMember list resource provides a list of CallPermissionProfileMember resources for the specified
CallPermissionProfile.
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
filter
|
This parameter can be used to filter
list result. Multiple filter parameter can be provided in same request, and
the result will be filtered by all filters
based on the
provided order in rhe query parameter.
|
Optional, see details at Filter
Support
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
v1:extensions
|
List of existing extensions of the
tenant. This is useful to get a list of
User, Location, ACD extensions
which can be used
for manage call permission profile members.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources.
See more details at Expand Support.
The generic term 'item'
can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used
to expand the resource and all its child elements (one level deep).
Name
|
Description
|
Visibility
|
Expandable
|
callPermission ProfileMember
|
Each element of the Call PermissionProfileMember list represents a
Call PermissionProfileMember.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 1052
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/callpermissionprofiles/116/members"
},
"v1:extensions" : [ {
"href" : "/api/v1/tenants/12345/extensions{?expand,filter,extensionType,agent}",
"templated" : true
} ],
"v1:itemTemplate" : [ {
"href" : "/api/v1/tenants/12345/callpermissionprofiles/116/members/{extension}",
"templated" : true
} ]
},
"count"
: { "callPermissionProfileMember"
: 2
},
"total"
: { "callPermissionProfileMember"
: 2
},
"_embedded"
: { "callPermissionProfileMember"
: [ {
"_links"
: {
"self" : {
"href" : "/api/v1/tenants/12345/callpermissionprofiles/116/members/4332"
}
},
"extension" : "4332"
}, {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/callpermissionprofiles/116/members/5001"
}
},
"extension" : "5001"
} ]
}
}
Modify List Request
POST Request
Use a POST
request to add a CallPermissionProfileMember to
the membership list. If the extension is already a group member,
it will be kept in the list.
If the extension is not already a member, it will be added to
the list.
POST Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
extension
|
String
|
The extension of the CallPermissionProfile Member.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Required. Must be a valid
extension of User, Location
or ACD.
|
POST Response Properties
A successful
POST returns a successful response with an empty payload. If the extension was added to the list,
the response is a 201 Created and the Location
header indicates the URI of the new member. If the extension was moved
to the bottom of the list, the response is a 200 OK.
Sample POST Request
POST /api/v1/tenants/12345/callpermissionprofiles/116/members HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:39923 Content-Length: 26
{
"extension" : "4332"
}
Sample POST Response
HTTP/1.1 201 Created
Location: /api/v1/tenants/12345/callpermissionprofiles/116/members/4332
PUT Request
Use a PUT request to replace
the existing member list with a new list of members.
PUT Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The
Default Value column
indicates the default
value that will be assigned
to the property during resource creation.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
call Permission Profile Member[]. extension
|
String
|
The
extension of the User or
Location
or ACD.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
This must be a valid extension.
|
None
|
PUT Response Properties
The response
to a successful PUT request
is the new resource representation, as defined in the GET Response.
Sample PUT Request
PUT /api/v1/tenants/12345/callpermissionprofiles/116/members HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:39923 Content-Length: 104
{
"callPermissionProfileMember" : [ { "extension" :
"4332"
}, {
"extension" : "5001"
} ]
}
Sample PUT Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 1052
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/callpermissionprofiles/116/members"
},
"v1:extensions" : [ {
"href" : "/api/v1/tenants/12345/extensions{?expand,filter,extensionType,agent}",
"templated" : true
} ],
"v1:itemTemplate" : [ {
"href" : "/api/v1/tenants/12345/callpermissionprofiles/116/members/{extension}",
"templated" : true
} ]
},
"count"
: { "callPermissionProfileMember"
: 2
},
"total"
: { "callPermissionProfileMember"
: 2
},
"_embedded"
: { "callPermissionProfileMember"
: [ {
"_links"
: {
"self" : {
"href" : "/api/v1/tenants/12345/callpermissionprofiles/116/members/4332"
}
},
"extension" : "4332"
}, {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/callpermissionprofiles/116/members/5001"
}
},
"extension" : "5001"
} ]
}
}
Location
|
GET,
PUT (self only)
|
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
active
|
Boolean
|
Indicates whether the Call Waiting
Tone feature is Active for this
user/location.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 117
{
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/users/4332/cwt"
}
},
"active" : false
}
Modify Request
Use a PUT request to modify the
properties of Call Waiting Tone.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
active
|
Boolean
|
Indicates whether Call Waiting Tone is currently
active for this user/location.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
True or False.
|
Sample PUT Request
PUT /api/v1/tenants/12345/users/4332/cwt HTTP/1.1 Content-Type: application/json;
charset=UTF-8 Host: localhost:45463
Content-Length: 21
{
"active" : true
}
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
active
|
Boolean
|
Indicates if the Confirm Before Dial
check box is checked by default
in the click to call popup.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 142
{
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/users/4332/clicktocallconfirmbeforedial"
}
},
"active" : false
}
Modify Request
Use a PUT request
with the following properties in the payload to modify the user’s
ClickToCallConfirmBeforeDial setting.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
active
|
Boolean
|
Default Click to Call Confirm Before Dial
setting, possible values are: true or false.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
Mandatory
|
Sample PUT Request
PUT /api/v1/tenants/12345/users/4332/clicktocallconfirmbeforedial HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Content-Length: 21
{
"active" : true
}
Sample PUT Response
Same as "GET response"
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
Properties
Path
|
Type
|
Description
|
Visibility
|
subscriberClidType
|
String
|
Indicates how the user/location’s CLID is determined: either
PRIVATE, inherited from
phone Site, or statically assigned a specific DID.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
didId
|
Number
|
Indicates the ID of the DID which is used as CLID, only present
when the 'subscriberClidType' value
is 'DID'.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:dids
|
Retrieves a list of DIDs associated with this tenant.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
v1options:subscriberClid Type
|
Provides a list of the options
available for the CLID assignment.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.
Name
|
Description
|
Visibility
|
Expandable
|
did
|
Represents the assigned DID
when the user/ location’s SubscriberClid
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Name
|
Description
|
Visibility
|
Expandable
|
|
Type is DID. Only present
when the SubscriberClid
Type is DID.
|
|
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 808
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
}, {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/users/4332/clid"
},
"v1:dids" : {
"href" : "/api/v1/tenants/12345/dids{?expand,filter,assigned}",
"templated" : true
},
"v1options:subscriberClidType" : {
"href" : "/api/v1/enums/subscriberclidtype"
}
},
"didId"
: 3, "subscriberClidType" : "DID", "_embedded" :
{
"did" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/dids/3"
}
},
"assigned" : false,
"didId" : 3,
"phoneNumber" : "6132802000"
}
}
}
Modify Request
Use a PUT request to modify the
properties of Calling Line ID settings.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
subscriberClid Type
|
String
|
Indicates CLID type of the User or
Location. If this is not
set to 'DID', then the 'didId' will be ignored if provided in request.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, possible values are 'Site', 'Private' and 'DID'.
|
didId
|
Number
|
Indicates using the specified DID as
CLID of the User or Location. If provided, the value must be ID
of a valid DID of the same tenant.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Required only if the 'subscriberClidType' set to 'DID'.
|
Sample PUT Request
PUT /api/v1/tenants/12345/users/4332/clid HTTP/1.1 Content-Type: application/json;
charset=UTF-8 Host: localhost:45463
Content-Length: 49
{
"subscriberClidType" : "DID",
"didId" : 3
}
Sample PUT Response
Same as "GET response"
|
|
Location
|
GET,
PUT, DELETE (only their own data)
|
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
condId
|
Number
|
The
identifier of CLID Condition.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
label
|
String
|
The
label of CLID Condition.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
matchingType
|
String
|
The
matching type of CLID
Condition.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
digitPattern
|
String
|
The
digit pattern is used for the CLID matching.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:extensions
|
List of extensions for the tenant.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
v1options:clidMatchType
|
The
available options for CLID
matchingType.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 672
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
}, {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/users/4332/scrrules/1001/clidconditions/1001"
},
"v1:extensions" : {
"href" : "/api/v1/tenants/12345/extensions{?expand,filter,extensionType,agent}",
"templated" : true
},
"v1options:clidMatchType" : {
"href" : "/api/v1/enums/clidmatchtype"
}
},
"condId" : 1001,
"digitPattern"
: "100", "label" : "Ext100",
"matchingType" : "Extension"
}
Modify Request
Use a PUT request to modify the
properties of a CLID Condition.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
label
|
String
|
The
label of new CLID Condition.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
Required. Max 50 chars.
|
matchingType
|
String
|
The
matching type for the CLID Condition.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
Required.
|
digitPattern
|
String
|
The digit
pattern is used for CLID
matching.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
Required.
|
Sample PUT Request
PUT /api/v1/tenants/12345/users/4332/scrrules/1001/clidconditions/1001 HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:38297 Content-Length: 93
{
"label"
: "StartsWith-1800", "matchingType" : "StartsWith",
"digitPattern" : "1800"
}
TenantAdmin
User
|
GET,
PUT, POST
|
Non-admin
User
|
GET,
PUT, POST (only their own data)
|
Location
|
GET,
PUT, POST (only their own data)
|
List Details
The CLID Condition list
resource provides a list of CLID
Condition resources.
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
filter
|
This parameter can be used to filter
list result. Multiple filter parameter can be provided in same request, and
the result will be filtered by all filters
based on the
provided order in rhe query parameter.
|
Optional, see details at Filter
Support
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
v1options:clidMatchType
|
The
available options for CLID
matchingType.
|
Telco(TenantBasicOrAdvance
Management), TenantAdmin, User
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources.
See more details at Expand Support.
The generic term 'item'
can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used
to expand the resource and all its child elements (one level deep).
Name
|
Description
|
Visibility
|
Expandable
|
clidCondition
|
Each element of the list represents a single CLID Condition.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 982
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
}, {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/users/4332/scrrules/1001/clidconditions"
},
"v1:itemTemplate" : [ {
"href" : "/api/v1/tenants/12345/users/4332/scrrules/1001/clidconditions/{condId}",
"templated" : true
} ],
"v1options:clidMatchType" : [ {
"href" : "/api/v1/enums/clidmatchtype"
} ]
},
"count"
: { "clidCondition" : 1
},
"total"
: { "clidCondition" : 1
},
"_embedded"
: { "clidCondition" : [ {
"_links"
: {
"self" : {
"href" : "/api/v1/tenants/12345/users/4332/scrrules/1001/clidconditions/1001"
}
},
"condId" : 1001,
"digitPattern"
: "100", "label" : "Ext100",
"matchingType" : "Extension"
} ]
}
}
POST Request
Use a POST request to add a new
CLID Condition.
POST Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The
Default Value column
indicates the default
value that will be assigned
to the property during resource creation.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
label
|
String
|
The
label of new CLID Condition.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
Required. Max 50 chars.
|
None
|
matchingType
|
String
|
The matching type of the CLID Condition.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
Required.
|
None.
|
digitPattern
|
String
|
The digit pattern is used for
matching a CLID.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
Required.
|
None.
|
POST Response
A successful POST returns a 201 (Created). A link to the newly
added CLID Condition can be found in the Location
field in the response header.
Sample POST Request
POST /api/v1/tenants/12345/users/4332/scrrules/1001/clidconditions HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:38297 Content-Length: 93
{
"label"
: "StartsWith-1800", "matchingType" : "StartsWith",
"digitPattern" : "1800"
}
Sample POST Response
HTTP/1.1 201 Created
Location: /api/v1/tenants/12345/users/4332/scrrules/1001/clidconditions/4
PUT Request
This CLID Condition list resource supports
the use of PUT to replace the list. This request also supports
adding/removing condition(s) at the same time.
PUT Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The
Default Value column
indicates the default
value that will be assigned
to the property during resource creation.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
clid Condition[]. condId
|
Number
|
Identifier of a CLID Condition. If it doesn’t present, a new CLID Condition is added
into the list.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
Optional.It must be a valid
CLID Condition ID if presents
|
None
|
clid Condition[]. label
|
String
|
The
label of CLID condition.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
Reqquired. Max 50 chars.
|
None
|
clid Condition[]. matchingType
|
String
|
The matching type for the CLID Condition.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
Requried.
|
None
|
clid Condition[]. digitPattern
|
String
|
The
digit pattern is used for
the CLID matching.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
Required
|
None
|
PUT Response Properties
The response
to a successful PUT request
is the new resource representation, as defined in the GET Response.
Sample PUT Request
PUT /api/v1/tenants/12345/users/4332/scrrules/1001/clidconditions HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:38297 Content-Length: 144
{
"clidCondition"
: [ { "condId" : 1001, "label" : "New label",
"matchingType" : "StartsWith",
"digitPattern" : "1888"
} ]
}
Sample PUT Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 987
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
}, {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/users/4332/scrrules/1001/clidconditions"
},
"v1:itemTemplate" : [ {
"href" : "/api/v1/tenants/12345/users/4332/scrrules/1001/clidconditions/{condId}",
"templated" : true
} ],
"v1options:clidMatchType" : [ {
"href" : "/api/v1/enums/clidmatchtype"
} ]
},
"count"
: { "clidCondition" : 1
},
"total"
: { "clidCondition" : 1
},
"_embedded"
: { "clidCondition" : [ {
"_links"
: {
"self" : {
"href" : "/api/v1/tenants/12345/users/4332/scrrules/1001/clidconditions/1001"
}
},
"condId" : 1001,
"digitPattern"
: "1888", "label" : "New label",
"matchingType" : "StartsWith"
} ]
}
}
CustomAnnouncement File
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource Details
•
Modify
Request Description
CustomAnnouncement
Files can replace default announcement for tenants. These files can be uploaded
and downloaded via this resource. Once uploaded they can be associated with tenants via Tenant
Announcement List Resource.
Supported Operations
GET
Download announcement audio file HEAD
Get just the header response
PUT
Upload announcement audio file DELETE
Remove announcement audio file
Permitted Authorities (as defined in API Guide)
Telco
User
|
GET,
PUT, DELETE
|
TenantAdmin
User
|
GET
|
Resource Details
Use the GET request
to download the binary audio
file if exist,
it not exist, will get a 404 Not Found error.
Modify Request
Use a PUT
request to upload a audio file for Custom Announcement. If the specified file
currently not exist, will be added; if the specified file currently exist, it
will be replaced by the uploading one. Only audio/wav format is supported, only 8 or 16 bit u-law codecs
are supported. If success, will get a 200 OK response with no content.
Use a DELETE request to remove
the existing audio file for Custom Announcement.
DefaultAnnouncement File
Table of Contents
•
Description
•
Supported Operations
•
Permitted Authorities (as defined in API Guide)
•
Resource
Details Description
The DefaultAnnouncement File is
the default announcement audio file.
Supported Operations
GET
Download the current announcement audio file HEAD
Get just the header response
Permitted Authorities (as defined in API Guide)
Telco
User
|
GET
|
TenantAdmin
User
|
GET
|
Resource Details
Use the GET request
to download the binary audio
file if exist,
it not exist, will get a 404 Not Found error.
|
|
TenantAdmin
User
|
GET,
PUT
|
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get requested
information.
|
Optional, see details at Expand
Support
.
|
Properties
Path
|
Type
|
Description
|
Visibility
|
businessHoursProfile Id
|
Number
|
Identifier for the default business hours.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
businessHoursProfile Name
|
String
|
The
name of the business
hours set. Read Only.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:businessHoursProfiles
|
Link to list of available business
HoursProfile for the Tenant which can be set to default.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.
Name
|
Description
|
Visibility
|
Expandable
|
businessHoursProfile
|
Current default business
hours for the tenant.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 710
{
"_links" : {
"curies" : {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
},
"self" : {
"href" : "/api/v1/tenants/12345/defaultbusinesshours"
},
"v1:businessHoursProfiles" : {
"href" : "/api/v1/tenants/12345/businesshours{?expand,filter}",
"templated" : true
}
},
"businessHoursProfileId"
: 2, "businessHoursProfileName" : "Standard Business Hours",
"_embedded" : {
"businessHoursProfile" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/businesshours/2"
}
},
"businessHoursProfileId"
: 2, "businessHoursProfileName" : "Standard Business Hours"
}
}
}
Modify Request
Use a PUT request to add a new
set of business hours.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The Default Value column indicates the
default value that will be assigned to the property during resource creation. During
update, only those
values provided in the request
payload will be updated unless
otherwise noted.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
businessHours ProfileId
|
Number
|
The identifier for the new
business hours. Do not set.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Will be ignored if
provided.
Assigned by the system.
|
None
|
PUT Response Properties
A successful PUT returns a 200
(OK) and the new default Business Hours.
Sample PUT Request
PUT /api/v1/tenants/12345/defaultbusinesshours HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:40873 Content-Length: 34
{
"businessHoursProfileId" : 2
}
Sample PUT Response
Same as "GET response"
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
Properties
Path
|
Type
|
Description
|
Visibility
|
announcementId
|
Number
|
Identifier for the Announcement which
is currently set as Default System Announcement.
|
Telco(SystemManagement,
TenantBasicOrAdvance Management)
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:systemAnnouncements
|
Acceptable announcement values from System
Announcement which can be
set as Default System Announcement.
|
Telco(SystemManagement, Tenant BasicOrAdvanceManagement)
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.
Name
|
Description
|
Visibility
|
Expandable
|
announcement
|
The announcement which is currently set as Default System Announcement.
|
Telco(SystemManagement,
TenantBasicOrAdvance Management),
Tenant Admin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 564
{
"_links" : {
"curies" : {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
},
"self" : {
"href" : "/api/v1/defaultsystemannouncement"
},
"v1:systemAnnouncements" : {
"href" : "/api/v1/systemannouncements{?expand,filter}",
"templated" : true
}
},
"announcementId" : 2,
"_embedded" : {
"announcement" : {
"_links" : {
"self" : {
"href" : "/api/v1/announcements/2"
}
},
"announcementId"
: 2, "name" : "Comfort Tone"
}
}
}
Modify Request
Use a PUT request to modify the
setting of DefaultSystemAnnouncement.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
announcementId
|
Number
|
The ID of the
|
Telco(System
|
Must be a
|
|
|
announcement set
|
Management)
|
valid system
|
|
|
as default. Only
|
|
announcement ID.
|
|
|
Telco User can make
|
|
|
|
|
change.
|
|
|
Sample PUT Request
PUT /api/v1/defaultsystemannouncement HTTP/1.1 Content-Type: application/json;
charset=UTF-8 Host: localhost:34865
Content-Length: 26
{
"announcementId" : 2
}
Sample PUT Response
Same as "GET response"
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
Properties
Path
|
Type
|
Description
|
Visibility
|
phoneNumber
|
String
|
The DID phone number.
|
Telco, TenantAdmin
|
didId
|
Number
|
The
unique identifier for this DID.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
incomingName
|
String
|
A user-assigned identifier that can be applied to the
DID.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
assigned
|
Boolean
|
True if Incoming Call Routing or
Emergency Override routing has been
configured for this DID.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
businessHoursFrom TenantDefault
|
Boolean
|
True if the Business Hours Profile associated with
this DID is automatically inherited from the tenant’s default Business
Hours.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
timezone
|
String
|
The timezone associated with the
DID. 'DEFAULT' means using tenant
default timezone. In conjunction with the Business Hours Profile, this
affects the
time calls switch from one
routing to another.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
openHoursExtension
|
String
|
The extension that the DID routes to during Open Hours (as defined in the
associated Business Hours Profile).
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Path
|
Type
|
Description
|
Visibility
|
closedHoursExtension
|
String
|
The
extension that the DID
routes to during Closed Hours.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
lunchHoursExtension
|
String
|
The
extension that the DID
routes to during Lunch Hours.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
specialHours Extension
|
String
|
The extension that the DID routes to during Special
(or 'Other') Hours.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:didBusinessHoursMgmt
|
Use
this link to change the
business hours associated with this Did.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.
Name
|
Description
|
Visibility
|
Expandable
|
openHoursExtension
|
The extension that the DID routes to during Open Hours. This section is only
present if the extension is a User or
Location extension.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
closedHoursExtension
|
The extension that the DID routes to
during Closed Hours. This section is only present if the extension is a User or
Location extension.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
lunchHoursExtension
|
The extension that the DID routes to
during Lunch Hours. This section is only present if the extension is a User or
Location extension.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Name
|
Description
|
Visibility
|
Expandable
|
specialHours Extension
|
The extension that the DID routes to
during Special Hours. This section is only present if the extension is a User or
Location extension.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
emergencyOverride
|
Defines the Emergency Override configuration for the DID, and indicates whether it is active.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
businessHoursProfile
|
Identifies the Business HoursProfile associated with the DID.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 2466
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
}, {
"href" : "/api/v1options/rels/{rel}",
"name" : "v1options",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/dids/3"
},
"v1:didBusinessHoursMgmt" : {
"href" : "/api/v1/tenants/12345/dids/3/businesshourmgmt"
}
},
"assigned"
: false, "businessHoursFromTenantDefault" : false,
"closedHoursExtension" : "4332",
"didId" : 3,
"incomingName" : "Main Number",
"lunchHoursExtension" : "4332",
"openHoursExtension"
: "4332",
"phoneNumber" : "6132802000",
"specialHoursExtension" : "4332",
"timezone" : "America/New_York", "_embedded" : {
"businessHoursProfile" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/businesshours/2"
}
},
"businessHoursProfileId"
: 2, "businessHoursProfileName" : "Standard Business Hours"
},
"emergencyOverride" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/dids/3/emergencyoverride"
}
},
"active" : true,
"name" : "Emergency Number", "number" :
"16132802000"
},
"lunchHoursExtension" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/extensions/4332"
}
},
"accountId"
: "4332@12345", "enabled" : true, "extension" :
"4332", "extensionType"
: "userExt",
"name" : "Smith, Dave"
},
"specialHoursExtension" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/extensions/4332"
}
},
"accountId"
: "4332@12345", "enabled" : true, "extension" :
"4332", "extensionType"
: "userExt",
"name" : "Smith, Dave"
},
"closedHoursExtension" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/extensions/4332"
}
},
"accountId"
: "4332@12345", "enabled" : true, "extension" :
"4332", "extensionType"
: "userExt",
"name" : "Smith, Dave"
},
"openHoursExtension" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/extensions/4332"
}
},
"accountId"
: "4332@12345", "enabled" : true, "extension" :
"4332", "extensionType"
: "userExt",
"name" : "Smith, Dave"
}
}
}
Modify Request
Use a PUT request to modify the
properties of a DID.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
phoneNumber
|
String
|
The phone number of the DID. Only Telco User
can make change.
|
Telco(Tenant
Advance Management)
|
Must be a valid phone number
and must be unique across the system.
|
timezone
|
String
|
The timezone of the DID. Only
Telco User can make change.
|
Telco(TenantBasic
Management)
|
Must be a valid timezone name, or
'DEFAULT' means using tenant default timezone.
|
incomingName
|
String
|
The name of the DID.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Max 50 Chars.
|
openHours Extension
|
String
|
The
extension will be routed to when
DID
get called during open hours.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, must be a
valid extension of User, Location, CallGroup, AutoAttendant or ACD, and
cannot be a disabled extension.
|
lunchHours Extension
|
String
|
The
extension will be routed to when
DID
get called during lunch hours.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, must be a
valid extension of User, Location, CallGroup, AutoAttendant or ACD, and
cannot be a disabled extension.
|
closedHours Extension
|
String
|
The
extension will be routed to when
DID
get called during closed hours.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, must be a
valid extension of User, Location, CallGroup, AutoAttendant or ACD, and
cannot be a disabled extension.
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
specialHours Extension
|
String
|
The
extension will be routed to when
DID
get called during special hours.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Optional, if provided, must be a
valid extension of User, Location, CallGroup, AutoAttendant or ACD, and
cannot be a disabled extension.
|
Sample PUT Request
PUT
/api/v1/tenants/12345/dids/3 HTTP/1.1 Content-Type: application/json; charset=UTF-8
Host: localhost:34413
Content-Length: 285
{
"phoneNumber"
: "6132802000", "incomingName" : "Main Number",
"timezone" : "America/New_York",
"businessHoursFromTenantDefault" : false, "openHoursExtension" :
"4332",
"lunchHoursExtension"
: "4332",
"closedHoursExtension" : "4332",
"specialHoursExtension" : "4332"
}
Sample PUT Response
Same as "GET response"
Add new DID
Permitted Authorities (as defined in API Guide)
Telco
User
|
GET,
POST
|
TenantAdmin
User
|
GET
|
List Details
The DID list resource provides
a list of DID resources in summarized form.
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
filter
|
This parameter can be used to filter
list result. Multiple filter parameter can be provided in same request, and
the result will be filtered by all filters
based on the
provided order in rhe query parameter.
|
Optional, see details at Filter
Support
|
assigned
|
Use this parameter to request a list
of either assigned or unassigned DIDs: 'true' for
assigned, or 'false' for unassigned. This parameter have higher priority than
filter parameter.
|
Optional. 'true' or 'false'.
|
routedTo
|
Use
this parameter to request a list of DIDs which all openHoursExtension,
lunchHoursExtension, closeHours Extension and otherHoursExtension routed to
the specified extension;
if provided the assigned parameter
will be ignored. This parameter have higher priority than filter parameter.
|
Optional. The value should
be a routable extension.
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources.
See more details at Expand Support.
The generic term 'item'
can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used
to expand the resource and all its child elements (one level deep).
Name
|
Description
|
Visibility
|
Expandable
|
did
|
Each element of the dids
list represents a single did, providing the phone number and indicating
whether the DID has configured routing.
|
Telco(TenantBasicOr
AdvanceManagement, SiteBasicOrAdvance Management), Tenant
Admin
|
y
|
Sample GET Request
This sample request demonstrates the usage of the optional
?assigned query parameter to filter the response to include only
those DIDs which are assigned.
GET /api/v1/tenants/12345/dids?assigned=true HTTP/1.1 Host: localhost:34413
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 626
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/dids?assigned=true"
},
"v1:itemTemplate" : [ {
"href" : "/api/v1/tenants/12345/dids/{didId}",
"templated" : true
} ]
},
"count" : {
"did" : 1
},
"total" : {
"did" : 1
},
"_embedded" : {
"did" : [ {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/dids/3"
}
},
"assigned" : true,
"didId" : 3,
"phoneNumber" : "6132802000"
} ]
}
}
Modify List Request
Use a POST request to add a new
DID.
POST Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The
Default Value column
indicates the default
value that will be assigned
to the property during resource creation.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
phoneNumber
|
String
|
The phone
|
Telco(Tenant
|
Required. Must
|
None
|
|
|
number of the
|
BasicAnd
|
be valid phone
|
|
|
|
DID.
|
Advance
|
number and must
|
|
|
|
|
Management)
|
be unique across
|
|
|
|
|
|
the
system.
|
|
timezone
|
String
|
The timezone of
|
Telco(Tenant
|
Required. Must
|
None
|
|
|
the DID.
|
BasicAnd
|
be valid timezone
|
|
|
|
|
Advance
|
name or 'DEF
|
|
|
|
|
Management)
|
AULT'(will use
|
|
|
|
|
|
tenant default
|
|
|
|
|
|
timezone).
|
|
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
incomingName
|
String
|
The
name of the DID.
|
Telco(Tenant
BasicAnd Advance Management)
|
Required. Max 50 chars
|
None
|
POST Response
A successful POST returns a 201 (Created). A link to the newly
added DID can be found in the Location field in the
response header.
Sample POST Request
POST
/api/v1/tenants/12345/dids HTTP/1.1 Content-Type: application/json; charset=UTF-8
Host: localhost:34413
Content-Length: 147
{
"phoneNumber"
: "6132802000", "incomingName" : "Main Number",
"timezone" : "America/New_York",
"businessHoursFromTenantDefault" : false
}
Sample POST Response
HTTP/1.1 201 Created
Location: /api/v1/tenants/12345/dids/41
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to include more detail data of resource or embedded resource to reduce
round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
Properties
Path
|
Type
|
Description
|
Visibility
|
businessHoursProfile Id
|
Number
|
Identifier of the business hours profile.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
didId
|
Number
|
Identifier for the DID.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:businessHoursProfiles
|
Link to list of available business
HoursProfile for the Tenant which can be assigned to the DID.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources. See more details at Expand Support.
Name
|
Description
|
Visibility
|
Expandable
|
did
|
Information about the DID.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Name
|
Description
|
Visibility
|
Expandable
|
businessHoursProfile
|
Information about the business
hours.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 873
{
"_links" : {
"curies" : {
"href" : "/api/v1/rels/{rel}",
"name" : "v1",
"templated" : true
},
"self" : {
"href" : "/api/v1/tenants/12345/didbusinesshours/3"
},
"v1:businessHoursProfiles" : {
"href" : "/api/v1/tenants/12345/businesshours{?expand,filter}",
"templated" : true
}
},
"businessHoursProfileId" : 2,
"didId" : 3,
"_embedded"
: { "businessHoursProfile" : {
"_links"
: {
"self" : {
"href" : "/api/v1/tenants/12345/businesshours/2"
}
},
"businessHoursProfileId"
: 2, "businessHoursProfileName" : "Standard Business Hours"
},
"did" : {
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/dids/3"
}
},
"assigned" : false,
"didId" : 3,
"phoneNumber" : "6132802000"
}
}
}
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This includes
other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The Default Value column indicates the
default value that will be assigned to the property during resource creation. During
update, only those
values provided in the request
payload will be updated unless
otherwise noted.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
businessHours ProfileId
|
Number
|
The identifier for the new business
hours.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Must be the identifier of an
existing business hour profile.
|
The value of current setting before
update. When tenant DID creation, the value is None
|
PUT Response Properties
A successful PUT returns a 200 (OK) and the updated Did Business Hour Profile
relationship.
Sample PUT Request
PUT /api/v1/tenants/12345/didbusinesshours/3 HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:40873 Content-Length: 34
{
"businessHoursProfileId" : 2
}
Sample PUT Response
Same as "GET response"
Resource Details
Request Parameters
Parameter
|
Description
|
Constraints
|
expand
|
This parameter can be used to
include more detail data of resource
or embedded resource to reduce round trip(using multiple request) to get
requested information.
|
Optional, see details at Expand
Support
.
|
Link Relations
Relation
|
Description
|
Visibility
|
v1:itemTemplate
|
A URL template indicating how to
retrieve a specific element of the list. Clients that know the unique identifier of the item they are seeking
can use this URL to retrieve it, instead of iterating over the list.
|
same as item resource permission
|
v1:businessHoursProfiles
|
Link to list of available business
HoursProfile for the Tenant which can be assigned to the DID.
|
Telco(TenantBasicOrAdvance
Management),
TenantAdmin
|
Embedded Representations
Embedded
resources marked as 'expandable' in this table can be expanded in the GET response
to this resource
by including the ?expand=<resourceName> query
parameter.
Nested elements may be recursively expanded using dot-notation to specify
child elements of other expandable resources.
See more details at Expand Support.
The generic term 'item'
can be used as the resourceName to achieve first-level expansion of the list elements, and the term 'all' can be used
to expand the resource and all its child elements (one level deep).
Name
|
Description
|
Visibility
|
Expandable
|
didBusinessHours
|
The
business hours for the
DID.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin
|
y
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 778
{
"_links" : {
"curies" : [ {
"href" : "/api/v1/rels/{rel}",
"name"
: "v1", "templated" : true
} ],
"self" : {
"href" : "/api/v1/tenants/12345/dids/3/businesshourmgmt"
},
"v1:businessHoursProfiles" : [ {
"href" : "/api/v1/tenants/12345/businesshours{?expand,filter}",
"templated" : true
} ],
"v1:itemTemplate" : [ {
"href" : "/api/v1/tenants/12345/didbusinesshours/3"
} ]
},
"count"
: { "didBusinessHours" : 1
},
"total"
: { "didBusinessHours" : 1
},
"_embedded"
: { "didBusinessHours" : [ {
"_links"
: {
"self" : {
"href" : "/api/v1/tenants/12345/didbusinesshours/3"
}
},
"businessHoursProfileId" : 2,
"didId" : 3
} ]
}
}
POST Request Properties
The following properties are processed as part of the POST request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
The
Default Value column
indicates the default
value that will be assigned
to the property during resource creation.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
Default
Value
|
businessHours ProfileId
|
Number
|
The
business hours profile identifier.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin
|
Profile must exist and the
DID must not
have an assigned
business hours.
|
None
|
POST Response Properties
A successful POST returns a 201
(created) and the added Business Hour Profile
Sample POST Request
POST /api/v1/tenants/12345/dids/3/businesshourmgmt HTTP/1.1 Content-Type: application/json;
charset=UTF-8
Host: localhost:34413 Content-Length: 34
{
"businessHoursProfileId" : 2
}
Sample POST Response
HTTP/1.1 201 Created
Location: /api/v1/tenants/12345/didbusinesshours/3
Resource Details
Properties
Path
|
Type
|
Description
|
Visibility
|
active
|
Boolean
|
Indicates whether the Do Not Disturb
feature is active for this user/location.
|
Telco(TenantBasicOr
AdvanceManagement), TenantAdmin,
User
|
Sample GET Response
HTTP/1.1 200 OK
Content-Type: application/hal+json Content-Length: 117
{
"_links" : {
"self" : {
"href" : "/api/v1/tenants/12345/users/4332/dnd"
}
},
"active" : false
}
Modify Request
Use a PUT request to modify the
properties of a call group.
PUT Request Properties
The following properties are processed as part of the PUT request. Any other content in the payload is ignored. This
includes other properties that may be part of the GET response: if they are not
documented here, they are ignored by the server if they are included as part of
this request.
Path
|
Type
|
Description
|
Permission
|
Constraints
|
active
|
Boolean
|
Indicates whether the Do Not Disturb feature is currently active for this user/ location.
|
Telco(Tenant
BasicOrAdvance Management), TenantAdmin, User
|
True or False.
|
Sample PUT Request
PUT /api/v1/tenants/12345/users/4332/dnd HTTP/1.1 Content-Type: application/json;
charset=UTF-8 Host: localhost:45463
Content-Length: 21
{
"active" : true
}
Sample PUT Response
Same as "GET response"