Download OpenAPI specification:Download
The REST API for the wac-core
[- {
- "id": "57c960e21f6fd2fa1bde699a",
- "domain": "quobis",
- "urgency": "medium",
- "type": "call",
- "timestamp": 1471934540760,
- "payload": {
- "callid": "57bbf135a4eabe4d1d38e5aa",
- "value": {
- "ssrc": [
- {
- "id": "string",
- "packetsSent": 0,
- "packetsLost": 0,
- "packetesReceived": 0,
- "bytesSent": 0,
- "bytesReceived": 0,
- "CodecName": "string"
}
]
}, - "alarm": {
- "id": "main",
- "section": "ssrc",
- "value": "packetsLost",
- "cond": ">",
- "threshold": 2,
- "relative": true
}
}
}
]
Retrieve the call alarm with the specified id
id required | string The ID of the alarm we want to retrieve |
{- "id": "57c960e21f6fd2fa1bde699a",
- "domain": "quobis",
- "urgency": "medium",
- "type": "call",
- "timestamp": 1471934540760,
- "payload": {
- "callid": "57bbf135a4eabe4d1d38e5aa",
- "value": {
- "ssrc": [
- {
- "id": "string",
- "packetsSent": 0,
- "packetsLost": 0,
- "packetesReceived": 0,
- "bytesSent": 0,
- "bytesReceived": 0,
- "CodecName": "string"
}
]
}, - "alarm": {
- "id": "main",
- "section": "ssrc",
- "value": "packetsLost",
- "cond": ">",
- "threshold": 2,
- "relative": true
}
}
}
Get all alerts related with the user making the request. An admin will get all the alerts in the system.
acceptedSince | number If specified, alerts that have been accepted between current time and (current time - acceptedSince) will be retrieved. Note that this value must be provided in milliseconds. |
expiredSince | number If specified, alerts that have been expired between current time and (current time - expiredSince) will be retrieved. Note that this value must be provided in milliseconds. |
canceledSince | number If specified, alerts that have been cancelled between current time and (current time - cancelledSince) will be retrieved. Note that this value must be provided in milliseconds. |
{- "active": [
- {
- "alertId": "string",
- "from": "string",
- "title": "string",
- "payload": "string",
- "createdAt": 0,
- "resolvedAt": 0,
- "acceptedBy": "string"
}
], - "accepted": [
- {
- "alertId": "string",
- "from": "string",
- "title": "string",
- "payload": "string",
- "createdAt": 0,
- "resolvedAt": 0,
- "acceptedBy": "string"
}
], - "expired": [
- {
- "alertId": "string",
- "from": "string",
- "title": "string",
- "payload": "string",
- "createdAt": 0,
- "resolvedAt": 0,
- "acceptedBy": "string"
}
]
}
Sends alert for the template identified by :id
The alert template to be created
templateId required | string |
alertId required | string |
{- "templateId": "string",
- "alertId": "string"
}
{- "error": "string",
- "validationErrors": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
], - "message": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
]
}
Accepts an alert with alertId
The alert to be accepted
alertId required | string |
{- "alertId": "string"
}
{- "error": "string",
- "validationErrors": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
], - "message": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
]
}
Allows an alert sender to cancel alert using alertId
id required | string |
{- "error": "string",
- "validationErrors": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
], - "message": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
]
}
Gets all the available alert templates for a user
{- "alertTemplates": [
- {
- "templateId": "string",
- "title": "string",
- "payload": "string",
- "numberOfRetries": 0,
- "timeInMsBetweenRetries": 0,
- "timeToExpire": 0
}
]
}
Creates a new alert template with the provided data
The alert template to be created
templateId required | string |
title required | string |
payload required | string |
numberOfRetries required | number |
timeInMsBetweenRetries required | number |
timeToExpire | number The time the alert will be expired after the last retry. Note that this param must be provided in milliseconds |
{- "templateId": "string",
- "title": "string",
- "payload": "string",
- "numberOfRetries": 0,
- "timeInMsBetweenRetries": 0,
- "timeToExpire": 0
}
{- "error": "string",
- "validationErrors": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
], - "message": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
]
}
Updates an alert template identified by :id
id required | string |
The alert template data to be updated
title | string |
payload | string |
numberOfRetries | number |
timeInMsBetweenRetries | number |
timeToExpire | number The time the alert will be expired after the last retry. Note that this param must be provided in milliseconds |
{- "title": "string",
- "payload": "string",
- "numberOfRetries": 0,
- "timeInMsBetweenRetries": 0,
- "timeToExpire": 0
}
{- "error": "string",
- "validationErrors": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
], - "message": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
]
}
Deletes the template identified by :id
id required | string |
{- "error": "string",
- "validationErrors": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
], - "message": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
]
}
Revoke template authorized authorized users
id required | string |
{- "error": "string",
- "validationErrors": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
], - "message": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
]
}
Attaches receivers to a template with the provided data
id required | string |
The alert receivers to be created
userIds required | Array of strings |
{- "userIds": [
- "string"
]
}
{- "error": "string",
- "validationErrors": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
], - "message": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
]
}
Dettaches the receivers of a template
id required | string |
{- "error": "string",
- "validationErrors": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
], - "message": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
]
}
Fetches all the available address books from all sources
contacts | boolean Default: false Get user contacts as an address book |
domain | boolean Default: false Get domain users as an address book |
phonebooks | boolean Default: false Get phonebooks as address books |
static | boolean Default: false Get static contacts as address books |
groups | boolean Default: false Get groups as address books |
{- "addressBooks": [
- {
- "id": "string",
- "name": "string",
- "type": "contacts",
- "contacts": [
- {
- "id": "string",
- "name": "string",
- "phones": [
- {
- "type": "home",
- "value": "string",
- "primary": true
}
], - "emails": [
- {
- "type": "home",
- "value": "string",
- "primary": true
}
], - "favorite": true,
- "associatedUserId": "string"
}
]
}
]
}
Endpoint that return information about time consumed in meetings. Could be possible to obtain the time consume in given interval
from | number Used to obtain all conference logs that starts after given time |
to | number Used to obtain all conference logs that starts before given time |
{- "expendedTime": 0
}
Fetches all the available credentials for the requesting user
id | string |
type | string |
user | string |
data | object |
[- {
- "source": "string",
- "type": "basic",
- "context": {
- "src": "string",
- "useragent": "string",
- "language": "string",
- "location": "string",
- "platform": "string",
- "vendor": "string",
- "deviceId": "string"
}, - "domain": "string",
- "user": "string",
- "data": { },
- "lease": 0,
- "id": "string"
}
]
Adds a new credential object to the system's storage
The credential to be created
source required | string |
type required | string (CredentialType) Enum: "basic" "ims" "oauth2" "token" "wac-ims" |
object (UserContext) | |
domain required | string |
user | string |
data required | object |
lease required | integer |
{- "source": "string",
- "type": "basic",
- "context": {
- "src": "string",
- "useragent": "string",
- "language": "string",
- "location": "string",
- "platform": "string",
- "vendor": "string",
- "deviceId": "string"
}, - "domain": "string",
- "user": "string",
- "data": { },
- "lease": 0
}
{- "source": "string",
- "type": "basic",
- "context": {
- "src": "string",
- "useragent": "string",
- "language": "string",
- "location": "string",
- "platform": "string",
- "vendor": "string",
- "deviceId": "string"
}, - "domain": "string",
- "user": "string",
- "data": { },
- "lease": 0,
- "id": "string"
}
Obtains the credential identified by the given ID
id required | string The ID of the credential we want to get |
{- "source": "string",
- "type": "basic",
- "context": {
- "src": "string",
- "useragent": "string",
- "language": "string",
- "location": "string",
- "platform": "string",
- "vendor": "string",
- "deviceId": "string"
}, - "domain": "string",
- "user": "string",
- "data": { },
- "lease": 0,
- "id": "string"
}
Changes the given credential with provided data
id required | string |
The credential to be updated.
Please note that the id
parameter must be provided without the @source suffix.
source | string |
type | string (CredentialType) Enum: "basic" "ims" "oauth2" "token" "wac-ims" |
object (UserContext) | |
domain | string |
user | string |
data | object |
lease | integer |
{- "source": "string",
- "type": "basic",
- "context": {
- "src": "string",
- "useragent": "string",
- "language": "string",
- "location": "string",
- "platform": "string",
- "vendor": "string",
- "deviceId": "string"
}, - "domain": "string",
- "user": "string",
- "data": { },
- "lease": 0
}
{- "source": "string",
- "type": "basic",
- "context": {
- "src": "string",
- "useragent": "string",
- "language": "string",
- "location": "string",
- "platform": "string",
- "vendor": "string",
- "deviceId": "string"
}, - "domain": "string",
- "user": "string",
- "data": { },
- "lease": 0,
- "id": "string"
}
Fetches all the available domains for the requesting user
name | string Filter by domain name |
[- {
- "id": "string",
- "domain": "string",
- "parent": "string",
- "origins": [
- "string"
], - "enableAnonymous": true,
- "anonymousExpiration": 0,
- "anonymousCapabilities": [
- [
- "string"
]
], - "services": { }
}
]
Create the domain represented by the request's body
The data used to create a domain
domain required | string The name of the domain to be created |
parent | string Parent domain, defaults to user domain |
origins | Array of strings An array of regular expressions taht will match this domain |
enableAnonymous | boolean Whether the domain accepts anonymous users or not |
anonymousCapabilities | Array of strings (Capabilities) [ items ] Capabilities for anonymous users under the domain |
services | object Enabled services for the domain |
{- "domain": "demo.quobis.com",
- "parent": "quobis",
- "origins": [
- "demo.quobis.*"
], - "enableAnonymous": true,
- "anonymousCapabilities": [ ],
- "services": {
- "login": [ ],
- "presence": [ ]
}
}
{- "id": "string",
- "domain": "string",
- "parent": "string",
- "origins": [
- "string"
], - "enableAnonymous": true,
- "anonymousExpiration": 0,
- "anonymousCapabilities": [
- [
- "string"
]
], - "services": { }
}
Fetch the given domain
id required | string |
{- "id": "string",
- "domain": "string",
- "parent": "string",
- "origins": [
- "string"
], - "enableAnonymous": true,
- "anonymousExpiration": 0,
- "anonymousCapabilities": [
- [
- "string"
]
], - "services": { }
}
Updates the domain with given ID
id required | string |
The data used to update a domain
domain required | string The name of the domain to be created |
parent | string Parent domain, defaults to user domain |
origins | Array of strings An array of regular expressions taht will match this domain |
enableAnonymous | boolean Whether the domain accepts anonymous users or not |
anonymousCapabilities | Array of strings (Capabilities) [ items ] Capabilities for anonymous users under the domain |
services | object Enabled services for the domain |
{- "domain": "demo.quobis.com",
- "parent": "quobis",
- "origins": [
- "demo.quobis.*"
], - "enableAnonymous": true,
- "anonymousCapabilities": [ ],
- "services": {
- "login": [ ],
- "presence": [ ]
}
}
{- "id": "string",
- "domain": "string",
- "parent": "string",
- "origins": [
- "string"
], - "enableAnonymous": true,
- "anonymousExpiration": 0,
- "anonymousCapabilities": [
- [
- "string"
]
], - "services": { }
}
Resolve a pending notification by :id with a given action
id required | string |
Request Example
action | string |
{- "action": "string"
}
"string"
Get all available sessions
string or Array of strings | |
string or Array of strings | |
string or Array of strings | |
string or Array of strings | |
string or number | |
string or number | |
number or Array of numbers | |
string or Array of strings | |
string or Array of strings | |
users | Array of strings |
string or number | |
string or number |
[- {
- "id": "58171339e63de4ec5af1448b",
- "token": "qQ6UclyTcmJSWarEW4bWg8mGBOptMTtz",
- "user": "5808c9e2f5b1aeec70a4b0c0",
- "domain": "quobis",
- "from": 1477907257747,
- "to": 1477907573413,
- "expires": 30000,
- "registered": "08768f74n987f6n7648nf89fn",
}
]
Create the session represented by the request body
The data used to create a session
object |
{- "context": {
- "src": "test@example.com",
- "language": "es"
}
}
{- "id": "58171339e63de4ec5af1448b",
- "token": "qQ6UclyTcmJSWarEW4bWg8mGBOptMTtz",
- "user": "5808c9e2f5b1aeec70a4b0c0",
- "domain": "quobis",
- "from": 1477907257747,
- "to": 1477907573413,
- "expires": 30000,
- "registered": "08768f74n987f6n7648nf89fn",
- "context": {
- "src": "test@example.com",
- "language": "es"
}
}
Retrieve a session by the specified id
id required | string The ID of the session |
{- "id": "58171339e63de4ec5af1448b",
- "token": "qQ6UclyTcmJSWarEW4bWg8mGBOptMTtz",
- "user": "5808c9e2f5b1aeec70a4b0c0",
- "domain": "quobis",
- "from": 1477907257747,
- "to": 1477907573413,
- "expires": 30000,
- "registered": "08768f74n987f6n7648nf89fn",
}
Update a session with the data of the request body
id required | string |
The data to update the session
domain | string |
from | number |
object |
{- "domain": "demo.quobis",
- "from": 1481111815000,
- "context": {
- "src": "test2@example.com",
- "language": "en"
}
}
{- "id": "58171339e63de4ec5af1448b",
- "token": "qQ6UclyTcmJSWarEW4bWg8mGBOptMTtz",
- "user": "5808c9e2f5b1aeec70a4b0c0",
- "domain": "demo.quobis",
- "from": 1481111815000,
- "to": -1,
- "expires": 30000,
- "registered": "123",
- "context": {
- "src": "test2@example.com",
- "language": "en"
}
}
Revoke a session so it can not be recovered
The data used to revoke a session
id | string |
{- "id": "58171339e63de4ec5af1448b"
}
{- "id": "58171339e63de4ec5af1448b",
- "token": "qQ6UclyTcmJSWarEW4bWg8mGBOptMTtz",
- "user": "5808c9e2f5b1aeec70a4b0c0",
- "domain": "quobis",
- "from": 1477907257747,
- "to": 1477907573413,
- "expires": 30000,
- "registered": "08768f74n987f6n7648nf89fn",
}
Update a set of Session with the same data
The data to update the sessions
ids | Array of strings |
object |
{- "ids": [
- "58171339e63de4ec5af1448b"
], - "data": {
- "registered": 123
}
}
[- {
- "id": "58171339e63de4ec5af1448b",
- "token": "qQ6UclyTcmJSWarEW4bWg8mGBOptMTtz",
- "user": "5808c9e2f5b1aeec70a4b0c0",
- "domain": "demo.quobis",
- "from": 1481111815000,
- "to": -1,
- "expires": 30000,
- "registered": "123",
- "context": {
- "src": "test2@example.com",
- "language": "en"
}
}
]
Retrieve the WAC users. If some filter options are sent will return a list of users that match this options
limit | number Max number of users to retrieve |
sort_by | string Example: sort_by=created.asc Sorting criteria, can be key.asc or key.desc |
last_item | number Time of creation of the last user retrieved |
last_match | string Value of the sorting element in the last user retrieved |
loggedBefore | number Used to search all users that logged before given date |
loggedAfter | number Used to search all users that logged after given date |
createdBefore | number Used to search all users that was created before given date |
createdAfter | number Used to search all users that was created after given date |
capabilities | Array of strings Used to search all users that have given capabilities. |
string or Array of strings Used to filter by username | |
registered | boolean Used to filter all users registered in system (user, admin). If false return all anonymous users. |
string or Array of strings Used to filter by ids | |
string or Array of strings Used to filter by domain | |
string or Array of strings Used to filter by email | |
string or Array of strings Used to filter by role | |
string or Array of strings Used to filter by alias |
[- {
- "id": "string",
- "username": "string",
- "domain": "string",
- "role": "user",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES"
}
]
Create the user represented by the request body
The user to be created
id | string Deprecated This field is mantained because of backawards compatibility and will be ignored. |
username required | string |
domain required | string |
role required | string (UserRole) Enum: "user" "admin" "anonymous" |
string | |
created | number |
lastLogin | number |
capabilities | Array of strings |
mobilePhone | Array of strings |
landLineNumber | string |
alias | string |
currentTimezone | string Default: "Europe/Madrid" Default value can be customized at platform configuration |
locale | string Default: "es-ES" Default value can be customized at platform configuration |
{- "id": "string",
- "username": "string",
- "domain": "string",
- "role": "user",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES"
}
{- "id": "string",
- "username": "string",
- "domain": "string",
- "role": "user",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES"
}
{- "id": "string",
- "username": "string",
- "domain": "string",
- "role": "user",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES"
}
Retrieve the WAC user identified by id
id required | string |
{- "id": "string",
- "username": "string",
- "domain": "string",
- "role": "user",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES"
}
Update the user identified by :id with the request body
id required | string |
The user to be updated
id | string Deprecated This field is mantained because of backawards compatibility and will be ignored. |
username | string |
domain | string |
role | string (UserRole) Enum: "user" "admin" "anonymous" |
string | |
created | number |
lastLogin | number |
capabilities | Array of strings |
mobilePhone | Array of strings |
landLineNumber | string |
alias | string |
currentTimezone | string Default: "Europe/Madrid" Default value can be customized at platform configuration |
locale | string Default: "es-ES" Default value can be customized at platform configuration |
{- "id": "string",
- "username": "string",
- "domain": "string",
- "role": "user",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES"
}
{- "id": "string",
- "username": "string",
- "domain": "string",
- "role": "user",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES"
}
Endpoint that validates a user's mobile phone
id required | string |
code required | string Random string to check if the phone is correct |
field required | string Phone to validate |
{- "code": "string",
- "field": "string"
}
{- "code": 0,
- "message": "string"
}
Retrieve the WAC users. If some filter options are sent will return a list of users that match this options
sort | string Default: "created" Enum: "created" "-created" "email" "-email" "lastLogin" "-lastLogin" "alias" "-alias" "role" "-role" "domain" "-domain" "username" "-username" Example: sort=-created Used to sort by field in ascending or descending order (hyphen prefix) |
object Example: page[size]=30&page[after]=WzAuNzUseyIkb2lkIjoiNTgxNjY4MzE4YzExNTk2YWYyMmE2MmRmIn1d Used to paginate and navigate between pages | |
integer or object Example: lastLogin[gt]=1598283908000&lastLogin[lt]=1629819908000 Filter by last login timestamp | |
integer or object Example: created[gt]=1598283908000&created[lt]=1629819908000 Filter by creation timestamp | |
string or Array of strings or object Example: alias[partial]=adm Filter by alias using an exact or a partial search | |
string or Array of strings or object Example: email[partial]=@domain.com Filter by E-Mail using an exact or a partial search | |
string or Array of strings or object Example: domain[partial]=quob Filter by domain using an exact or a partial search | |
string or Array of strings Used to search all users that have given capabilities. | |
string or Array of strings or object Filter by username using an exact or a partial search | |
string or object Example: mobilePhone[partial]=66637 Filter by mobile phone using an exact or a partial search | |
registered | boolean Used to filter all users registered in system (user, admin). If false return all anonymous users. |
string or Array of strings Filter by id | |
string or Array of strings Example: role=admin Filter by role |
{- "data": [
- {
- "id": "string",
- "username": "string",
- "domain": "string",
- "role": "user",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES"
}
], - "meta": {
- "page": {
- "total": 1500,
- "maxSize": 500,
- "next": "WzAuNzUseyIkb2lkIjoiNTgxNjY4MzE4YzExNTk2YWYyMmE2MmRmIn1d",
- "previous": null
}
}
}
{- "agents": [
- {
- "id": "string",
- "online": true,
- "displayName": "string",
- "activity": "string",
- "channels": {
- "chat": [
- {
- "chatId": "string",
- "timestamp": 0,
- "users": [
- "string"
]
}
], - "voice": [
- {
- "conferenceId": "string",
- "timestamp": 0,
- "users": [
- "string"
]
}
], - "c2c": [
- {
- "conferenceId": "string",
- "timestamp": 0,
- "users": [
- "string"
]
}
]
}
}
]
}
Endpoint that creates a new AgentSkill
The data to create a skill
skill required | string |
agents | Array of strings |
{- "skill": "string",
- "agents": [
- "string"
]
}
"Created"
Endpoint that set an existing user as an agent
The data used to the operation
userId required | string ID of the user that will be set as Agent |
{- "userId": "string"
}
"OK"
Endpoint that attaches an agent to an existing skill
The data used to attach the agent
skill required | string Name of the skill the agent will be attached to |
agent required | string ID of the agent to attach |
{- "skill": "string",
- "agent": "string"
}
"OK"
Endpoint that attaches agents to an existing skill
The data used to attach the agents
skill required | string Name of the skill the agent will be attached to |
agents required | Array of strings IDs of the agents to attach |
{- "skill": "string",
- "agents": [
- "string"
]
}
"OK"
Endpoint that detaches an agent from an existing skill
The data used to detach the agent
skill required | string Name of the skill the agent will be detached from |
agent required | string ID of the agent to detach |
{- "skill": "string",
- "agent": "string"
}
"OK"
Endpoint that retrieves the capabilities of the user domain
domain | string |
{- "domain": [
- "stats",
- "alarms",
- "callcontrol",
- "chat",
- "contacts",
- "datapipe",
- "filetransfer",
- "forms",
- "ldap",
- "login",
- "meetings",
- "login-token",
- "presence",
- "log",
- "settings",
- "recording"
], - "user": [
- "[+c2cagent]"
]
}
Endpoint that retrieves a call list associated with an authenticated user
after | number Oldest timestamp (in ms) for returned calls (since) |
before | number Newest timestamp (in ms) for returned calls (up to) |
limit | number Limit returned calls lenght |
sortBy | string Sort returned elements in descending order of the given field |
caller | string The caller of the desired calls |
callee | string The callee of the desired calls |
target | string The target of the desired calls |
queueposition | string Queue position of the desired calls |
[- {
- "id": "57c82b0763d8f2f3717b1dd2",
- "caller": "100@demo.quobis.com",
- "calle": "",
- "target": "",
- "users": [
- "57985e3781a0d1b014e74a06"
], - "sessions": [
- "57c80fb163d8f2f3717b1dc9"
], - "date": 1472736007901,
- "from": 1472736007901,
- "to": 1472736007901,
- "state": "servererror",
- "data": { },
- "queueposition": 0,
- "context": { },
- "anonymousSessionId": "",
- "attempts": [ ]
}
]
Endpoint that creates a call
The data used to create a call
calle | string |
caller | string |
context | object |
anonymousSessionId | string |
attempts | Array of objects |
{- "calle": "c2cagent",
- "caller": "100@demo.quobis.com",
- "context": { },
- "anonymousSessionId": "",
- "attempts": [ ]
}
{- "id": "57c82b0763d8f2f3717b1dd2",
- "caller": "100@demo.quobis.com",
- "calle": "",
- "target": "",
- "users": [
- "57985e3781a0d1b014e74a06"
], - "sessions": [
- "57c80fb163d8f2f3717b1dc9"
], - "date": 1472736007901,
- "from": 1472736007901,
- "to": 1472736007901,
- "state": "servererror",
- "data": { },
- "queueposition": 0,
- "context": { },
- "anonymousSessionId": "",
- "attempts": [ ]
}
Endpoint that retrieves a call by id
id required | string |
{- "id": "57c82b0763d8f2f3717b1dd2",
- "caller": "100@demo.quobis.com",
- "calle": "",
- "target": "",
- "users": [
- "57985e3781a0d1b014e74a06"
], - "sessions": [
- "57c80fb163d8f2f3717b1dc9"
], - "date": 1472736007901,
- "from": 1472736007901,
- "to": 1472736007901,
- "state": "servererror",
- "data": { },
- "queueposition": 0,
- "context": { },
- "anonymousSessionId": "",
- "attempts": [ ]
}
Endpoint that udpates a call by id
id required | string |
The data used to update a call
calle | string |
caller | string |
context | object |
anonymousSessionId | string |
queueposition | number |
state | string |
{- "calle": "101@demo.quobis.com",
- "caller": "100@demo.quobis.com",
- "context": { },
- "anonymousSessionId": "",
- "queueposition": 1,
- "state": "rejected"
}
{- "id": "57c82b0763d8f2f3717b1dd2",
- "caller": "100@demo.quobis.com",
- "calle": "101@demo.quobis.com",
- "target": "",
- "users": [
- "57985e3781a0d1b014e74a06"
], - "sessions": [
- "57c80fb163d8f2f3717b1dc9"
], - "date": 1472736007901,
- "from": 1472736007901,
- "to": 1472736007901,
- "state": "rejected",
- "data": { },
- "queueposition": 1,
- "context": { },
- "anonymousSessionId": "",
- "attempts": [ ]
}
Fetches all available conferences for the requesting user. We strongly recommend to use this endpoint with pagination in order to avoid performance issues on both server and client applications.
createdAt | integer If this param is defined, conferences older than the specified value are fetched |
limit | string returned conferences length |
sortBy | string Example: sortBy=createdAt.desc sort returned elements in ascending (asc) or descending (desc) order of given field. Note that if order is not specifed, desc will be used as default |
createdAtSince | integer If this param is defined, get conferences created after the specified value |
createdAtBefore | integer If this param is defined, get conferences created before the specified value |
lastItem | integer Time of creation of the last conference retrieved |
lastMatch | integer Value of the sorting element of the last conference retrieved |
state | string Example: state=finished If this param is defined, get conferences that are in the specifed state. |
roomId | string Example: roomId=5c8d538d1c857e000ea8a5ef If this param is defined, get conferences with the given roomId. |
[- {
- "id": "string",
- "roomId": "string",
- "finishedAt": 0,
- "createdAt": 0,
- "invites": [
- {
- "from": "string",
- "to": "string",
- "state": "string",
- "group": true,
- "inviteRequest": true,
- "error": 0,
- "mediatypes": {
- "audio": true,
- "video": true
}, - "candidates": [
- {
- "address": "string",
- "endReason": 0
}
]
}
], - "participants": [
- {
- "address": "string",
- "createdAt": 0,
- "finishedAt": 0,
- "sessionId": "string"
}
], - "transfers": {
- "from": "string",
- "to": "string",
- "state": "string",
- "roomId": "string",
- "idInvite": "string"
}, - "state": "string",
- "domains": [
- "string"
]
}
]
Fetches a conference identified by the given ID
id required | string |
{- "id": "string",
- "roomId": "string",
- "finishedAt": 0,
- "createdAt": 0,
- "invites": [
- {
- "from": "string",
- "to": "string",
- "state": "string",
- "group": true,
- "inviteRequest": true,
- "error": 0,
- "mediatypes": {
- "audio": true,
- "video": true
}, - "candidates": [
- {
- "address": "string",
- "endReason": 0
}
]
}
], - "participants": [
- {
- "address": "string",
- "createdAt": 0,
- "finishedAt": 0,
- "sessionId": "string"
}
], - "transfers": {
- "from": "string",
- "to": "string",
- "state": "string",
- "roomId": "string",
- "idInvite": "string"
}, - "state": "string",
- "domains": [
- "string"
]
}
Updates a conference based on the received one and notifies the users
The conference to be updated and the wacUris of the users
object (Conference) | |
wacUris | Array of strings |
{- "conferenceLog": {
- "id": "string",
- "roomId": "string",
- "finishedAt": 0,
- "createdAt": 0,
- "invites": [
- {
- "from": "string",
- "to": "string",
- "state": "string",
- "group": true,
- "inviteRequest": true,
- "error": 0,
- "mediatypes": {
- "audio": true,
- "video": true
}, - "candidates": [
- {
- "address": "string",
- "endReason": 0
}
]
}
], - "participants": [
- {
- "address": "string",
- "createdAt": 0,
- "finishedAt": 0,
- "sessionId": "string"
}
], - "transfers": {
- "from": "string",
- "to": "string",
- "state": "string",
- "roomId": "string",
- "idInvite": "string"
}, - "state": "string",
- "domains": [
- "string"
]
}, - "wacUris": [
- "string"
]
}
{- "id": "string",
- "roomId": "string",
- "finishedAt": 0,
- "createdAt": 0,
- "invites": [
- {
- "from": "string",
- "to": "string",
- "state": "string",
- "group": true,
- "inviteRequest": true,
- "error": 0,
- "mediatypes": {
- "audio": true,
- "video": true
}, - "candidates": [
- {
- "address": "string",
- "endReason": 0
}
]
}
], - "participants": [
- {
- "address": "string",
- "createdAt": 0,
- "finishedAt": 0,
- "sessionId": "string"
}
], - "transfers": {
- "from": "string",
- "to": "string",
- "state": "string",
- "roomId": "string",
- "idInvite": "string"
}, - "state": "string",
- "domains": [
- "string"
]
}
Updates a conference based on the received one
The conference to be updated
object (Conference) |
{- "conferenceLog": {
- "id": "string",
- "roomId": "string",
- "finishedAt": 0,
- "createdAt": 0,
- "invites": [
- {
- "from": "string",
- "to": "string",
- "state": "string",
- "group": true,
- "inviteRequest": true,
- "error": 0,
- "mediatypes": {
- "audio": true,
- "video": true
}, - "candidates": [
- {
- "address": "string",
- "endReason": 0
}
]
}
], - "participants": [
- {
- "address": "string",
- "createdAt": 0,
- "finishedAt": 0,
- "sessionId": "string"
}
], - "transfers": {
- "from": "string",
- "to": "string",
- "state": "string",
- "roomId": "string",
- "idInvite": "string"
}, - "state": "string",
- "domains": [
- "string"
]
}
}
{- "id": "string",
- "roomId": "string",
- "finishedAt": 0,
- "createdAt": 0,
- "invites": [
- {
- "from": "string",
- "to": "string",
- "state": "string",
- "group": true,
- "inviteRequest": true,
- "error": 0,
- "mediatypes": {
- "audio": true,
- "video": true
}, - "candidates": [
- {
- "address": "string",
- "endReason": 0
}
]
}
], - "participants": [
- {
- "address": "string",
- "createdAt": 0,
- "finishedAt": 0,
- "sessionId": "string"
}
], - "transfers": {
- "from": "string",
- "to": "string",
- "state": "string",
- "roomId": "string",
- "idInvite": "string"
}, - "state": "string",
- "domains": [
- "string"
]
}
Fetches all available conferences for the requesting user
createdAt | integer If this param is defined, conferences older than the specified value are fetched |
limit | string returned conferences length |
sortBy | string Example: sortBy=createdAt.desc sort returned elements in ascending (asc) or descending (desc) order of given field. Note that if order is not specifed, desc will be used as default |
createdAtSince | integer If this param is defined, get conferences created after the specified value |
createdAtBefore | integer If this param is defined, get conferences created before the specified value |
lastItem | integer Time of creation of the last conference retrieved |
lastMatch | integer Value of the sorting element of the last conference retrieved |
state | string Example: state=finished If this param is defined, get conferences that are in the specifed state. |
roomId | string Example: roomId=5c8d538d1c857e000ea8a5ef If this param is defined, get conferences with the given roomId. |
{- "conferences": [
- {
- "id": "string",
- "roomId": "string",
- "finishedAt": 0,
- "createdAt": 0,
- "invites": [
- {
- "from": "string",
- "to": "string",
- "state": "string",
- "group": true,
- "inviteRequest": true,
- "error": 0,
- "mediatypes": {
- "audio": true,
- "video": true
}, - "candidates": [
- {
- "address": "string",
- "endReason": 0
}
]
}
], - "participants": [
- {
- "address": "string",
- "createdAt": 0,
- "finishedAt": 0,
- "sessionId": "string"
}
], - "transfers": {
- "from": "string",
- "to": "string",
- "state": "string",
- "roomId": "string",
- "idInvite": "string"
}, - "state": "string",
- "domains": [
- "string"
]
}
]
}
Fetches all available conferences for the requesting user
sort | string Default: "createdAt" Enum: "createdAt" "-createdAt" Example: sort=-createdAt Used to sort by field in ascending or descending order (hyphen prefix) |
object Example: page[size]=30&page[after]=WzAuNzUseyIkb2lkIjoiNTgxNjY4MzE4YzExNTk2YWYyMmE2MmRmIn1d Used to paginate and navigate between pages |
{- "data": [
- {
- "id": "string",
- "roomId": "string",
- "finishedAt": 0,
- "createdAt": 0,
- "invites": [
- {
- "from": "string",
- "to": "string",
- "state": "string",
- "group": true,
- "inviteRequest": true,
- "error": 0,
- "mediatypes": {
- "audio": true,
- "video": true
}, - "candidates": [
- {
- "address": "string",
- "endReason": 0
}
]
}
], - "participants": [
- {
- "address": "string",
- "createdAt": 0,
- "finishedAt": 0,
- "sessionId": "string"
}
], - "transfers": {
- "from": "string",
- "to": "string",
- "state": "string",
- "roomId": "string",
- "idInvite": "string"
}, - "state": "string",
- "domains": [
- "string"
]
}
], - "meta": {
- "page": {
- "total": 1500,
- "maxSize": 500,
- "next": "WzAuNzUseyIkb2lkIjoiNTgxNjY4MzE4YzExNTk2YWYyMmE2MmRmIn1d",
- "previous": null
}
}
}
userId required | string |
from required | string non-empty Caller, like a wac-user address or a phone number |
required | object QSS data about how this entry was created |
{- "from": "wac-user:62fd115c1936500013daad30",
- "meta": {
- "inviteId": "string",
- "conferenceLog": { }
}
}
{- "error": "string",
- "validationErrors": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
], - "message": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
]
}
userId required | string |
last required | string The missed call ID as reference to mark as read that call and the previous calls |
{- "error": "string",
- "validationErrors": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
], - "message": [
- {
- "keyword": "string",
- "dataPath": "string",
- "schemaPath": "string",
- "params": { },
- "message": "string"
}
]
}
Fetches all available contacts for the requesting user
source | Array of strings A list of backends used to get contacts |
deviceId | string If defined, get the contacts for this deviceId. This param needs to be defined with param source='device' |
name | string If this param is defined, get the contacts using pattern matching with this param |
favorite | boolean If defined, get the contacts by favorite field. |
limit | number If defined, limit the number of contacts retrieved |
offset | number If defined, skip the number given in the returned contacts |
[- {
- "id": "string",
- "source": "string",
- "user": "string",
- "name": "string",
- "favorite": true,
- "phones": [
- {
- "name": "string",
- "address": "string",
- "attachedUserId": "string"
}
], - "unnormalizedPhones": [
- { }
], - "emails": [
- { }
], - "deviceId": "string",
- "contactDeviceId": "string"
}
]
Create a new contact. If it wants to create a group contact, the string "group" must be provided as source as well as a "participants" object must be provided instead of a "phones" object.
The contact to be created
source | string |
user | string |
name | string |
favorite | boolean |
Array of objects | |
emails | Array of objects |
deviceId | string |
contactDeviceId | string |
Array of objects |
{- "source": "string",
- "user": "string",
- "name": "string",
- "favorite": true,
- "phones": [
- {
- "name": "string",
- "address": "string"
}
], - "emails": [
- { }
], - "deviceId": "string",
- "contactDeviceId": "string",
- "participants": [
- {
- "name": "string",
- "address": "string"
}
]
}
{- "id": "string",
- "source": "string",
- "user": "string",
- "name": "string",
- "favorite": true,
- "phones": [
- {
- "name": "string",
- "address": "string",
- "attachedUserId": "string"
}
], - "unnormalizedPhones": [
- { }
], - "emails": [
- { }
], - "deviceId": "string",
- "contactDeviceId": "string"
}
Retrieve the contact identified by id
id required | string |
{- "id": "string",
- "source": "string",
- "user": "string",
- "name": "string",
- "favorite": true,
- "phones": [
- {
- "name": "string",
- "address": "string",
- "attachedUserId": "string"
}
], - "unnormalizedPhones": [
- { }
], - "emails": [
- { }
], - "deviceId": "string",
- "contactDeviceId": "string"
}
Updates the given contact with the body payload
id required | string |
The contact data to be updated
id | string |
source | string |
user | string |
name | string |
favorite | boolean |
Array of objects | |
unnormalizedPhones | Array of objects |
emails | Array of objects |
deviceId | string |
contactDeviceId | string |
{- "id": "string",
- "source": "string",
- "user": "string",
- "name": "string",
- "favorite": true,
- "phones": [
- {
- "name": "string",
- "address": "string",
- "attachedUserId": "string"
}
], - "unnormalizedPhones": [
- { }
], - "emails": [
- { }
], - "deviceId": "string",
- "contactDeviceId": "string"
}
{- "id": "string",
- "source": "string",
- "user": "string",
- "name": "string",
- "favorite": true,
- "phones": [
- {
- "name": "string",
- "address": "string",
- "attachedUserId": "string"
}
], - "unnormalizedPhones": [
- { }
], - "emails": [
- { }
], - "deviceId": "string",
- "contactDeviceId": "string"
}
Deletes the contact with the given ID
id required | string |
{- "id": "string",
- "source": "string",
- "user": "string",
- "name": "string",
- "favorite": true,
- "phones": [
- {
- "name": "string",
- "address": "string",
- "attachedUserId": "string"
}
], - "unnormalizedPhones": [
- { }
], - "emails": [
- { }
], - "deviceId": "string",
- "contactDeviceId": "string"
}
Insert a list of contacts in the given backend
The contacts and the backend to insert them
source | string The destination backend for the contacts |
Array of objects (Contact) |
{- "source": "string",
- "contacts": [
- {
- "id": "string",
- "source": "string",
- "user": "string",
- "name": "string",
- "favorite": true,
- "phones": [
- {
- "name": "string",
- "address": "string",
- "attachedUserId": "string"
}
], - "unnormalizedPhones": [
- { }
], - "emails": [
- { }
], - "deviceId": "string",
- "contactDeviceId": "string"
}
]
}
"CREATED"
Fetches all available contacts as an object for the requesting user
source | Array of strings A list of backends used to get contacts |
deviceId | string If defined, get the contacts for this deviceId. This param needs to be defined with param source='device' |
name | string If this param is defined, get the contacts using pattern matching with this param |
favorite | boolean If defined, get the contacts by favorite field. |
limit | number If defined, limit the number of contacts retrieved |
offset | number If defined, skip the number given in the returned contacts |
{- "contacts": [
- {
- "id": "string",
- "source": "string",
- "user": "string",
- "name": "string",
- "favorite": true,
- "phones": [
- {
- "name": "string",
- "address": "string",
- "attachedUserId": "string"
}
], - "unnormalizedPhones": [
- { }
], - "emails": [
- { }
], - "deviceId": "string",
- "contactDeviceId": "string"
}
]
}
Get all unfinished datapipes where a user is a participant
[- {
- "id": "58a8343c5d1f203d1675ea87",
- "label": "labelDatapipe",
- "participants": [
- "120@demo.quobis.com",
- "121@demo.quobis.com"
], - "connected": [
- "120@demo.quobis.com",
- "121@demo.quobis.com"
], - "rejected": [ ],
- "data": [ ]
}
]
Create a new datapipe with given data
The data used to create a datapipe
label | string |
participants | Array of strings |
{- "label": "labelDatapipe",
- "participants": [
- "120@demo.quobis.com",
- "121@demo.quobis.com"
]
}
{- "id": "58a8343c5d1f203d1675ea87",
- "label": "labelDatapipe",
- "participants": [
- "120@demo.quobis.com",
- "121@demo.quobis.com"
], - "connected": [
- "120@demo.quobis.com",
- "121@demo.quobis.com"
], - "rejected": [ ],
- "data": [ ]
}
Retrieve a datapipe by the specified id
id required | string The ID of the datapipe |
{- "id": "58a8343c5d1f203d1675ea87",
- "label": "labelDatapipe",
- "participants": [
- "120@demo.quobis.com",
- "121@demo.quobis.com"
], - "connected": [
- "120@demo.quobis.com",
- "121@demo.quobis.com"
], - "rejected": [ ],
- "data": [ ]
}
Send new data through the datapipe identified by id
id required | string |
The data to send to the datapipe
data | string |
{- "data": "new data"
}
{- "code": 0,
- "message": "string"
}
Update a datapipe with new values
id required | string |
The data to update the datapipe
session | string |
{- "session": "58a89f28e1c9a36f1f7e5951"
}
{- "id": "58a8343c5d1f203d1675ea87",
- "label": "labelDatapipe",
- "participants": [
- "120@demo.quobis.com",
- "121@demo.quobis.com"
], - "connected": [
- "120@demo.quobis.com",
- "121@demo.quobis.com"
], - "rejected": [ ],
- "data": [ ]
}
Start a new authenticated session in the WAC
token | string The token used for log in, emtpy for anonymous logins |
object The login context (browser, language...) |
{- "token": "52c20...7e043c31d",
- "context": {
- "src": "127.0.0.1",
- "useragent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36",
- "language": "es-ES",
- "platform": "Linux x86_64",
- "vendor": "Google Inc."
}
}
{- "access_token": "52c20...7e043c31d;",
- "expires_in": 29991,
- "token_type": "WACSessionToken",
- "session": { },
- "credential": { },
- "capabilities": {
- "domain": [
- { }
], - "user": [
- { }
]
}
}
Use an already existing session to log in
context | object |
token required | string |
{- "context": { },
- "token": "string"
}
{- "access_token": "52c20...7e043c31d;",
- "expires_in": 29991,
- "token_type": "WACSessionToken",
- "session": { },
- "credential": { },
- "capabilities": {
- "domain": [
- { }
], - "user": [
- { }
]
}
}
Endpoint that retrieves a list of meetings created by the authenticated user
all | boolean Get all the meetings including the one the user participates in |
language | string Meetings with the specified language |
phone | string If this param is defined, get meetings by phone |
name | string If this param is defined, get meetings by name |
validUntil | number Get meetings older than the value of this param |
[- {
- "name": "exampleName",
- "user": {
- "id": "string",
- "username": "string",
- "domain": "string",
- "role": "user",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES"
}, - "users": [
- { }
], - "language": "string",
- "participants": [
- {
- "email": "othertest@quobis.com"
}, - {
- "phone": "+34654789654",
- "sendSMS": true
}
], - "validSince": 1471615380000,
- "validUntil": 1471615380000,
- "phone": "string",
- "ddi": {
- "extension": "string",
- "pin": "string"
}, - "isPasswordProtected": true,
- "validTimeBeforeStart": 30,
- "validTimeAfterFinish": 30,
- "record": {
- "type": "none"
}, - "id": "string"
}
]
Endpoint that creates a meeting associated with a user
notify | boolean Default: true If true, the meeting will be notified to the creator and participants according to config mechanisms (email and/or sms if configured). |
The data used to create a meeting
name | string |
Array of objects (MeetingParticipant) | |
language | string |
validSince | number |
validUntil | number |
password | string or null Default: null Password to protect the Meeting |
validTimeBeforeStart | number |
validTimeAfterFinish | number |
object (RecordingConfig) Recording configuration:
|
{- "name": "exampleName",
- "participants": [
- {
- "userId": "string",
- "email": "string",
- "phone": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES",
- "sendSMS": true
}
], - "language": "es",
- "validSince": 1471615380000,
- "validUntil": 1471615380000,
- "password": "12334515",
- "validTimeBeforeStart": 30,
- "validTimeAfterFinish": 30,
- "record": {
- "type": "none"
}
}
{- "name": "exampleName",
- "user": {
- "id": "string",
- "username": "string",
- "domain": "string",
- "role": "user",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES"
}, - "users": [
- { }
], - "language": "string",
- "participants": [
- {
- "email": "othertest@quobis.com"
}, - {
- "phone": "+34654789654",
- "sendSMS": true
}
], - "validSince": 1471615380000,
- "validUntil": 1471615380000,
- "phone": "string",
- "ddi": {
- "extension": "string",
- "pin": "string"
}, - "isPasswordProtected": true,
- "validTimeBeforeStart": 30,
- "validTimeAfterFinish": 30,
- "record": {
- "type": "none"
}, - "id": "string"
}
Endpoint that retrieves a meeting by id
id required | string |
{- "name": "exampleName",
- "user": {
- "id": "string",
- "username": "string",
- "domain": "string",
- "role": "user",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES"
}, - "users": [
- { }
], - "language": "string",
- "participants": [
- {
- "email": "othertest@quobis.com"
}, - {
- "phone": "+34654789654",
- "sendSMS": true
}
], - "validSince": 1471615380000,
- "validUntil": 1471615380000,
- "phone": "string",
- "ddi": {
- "extension": "string",
- "pin": "string"
}, - "isPasswordProtected": true,
- "validTimeBeforeStart": 30,
- "validTimeAfterFinish": 30,
- "record": {
- "type": "none"
}, - "id": "string"
}
Endpoint that updates a meeting by id
id required | string |
sendInvites | boolean Default: false Flag to know if the service sends invitations to the participants |
The data used to update a meeting
name | string |
Array of objects (MeetingParticipant) | |
language | string |
validSince | number |
validUntil | number |
password | string or null |
validTimeBeforeStart | number |
validTimeAfterFinish | number |
object (RecordingConfig) Recording configuration:
|
{- "name": "string",
- "participants": [
- {
- "userId": "string",
- "email": "string",
- "phone": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES",
- "sendSMS": true
}
], - "language": "string",
- "validSince": 0,
- "validUntil": 0,
- "password": "string",
- "validTimeBeforeStart": 30,
- "validTimeAfterFinish": 30,
- "record": {
- "type": "none"
}
}
{- "name": "exampleName",
- "user": {
- "id": "string",
- "username": "string",
- "domain": "string",
- "role": "user",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES"
}, - "users": [
- { }
], - "language": "string",
- "participants": [
- {
- "email": "othertest@quobis.com"
}, - {
- "phone": "+34654789654",
- "sendSMS": true
}
], - "validSince": 1471615380000,
- "validUntil": 1471615380000,
- "phone": "string",
- "ddi": {
- "extension": "string",
- "pin": "string"
}, - "isPasswordProtected": true,
- "validTimeBeforeStart": 30,
- "validTimeAfterFinish": 30,
- "record": {
- "type": "none"
}, - "id": "string"
}
Endpoint that deletes a meeting by id
id required | string |
notify | boolean Default: true If true, the meeting removal will be notified to the creator and participants according to config mechanisms (email and/or sms if configured). |
"OK"
Asks the server for the list of available OAuth2 tokens for a user
username required | string Example: username=alice@quobis The username to obtain the tokens from |
type_hint | string Default: "access_token" Enum: "access_token" "refresh_token" "all" The type of token to retrieve |
{- "accessTokens": [
- {
- "id": "590afb25f778090c2e65de9b",
- "token": "20e04aeec09164eb4ee40b35fc875bf11cfa94282da06dd5984f0c6c94da5d8fa5ca4010f1dc7011382a0484176fe04ce96f974c3edf190da617ad253f8e3fc2",
- "userID": "58ed080b3c0fcf6941155997",
- "clientId": "",
- "expiresAt": "2017-05-04T12:57:57+02:00"
}
]
}
Asks the server to issue a new OAuth2 bearer token
The data provided to issue a token
grant_type | string |
username | string |
password | string |
{- "grant_type": "password",
- "username": "alice@quobis",
- "password": "alice"
}
{- "access_token": "ffda919214b7d8cfafcb2c67fc4bf27a68f6120a4dd7de2ac2ce61009dc9ee6bab04bebfa89fb4949d2f808dbed6409b16cbd8c8d05417c1cfda88d0f01a441f",
- "refresh_token": "2947926b49285a734a577a0343d6a824c0e77d52824cfd460df89042919ad495f6dcf9be49dc77312fe2487f327b39b5383a03e6433f684606014badd53c5968",
- "expires_in": 3599,
- "token_type": "Bearer"
}
Asks the server to drop tokens belonging to a given user
username required | string Example: username=alice@quobis The username to delete the tokens from |
type_hint | string Default: "access_token" Enum: "access_token" "refresh_token" "all" The type of token to delete |
{- "message": "string"
}
Asks the server for the list of registered OAuth2 clients
[- {
- "id": "5889b0a5a9d237ee2970f676",
- "name": "wacInitializer",
- "redirectURI": "",
- "clientId": "1a6e5eb915c3b6a717f5bd2dc8f9762e315b4babeb831a576979d0bd9cf375b9@wac",
- "clientSecret": "d38809fb88eecd348d7be3118e92b3fb3054b20a3e348680e70af328a97c3698"
}
]
Asks the server to register a new OAuth2 client
The data to create a OAuth2 client
name | string |
redirectURI | string |
{- "name": "Fancy App v1.2.3",
}
{- "id": "5889b0a5a9d237ee2970f676",
- "name": "Fancy App v1.2.3",
- "clientId": "1a6e5eb915c3b6a717f5bd2dc8f9762e315b4babeb831a576979d0bd9cf375b9@wac",
- "clientSecret": "d38809fb88eecd348d7be3118e92b3fb3054b20a3e348680e70af328a97c3698"
}
Asks the server for the registered OAuth2 client with the given id
id required | string The id of the OAuth2 client to be retrieved |
{- "id": "5889b0a5a9d237ee2970f676",
- "name": "wacInitializer",
- "redirectURI": "",
- "clientId": "1a6e5eb915c3b6a717f5bd2dc8f9762e315b4babeb831a576979d0bd9cf375b9@wac",
- "clientSecret": "d38809fb88eecd348d7be3118e92b3fb3054b20a3e348680e70af328a97c3698"
}
Asks the server for information about an OAuth2 bearer token. Note that for backwards compatibility, access_token is also accepted
token required | string Example: token=ffda919214b7d8cfafcb2c67fc4bf27a68f6120a4dd7de2ac2ce61009dc9ee6bab04bebfa89fb4949d2f808dbed6409b16cbd8c8d05417c1cfda88d0f01a441f |
{- "audience": "8c0786627376adc29b4fa479e62c2d424357d5981ad2ceff294c9387956dc2af",
- "scope": "string",
- "user_id": "5889b0a5a9d237ee2970f678",
- "expires_in": 634
}
Asks the server to revoke a token (access or refresh)
The data to revoke a token
token required | string |
token_type_hint | string Default: "access_token" Enum: "access_token" "refresh_token" |
{- "token": "96b45988bdb30361a9e3e21fe3d48d666cfdc6bf130f4bbd95cc71fab029742d22b1a2d5c0f1034654a57dda49b0f6a276f502f3a1d79c8ac60f88f951894401",
- "token_type_hint": "access_token"
}
{- "code": 0,
- "message": "string"
}
Get the permissions for the user performing the request or the one specified.
userId | string User identifier. Note that a user is not allowed to check other user's permissions. |
{- "recording": {
- "recordingType": "all",
- "recordingProfile": "always"
}, - "voicemail": {
- "enabled": true
}
}
Get the permissions of a domain. Note that this is an admin endpoint
id required | string The ID of the domain related with the permissions |
{- "recording": {
- "recordingType": "all",
- "recordingProfile": "always"
}, - "voicemail": {
- "enabled": true
}
}
Add the permissions for a particular domain. Note that this is an admin endpoint
id required | string The ID of the domain related with the permissions |
The data used to create the permissions
required | object (RecordingPermission) |
object (VoiceMailPermission) |
{- "recording": {
- "recordingType": "all",
- "recordingProfile": "always"
}, - "voicemail": {
- "enabled": true
}
}
"Created"
Update the permissions for a particular domain. Note that this is an admin endpoint
id required | string The ID of the domain related with the permissions |
The data used to update the permissions
object (RecordingPermission) | |
object (VoiceMailPermission) |
{- "recording": {
- "recordingType": "all",
- "recordingProfile": "always"
}, - "voicemail": {
- "enabled": true
}
}
"OK"
Get the permissions of a user. Note that this is an admin endpoint
id required | string The ID of the user related with the permissions |
{- "recording": {
- "recordingType": "all",
- "recordingProfile": "always"
}, - "voicemail": {
- "enabled": true
}
}
Add the permissions for a particular user. Note that this is an admin endpoint
id required | string The ID of the user related with the permissions |
The data used to create the permissions
required | object (RecordingPermission) |
object (VoiceMailPermission) |
{- "recording": {
- "recordingType": "all",
- "recordingProfile": "always"
}, - "voicemail": {
- "enabled": true
}
}
"Created"
Update the permissions for a particular user. Note that this is an admin endpoint
id required | string The ID of the user related with the permissions |
The data used to update the permissions
object (RecordingPermission) | |
object (VoiceMailPermission) |
{- "recording": {
- "recordingType": "all",
- "recordingProfile": "always"
}, - "voicemail": {
- "enabled": true
}
}
"OK"
Get all phonebooks a subscriber is subscribed to
subscriberId required | string |
{- "phonebooks": [
- {
- "id": "5bb5e8a13d428d2ebce767b9",
- "name": "phonebookNameExample",
- "contacts": [
- {
- "name": "exampleName",
- "address": "exampleAddress",
- "id": "0ak87akuBUfSu56UrdXb"
}
], - "subscribers": [
- "5bb5bfdee1d2e200133b9137"
]
}
]
}
Create a new phonebook
The data used to create a phonebook
phonebookName required | string Name for the new phonebook |
{- "phonebookName": "customPhonebookName"
}
{- "phonebook": {
- "id": "5bb5e8a13d428d2ebce767b8",
- "name": "customPhonebookName",
- "contacts": [ ],
- "subscribers": [ ]
}
}
Remove a phonebook from the system
phonebookId required | string |
{- "phonebook": {
- "id": "5bb5e8a13d428d2ebce767b9",
- "name": "phonebookNameExample",
- "contacts": [
- {
- "name": "exampleName",
- "address": "exampleAddress",
- "id": "0ak87akuBUfSu56UrdXb"
}
], - "subscribers": [
- "5bb5bfdee1d2e200133b9137"
]
}
}
Add a new subscriber to a phonebook
phonebookId required | string |
subscriberId required | string |
{- "subscriberId": "5bb5bfdee1d2e200133b9137"
}
{- "phonebook": {
- "id": "5bb5e8a13d428d2ebce767b9",
- "name": "phonebookNameExample",
- "contacts": [
- {
- "name": "exampleName",
- "address": "exampleAddress",
- "id": "0ak87akuBUfSu56UrdXb"
}
], - "subscribers": [
- "5bb5bfdee1d2e200133b9137"
]
}
}
Remove a subscriber from a phonebook
phonebookId required | string |
subscriberId required | string |
{- "phonebook": {
- "id": "5bb5e8a13d428d2ebce767b9",
- "name": "phonebookNameExample",
- "contacts": [
- {
- "name": "exampleName",
- "address": "exampleAddress",
- "id": "0ak87akuBUfSu56UrdXb"
}
], - "subscribers": [
- "5bb5bfdee1d2e200133b9137"
]
}
}
Add a new contact to a phonebook
phonebookId required | string |
required | object (AddContactToPhonebookData) |
{- "contact": {
- "name": "exampleName",
- "address": "exampleAddress"
}
}
{- "phonebook": {
- "id": "5bb5e8a13d428d2ebce767b9",
- "name": "phonebookNameExample",
- "contacts": [
- {
- "name": "exampleName",
- "address": "exampleAddress",
- "id": "0ak87akuBUfSu56UrdXb"
}
], - "subscribers": [
- "5bb5bfdee1d2e200133b9137"
]
}, - "createdContact": {
- "name": "exampleName",
- "address": "exampleAddress",
- "id": "0ak87akuBUfSu56UrdXb"
}
}
Remove a contact from a phonebook
phonebookId required | string |
contactId required | string |
{- "phonebook": {
- "id": "5bb5e8a13d428d2ebce767b8",
- "name": "customPhonebookName",
- "contacts": [ ],
- "subscribers": [ ]
}
}
Endpoint that retrieves presences subscribed previously
withoutAvatar | boolean If true, the result will not have avatars |
addresses | Array of strings The result will only contain the presence of the given user addresses Only available for users with an admin role, otherwise, it will be ignored |
[- {
- "id": "57986f1081a0d1b014e74a15",
- "address": "wac-user:58cbbee08b0389d760ece803",
- "online": false,
- "activity": "unknown",
- "mood": "unknown",
- "note": "",
- "avatar": "",
- "displayName": "",
- "username": "John",
- "domain": "Quobis",
- "role": "user"
}
]
Endpoint that subscribes to a user address and returns its current presence
The address to subscribe to
address | string |
{- "address": "wac-user:58cbbee38b0389d760ece803"
}
{- "id": "57986f1081a0d1b014e74a15",
- "address": "wac-user:58cbbee08b0389d760ece803",
- "online": false,
- "activity": "unknown",
- "mood": "unknown",
- "note": "",
- "avatar": "",
- "displayName": "",
- "username": "John",
- "domain": "Quobis",
- "role": "user"
}
Endpoint that retrieves a presence object by address or username@domain
address required | string The address or username@domain to retrieve a presence |
{- "id": "57986f1081a0d1b014e74a15",
- "address": "wac-user:58cbbee08b0389d760ece803",
- "online": false,
- "activity": "unknown",
- "mood": "unknown",
- "note": "",
- "avatar": "",
- "displayName": "",
- "username": "John",
- "domain": "Quobis",
- "role": "user"
}
Endpoint that updates the presence of an authenticated user
address required | string The address to update a presence |
The data to update the presence
online | boolean |
activity | string |
mood | string |
note | string |
avatar | string |
displayName | string |
{- "online": true,
- "activity": "unknown",
- "mood": "unknown",
- "note": "",
- "avatar": "",
- "displayName": "John Doe"
}
{- "id": "57986f1081a0d1b014e74a15",
- "address": "wac-user:58cbbee08b0389d760ece803",
- "online": false,
- "activity": "unknown",
- "mood": "unknown",
- "note": "",
- "avatar": "",
- "displayName": "",
- "username": "John",
- "domain": "Quobis",
- "role": "user"
}
Endpoint that enables subscription to multiple addresses
The presences' addresses to subscribe to
[- "wac-user:58cbbee38b0389d760ece803"
]
[- {
- "id": "57986f1081a0d1b014e74a15",
- "address": "wac-user:58cbbee08b0389d760ece803",
- "online": false,
- "activity": "unknown",
- "mood": "unknown",
- "note": "",
- "avatar": "",
- "displayName": "",
- "username": "John",
- "domain": "Quobis",
- "role": "user"
}
]
Notify a push token used to send push notifications
deviceId | string Identifies the deviceId where the token was generated, which is useful to match with previous tokens |
tokenType | string Identifies the client which must be used to send the push |
token | string Token used to send the push |
{- "deviceId": "string",
- "tokenType": "string",
- "token": "string"
}
"No Content"
Delete every push token taht belongs to a device
deviceId | string Id of the device every token should be deleted |
{- "deviceId": "string"
}
"No Content"
Send a push notification
tokenId | string The token used to send the notification |
notification | object The object intended to send as notification |
{- "tokenId": "string",
- "notification": { }
}
"No Content"
Endpoint that creates a remote log to a user
level | string |
file | string |
text | string |
{- "level": "DEBUG_0",
- "file": "services/presence",
- "text": "example"
}
{- "code": 0,
- "message": "string"
}
Endpoint that retrieve the previously resolved addresses
{- "resolved": [
- {
- "id": "57cfc14cf52bb286665f7d6e",
- "domain": "quobis",
- "username": "alice",
- "email": "user@example.com",
- "capabilities": [
- "+c2cagent, whiteboard"
], - "mobilePhone": [ ],
- "landLineNumber": "",
- "alias": "",
- "gatewayUsername": "130@demo.quobis.com"
}
], - "subscribed": [
- "alice",
- "alice@quobis",
- "bob"
]
}
Endpoint used to resolve new addresses. Resolved elementes and the updated subscription list are returned
[- "alice@jt",
- "alice"
]
{- "resolved": [
- {
- "id": "57cfc14cf52bb286665f7d6e",
- "domain": "quobis",
- "username": "alice",
- "email": "user@example.com",
- "capabilities": [
- "+c2cagent, whiteboard"
], - "mobilePhone": [ ],
- "landLineNumber": "",
- "alias": "",
- "gatewayUsername": "130@demo.quobis.com"
}
], - "subscribed": [
- "alice",
- "alice@quobis",
- "bob"
]
}
Endpoint used to update subscription list.
resolved required | Array of strings |
subscribed required | Array of strings |
{- "resolved": [
- "57cfc14cf52bb286665f7d6e"
], - "subscribed": [
- "alice@jt",
- "alice",
- "bob"
]
}
{- "resolved": [
- {
- "id": "57cfc14cf52bb286665f7d6e",
- "domain": "quobis",
- "username": "alice",
- "email": "user@example.com",
- "capabilities": [
- "+c2cagent, whiteboard"
], - "mobilePhone": [ ],
- "landLineNumber": "",
- "alias": "",
- "gatewayUsername": "130@demo.quobis.com"
}
], - "subscribed": [
- "alice",
- "alice@quobis",
- "bob"
]
}
Get a gateway's username by user id
id | string |
{- "id": "cafecafecafecafe"
}
"100@kamdev.quobis.com"
Get a user's username given its gateway username
value required | string |
username | string |
{- "username": "100@kamdev.quobis.com"
}
"5c518cbd13670802a4db28f3"
Resolve an address to a user without subscribing
{- "id": "57cfc14cf52bb286665f7d6e",
- "domain": "quobis",
- "username": "alice",
- "email": "user@example.com",
- "capabilities": [
- "+c2cagent, whiteboard"
], - "mobilePhone": [ ],
- "landLineNumber": "",
- "alias": "",
- "gatewayUsername": "130@demo.quobis.com"
}
Resolve an address to a user without subscribing
addresses | string |
{- "addresses": "wac-user:58cbbee08b0389d760ece803"
}
{- "id": "57cfc14cf52bb286665f7d6e",
- "domain": "quobis",
- "username": "alice",
- "email": "user@example.com",
- "capabilities": [
- "+c2cagent, whiteboard"
], - "mobilePhone": [ ],
- "landLineNumber": "",
- "alias": "",
- "gatewayUsername": "130@demo.quobis.com"
}
Resolve gateway usernames of group participants by a group name
groupname required | string |
{- "gatewayUsernames": [
- "5a93b4fdc18bd90010bf450e",
- "5a93b4fdc18bd90010bf450f"
]
}
Endpoint that creates new entry in a sipIdentitiesPool, specified by domain. If domain is no present in request, default domain will be used
The data used to create new entry
username required | string SIP username |
password required | string SIP password |
targetDomain | string If present, the sipIdentity entry will be stored in the pool of the specified domain |
{- "username": "string",
- "password": "string",
- "targetDomain": "string"
}
"Created"
Endpoint that returns all sipIdentityEntries from pool of specified domain. If domain is no present in request, sipIdentityEntry from all domain will be retrieved
domain | string If present will return sipIdentityEntries from the domain. Note that this parameter will only be used by an admin. |
available | boolean If present will return all avaible (or not available) sipIdentityEntries in the pool |
[- {
- "id": "string",
- "username": "string",
- "password": "string",
- "available": true
}
]
Endpoint that update an entry in a SipIdentitiesPool, specified by domain. If domain is no present in request, default domain will be used
id required | string The ID of the sipIdentityEntry to remove |
domain | string If present the sipIdentityEntry will be looked in this domain. Note that this parameter will only be used by an admin. |
The data used to update a sipIdentityEntry
username | string SIP username |
password | string SIP password |
available | boolean Indicates if sipIdentity is available |
{- "username": "string",
- "password": "string",
- "available": true
}
"Deleted"
Endpoint that deletes a entry in a SipIdentitiesPool, specified by domain. If domain is no present in request, default domain will be used
id required | string The ID of the sipIdentityEntry to remove |
domain | string If present the sipIdentityEntry will be looked in this domain. Note that this parameter will only be used by an admin. |
"Deleted"
Endpoint that returns a sipIdentityEntry from pool of specified domain. If domain is no present in request, defaul domain will be used
id required | string The ID of the sipIdentityEntry to get |
domain | string If present will return sipIdentityEntry specified from the domain. Note that this parameter will only be used by an admin. |
{- "id": "string",
- "username": "string",
- "password": "string",
- "available": true
}
Endpoint that creates a mapping
The data to create a mapping
ownerUri required | string SippoURI representing the credential's owner. It can be both a group or a user URI |
required | object |
{- "ownerUri": "wac-user:aliceId",
- "credential": {
- "username": "foo",
- "password": "bar"
}
}
{- "username": "alice",
- "password": "foo"
}
Endpoint that updates a mapping's username or password
The data to update a mapping
ownerUri required | string SippoURI representing the credential's owner. It can be both a group or a user URI |
required | object |
{- "ownerUri": "wac-user:aliceId",
- "credential": {
- "username": "foo",
- "password": "bar"
}
}
{- "username": "alice",
- "password": "foo"
}
Endpoint that retrieves all mappings
limit | string Number of elements to get. Note that this parameter is used for pagination purposes. |
lastMatch | string Value of the sorting element (owner) in the last mapping retrieved. Note that this parameter is used for pagination purposes. |
{- "mappings": [
- {
- "owner": "wac-user:6141b1da9f81f40012f1b1a9",
- "mapping": {
- "username": "alice",
- "password": "foo"
}
}
]
}
Endpoint that retrieves all mappings
object Example: page[size]=30&page[after]=WzAuNzUseyIkb2lkIjoiNTgxNjY4MzE4YzExNTk2YWYyMmE2MmRmIn1d Used to paginate and navigate between pages | |
ownerUri | string Example: ownerUri=wac-user:6141b1da9f81f40012f1b1a9 Sippo URI specifying the owner's URI |
ownerType | string Enum: "user" "group" Example: ownerType=user Filter by protocol type of owner's URI |
ownerId | string Example: ownerId=6141b1da9f81f40012f1b1a9 Filter by ID of owner's URI |
string Filter by username using an exact or partial search |
{- "data": [
- {
- "owner": "wac-user:6141b1da9f81f40012f1b1a9",
- "mapping": {
- "username": "alice",
- "password": "foo"
}
}
], - "meta": {
- "page": {
- "total": 1500,
- "maxSize": 500,
- "next": "WzAuNzUseyIkb2lkIjoiNTgxNjY4MzE4YzExNTk2YWYyMmE2MmRmIn1d",
- "previous": null
}
}
}
Endpoint that creates a call stat associated with a user
The data to be create the call stat
message | string |
object | |
ts | number |
{- "message": "call-brief",
- "payload": {
- "ssrc": [
- {
- "id": "ssrc_469794178_send",
- "packetsSent": 49,
- "packetsLost": 0,
- "packetsReceived": 48,
- "bytesSent": 4989,
- "bytesReceived": 4926,
- "CodecName": "opus"
}
]
}, - "ts": 1471934540760
}
{- "code": 0,
- "message": "string"
}
Endpoint that enables stat for given user
The data to enable a stat
user | string |
enable | boolean |
callid | string |
{- "user": "57985e3781a0d1b014e74a06",
- "enable": true,
- "callid": "57c6b9fe2f90f1264134c58a"
}
{- "callid": "57c6b9fe2f90f1264134c58a",
- "enable": true
}
Endpoint that enables stat for a given user
id required | string The ID of the call to get a stat |
{- "domain": "quobis",
- "user": "57985e3781a0d1b014e74a06",
- "service": "CallStats",
- "type": "call-brief",
- "timestamp": 1471934540760,
- "payload": {
- "ssrc": [
- {
- "id": "ssrc_469794178_send",
- "packetsSent": 49,
- "packetsLost": 0,
- "packetsReceived": 48,
- "bytesSent": 4989,
- "bytesReceived": 4926,
- "CodecName": "opus"
}
]
}, - "ts": 1471934540760
}
Obtain a summary of the status of the WAC
{- "activeUsers": [ ],
- "activeCalls": [ ],
- "calls": {
- "sinceReboot": 0,
- "last15": 0,
- "last30": 0,
- "last60": 0,
- "all": 0
}, - "uptime": 69347983,
- "memoryUsage": {
- "rss": 69347983,
- "heapTotal": 60055136,
- "heapUsed": 52268752
}
}
Get all static contacts for the user's domain. Note that an admin will obtain the contacts from all domains.
domain | string If present will return contacts from the domain. Note that this parameter will only be used by an admin. |
name | string If present will return contacts that match by name. |
associatedUserId | string If present, will retrieve the static contact for the user related to the associatedUserId |
{- "contacts": [
- {
- "id": "string",
- "name": "string",
- "phones": [
- {
- "type": "home",
- "value": "string",
- "primary": true
}
], - "emails": [
- {
- "type": "home",
- "value": "string",
- "primary": true
}
], - "associatedUserId": "string"
}
]
}
Endpoint that creates an static contact. Note that this action can only be performed by an admin.
The data used to create an static contact
id required | string Contact ID of the contact to be created. |
name required | string |
required | Array of objects (Phone) |
required | Array of objects (Email) |
associatedUserId | string |
targetDomain | string If present, the contact will be stored for the specified domain |
{- "id": "string",
- "name": "string",
- "phones": [
- {
- "type": "home",
- "value": "string",
- "primary": true
}
], - "emails": [
- {
- "type": "home",
- "value": "string",
- "primary": true
}
], - "associatedUserId": "string",
- "targetDomain": "string"
}
"Created"
Endpoint that gets an static contact by its id
id required | string The ID of the contact to get |
domain | string If present the contact will be looked in this domain. Note that this parameter will only be used by an admin. |
{- "id": "string",
- "name": "string",
- "phones": [
- {
- "type": "home",
- "value": "string",
- "primary": true
}
], - "emails": [
- {
- "type": "home",
- "value": "string",
- "primary": true
}
], - "associatedUserId": "string"
}
Endpoint that updates an static contact. Note that this action can only be performed by an admin.
id required | string The ID of the contact to update |
domain | string If present the contact will be looked in this domain. Note that this parameter will only be used by an admin. |
The data used to update a contact
name | string |
Array of objects (Phone) | |
Array of objects (Email) | |
associatedUserId | string |
{- "name": "string",
- "phones": [
- {
- "type": "home",
- "value": "string",
- "primary": true
}
], - "emails": [
- {
- "type": "home",
- "value": "string",
- "primary": true
}
], - "associatedUserId": "string"
}
"Updaetd"
Endpoint that removes an static contact. Note that this action can only be performed by an admin.
id required | string The ID of the contact to remove |
domain | string If present the contact will be looked in this domain. Note that this parameter will only be used by an admin. |
"Deleted"
Retrieve all contacts
associatedUserId | string If present, will retrieve the user contact for the user related to the associatedUserId |
{- "contacts": [
- {
- "id": "string",
- "owner": "string",
- "name": "string",
- "phones": [
- {
- "type": "home",
- "value": "string",
- "primary": true
}
], - "emails": [
- {
- "type": "home",
- "value": "string",
- "primary": true
}
], - "favorite": true,
- "associatedUserId": "string"
}
]
}
Endpoint that creates a contact. Note that the owner of the contact will be the user that creates the contact
The data used to create the contact
id required | string Contact ID of the contact to be created. |
name required | string |
required | Array of objects (Phone) |
required | Array of objects (Email) |
favorite | boolean Default: false |
associatedUserId | string |
{- "id": "string",
- "name": "string",
- "phones": [
- {
- "type": "home",
- "value": "string",
- "primary": true
}
], - "emails": [
- {
- "type": "home",
- "value": "string",
- "primary": true
}
], - "favorite": false,
- "associatedUserId": "string"
}
"Created"
Endpoint that updates a contact.
id required | string The ID of the contact to update |
The data used to update the contact
name | string |
Array of objects (Phone) | |
Array of objects (Email) | |
favorite | boolean |
associatedUserId | string |
{- "name": "string",
- "phones": [
- {
- "type": "home",
- "value": "string",
- "primary": true
}
], - "emails": [
- {
- "type": "home",
- "value": "string",
- "primary": true
}
], - "favorite": true,
- "associatedUserId": "string"
}
"Updated"
Endpoint taht gets any setting associated with a given user
[- {
- "id": "57c817cff28b6f1b47b01d0b@wac",
- "source": "wac",
- "user": "57985e3781a0d1b014e74a06",
- "key": "test",
- "value": "test"
}
]
Endpoint that creates a new setting and associates it to the given user
The data used to create a UserSetting
source | string |
key | string |
value | string |
{- "source": "wac",
- "key": "test",
- "value": "test"
}
{- "id": "57c817cff28b6f1b47b01d0b@wac",
- "source": "wac",
- "user": "57985e3781a0d1b014e74a06",
- "key": "test",
- "value": "test"
}
Endpoint that retrieves a user setting by id
id required | string The ID of the user setting |
{- "id": "57c817cff28b6f1b47b01d0b@wac",
- "source": "wac",
- "user": "57985e3781a0d1b014e74a06",
- "key": "test",
- "value": "test"
}
Endpoint that updates a setting with the provided data
id required | string The ID of the user setting |
The data to update the setting
source | string |
key | string |
value | string |
{- "source": "wac",
- "key": "keyTestValue",
- "value": "testValue"
}
{- "id": "57c817cff28b6f1b47b01d0b@wac",
- "source": "wac",
- "user": "57985e3781a0d1b014e74a06",
- "key": "keyTestValue",
- "value": "testValue"
}
Get a list of all groups
participating | boolean If this flag exists, get the groups where the user is participating |
targetUserId | string If this flag exists, get the groups that targetUserId owns or participates in |
{- "groupList": [
- {
- "id": "5b6404336bcfa52826affe5c",
- "name": "myGroup",
- "groupId": "myGroupID",
- "participants": [
- "628f599de218d000129a52f1",
- "628f59a1ce6bc800297b1740"
], - "owner": {
- "id": "string",
- "username": "string",
- "domain": "string",
- "role": "user",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES"
}, - "chatId": "mygroupid@conference.quobis",
- "ringingStrategy": {
- "type": "simultaneous"
}
}
]
}
Create a new group
groupId | string Id of the group to create, which will be used to be resolved. Note that it must be unique. If not provided, a random one will be generated |
name required | string Name of the group. Useful to provide a familiar name |
object (RingingStrategy) Default: {"type":"simultaneous"} The specific ringing strategy for this group |
{- "groupId": "myGroupID",
- "name": "myGroup",
- "ringingStrategy": {
- "type": "simultaneous"
}
}
{- "id": "5b6404336bcfa52826affe5c",
- "name": "myGroup",
- "groupId": "myGroupID",
- "participants": [
- "628f599de218d000129a52f1",
- "628f59a1ce6bc800297b1740"
], - "owner": {
- "id": "string",
- "username": "string",
- "domain": "string",
- "role": "user",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES"
}, - "chatId": "mygroupid@conference.quobis",
- "ringingStrategy": {
- "type": "simultaneous"
}
}
Get a list of all groups where the authenticated user is participating or is the owner. On the other hand, admin users will retrieve all records without restrictions.
sort | string Default: "groupId" Enum: "groupId" "-groupId" "name" "-name" Example: sort=-groupId Used to sort by field in ascending or descending order (hyphen prefix) |
object Example: page[size]=30&page[after]=WzAuNzUseyIkb2lkIjoiNTgxNjY4MzE4YzExNTk2YWYyMmE2MmRmIn1d Used to paginate and navigate between pages | |
id | string Example: id=5b6404336bcfa52826affe5c Filter by autogenerated ID |
string or object Example: name[partial]=groupName Filter by name using an exact or a partial search | |
string or object Example: groupId[partial]=someId Filter by groupId using an exact or a partial search | |
ownerOrParticipantUser | string Retrieves the groups where a user is the owner or is participating |
ownerUser | string Retrieves the groups where a user ID is the owner |
participantUser | string Retrieves the groups where a user ID the is participating |
{- "data": [
- {
- "id": "5b6404336bcfa52826affe5c",
- "name": "myGroup",
- "groupId": "myGroupID",
- "participants": [
- "628f599de218d000129a52f1",
- "628f59a1ce6bc800297b1740"
], - "owner": {
- "id": "string",
- "username": "string",
- "domain": "string",
- "role": "user",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES"
}, - "chatId": "mygroupid@conference.quobis",
- "ringingStrategy": {
- "type": "simultaneous"
}
}
], - "meta": {
- "page": {
- "total": 1500,
- "maxSize": 500,
- "next": "WzAuNzUseyIkb2lkIjoiNTgxNjY4MzE4YzExNTk2YWYyMmE2MmRmIn1d",
- "previous": null
}
}
}
Makes a user leave each group she belongs to. If the request author has a user role, she will be the target of the action, whereas if her role is admin, she can remove other users.
targetUserId | string |
{- "targetUserId": "string"
}
"No Content"
Get a group information by groupId
groupId required | string The identifier of the group |
{- "id": "5b6404336bcfa52826affe5c",
- "name": "myGroup",
- "groupId": "myGroupID",
- "participants": [
- "628f599de218d000129a52f1",
- "628f59a1ce6bc800297b1740"
], - "owner": {
- "id": "string",
- "username": "string",
- "domain": "string",
- "role": "user",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES"
}, - "chatId": "mygroupid@conference.quobis",
- "ringingStrategy": {
- "type": "simultaneous"
}
}
Update group by groupId
groupId required | string The identifier of the group |
The data to update the group
id | string |
name | string Name of the group |
groupId | string ID of the group |
participants | Array of strings (Participants) Array containing the user ID of each participant of the group |
object (User) | |
object (RingingStrategy) Default: {"type":"simultaneous"} The specific ringing strategy for this group |
{- "id": "5b6404336bcfa52826affe5c",
- "name": "myGroup",
- "groupId": "myGroupID",
- "participants": [
- "628f599de218d000129a52f1",
- "628f59a1ce6bc800297b1740"
], - "owner": {
- "id": "string",
- "username": "string",
- "domain": "string",
- "role": "user",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES"
}, - "ringingStrategy": {
- "type": "simultaneous"
}
}
"No Content"
Add a participant to a group. Note that the user that performs the action must be the owner
groupId required | string The identifier of the group |
The data to update the group
targetUserId required | string |
{- "targetUserId": "string"
}
"No Content"
Remove a user from a group. Note that the user that performs the action must be the owner
groupId required | string The identifier of the group |
The data to update the group
targetUserId | string |
{- "targetUserId": "string"
}
"No Content"
Insert and remove participants is not allowed, just reordering
groupId required | string The identifier of the group |
participants required | Array of strings (Participants) Array containing the user ID of each participant of the group |
{- "participants": [
- "628f599de218d000129a52f1",
- "628f59a1ce6bc800297b1740"
]
}
"No Content"
Remove all participants from a group. Note that the user that performs the action must be the owner
groupId required | string The identifier of the group |
"No Content"
Create several groups
The data to create the groups
Array of objects (CreateGroupData) |
{- "groups": [
- {
- "groupId": "myGroupID",
- "name": "myGroup",
- "ringingStrategy": {
- "type": "simultaneous"
}
}
]
}
{- "groups": [
- {
- "id": "5b6404336bcfa52826affe5c",
- "name": "myGroup",
- "groupId": "myGroupID",
- "participants": [
- "628f599de218d000129a52f1",
- "628f59a1ce6bc800297b1740"
], - "owner": {
- "id": "string",
- "username": "string",
- "domain": "string",
- "role": "user",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string",
- "currentTimezone": "Europe/Madrid",
- "locale": "es-ES"
}, - "chatId": "mygroupid@conference.quobis",
- "ringingStrategy": {
- "type": "simultaneous"
}
}
]
}
{- "id": "string",
- "domain": "string",
- "username": "string",
- "email": "string",
- "created": 0,
- "lastLogin": 0,
- "role": "string",
- "capabilities": [
- "string"
], - "mobilePhone": [
- "string"
], - "landLineNumber": "string",
- "alias": "string"
}
Builds a push notification for the given XMPP payload
The XMPP data for the push notification
node | string The device the push notification is for |
sender | string The sender of the XMPP message originating the push notification |
body | string The body, if any, of the XMPP message originating the push notification |
{http://quobis.com/xmpp/push}oob | string The OOB URL, if any, of the XMPP message originating the push notification |
{http://quobis.com/xmpp/push}muc | string The JID of the muc generating the push, if any |
{http://quobis.com/xmpp/push}muc-name | string The friendly name for the MUC |
{http://quobis.com/xmpp/push}is-muc-invite | boolean Whether the push is for a MUC invite or not |
{http://quobis.com/xmpp/push}muc-invite-from | string The JID of the user who invites |
{- "node": "cafecafe",
- "sender": "alice@example.org",
- "body": "Hi there!",
- "{http://quobis.com/xmpp/push}muc": "group@conference.quobis",
- "{http://quobis.com/xmpp/push}muc-name": "Family group",
- "{http://quobis.com/xmpp/push}is-muc-invite": true,
- "{http://quobis.com/xmpp/push}muc-invite-from": "alice@quobis"
}
{- "error": "string"
}
Registers a new push token to be used for XMPP notifications
The data about the new XMPP push token
token | string The Push Token as informed by the provider |
tokenType | string The identifier for the push provider |
node | string The identifier of the device registering the push token |
{- "token": "906119f96a4fa2c55962d3fe681f774abdcadc4373a2a25c552da5db7402cf45",
- "tokenType": "firebase, apn",
- "node": "efDaLHCPOZGuj8QaJ7L3uflKQHmBuunC;"
}
{- "node": "efDaLHCPOZGuj8QaJ7L3uflKQHmBuunC;",
- "secret": "gae6pha8eu2ahchie0ooza8Phaeroo8AeD0jo9kooqueicheeCeereivaitahgie"
}
Unregisters an XMPP push token from the server
The data for the unregistration
node | string The identifier of the device unregistering the push token |
tokenType | string The identifier for the push provider |
{- "node": "efDaLHCPOZGuj8QaJ7L3uflKQHmBuunC;",
- "tokenType": "firebase, apn"
}
{- "node": "efDaLHCPOZGuj8QaJ7L3uflKQHmBuunC;",
- "secret": "gae6pha8eu2ahchie0ooza8Phaeroo8AeD0jo9kooqueicheeCeereivaitahgie"
}
Builds a push notification for the given XMPP payload
The XMPP data for the push notification
node | string The device the push notification is for |
sender | string The sender of the XMPP message originating the push notification |
body | string The body, if any, of the XMPP message originating the push notification |
{http://quobis.com/xmpp/push}oob | string The OOB URL, if any, of the XMPP message originating the push notification |
{http://quobis.com/xmpp/push}muc | string The JID of the muc generating the push, if any |
{http://quobis.com/xmpp/push}muc-name | string The friendly name for the MUC |
{http://quobis.com/xmpp/push}is-muc-invite | boolean Whether the push is for a MUC invite or not |
{http://quobis.com/xmpp/push}muc-invite-from | string The JID of the user who invites |
{- "node": "cafecafe",
- "sender": "alice@example.org",
- "body": "Hi there!",
- "{http://quobis.com/xmpp/push}muc": "group@conference.quobis",
- "{http://quobis.com/xmpp/push}muc-name": "Family group",
- "{http://quobis.com/xmpp/push}is-muc-invite": true,
- "{http://quobis.com/xmpp/push}muc-invite-from": "alice@quobis"
}
{- "error": "string"
}
Registers a new push token to be used for XMPP notifications
The data about the new XMPP push token
token | string The Push Token as informed by the provider |
tokenType | string The identifier for the push provider |
node | string The identifier of the device registering the push token |
{- "token": "906119f96a4fa2c55962d3fe681f774abdcadc4373a2a25c552da5db7402cf45",
- "tokenType": "firebase, apn",
- "node": "efDaLHCPOZGuj8QaJ7L3uflKQHmBuunC;"
}
{- "node": "efDaLHCPOZGuj8QaJ7L3uflKQHmBuunC;",
- "secret": "gae6pha8eu2ahchie0ooza8Phaeroo8AeD0jo9kooqueicheeCeereivaitahgie"
}
Unregisters an XMPP push token from the server
The data for the unregistration
node | string The identifier of the device unregistering the push token |
tokenType | string The identifier for the push provider |
{- "node": "efDaLHCPOZGuj8QaJ7L3uflKQHmBuunC;",
- "tokenType": "firebase, apn"
}
{- "node": "efDaLHCPOZGuj8QaJ7L3uflKQHmBuunC;",
- "secret": "gae6pha8eu2ahchie0ooza8Phaeroo8AeD0jo9kooqueicheeCeereivaitahgie"
}
Initiates the request of a new support chat
id required | string the request ID |
context | object an arbitrary context for the agent assigner |
{- "id": "string",
- "context": { }
}
{- "message": "string"
}
An agent wants to transfer the support chat to another agent
id required | string |
required | object (ChatParticipant) |
{- "id": "string",
- "destination": {
- "id": "string",
- "username": "string",
- "domain": "string"
}
}
{- "message": "string"
}