Introduction
TVox WebAPI is a set of REST APIs for TVox configuration (e.g. Power Dialer).
Endpoint for requests is constructed as follows:
https://<TVOX_HOST>/tvox
Authentication
- API Key (SessionCookie)
- Parameter Name: JSESSIONID, in: cookie.
Authentication via session cookie.Session cookie key must be
JSESSIONID
and its path/tvox
.
The value of the cookie can be recovered from the result of a successful login by credentials or access token (response field:sessionId
).
By default a session has a duration of 24 hour (renewed at each request), after which the server will respond with an authentication error (status: 401
). In case of this error, the session can be renewed with a new login request.
Login response includes a set-cookie header with the session cookie, automatically managed by most HTTP clients (including browsers).
- Parameter Name: JSESSIONID, in: cookie.
Addressbook Contact External
External Addressbook contacts management
Create contact
Code samples
POST /tvox/rest/addressbook-contact/external HTTP/1.1
Content-Type: application/json
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
Content-Length: 517
{"addressbookBackendId":"string","agentNote":"string","cap":"string","categories":["string"],"city":"string","company":"string","country":"string","customFields":[{"key":"CUSTOM_01","value":"string"}],"department":"string","district":"string","emails":[{"type":"INTERNET_WORK","value":"string"}],"id":"string","name":"string","note":"string","numbers":[{"type":"FAX","value":"string"}],"otherName":"string","role":"string","street":"string","surname":"string","vip":true,"webSites":[{"type":"WORK","value":"string"}]}
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/addressbook-contact/external",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\"addressbookBackendId\":\"string\",\"agentNote\":\"string\",\"cap\":\"string\",\"categories\":[\"string\"],\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"customFields\":[{\"key\":\"CUSTOM_01\",\"value\":\"string\"}],\"department\":\"string\",\"district\":\"string\",\"emails\":[{\"type\":\"INTERNET_WORK\",\"value\":\"string\"}],\"id\":\"string\",\"name\":\"string\",\"note\":\"string\",\"numbers\":[{\"type\":\"FAX\",\"value\":\"string\"}],\"otherName\":\"string\",\"role\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true,\"webSites\":[{\"type\":\"WORK\",\"value\":\"string\"}]}",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Content-Type: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request POST \
--url https://tvox_host/tvox/rest/addressbook-contact/external \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID' \
--data '{"addressbookBackendId":"string","agentNote":"string","cap":"string","categories":["string"],"city":"string","company":"string","country":"string","customFields":[{"key":"CUSTOM_01","value":"string"}],"department":"string","district":"string","emails":[{"type":"INTERNET_WORK","value":"string"}],"id":"string","name":"string","note":"string","numbers":[{"type":"FAX","value":"string"}],"otherName":"string","role":"string","street":"string","surname":"string","vip":true,"webSites":[{"type":"WORK","value":"string"}]}'
HttpResponse<String> response = Unirest.post("https://tvox_host/tvox/rest/addressbook-contact/external")
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.body("{\"addressbookBackendId\":\"string\",\"agentNote\":\"string\",\"cap\":\"string\",\"categories\":[\"string\"],\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"customFields\":[{\"key\":\"CUSTOM_01\",\"value\":\"string\"}],\"department\":\"string\",\"district\":\"string\",\"emails\":[{\"type\":\"INTERNET_WORK\",\"value\":\"string\"}],\"id\":\"string\",\"name\":\"string\",\"note\":\"string\",\"numbers\":[{\"type\":\"FAX\",\"value\":\"string\"}],\"otherName\":\"string\",\"role\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true,\"webSites\":[{\"type\":\"WORK\",\"value\":\"string\"}]}")
.asString();
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/addressbook-contact/external"
payload := strings.NewReader("{\"addressbookBackendId\":\"string\",\"agentNote\":\"string\",\"cap\":\"string\",\"categories\":[\"string\"],\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"customFields\":[{\"key\":\"CUSTOM_01\",\"value\":\"string\"}],\"department\":\"string\",\"district\":\"string\",\"emails\":[{\"type\":\"INTERNET_WORK\",\"value\":\"string\"}],\"id\":\"string\",\"name\":\"string\",\"note\":\"string\",\"numbers\":[{\"type\":\"FAX\",\"value\":\"string\"}],\"otherName\":\"string\",\"role\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true,\"webSites\":[{\"type\":\"WORK\",\"value\":\"string\"}]}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = JSON.stringify({
"addressbookBackendId": "string",
"agentNote": "string",
"cap": "string",
"categories": [
"string"
],
"city": "string",
"company": "string",
"country": "string",
"customFields": [
{
"key": "CUSTOM_01",
"value": "string"
}
],
"department": "string",
"district": "string",
"emails": [
{
"type": "INTERNET_WORK",
"value": "string"
}
],
"id": "string",
"name": "string",
"note": "string",
"numbers": [
{
"type": "FAX",
"value": "string"
}
],
"otherName": "string",
"role": "string",
"street": "string",
"surname": "string",
"vip": true,
"webSites": [
{
"type": "WORK",
"value": "string"
}
]
});
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://tvox_host/tvox/rest/addressbook-contact/external");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "POST",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/addressbook-contact/external",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({
addressbookBackendId: 'string',
agentNote: 'string',
cap: 'string',
categories: ['string'],
city: 'string',
company: 'string',
country: 'string',
customFields: [{key: 'CUSTOM_01', value: 'string'}],
department: 'string',
district: 'string',
emails: [{type: 'INTERNET_WORK', value: 'string'}],
id: 'string',
name: 'string',
note: 'string',
numbers: [{type: 'FAX', value: 'string'}],
otherName: 'string',
role: 'string',
street: 'string',
surname: 'string',
vip: true,
webSites: [{type: 'WORK', value: 'string'}]
}));
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
payload = "{\"addressbookBackendId\":\"string\",\"agentNote\":\"string\",\"cap\":\"string\",\"categories\":[\"string\"],\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"customFields\":[{\"key\":\"CUSTOM_01\",\"value\":\"string\"}],\"department\":\"string\",\"district\":\"string\",\"emails\":[{\"type\":\"INTERNET_WORK\",\"value\":\"string\"}],\"id\":\"string\",\"name\":\"string\",\"note\":\"string\",\"numbers\":[{\"type\":\"FAX\",\"value\":\"string\"}],\"otherName\":\"string\",\"role\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true,\"webSites\":[{\"type\":\"WORK\",\"value\":\"string\"}]}"
headers = {
'Content-Type': "application/json",
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("POST", "/tvox/rest/addressbook-contact/external", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/addressbook-contact/external")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
request.body = "{\"addressbookBackendId\":\"string\",\"agentNote\":\"string\",\"cap\":\"string\",\"categories\":[\"string\"],\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"customFields\":[{\"key\":\"CUSTOM_01\",\"value\":\"string\"}],\"department\":\"string\",\"district\":\"string\",\"emails\":[{\"type\":\"INTERNET_WORK\",\"value\":\"string\"}],\"id\":\"string\",\"name\":\"string\",\"note\":\"string\",\"numbers\":[{\"type\":\"FAX\",\"value\":\"string\"}],\"otherName\":\"string\",\"role\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true,\"webSites\":[{\"type\":\"WORK\",\"value\":\"string\"}]}"
response = http.request(request)
puts response.read_body
POST /rest/addressbook-contact/external
Create contact in external addressbook
Parameters
Body parameter
{
"addressbookBackendId": "string",
"agentNote": "string",
"cap": "string",
"categories": [
"string"
],
"city": "string",
"company": "string",
"country": "string",
"customFields": [
{
"key": "CUSTOM_01",
"value": "string"
}
],
"department": "string",
"district": "string",
"emails": [
{
"type": "INTERNET_WORK",
"value": "string"
}
],
"id": "string",
"name": "string",
"note": "string",
"numbers": [
{
"type": "FAX",
"value": "string"
}
],
"otherName": "string",
"role": "string",
"street": "string",
"surname": "string",
"vip": true,
"webSites": [
{
"type": "WORK",
"value": "string"
}
]
}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | AddressbookContactExternal | true | Contact to create |
Responses
Example responses
default Response
{
"addressbookBackendId": "string",
"agentNote": "string",
"cap": "string",
"categories": [
"string"
],
"city": "string",
"company": "string",
"country": "string",
"customFields": [
{
"key": "CUSTOM_01",
"value": "string"
}
],
"department": "string",
"district": "string",
"emails": [
{
"type": "INTERNET_WORK",
"value": "string"
}
],
"id": "string",
"name": "string",
"note": "string",
"numbers": [
{
"type": "FAX",
"value": "string"
}
],
"otherName": "string",
"role": "string",
"street": "string",
"surname": "string",
"vip": true,
"webSites": [
{
"type": "WORK",
"value": "string"
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
412 | Precondition Failed | Error: Object required or exceed max size. A required field is missing or empty or exceed max size | None |
default | Default | Created contact | AddressbookContactExternal |
Update contact
Code samples
PUT /tvox/rest/addressbook-contact/external HTTP/1.1
Content-Type: application/json
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
Content-Length: 517
{"addressbookBackendId":"string","agentNote":"string","cap":"string","categories":["string"],"city":"string","company":"string","country":"string","customFields":[{"key":"CUSTOM_01","value":"string"}],"department":"string","district":"string","emails":[{"type":"INTERNET_WORK","value":"string"}],"id":"string","name":"string","note":"string","numbers":[{"type":"FAX","value":"string"}],"otherName":"string","role":"string","street":"string","surname":"string","vip":true,"webSites":[{"type":"WORK","value":"string"}]}
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/addressbook-contact/external",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => "{\"addressbookBackendId\":\"string\",\"agentNote\":\"string\",\"cap\":\"string\",\"categories\":[\"string\"],\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"customFields\":[{\"key\":\"CUSTOM_01\",\"value\":\"string\"}],\"department\":\"string\",\"district\":\"string\",\"emails\":[{\"type\":\"INTERNET_WORK\",\"value\":\"string\"}],\"id\":\"string\",\"name\":\"string\",\"note\":\"string\",\"numbers\":[{\"type\":\"FAX\",\"value\":\"string\"}],\"otherName\":\"string\",\"role\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true,\"webSites\":[{\"type\":\"WORK\",\"value\":\"string\"}]}",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Content-Type: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request PUT \
--url https://tvox_host/tvox/rest/addressbook-contact/external \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID' \
--data '{"addressbookBackendId":"string","agentNote":"string","cap":"string","categories":["string"],"city":"string","company":"string","country":"string","customFields":[{"key":"CUSTOM_01","value":"string"}],"department":"string","district":"string","emails":[{"type":"INTERNET_WORK","value":"string"}],"id":"string","name":"string","note":"string","numbers":[{"type":"FAX","value":"string"}],"otherName":"string","role":"string","street":"string","surname":"string","vip":true,"webSites":[{"type":"WORK","value":"string"}]}'
HttpResponse<String> response = Unirest.put("https://tvox_host/tvox/rest/addressbook-contact/external")
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.body("{\"addressbookBackendId\":\"string\",\"agentNote\":\"string\",\"cap\":\"string\",\"categories\":[\"string\"],\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"customFields\":[{\"key\":\"CUSTOM_01\",\"value\":\"string\"}],\"department\":\"string\",\"district\":\"string\",\"emails\":[{\"type\":\"INTERNET_WORK\",\"value\":\"string\"}],\"id\":\"string\",\"name\":\"string\",\"note\":\"string\",\"numbers\":[{\"type\":\"FAX\",\"value\":\"string\"}],\"otherName\":\"string\",\"role\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true,\"webSites\":[{\"type\":\"WORK\",\"value\":\"string\"}]}")
.asString();
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/addressbook-contact/external"
payload := strings.NewReader("{\"addressbookBackendId\":\"string\",\"agentNote\":\"string\",\"cap\":\"string\",\"categories\":[\"string\"],\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"customFields\":[{\"key\":\"CUSTOM_01\",\"value\":\"string\"}],\"department\":\"string\",\"district\":\"string\",\"emails\":[{\"type\":\"INTERNET_WORK\",\"value\":\"string\"}],\"id\":\"string\",\"name\":\"string\",\"note\":\"string\",\"numbers\":[{\"type\":\"FAX\",\"value\":\"string\"}],\"otherName\":\"string\",\"role\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true,\"webSites\":[{\"type\":\"WORK\",\"value\":\"string\"}]}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = JSON.stringify({
"addressbookBackendId": "string",
"agentNote": "string",
"cap": "string",
"categories": [
"string"
],
"city": "string",
"company": "string",
"country": "string",
"customFields": [
{
"key": "CUSTOM_01",
"value": "string"
}
],
"department": "string",
"district": "string",
"emails": [
{
"type": "INTERNET_WORK",
"value": "string"
}
],
"id": "string",
"name": "string",
"note": "string",
"numbers": [
{
"type": "FAX",
"value": "string"
}
],
"otherName": "string",
"role": "string",
"street": "string",
"surname": "string",
"vip": true,
"webSites": [
{
"type": "WORK",
"value": "string"
}
]
});
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("PUT", "https://tvox_host/tvox/rest/addressbook-contact/external");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "PUT",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/addressbook-contact/external",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({
addressbookBackendId: 'string',
agentNote: 'string',
cap: 'string',
categories: ['string'],
city: 'string',
company: 'string',
country: 'string',
customFields: [{key: 'CUSTOM_01', value: 'string'}],
department: 'string',
district: 'string',
emails: [{type: 'INTERNET_WORK', value: 'string'}],
id: 'string',
name: 'string',
note: 'string',
numbers: [{type: 'FAX', value: 'string'}],
otherName: 'string',
role: 'string',
street: 'string',
surname: 'string',
vip: true,
webSites: [{type: 'WORK', value: 'string'}]
}));
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
payload = "{\"addressbookBackendId\":\"string\",\"agentNote\":\"string\",\"cap\":\"string\",\"categories\":[\"string\"],\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"customFields\":[{\"key\":\"CUSTOM_01\",\"value\":\"string\"}],\"department\":\"string\",\"district\":\"string\",\"emails\":[{\"type\":\"INTERNET_WORK\",\"value\":\"string\"}],\"id\":\"string\",\"name\":\"string\",\"note\":\"string\",\"numbers\":[{\"type\":\"FAX\",\"value\":\"string\"}],\"otherName\":\"string\",\"role\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true,\"webSites\":[{\"type\":\"WORK\",\"value\":\"string\"}]}"
headers = {
'Content-Type': "application/json",
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("PUT", "/tvox/rest/addressbook-contact/external", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/addressbook-contact/external")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
request.body = "{\"addressbookBackendId\":\"string\",\"agentNote\":\"string\",\"cap\":\"string\",\"categories\":[\"string\"],\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"customFields\":[{\"key\":\"CUSTOM_01\",\"value\":\"string\"}],\"department\":\"string\",\"district\":\"string\",\"emails\":[{\"type\":\"INTERNET_WORK\",\"value\":\"string\"}],\"id\":\"string\",\"name\":\"string\",\"note\":\"string\",\"numbers\":[{\"type\":\"FAX\",\"value\":\"string\"}],\"otherName\":\"string\",\"role\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true,\"webSites\":[{\"type\":\"WORK\",\"value\":\"string\"}]}"
response = http.request(request)
puts response.read_body
PUT /rest/addressbook-contact/external
Update contact in external addressbook
Parameters
Body parameter
{
"addressbookBackendId": "string",
"agentNote": "string",
"cap": "string",
"categories": [
"string"
],
"city": "string",
"company": "string",
"country": "string",
"customFields": [
{
"key": "CUSTOM_01",
"value": "string"
}
],
"department": "string",
"district": "string",
"emails": [
{
"type": "INTERNET_WORK",
"value": "string"
}
],
"id": "string",
"name": "string",
"note": "string",
"numbers": [
{
"type": "FAX",
"value": "string"
}
],
"otherName": "string",
"role": "string",
"street": "string",
"surname": "string",
"vip": true,
"webSites": [
{
"type": "WORK",
"value": "string"
}
]
}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | AddressbookContactExternal | true | Contact to update |
Responses
Example responses
default Response
{
"addressbookBackendId": "string",
"agentNote": "string",
"cap": "string",
"categories": [
"string"
],
"city": "string",
"company": "string",
"country": "string",
"customFields": [
{
"key": "CUSTOM_01",
"value": "string"
}
],
"department": "string",
"district": "string",
"emails": [
{
"type": "INTERNET_WORK",
"value": "string"
}
],
"id": "string",
"name": "string",
"note": "string",
"numbers": [
{
"type": "FAX",
"value": "string"
}
],
"otherName": "string",
"role": "string",
"street": "string",
"surname": "string",
"vip": true,
"webSites": [
{
"type": "WORK",
"value": "string"
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
404 | Not Found | Error: Object was not found. | None |
412 | Precondition Failed | Error: Object required or exceed max size. A required field is missing or empty or exceed max size | None |
default | Default | Updated contact | AddressbookContactExternal |
Delete contact
Code samples
DELETE /tvox/rest/addressbook-contact/external/string HTTP/1.1
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/addressbook-contact/external/string",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request DELETE \
--url https://tvox_host/tvox/rest/addressbook-contact/external/string \
--header 'Accept: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID'
HttpResponse<String> response = Unirest.delete("https://tvox_host/tvox/rest/addressbook-contact/external/string")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/addressbook-contact/external/string"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("DELETE", "https://tvox_host/tvox/rest/addressbook-contact/external/string");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "DELETE",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/addressbook-contact/external/string",
"headers": {
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = {
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("DELETE", "/tvox/rest/addressbook-contact/external/string", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/addressbook-contact/external/string")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Delete.new(url)
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
response = http.request(request)
puts response.read_body
DELETE /rest/addressbook-contact/external/{id}
Delete contact from external addressbook
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Contact id |
Responses
Example responses
default Response
true
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
404 | Not Found | Error: Object was not found. | None |
412 | Precondition Failed | Error: Object required. A required field is missing or empty | None |
default | Default | Contact deleted | boolean |
Read contact
Code samples
GET /tvox/rest/addressbook-contact/external/string HTTP/1.1
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/addressbook-contact/external/string",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request GET \
--url https://tvox_host/tvox/rest/addressbook-contact/external/string \
--header 'Accept: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID'
HttpResponse<String> response = Unirest.get("https://tvox_host/tvox/rest/addressbook-contact/external/string")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/addressbook-contact/external/string"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://tvox_host/tvox/rest/addressbook-contact/external/string");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "GET",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/addressbook-contact/external/string",
"headers": {
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = {
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("GET", "/tvox/rest/addressbook-contact/external/string", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/addressbook-contact/external/string")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
response = http.request(request)
puts response.read_body
GET /rest/addressbook-contact/external/{id}
Read contact from external addressbook
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | Contact id |
Responses
Example responses
default Response
{
"addressbookBackendId": "string",
"agentNote": "string",
"cap": "string",
"categories": [
"string"
],
"city": "string",
"company": "string",
"country": "string",
"customFields": [
{
"key": "CUSTOM_01",
"value": "string"
}
],
"department": "string",
"district": "string",
"emails": [
{
"type": "INTERNET_WORK",
"value": "string"
}
],
"id": "string",
"name": "string",
"note": "string",
"numbers": [
{
"type": "FAX",
"value": "string"
}
],
"otherName": "string",
"role": "string",
"street": "string",
"surname": "string",
"vip": true,
"webSites": [
{
"type": "WORK",
"value": "string"
}
]
}
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
404 | Not Found | Error: Object was not found. | None |
412 | Precondition Failed | Error: Object required. A required field is missing or empty | None |
default | Default | Read contact | AddressbookContactExternal |
Auth
Authentication, version and user session management
Check if current user session is still valid
Code samples
GET /tvox/rest/auth/isValidSession HTTP/1.1
Accept: application/json
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/auth/isValidSession",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request GET \
--url https://tvox_host/tvox/rest/auth/isValidSession \
--header 'Accept: application/json'
HttpResponse<String> response = Unirest.get("https://tvox_host/tvox/rest/auth/isValidSession")
.header("Accept", "application/json")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/auth/isValidSession"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://tvox_host/tvox/rest/auth/isValidSession");
xhr.setRequestHeader("Accept", "application/json");
xhr.send(data);
const http = require("https");
const options = {
"method": "GET",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/auth/isValidSession",
"headers": {
"Accept": "application/json"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = { 'Accept': "application/json" }
conn.request("GET", "/tvox/rest/auth/isValidSession", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/auth/isValidSession")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
response = http.request(request)
puts response.read_body
GET /rest/auth/isValidSession
Check if the session is still valid
Responses
Example responses
default Response
true
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error:
|
None |
default | Default | Current user session valid | boolean |
Login by username and password
Code samples
POST /tvox/rest/auth/login HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: tvox_host
Content-Length: 60
{"password":"string","username":"string","version":"string"}
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/auth/login",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\"password\":\"string\",\"username\":\"string\",\"version\":\"string\"}",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request POST \
--url https://tvox_host/tvox/rest/auth/login \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"password":"string","username":"string","version":"string"}'
HttpResponse<String> response = Unirest.post("https://tvox_host/tvox/rest/auth/login")
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.body("{\"password\":\"string\",\"username\":\"string\",\"version\":\"string\"}")
.asString();
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/auth/login"
payload := strings.NewReader("{\"password\":\"string\",\"username\":\"string\",\"version\":\"string\"}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Accept", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = JSON.stringify({
"password": "string",
"username": "string",
"version": "string"
});
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://tvox_host/tvox/rest/auth/login");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Accept", "application/json");
xhr.send(data);
const http = require("https");
const options = {
"method": "POST",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/auth/login",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({password: 'string', username: 'string', version: 'string'}));
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
payload = "{\"password\":\"string\",\"username\":\"string\",\"version\":\"string\"}"
headers = {
'Content-Type': "application/json",
'Accept': "application/json"
}
conn.request("POST", "/tvox/rest/auth/login", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/auth/login")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request["Accept"] = 'application/json'
request.body = "{\"password\":\"string\",\"username\":\"string\",\"version\":\"string\"}"
response = http.request(request)
puts response.read_body
POST /rest/auth/login
Execute the login by username and password
Parameters
Body parameter
{
"password": "string",
"username": "string",
"version": "string"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | LoginRequest | true | Login with credentials request |
Responses
Example responses
default Response
{
"accessToken": "string",
"anonymous": true,
"chatAuthToken": "string",
"chatUri": "string",
"chatUserId": "string",
"language": "IT",
"logged": true,
"name": "string",
"profileRoles": [
"string"
],
"publicUsername": "string",
"pwdChangeable": true,
"sessionId": "string",
"status": "UNKNOWN",
"surname": "string",
"userPermissions": [
"SUPERUSER"
],
"username": "string"
}
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error:
|
None |
403 | Forbidden | Error: Password expired. | None |
default | Default | Logged user profile | LoginProfile |
Login by access token
Code samples
POST /tvox/rest/auth/loginByAccessToken HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: tvox_host
Content-Length: 43
{"accessToken":"string","version":"string"}
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/auth/loginByAccessToken",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\"accessToken\":\"string\",\"version\":\"string\"}",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request POST \
--url https://tvox_host/tvox/rest/auth/loginByAccessToken \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"accessToken":"string","version":"string"}'
HttpResponse<String> response = Unirest.post("https://tvox_host/tvox/rest/auth/loginByAccessToken")
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.body("{\"accessToken\":\"string\",\"version\":\"string\"}")
.asString();
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/auth/loginByAccessToken"
payload := strings.NewReader("{\"accessToken\":\"string\",\"version\":\"string\"}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Accept", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = JSON.stringify({
"accessToken": "string",
"version": "string"
});
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://tvox_host/tvox/rest/auth/loginByAccessToken");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Accept", "application/json");
xhr.send(data);
const http = require("https");
const options = {
"method": "POST",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/auth/loginByAccessToken",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({accessToken: 'string', version: 'string'}));
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
payload = "{\"accessToken\":\"string\",\"version\":\"string\"}"
headers = {
'Content-Type': "application/json",
'Accept': "application/json"
}
conn.request("POST", "/tvox/rest/auth/loginByAccessToken", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/auth/loginByAccessToken")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request["Accept"] = 'application/json'
request.body = "{\"accessToken\":\"string\",\"version\":\"string\"}"
response = http.request(request)
puts response.read_body
POST /rest/auth/loginByAccessToken
Execute the login by access token
Parameters
Body parameter
{
"accessToken": "string",
"version": "string"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | LoginByAccessTokenRequest | true | Login with access token request |
Responses
Example responses
default Response
{
"accessToken": "string",
"anonymous": true,
"chatAuthToken": "string",
"chatUri": "string",
"chatUserId": "string",
"language": "IT",
"logged": true,
"name": "string",
"profileRoles": [
"string"
],
"publicUsername": "string",
"pwdChangeable": true,
"sessionId": "string",
"status": "UNKNOWN",
"surname": "string",
"userPermissions": [
"SUPERUSER"
],
"username": "string"
}
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error:
|
None |
403 | Forbidden | Error: Password expired. | None |
default | Default | Logged user profile | LoginProfile |
Logout from current user session
Code samples
GET /tvox/rest/auth/logout HTTP/1.1
Accept: application/json
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/auth/logout",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request GET \
--url https://tvox_host/tvox/rest/auth/logout \
--header 'Accept: application/json'
HttpResponse<String> response = Unirest.get("https://tvox_host/tvox/rest/auth/logout")
.header("Accept", "application/json")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/auth/logout"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://tvox_host/tvox/rest/auth/logout");
xhr.setRequestHeader("Accept", "application/json");
xhr.send(data);
const http = require("https");
const options = {
"method": "GET",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/auth/logout",
"headers": {
"Accept": "application/json"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = { 'Accept': "application/json" }
conn.request("GET", "/tvox/rest/auth/logout", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/auth/logout")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
response = http.request(request)
puts response.read_body
GET /rest/auth/logout
Responses
Example responses
default Response
true
Status | Meaning | Description | Schema |
---|---|---|---|
default | Default | User logout | boolean |
Retrieve TVox and API version
Code samples
GET /tvox/rest/auth/version HTTP/1.1
Accept: application/json
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/auth/version",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request GET \
--url https://tvox_host/tvox/rest/auth/version \
--header 'Accept: application/json'
HttpResponse<String> response = Unirest.get("https://tvox_host/tvox/rest/auth/version")
.header("Accept", "application/json")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/auth/version"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://tvox_host/tvox/rest/auth/version");
xhr.setRequestHeader("Accept", "application/json");
xhr.send(data);
const http = require("https");
const options = {
"method": "GET",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/auth/version",
"headers": {
"Accept": "application/json"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = { 'Accept': "application/json" }
conn.request("GET", "/tvox/rest/auth/version", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/auth/version")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
response = http.request(request)
puts response.read_body
GET /rest/auth/version
Responses
Example responses
default Response
{
"tvoxVersion": "string",
"webapiVersion": "string"
}
Status | Meaning | Description | Schema |
---|---|---|---|
default | Default | TVox and API version | APIVersion |
Phone channel - Call
Phone channel - Call management
Dial number
Code samples
POST /tvox/rest/phone/call/dial?number=string HTTP/1.1
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/phone/call/dial?number=string",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request POST \
--url 'https://tvox_host/tvox/rest/phone/call/dial?number=string' \
--header 'Accept: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID'
HttpResponse<String> response = Unirest.post("https://tvox_host/tvox/rest/phone/call/dial?number=string")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/phone/call/dial?number=string"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://tvox_host/tvox/rest/phone/call/dial?number=string");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "POST",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/phone/call/dial?number=string",
"headers": {
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = {
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("POST", "/tvox/rest/phone/call/dial?number=string", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/phone/call/dial?number=string")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
response = http.request(request)
puts response.read_body
POST /rest/phone/call/dial
Dial number to call, record the call, passing additional information (access code, service for call tagging, extra data, etc.)
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
username | query | string | false | Username of the user making the call. If not specified, the currently logged in user is used |
dialerNumber | query | string | false | Number of the user making the call |
number | query | string | true | Number to call |
accessCode | query | string | false | Access code to use for the call |
callData | query | string | false | Extra data to pass on the call |
recordCall | query | boolean | false | Record call |
recordOnConnect | query | boolean | false | Record call on connect event |
recordAuto | query | boolean | false | Automatic recording on the call enabled |
recFileName | query | string | false | Recording file name |
recData | query | string | false | Recording data |
returnCallId | query | boolean | false | Return the call id |
serviceCode | query | string | false | Service code to be used for call tagging |
extenType | query | string | false | Exten type of the user making the call |
exten | query | string | false | Exten number of the user making the call |
contactId | query | string | false | Contact id of the number to call |
Enumerated Values
Parameter | Value |
---|---|
extenType | MCS_SIP |
extenType | MCS_APP |
extenType | MCS_APP_WEBRTC |
extenType | SIP |
extenType | EXTERNAL |
extenType | WEBRTC |
Responses
Example responses
default Response
"string"
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
406 | Not Acceptable | Error: Invalid argument. | None |
412 | Precondition Failed | Error:
|
None |
502 | Bad Gateway | Error: Dial number error. Dial number generic server error. | None |
580 | Unknown | Error: Recording call error. Recording call request error | None |
default | Default | Call id (if "returnCallId" is true) | string |
Hangup call
Code samples
POST /tvox/rest/phone/call/hangup HTTP/1.1
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/phone/call/hangup",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request POST \
--url https://tvox_host/tvox/rest/phone/call/hangup \
--header 'Accept: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID'
HttpResponse<String> response = Unirest.post("https://tvox_host/tvox/rest/phone/call/hangup")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/phone/call/hangup"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://tvox_host/tvox/rest/phone/call/hangup");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "POST",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/phone/call/hangup",
"headers": {
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = {
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("POST", "/tvox/rest/phone/call/hangup", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/phone/call/hangup")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
response = http.request(request)
puts response.read_body
POST /rest/phone/call/hangup
Hangup call in progess by call id, username or exten number of the user making the call.
If none of call id, username or exten is specified, the currently logged in user is used.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
callId | query | string | false | Call id |
username | query | string | false | Username of the user making the call |
exten | query | string | false | Exten number of the user making the call |
Responses
Example responses
default Response
true
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
404 | Not Found | Error: Object was not found. | None |
412 | Precondition Failed | Error: Object required. A required field is missing or empty | None |
default | Default | Call was hung up | boolean |
Power Dialer
Power Dialer campaign management for phone channel
Create campaign
Code samples
POST /tvox/rest/powerdialer/phone/campaign HTTP/1.1
Content-Type: application/json
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
Content-Length: 280
{"abilitazioneId":0,"busyChannels":0,"busyChannelsType":"PRESENT","enabled":true,"endDate":"2019-08-24T14:15:22Z","id":0,"lists":[{"enabled":true,"listId":0,"priority":0}],"name":"string","priority":1,"reservedChannels":0,"serviceCode":"string","startDate":"2019-08-24T14:15:22Z"}
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/campaign",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\"abilitazioneId\":0,\"busyChannels\":0,\"busyChannelsType\":\"PRESENT\",\"enabled\":true,\"endDate\":\"2019-08-24T14:15:22Z\",\"id\":0,\"lists\":[{\"enabled\":true,\"listId\":0,\"priority\":0}],\"name\":\"string\",\"priority\":1,\"reservedChannels\":0,\"serviceCode\":\"string\",\"startDate\":\"2019-08-24T14:15:22Z\"}",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Content-Type: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request POST \
--url https://tvox_host/tvox/rest/powerdialer/phone/campaign \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID' \
--data '{"abilitazioneId":0,"busyChannels":0,"busyChannelsType":"PRESENT","enabled":true,"endDate":"2019-08-24T14:15:22Z","id":0,"lists":[{"enabled":true,"listId":0,"priority":0}],"name":"string","priority":1,"reservedChannels":0,"serviceCode":"string","startDate":"2019-08-24T14:15:22Z"}'
HttpResponse<String> response = Unirest.post("https://tvox_host/tvox/rest/powerdialer/phone/campaign")
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.body("{\"abilitazioneId\":0,\"busyChannels\":0,\"busyChannelsType\":\"PRESENT\",\"enabled\":true,\"endDate\":\"2019-08-24T14:15:22Z\",\"id\":0,\"lists\":[{\"enabled\":true,\"listId\":0,\"priority\":0}],\"name\":\"string\",\"priority\":1,\"reservedChannels\":0,\"serviceCode\":\"string\",\"startDate\":\"2019-08-24T14:15:22Z\"}")
.asString();
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/campaign"
payload := strings.NewReader("{\"abilitazioneId\":0,\"busyChannels\":0,\"busyChannelsType\":\"PRESENT\",\"enabled\":true,\"endDate\":\"2019-08-24T14:15:22Z\",\"id\":0,\"lists\":[{\"enabled\":true,\"listId\":0,\"priority\":0}],\"name\":\"string\",\"priority\":1,\"reservedChannels\":0,\"serviceCode\":\"string\",\"startDate\":\"2019-08-24T14:15:22Z\"}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = JSON.stringify({
"abilitazioneId": 0,
"busyChannels": 0,
"busyChannelsType": "PRESENT",
"enabled": true,
"endDate": "2019-08-24T14:15:22Z",
"id": 0,
"lists": [
{
"enabled": true,
"listId": 0,
"priority": 0
}
],
"name": "string",
"priority": 1,
"reservedChannels": 0,
"serviceCode": "string",
"startDate": "2019-08-24T14:15:22Z"
});
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://tvox_host/tvox/rest/powerdialer/phone/campaign");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "POST",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/campaign",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({
abilitazioneId: 0,
busyChannels: 0,
busyChannelsType: 'PRESENT',
enabled: true,
endDate: '2019-08-24T14:15:22Z',
id: 0,
lists: [{enabled: true, listId: 0, priority: 0}],
name: 'string',
priority: 1,
reservedChannels: 0,
serviceCode: 'string',
startDate: '2019-08-24T14:15:22Z'
}));
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
payload = "{\"abilitazioneId\":0,\"busyChannels\":0,\"busyChannelsType\":\"PRESENT\",\"enabled\":true,\"endDate\":\"2019-08-24T14:15:22Z\",\"id\":0,\"lists\":[{\"enabled\":true,\"listId\":0,\"priority\":0}],\"name\":\"string\",\"priority\":1,\"reservedChannels\":0,\"serviceCode\":\"string\",\"startDate\":\"2019-08-24T14:15:22Z\"}"
headers = {
'Content-Type': "application/json",
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("POST", "/tvox/rest/powerdialer/phone/campaign", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/campaign")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
request.body = "{\"abilitazioneId\":0,\"busyChannels\":0,\"busyChannelsType\":\"PRESENT\",\"enabled\":true,\"endDate\":\"2019-08-24T14:15:22Z\",\"id\":0,\"lists\":[{\"enabled\":true,\"listId\":0,\"priority\":0}],\"name\":\"string\",\"priority\":1,\"reservedChannels\":0,\"serviceCode\":\"string\",\"startDate\":\"2019-08-24T14:15:22Z\"}"
response = http.request(request)
puts response.read_body
POST /rest/powerdialer/phone/campaign
Parameters
Body parameter
{
"abilitazioneId": 0,
"busyChannels": 0,
"busyChannelsType": "PRESENT",
"enabled": true,
"endDate": "2019-08-24T14:15:22Z",
"id": 0,
"lists": [
{
"enabled": true,
"listId": 0,
"priority": 0
}
],
"name": "string",
"priority": 1,
"reservedChannels": 0,
"serviceCode": "string",
"startDate": "2019-08-24T14:15:22Z"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | PDCampaign | true | Campaign to create |
Responses
Example responses
default Response
{
"abilitazioneId": 0,
"busyChannels": 0,
"busyChannelsType": "PRESENT",
"enabled": true,
"endDate": "2019-08-24T14:15:22Z",
"id": 0,
"lists": [
{
"enabled": true,
"listId": 0,
"priority": 0
}
],
"name": "string",
"priority": 1,
"reservedChannels": 0,
"serviceCode": "string",
"startDate": "2019-08-24T14:15:22Z"
}
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
404 | Not Found | Error: Object was not found. | None |
406 | Not Acceptable | Error: Invalid argument. | None |
409 | Conflict | Error: Object already exists. | None |
412 | Precondition Failed | Error: Object required. A required field is missing or empty | None |
default | Default | Created campaign | PDCampaign |
Update campaign
Code samples
PUT /tvox/rest/powerdialer/phone/campaign HTTP/1.1
Content-Type: application/json
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
Content-Length: 280
{"abilitazioneId":0,"busyChannels":0,"busyChannelsType":"PRESENT","enabled":true,"endDate":"2019-08-24T14:15:22Z","id":0,"lists":[{"enabled":true,"listId":0,"priority":0}],"name":"string","priority":1,"reservedChannels":0,"serviceCode":"string","startDate":"2019-08-24T14:15:22Z"}
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/campaign",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => "{\"abilitazioneId\":0,\"busyChannels\":0,\"busyChannelsType\":\"PRESENT\",\"enabled\":true,\"endDate\":\"2019-08-24T14:15:22Z\",\"id\":0,\"lists\":[{\"enabled\":true,\"listId\":0,\"priority\":0}],\"name\":\"string\",\"priority\":1,\"reservedChannels\":0,\"serviceCode\":\"string\",\"startDate\":\"2019-08-24T14:15:22Z\"}",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Content-Type: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request PUT \
--url https://tvox_host/tvox/rest/powerdialer/phone/campaign \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID' \
--data '{"abilitazioneId":0,"busyChannels":0,"busyChannelsType":"PRESENT","enabled":true,"endDate":"2019-08-24T14:15:22Z","id":0,"lists":[{"enabled":true,"listId":0,"priority":0}],"name":"string","priority":1,"reservedChannels":0,"serviceCode":"string","startDate":"2019-08-24T14:15:22Z"}'
HttpResponse<String> response = Unirest.put("https://tvox_host/tvox/rest/powerdialer/phone/campaign")
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.body("{\"abilitazioneId\":0,\"busyChannels\":0,\"busyChannelsType\":\"PRESENT\",\"enabled\":true,\"endDate\":\"2019-08-24T14:15:22Z\",\"id\":0,\"lists\":[{\"enabled\":true,\"listId\":0,\"priority\":0}],\"name\":\"string\",\"priority\":1,\"reservedChannels\":0,\"serviceCode\":\"string\",\"startDate\":\"2019-08-24T14:15:22Z\"}")
.asString();
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/campaign"
payload := strings.NewReader("{\"abilitazioneId\":0,\"busyChannels\":0,\"busyChannelsType\":\"PRESENT\",\"enabled\":true,\"endDate\":\"2019-08-24T14:15:22Z\",\"id\":0,\"lists\":[{\"enabled\":true,\"listId\":0,\"priority\":0}],\"name\":\"string\",\"priority\":1,\"reservedChannels\":0,\"serviceCode\":\"string\",\"startDate\":\"2019-08-24T14:15:22Z\"}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = JSON.stringify({
"abilitazioneId": 0,
"busyChannels": 0,
"busyChannelsType": "PRESENT",
"enabled": true,
"endDate": "2019-08-24T14:15:22Z",
"id": 0,
"lists": [
{
"enabled": true,
"listId": 0,
"priority": 0
}
],
"name": "string",
"priority": 1,
"reservedChannels": 0,
"serviceCode": "string",
"startDate": "2019-08-24T14:15:22Z"
});
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("PUT", "https://tvox_host/tvox/rest/powerdialer/phone/campaign");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "PUT",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/campaign",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({
abilitazioneId: 0,
busyChannels: 0,
busyChannelsType: 'PRESENT',
enabled: true,
endDate: '2019-08-24T14:15:22Z',
id: 0,
lists: [{enabled: true, listId: 0, priority: 0}],
name: 'string',
priority: 1,
reservedChannels: 0,
serviceCode: 'string',
startDate: '2019-08-24T14:15:22Z'
}));
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
payload = "{\"abilitazioneId\":0,\"busyChannels\":0,\"busyChannelsType\":\"PRESENT\",\"enabled\":true,\"endDate\":\"2019-08-24T14:15:22Z\",\"id\":0,\"lists\":[{\"enabled\":true,\"listId\":0,\"priority\":0}],\"name\":\"string\",\"priority\":1,\"reservedChannels\":0,\"serviceCode\":\"string\",\"startDate\":\"2019-08-24T14:15:22Z\"}"
headers = {
'Content-Type': "application/json",
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("PUT", "/tvox/rest/powerdialer/phone/campaign", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/campaign")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
request.body = "{\"abilitazioneId\":0,\"busyChannels\":0,\"busyChannelsType\":\"PRESENT\",\"enabled\":true,\"endDate\":\"2019-08-24T14:15:22Z\",\"id\":0,\"lists\":[{\"enabled\":true,\"listId\":0,\"priority\":0}],\"name\":\"string\",\"priority\":1,\"reservedChannels\":0,\"serviceCode\":\"string\",\"startDate\":\"2019-08-24T14:15:22Z\"}"
response = http.request(request)
puts response.read_body
PUT /rest/powerdialer/phone/campaign
Parameters
Body parameter
{
"abilitazioneId": 0,
"busyChannels": 0,
"busyChannelsType": "PRESENT",
"enabled": true,
"endDate": "2019-08-24T14:15:22Z",
"id": 0,
"lists": [
{
"enabled": true,
"listId": 0,
"priority": 0
}
],
"name": "string",
"priority": 1,
"reservedChannels": 0,
"serviceCode": "string",
"startDate": "2019-08-24T14:15:22Z"
}
Name | In | Type | Required | Description |
---|---|---|---|---|
resetStats | query | boolean | false | Reset campaign stats after its update (if active, campaign will be restarted) |
body | body | PDCampaign | true | Campaign to update |
Responses
Example responses
default Response
{
"abilitazioneId": 0,
"busyChannels": 0,
"busyChannelsType": "PRESENT",
"enabled": true,
"endDate": "2019-08-24T14:15:22Z",
"id": 0,
"lists": [
{
"enabled": true,
"listId": 0,
"priority": 0
}
],
"name": "string",
"priority": 1,
"reservedChannels": 0,
"serviceCode": "string",
"startDate": "2019-08-24T14:15:22Z"
}
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
404 | Not Found | Error: Object was not found. | None |
406 | Not Acceptable | Error: Invalid argument. | None |
412 | Precondition Failed | Error: Object required. A required field is missing or empty | None |
default | Default | Updated campaign | PDCampaign |
Search campaigns
Code samples
GET /tvox/rest/powerdialer/phone/campaign/search HTTP/1.1
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/campaign/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request GET \
--url https://tvox_host/tvox/rest/powerdialer/phone/campaign/search \
--header 'Accept: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID'
HttpResponse<String> response = Unirest.get("https://tvox_host/tvox/rest/powerdialer/phone/campaign/search")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/campaign/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://tvox_host/tvox/rest/powerdialer/phone/campaign/search");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "GET",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/campaign/search",
"headers": {
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = {
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("GET", "/tvox/rest/powerdialer/phone/campaign/search", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/campaign/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
response = http.request(request)
puts response.read_body
GET /rest/powerdialer/phone/campaign/search
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
term | query | string | false | Term to search within the campaign id or name |
priority | query | integer(int32) | false | Campaign priority |
pageNumber | query | integer(int32) | false | Page number (must be greater than 0) |
pageSize | query | integer(int32) | false | Page size (must be greater than 0) |
Responses
Example responses
default Response
{
"result": [
{
"abilitazioneId": 0,
"busyChannels": 0,
"busyChannelsType": "PRESENT",
"enabled": true,
"endDate": "2019-08-24T14:15:22Z",
"id": 0,
"lists": [
{
"enabled": true,
"listId": 0,
"priority": 0
}
],
"name": "string",
"priority": 1,
"reservedChannels": 0,
"serviceCode": "string",
"startDate": "2019-08-24T14:15:22Z"
}
],
"tot": 0
}
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
default | Default | Searched campaigns | SearchResultPDCampaign |
Start campaign
Code samples
POST /tvox/rest/powerdialer/phone/campaign/start/0 HTTP/1.1
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/campaign/start/0",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request POST \
--url https://tvox_host/tvox/rest/powerdialer/phone/campaign/start/0 \
--header 'Accept: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID'
HttpResponse<String> response = Unirest.post("https://tvox_host/tvox/rest/powerdialer/phone/campaign/start/0")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/campaign/start/0"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://tvox_host/tvox/rest/powerdialer/phone/campaign/start/0");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "POST",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/campaign/start/0",
"headers": {
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = {
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("POST", "/tvox/rest/powerdialer/phone/campaign/start/0", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/campaign/start/0")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
response = http.request(request)
puts response.read_body
POST /rest/powerdialer/phone/campaign/start/{id}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Campaign id |
resetStats | query | boolean | false | Reset campaign stats before start |
Responses
Example responses
default Response
true
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
404 | Not Found | Error: Object was not found. | None |
412 | Precondition Failed | Error: Object required. A required field is missing or empty | None |
default | Default | Campaign started | boolean |
Reset campaign stats
Code samples
POST /tvox/rest/powerdialer/phone/campaign/stats/reset/0 HTTP/1.1
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/campaign/stats/reset/0",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request POST \
--url https://tvox_host/tvox/rest/powerdialer/phone/campaign/stats/reset/0 \
--header 'Accept: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID'
HttpResponse<String> response = Unirest.post("https://tvox_host/tvox/rest/powerdialer/phone/campaign/stats/reset/0")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/campaign/stats/reset/0"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://tvox_host/tvox/rest/powerdialer/phone/campaign/stats/reset/0");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "POST",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/campaign/stats/reset/0",
"headers": {
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = {
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("POST", "/tvox/rest/powerdialer/phone/campaign/stats/reset/0", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/campaign/stats/reset/0")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
response = http.request(request)
puts response.read_body
POST /rest/powerdialer/phone/campaign/stats/reset/{id}
Reset campaign stats and make available to it the new contacts in all the lists associated with the campaign.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Campaign id |
Responses
Example responses
default Response
true
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
404 | Not Found | Error: Object was not found. | None |
412 | Precondition Failed | Error: Object required. A required field is missing or empty | None |
default | Default | Campaign stats reset | boolean |
Stop campaign
Code samples
POST /tvox/rest/powerdialer/phone/campaign/stop/0 HTTP/1.1
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/campaign/stop/0",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request POST \
--url https://tvox_host/tvox/rest/powerdialer/phone/campaign/stop/0 \
--header 'Accept: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID'
HttpResponse<String> response = Unirest.post("https://tvox_host/tvox/rest/powerdialer/phone/campaign/stop/0")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/campaign/stop/0"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://tvox_host/tvox/rest/powerdialer/phone/campaign/stop/0");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "POST",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/campaign/stop/0",
"headers": {
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = {
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("POST", "/tvox/rest/powerdialer/phone/campaign/stop/0", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/campaign/stop/0")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
response = http.request(request)
puts response.read_body
POST /rest/powerdialer/phone/campaign/stop/{id}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Campaign id |
resetStats | query | boolean | false | Reset campaign stats after stop |
Responses
Example responses
default Response
true
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
404 | Not Found | Error: Object was not found. | None |
412 | Precondition Failed | Error: Object required. A required field is missing or empty | None |
default | Default | Campaign stopped | boolean |
Delete campaign
Code samples
DELETE /tvox/rest/powerdialer/phone/campaign/0 HTTP/1.1
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/campaign/0",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request DELETE \
--url https://tvox_host/tvox/rest/powerdialer/phone/campaign/0 \
--header 'Accept: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID'
HttpResponse<String> response = Unirest.delete("https://tvox_host/tvox/rest/powerdialer/phone/campaign/0")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/campaign/0"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("DELETE", "https://tvox_host/tvox/rest/powerdialer/phone/campaign/0");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "DELETE",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/campaign/0",
"headers": {
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = {
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("DELETE", "/tvox/rest/powerdialer/phone/campaign/0", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/campaign/0")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Delete.new(url)
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
response = http.request(request)
puts response.read_body
DELETE /rest/powerdialer/phone/campaign/{id}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Campaign id |
Responses
Example responses
default Response
true
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
404 | Not Found | Error: Object was not found. | None |
412 | Precondition Failed | Error: Object required. A required field is missing or empty | None |
default | Default | Campaign deleted | boolean |
Get campaign
Code samples
GET /tvox/rest/powerdialer/phone/campaign/0 HTTP/1.1
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/campaign/0",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request GET \
--url https://tvox_host/tvox/rest/powerdialer/phone/campaign/0 \
--header 'Accept: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID'
HttpResponse<String> response = Unirest.get("https://tvox_host/tvox/rest/powerdialer/phone/campaign/0")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/campaign/0"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://tvox_host/tvox/rest/powerdialer/phone/campaign/0");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "GET",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/campaign/0",
"headers": {
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = {
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("GET", "/tvox/rest/powerdialer/phone/campaign/0", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/campaign/0")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
response = http.request(request)
puts response.read_body
GET /rest/powerdialer/phone/campaign/{id}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | Campaign id |
Responses
Example responses
default Response
{
"abilitazioneId": 0,
"busyChannels": 0,
"busyChannelsType": "PRESENT",
"enabled": true,
"endDate": "2019-08-24T14:15:22Z",
"id": 0,
"lists": [
{
"enabled": true,
"listId": 0,
"priority": 0
}
],
"name": "string",
"priority": 1,
"reservedChannels": 0,
"serviceCode": "string",
"startDate": "2019-08-24T14:15:22Z"
}
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
404 | Not Found | Error: Object was not found. | None |
412 | Precondition Failed | Error: Object required. A required field is missing or empty | None |
default | Default | Requested campaign | PDCampaign |
Get general settings
Code samples
GET /tvox/rest/powerdialer/phone/conf HTTP/1.1
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/conf",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request GET \
--url https://tvox_host/tvox/rest/powerdialer/phone/conf \
--header 'Accept: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID'
HttpResponse<String> response = Unirest.get("https://tvox_host/tvox/rest/powerdialer/phone/conf")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/conf"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://tvox_host/tvox/rest/powerdialer/phone/conf");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "GET",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/conf",
"headers": {
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = {
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("GET", "/tvox/rest/powerdialer/phone/conf", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/conf")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
response = http.request(request)
puts response.read_body
GET /rest/powerdialer/phone/conf
Responses
Example responses
default Response
{
"abilitazione": {
"descrizione": "string",
"id": 0
},
"enabled": true,
"maxChannels": 0,
"ringTimeout": 0
}
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
510 | Unknown | Error: License exceeded. | None |
default | Default | General settings | PDConf |
Update general settings
Code samples
PUT /tvox/rest/powerdialer/phone/conf HTTP/1.1
Content-Type: application/json
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
Content-Length: 95
{"abilitazione":{"descrizione":"string","id":0},"enabled":true,"maxChannels":0,"ringTimeout":0}
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/conf",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => "{\"abilitazione\":{\"descrizione\":\"string\",\"id\":0},\"enabled\":true,\"maxChannels\":0,\"ringTimeout\":0}",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Content-Type: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request PUT \
--url https://tvox_host/tvox/rest/powerdialer/phone/conf \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID' \
--data '{"abilitazione":{"descrizione":"string","id":0},"enabled":true,"maxChannels":0,"ringTimeout":0}'
HttpResponse<String> response = Unirest.put("https://tvox_host/tvox/rest/powerdialer/phone/conf")
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.body("{\"abilitazione\":{\"descrizione\":\"string\",\"id\":0},\"enabled\":true,\"maxChannels\":0,\"ringTimeout\":0}")
.asString();
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/conf"
payload := strings.NewReader("{\"abilitazione\":{\"descrizione\":\"string\",\"id\":0},\"enabled\":true,\"maxChannels\":0,\"ringTimeout\":0}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = JSON.stringify({
"abilitazione": {
"descrizione": "string",
"id": 0
},
"enabled": true,
"maxChannels": 0,
"ringTimeout": 0
});
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("PUT", "https://tvox_host/tvox/rest/powerdialer/phone/conf");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "PUT",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/conf",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({
abilitazione: {descrizione: 'string', id: 0},
enabled: true,
maxChannels: 0,
ringTimeout: 0
}));
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
payload = "{\"abilitazione\":{\"descrizione\":\"string\",\"id\":0},\"enabled\":true,\"maxChannels\":0,\"ringTimeout\":0}"
headers = {
'Content-Type': "application/json",
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("PUT", "/tvox/rest/powerdialer/phone/conf", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/conf")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
request.body = "{\"abilitazione\":{\"descrizione\":\"string\",\"id\":0},\"enabled\":true,\"maxChannels\":0,\"ringTimeout\":0}"
response = http.request(request)
puts response.read_body
PUT /rest/powerdialer/phone/conf
Parameters
Body parameter
{
"abilitazione": {
"descrizione": "string",
"id": 0
},
"enabled": true,
"maxChannels": 0,
"ringTimeout": 0
}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | PDConf | true | General settings to update |
Responses
Example responses
default Response
{
"abilitazione": {
"descrizione": "string",
"id": 0
},
"enabled": true,
"maxChannels": 0,
"ringTimeout": 0
}
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
412 | Precondition Failed | Error: Object required. A required field is missing or empty | None |
510 | Unknown | Error: License exceeded. | None |
default | Default | Updated general settings | PDConf |
Create list
Code samples
POST /tvox/rest/powerdialer/phone/list HTTP/1.1
Content-Type: application/json
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
Content-Length: 292
{"busyAttempts":0,"busyTimeout":0,"cancelAttempts":0,"cancelTimeout":0,"congestionAttempts":0,"congestionTimeout":0,"id":0,"name":"string","noAnswerAttempts":0,"noAnswerTimeout":0,"tvoxClosedAttempts":0,"tvoxClosedTimeout":0,"voicemailAttempts":0,"voicemailEnabled":true,"voicemailTimeout":0}
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\"busyAttempts\":0,\"busyTimeout\":0,\"cancelAttempts\":0,\"cancelTimeout\":0,\"congestionAttempts\":0,\"congestionTimeout\":0,\"id\":0,\"name\":\"string\",\"noAnswerAttempts\":0,\"noAnswerTimeout\":0,\"tvoxClosedAttempts\":0,\"tvoxClosedTimeout\":0,\"voicemailAttempts\":0,\"voicemailEnabled\":true,\"voicemailTimeout\":0}",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Content-Type: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request POST \
--url https://tvox_host/tvox/rest/powerdialer/phone/list \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID' \
--data '{"busyAttempts":0,"busyTimeout":0,"cancelAttempts":0,"cancelTimeout":0,"congestionAttempts":0,"congestionTimeout":0,"id":0,"name":"string","noAnswerAttempts":0,"noAnswerTimeout":0,"tvoxClosedAttempts":0,"tvoxClosedTimeout":0,"voicemailAttempts":0,"voicemailEnabled":true,"voicemailTimeout":0}'
HttpResponse<String> response = Unirest.post("https://tvox_host/tvox/rest/powerdialer/phone/list")
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.body("{\"busyAttempts\":0,\"busyTimeout\":0,\"cancelAttempts\":0,\"cancelTimeout\":0,\"congestionAttempts\":0,\"congestionTimeout\":0,\"id\":0,\"name\":\"string\",\"noAnswerAttempts\":0,\"noAnswerTimeout\":0,\"tvoxClosedAttempts\":0,\"tvoxClosedTimeout\":0,\"voicemailAttempts\":0,\"voicemailEnabled\":true,\"voicemailTimeout\":0}")
.asString();
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/list"
payload := strings.NewReader("{\"busyAttempts\":0,\"busyTimeout\":0,\"cancelAttempts\":0,\"cancelTimeout\":0,\"congestionAttempts\":0,\"congestionTimeout\":0,\"id\":0,\"name\":\"string\",\"noAnswerAttempts\":0,\"noAnswerTimeout\":0,\"tvoxClosedAttempts\":0,\"tvoxClosedTimeout\":0,\"voicemailAttempts\":0,\"voicemailEnabled\":true,\"voicemailTimeout\":0}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = JSON.stringify({
"busyAttempts": 0,
"busyTimeout": 0,
"cancelAttempts": 0,
"cancelTimeout": 0,
"congestionAttempts": 0,
"congestionTimeout": 0,
"id": 0,
"name": "string",
"noAnswerAttempts": 0,
"noAnswerTimeout": 0,
"tvoxClosedAttempts": 0,
"tvoxClosedTimeout": 0,
"voicemailAttempts": 0,
"voicemailEnabled": true,
"voicemailTimeout": 0
});
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://tvox_host/tvox/rest/powerdialer/phone/list");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "POST",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/list",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({
busyAttempts: 0,
busyTimeout: 0,
cancelAttempts: 0,
cancelTimeout: 0,
congestionAttempts: 0,
congestionTimeout: 0,
id: 0,
name: 'string',
noAnswerAttempts: 0,
noAnswerTimeout: 0,
tvoxClosedAttempts: 0,
tvoxClosedTimeout: 0,
voicemailAttempts: 0,
voicemailEnabled: true,
voicemailTimeout: 0
}));
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
payload = "{\"busyAttempts\":0,\"busyTimeout\":0,\"cancelAttempts\":0,\"cancelTimeout\":0,\"congestionAttempts\":0,\"congestionTimeout\":0,\"id\":0,\"name\":\"string\",\"noAnswerAttempts\":0,\"noAnswerTimeout\":0,\"tvoxClosedAttempts\":0,\"tvoxClosedTimeout\":0,\"voicemailAttempts\":0,\"voicemailEnabled\":true,\"voicemailTimeout\":0}"
headers = {
'Content-Type': "application/json",
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("POST", "/tvox/rest/powerdialer/phone/list", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
request.body = "{\"busyAttempts\":0,\"busyTimeout\":0,\"cancelAttempts\":0,\"cancelTimeout\":0,\"congestionAttempts\":0,\"congestionTimeout\":0,\"id\":0,\"name\":\"string\",\"noAnswerAttempts\":0,\"noAnswerTimeout\":0,\"tvoxClosedAttempts\":0,\"tvoxClosedTimeout\":0,\"voicemailAttempts\":0,\"voicemailEnabled\":true,\"voicemailTimeout\":0}"
response = http.request(request)
puts response.read_body
POST /rest/powerdialer/phone/list
Parameters
Body parameter
{
"busyAttempts": 0,
"busyTimeout": 0,
"cancelAttempts": 0,
"cancelTimeout": 0,
"congestionAttempts": 0,
"congestionTimeout": 0,
"id": 0,
"name": "string",
"noAnswerAttempts": 0,
"noAnswerTimeout": 0,
"tvoxClosedAttempts": 0,
"tvoxClosedTimeout": 0,
"voicemailAttempts": 0,
"voicemailEnabled": true,
"voicemailTimeout": 0
}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | PDList | true | List to create |
Responses
Example responses
default Response
{
"busyAttempts": 0,
"busyTimeout": 0,
"cancelAttempts": 0,
"cancelTimeout": 0,
"congestionAttempts": 0,
"congestionTimeout": 0,
"id": 0,
"name": "string",
"noAnswerAttempts": 0,
"noAnswerTimeout": 0,
"tvoxClosedAttempts": 0,
"tvoxClosedTimeout": 0,
"voicemailAttempts": 0,
"voicemailEnabled": true,
"voicemailTimeout": 0
}
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
409 | Conflict | Error: Object already exists. | None |
default | Default | Created list | PDList |
Update list
Code samples
PUT /tvox/rest/powerdialer/phone/list HTTP/1.1
Content-Type: application/json
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
Content-Length: 292
{"busyAttempts":0,"busyTimeout":0,"cancelAttempts":0,"cancelTimeout":0,"congestionAttempts":0,"congestionTimeout":0,"id":0,"name":"string","noAnswerAttempts":0,"noAnswerTimeout":0,"tvoxClosedAttempts":0,"tvoxClosedTimeout":0,"voicemailAttempts":0,"voicemailEnabled":true,"voicemailTimeout":0}
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => "{\"busyAttempts\":0,\"busyTimeout\":0,\"cancelAttempts\":0,\"cancelTimeout\":0,\"congestionAttempts\":0,\"congestionTimeout\":0,\"id\":0,\"name\":\"string\",\"noAnswerAttempts\":0,\"noAnswerTimeout\":0,\"tvoxClosedAttempts\":0,\"tvoxClosedTimeout\":0,\"voicemailAttempts\":0,\"voicemailEnabled\":true,\"voicemailTimeout\":0}",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Content-Type: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request PUT \
--url https://tvox_host/tvox/rest/powerdialer/phone/list \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID' \
--data '{"busyAttempts":0,"busyTimeout":0,"cancelAttempts":0,"cancelTimeout":0,"congestionAttempts":0,"congestionTimeout":0,"id":0,"name":"string","noAnswerAttempts":0,"noAnswerTimeout":0,"tvoxClosedAttempts":0,"tvoxClosedTimeout":0,"voicemailAttempts":0,"voicemailEnabled":true,"voicemailTimeout":0}'
HttpResponse<String> response = Unirest.put("https://tvox_host/tvox/rest/powerdialer/phone/list")
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.body("{\"busyAttempts\":0,\"busyTimeout\":0,\"cancelAttempts\":0,\"cancelTimeout\":0,\"congestionAttempts\":0,\"congestionTimeout\":0,\"id\":0,\"name\":\"string\",\"noAnswerAttempts\":0,\"noAnswerTimeout\":0,\"tvoxClosedAttempts\":0,\"tvoxClosedTimeout\":0,\"voicemailAttempts\":0,\"voicemailEnabled\":true,\"voicemailTimeout\":0}")
.asString();
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/list"
payload := strings.NewReader("{\"busyAttempts\":0,\"busyTimeout\":0,\"cancelAttempts\":0,\"cancelTimeout\":0,\"congestionAttempts\":0,\"congestionTimeout\":0,\"id\":0,\"name\":\"string\",\"noAnswerAttempts\":0,\"noAnswerTimeout\":0,\"tvoxClosedAttempts\":0,\"tvoxClosedTimeout\":0,\"voicemailAttempts\":0,\"voicemailEnabled\":true,\"voicemailTimeout\":0}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = JSON.stringify({
"busyAttempts": 0,
"busyTimeout": 0,
"cancelAttempts": 0,
"cancelTimeout": 0,
"congestionAttempts": 0,
"congestionTimeout": 0,
"id": 0,
"name": "string",
"noAnswerAttempts": 0,
"noAnswerTimeout": 0,
"tvoxClosedAttempts": 0,
"tvoxClosedTimeout": 0,
"voicemailAttempts": 0,
"voicemailEnabled": true,
"voicemailTimeout": 0
});
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("PUT", "https://tvox_host/tvox/rest/powerdialer/phone/list");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "PUT",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/list",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({
busyAttempts: 0,
busyTimeout: 0,
cancelAttempts: 0,
cancelTimeout: 0,
congestionAttempts: 0,
congestionTimeout: 0,
id: 0,
name: 'string',
noAnswerAttempts: 0,
noAnswerTimeout: 0,
tvoxClosedAttempts: 0,
tvoxClosedTimeout: 0,
voicemailAttempts: 0,
voicemailEnabled: true,
voicemailTimeout: 0
}));
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
payload = "{\"busyAttempts\":0,\"busyTimeout\":0,\"cancelAttempts\":0,\"cancelTimeout\":0,\"congestionAttempts\":0,\"congestionTimeout\":0,\"id\":0,\"name\":\"string\",\"noAnswerAttempts\":0,\"noAnswerTimeout\":0,\"tvoxClosedAttempts\":0,\"tvoxClosedTimeout\":0,\"voicemailAttempts\":0,\"voicemailEnabled\":true,\"voicemailTimeout\":0}"
headers = {
'Content-Type': "application/json",
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("PUT", "/tvox/rest/powerdialer/phone/list", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
request.body = "{\"busyAttempts\":0,\"busyTimeout\":0,\"cancelAttempts\":0,\"cancelTimeout\":0,\"congestionAttempts\":0,\"congestionTimeout\":0,\"id\":0,\"name\":\"string\",\"noAnswerAttempts\":0,\"noAnswerTimeout\":0,\"tvoxClosedAttempts\":0,\"tvoxClosedTimeout\":0,\"voicemailAttempts\":0,\"voicemailEnabled\":true,\"voicemailTimeout\":0}"
response = http.request(request)
puts response.read_body
PUT /rest/powerdialer/phone/list
Parameters
Body parameter
{
"busyAttempts": 0,
"busyTimeout": 0,
"cancelAttempts": 0,
"cancelTimeout": 0,
"congestionAttempts": 0,
"congestionTimeout": 0,
"id": 0,
"name": "string",
"noAnswerAttempts": 0,
"noAnswerTimeout": 0,
"tvoxClosedAttempts": 0,
"tvoxClosedTimeout": 0,
"voicemailAttempts": 0,
"voicemailEnabled": true,
"voicemailTimeout": 0
}
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | PDList | true | List to update |
Responses
Example responses
default Response
{
"busyAttempts": 0,
"busyTimeout": 0,
"cancelAttempts": 0,
"cancelTimeout": 0,
"congestionAttempts": 0,
"congestionTimeout": 0,
"id": 0,
"name": "string",
"noAnswerAttempts": 0,
"noAnswerTimeout": 0,
"tvoxClosedAttempts": 0,
"tvoxClosedTimeout": 0,
"voicemailAttempts": 0,
"voicemailEnabled": true,
"voicemailTimeout": 0
}
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
404 | Not Found | Error: Object was not found. | None |
412 | Precondition Failed | Error: Object required. A required field is missing or empty | None |
default | Default | Updated list | PDList |
Delete list items (contacts)
Code samples
DELETE /tvox/rest/powerdialer/phone/list/items HTTP/1.1
Content-Type: application/json
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
Content-Length: 373
[{"campaignId":0,"contactInfo":{"addressbookBackendIds":["string"],"cap":"string","city":"string","company":"string","country":"string","department":"string","district":"string","id":"string","name":"string","organization":true,"otherName":"string","street":"string","surname":"string","vip":true},"data":["string"],"id":0,"itemNumber":0,"listId":0,"phoneNumber":"string"}]
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/list/items",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_POSTFIELDS => "[{\"campaignId\":0,\"contactInfo\":{\"addressbookBackendIds\":[\"string\"],\"cap\":\"string\",\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"department\":\"string\",\"district\":\"string\",\"id\":\"string\",\"name\":\"string\",\"organization\":true,\"otherName\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true},\"data\":[\"string\"],\"id\":0,\"itemNumber\":0,\"listId\":0,\"phoneNumber\":\"string\"}]",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Content-Type: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request DELETE \
--url https://tvox_host/tvox/rest/powerdialer/phone/list/items \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID' \
--data '[{"campaignId":0,"contactInfo":{"addressbookBackendIds":["string"],"cap":"string","city":"string","company":"string","country":"string","department":"string","district":"string","id":"string","name":"string","organization":true,"otherName":"string","street":"string","surname":"string","vip":true},"data":["string"],"id":0,"itemNumber":0,"listId":0,"phoneNumber":"string"}]'
HttpResponse<String> response = Unirest.delete("https://tvox_host/tvox/rest/powerdialer/phone/list/items")
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.body("[{\"campaignId\":0,\"contactInfo\":{\"addressbookBackendIds\":[\"string\"],\"cap\":\"string\",\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"department\":\"string\",\"district\":\"string\",\"id\":\"string\",\"name\":\"string\",\"organization\":true,\"otherName\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true},\"data\":[\"string\"],\"id\":0,\"itemNumber\":0,\"listId\":0,\"phoneNumber\":\"string\"}]")
.asString();
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/list/items"
payload := strings.NewReader("[{\"campaignId\":0,\"contactInfo\":{\"addressbookBackendIds\":[\"string\"],\"cap\":\"string\",\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"department\":\"string\",\"district\":\"string\",\"id\":\"string\",\"name\":\"string\",\"organization\":true,\"otherName\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true},\"data\":[\"string\"],\"id\":0,\"itemNumber\":0,\"listId\":0,\"phoneNumber\":\"string\"}]")
req, _ := http.NewRequest("DELETE", url, payload)
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = JSON.stringify([
{
"campaignId": 0,
"contactInfo": {
"addressbookBackendIds": [
"string"
],
"cap": "string",
"city": "string",
"company": "string",
"country": "string",
"department": "string",
"district": "string",
"id": "string",
"name": "string",
"organization": true,
"otherName": "string",
"street": "string",
"surname": "string",
"vip": true
},
"data": [
"string"
],
"id": 0,
"itemNumber": 0,
"listId": 0,
"phoneNumber": "string"
}
]);
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("DELETE", "https://tvox_host/tvox/rest/powerdialer/phone/list/items");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "DELETE",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/list/items",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify([
{
campaignId: 0,
contactInfo: {
addressbookBackendIds: ['string'],
cap: 'string',
city: 'string',
company: 'string',
country: 'string',
department: 'string',
district: 'string',
id: 'string',
name: 'string',
organization: true,
otherName: 'string',
street: 'string',
surname: 'string',
vip: true
},
data: ['string'],
id: 0,
itemNumber: 0,
listId: 0,
phoneNumber: 'string'
}
]));
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
payload = "[{\"campaignId\":0,\"contactInfo\":{\"addressbookBackendIds\":[\"string\"],\"cap\":\"string\",\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"department\":\"string\",\"district\":\"string\",\"id\":\"string\",\"name\":\"string\",\"organization\":true,\"otherName\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true},\"data\":[\"string\"],\"id\":0,\"itemNumber\":0,\"listId\":0,\"phoneNumber\":\"string\"}]"
headers = {
'Content-Type': "application/json",
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("DELETE", "/tvox/rest/powerdialer/phone/list/items", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/list/items")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Delete.new(url)
request["Content-Type"] = 'application/json'
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
request.body = "[{\"campaignId\":0,\"contactInfo\":{\"addressbookBackendIds\":[\"string\"],\"cap\":\"string\",\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"department\":\"string\",\"district\":\"string\",\"id\":\"string\",\"name\":\"string\",\"organization\":true,\"otherName\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true},\"data\":[\"string\"],\"id\":0,\"itemNumber\":0,\"listId\":0,\"phoneNumber\":\"string\"}]"
response = http.request(request)
puts response.read_body
DELETE /rest/powerdialer/phone/list/items
Delete items (contacts) from a list associated with a campaign.
Once contacts have been deleted, it is necessary to perform a reset of campaign list stats to consolidate them (query param: resetStats).
Parameters
Body parameter
[
{
"campaignId": 0,
"contactInfo": {
"addressbookBackendIds": [
"string"
],
"cap": "string",
"city": "string",
"company": "string",
"country": "string",
"department": "string",
"district": "string",
"id": "string",
"name": "string",
"organization": true,
"otherName": "string",
"street": "string",
"surname": "string",
"vip": true
},
"data": [
"string"
],
"id": 0,
"itemNumber": 0,
"listId": 0,
"phoneNumber": "string"
}
]
Name | In | Type | Required | Description |
---|---|---|---|---|
resetStats | query | boolean | false | Reset campaign list stats after items deleting (if active, campaign will be restarted) |
body | body | [PDInterfaceItem] | true | List items (contacts) to delete |
Responses
Example responses
default Response
{
"campaignId": 0,
"contactInfo": {
"addressbookBackendIds": [
"string"
],
"cap": "string",
"city": "string",
"company": "string",
"country": "string",
"department": "string",
"district": "string",
"id": "string",
"name": "string",
"organization": true,
"otherName": "string",
"street": "string",
"surname": "string",
"vip": true
},
"data": [
"string"
],
"id": 0,
"itemNumber": 0,
"listId": 0,
"phoneNumber": "string"
}
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
404 | Not Found | Error: Object was not found. | None |
412 | Precondition Failed | Error: Object required. A required field is missing or empty | None |
default | Default | Deleted list items | [PDInterfaceItem] |
Add list items (contacts)
Code samples
POST /tvox/rest/powerdialer/phone/list/items HTTP/1.1
Content-Type: application/json
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
Content-Length: 373
[{"campaignId":0,"contactInfo":{"addressbookBackendIds":["string"],"cap":"string","city":"string","company":"string","country":"string","department":"string","district":"string","id":"string","name":"string","organization":true,"otherName":"string","street":"string","surname":"string","vip":true},"data":["string"],"id":0,"itemNumber":0,"listId":0,"phoneNumber":"string"}]
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/list/items",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "[{\"campaignId\":0,\"contactInfo\":{\"addressbookBackendIds\":[\"string\"],\"cap\":\"string\",\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"department\":\"string\",\"district\":\"string\",\"id\":\"string\",\"name\":\"string\",\"organization\":true,\"otherName\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true},\"data\":[\"string\"],\"id\":0,\"itemNumber\":0,\"listId\":0,\"phoneNumber\":\"string\"}]",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Content-Type: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request POST \
--url https://tvox_host/tvox/rest/powerdialer/phone/list/items \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID' \
--data '[{"campaignId":0,"contactInfo":{"addressbookBackendIds":["string"],"cap":"string","city":"string","company":"string","country":"string","department":"string","district":"string","id":"string","name":"string","organization":true,"otherName":"string","street":"string","surname":"string","vip":true},"data":["string"],"id":0,"itemNumber":0,"listId":0,"phoneNumber":"string"}]'
HttpResponse<String> response = Unirest.post("https://tvox_host/tvox/rest/powerdialer/phone/list/items")
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.body("[{\"campaignId\":0,\"contactInfo\":{\"addressbookBackendIds\":[\"string\"],\"cap\":\"string\",\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"department\":\"string\",\"district\":\"string\",\"id\":\"string\",\"name\":\"string\",\"organization\":true,\"otherName\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true},\"data\":[\"string\"],\"id\":0,\"itemNumber\":0,\"listId\":0,\"phoneNumber\":\"string\"}]")
.asString();
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/list/items"
payload := strings.NewReader("[{\"campaignId\":0,\"contactInfo\":{\"addressbookBackendIds\":[\"string\"],\"cap\":\"string\",\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"department\":\"string\",\"district\":\"string\",\"id\":\"string\",\"name\":\"string\",\"organization\":true,\"otherName\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true},\"data\":[\"string\"],\"id\":0,\"itemNumber\":0,\"listId\":0,\"phoneNumber\":\"string\"}]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = JSON.stringify([
{
"campaignId": 0,
"contactInfo": {
"addressbookBackendIds": [
"string"
],
"cap": "string",
"city": "string",
"company": "string",
"country": "string",
"department": "string",
"district": "string",
"id": "string",
"name": "string",
"organization": true,
"otherName": "string",
"street": "string",
"surname": "string",
"vip": true
},
"data": [
"string"
],
"id": 0,
"itemNumber": 0,
"listId": 0,
"phoneNumber": "string"
}
]);
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://tvox_host/tvox/rest/powerdialer/phone/list/items");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "POST",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/list/items",
"headers": {
"Content-Type": "application/json",
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify([
{
campaignId: 0,
contactInfo: {
addressbookBackendIds: ['string'],
cap: 'string',
city: 'string',
company: 'string',
country: 'string',
department: 'string',
district: 'string',
id: 'string',
name: 'string',
organization: true,
otherName: 'string',
street: 'string',
surname: 'string',
vip: true
},
data: ['string'],
id: 0,
itemNumber: 0,
listId: 0,
phoneNumber: 'string'
}
]));
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
payload = "[{\"campaignId\":0,\"contactInfo\":{\"addressbookBackendIds\":[\"string\"],\"cap\":\"string\",\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"department\":\"string\",\"district\":\"string\",\"id\":\"string\",\"name\":\"string\",\"organization\":true,\"otherName\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true},\"data\":[\"string\"],\"id\":0,\"itemNumber\":0,\"listId\":0,\"phoneNumber\":\"string\"}]"
headers = {
'Content-Type': "application/json",
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("POST", "/tvox/rest/powerdialer/phone/list/items", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/list/items")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
request.body = "[{\"campaignId\":0,\"contactInfo\":{\"addressbookBackendIds\":[\"string\"],\"cap\":\"string\",\"city\":\"string\",\"company\":\"string\",\"country\":\"string\",\"department\":\"string\",\"district\":\"string\",\"id\":\"string\",\"name\":\"string\",\"organization\":true,\"otherName\":\"string\",\"street\":\"string\",\"surname\":\"string\",\"vip\":true},\"data\":[\"string\"],\"id\":0,\"itemNumber\":0,\"listId\":0,\"phoneNumber\":\"string\"}]"
response = http.request(request)
puts response.read_body
POST /rest/powerdialer/phone/list/items
Add items (contacts) to a list associated with a campaign; in addition to the contact's phone number, useful information can be entered to generate a screen popup on operator's position, which can be managed via Popup Manager or Notification Service.
Once contacts have been added, it is necessary to perform a reset of campaign list stats to consolidate them and make them available to Power Dialer campaign (query param: resetStats).
In addition, the contact associated with the specified phone number can be created or updated in the addressbook by populating the "contactInfo" field.
Parameters
Body parameter
[
{
"campaignId": 0,
"contactInfo": {
"addressbookBackendIds": [
"string"
],
"cap": "string",
"city": "string",
"company": "string",
"country": "string",
"department": "string",
"district": "string",
"id": "string",
"name": "string",
"organization": true,
"otherName": "string",
"street": "string",
"surname": "string",
"vip": true
},
"data": [
"string"
],
"id": 0,
"itemNumber": 0,
"listId": 0,
"phoneNumber": "string"
}
]
Name | In | Type | Required | Description |
---|---|---|---|---|
resetStats | query | boolean | false | Reset campaign list stats after items adding (if active, campaign will be restarted) |
body | body | [PDInterfaceItem] | true | List items (contacts) to add |
Responses
Example responses
default Response
{
"campaignId": 0,
"contactInfo": {
"addressbookBackendIds": [
"string"
],
"cap": "string",
"city": "string",
"company": "string",
"country": "string",
"department": "string",
"district": "string",
"id": "string",
"name": "string",
"organization": true,
"otherName": "string",
"street": "string",
"surname": "string",
"vip": true
},
"data": [
"string"
],
"id": 0,
"itemNumber": 0,
"listId": 0,
"phoneNumber": "string"
}
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
404 | Not Found | Error: Object was not found. | None |
412 | Precondition Failed | Error: Object required. A required field is missing or empty | None |
default | Default | Added list items | [PDInterfaceItem] |
Delete all list items (contacts)
Code samples
POST /tvox/rest/powerdialer/phone/list/items/reset HTTP/1.1
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/list/items/reset",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request POST \
--url https://tvox_host/tvox/rest/powerdialer/phone/list/items/reset \
--header 'Accept: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID'
HttpResponse<String> response = Unirest.post("https://tvox_host/tvox/rest/powerdialer/phone/list/items/reset")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/list/items/reset"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://tvox_host/tvox/rest/powerdialer/phone/list/items/reset");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "POST",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/list/items/reset",
"headers": {
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = {
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("POST", "/tvox/rest/powerdialer/phone/list/items/reset", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/list/items/reset")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
response = http.request(request)
puts response.read_body
POST /rest/powerdialer/phone/list/items/reset
Responses
Example responses
default Response
true
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
default | Default | List items (contacts) reset | boolean |
Search lists
Code samples
GET /tvox/rest/powerdialer/phone/list/search HTTP/1.1
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/list/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request GET \
--url https://tvox_host/tvox/rest/powerdialer/phone/list/search \
--header 'Accept: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID'
HttpResponse<String> response = Unirest.get("https://tvox_host/tvox/rest/powerdialer/phone/list/search")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/list/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://tvox_host/tvox/rest/powerdialer/phone/list/search");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "GET",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/list/search",
"headers": {
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = {
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("GET", "/tvox/rest/powerdialer/phone/list/search", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/list/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
response = http.request(request)
puts response.read_body
GET /rest/powerdialer/phone/list/search
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
term | query | string | false | Term to search within the list id or name |
pageNumber | query | integer(int32) | false | Page number (must be greater than 0) |
pageSize | query | integer(int32) | false | Page size (must be greater than 0) |
Responses
Example responses
default Response
{
"result": [
{
"busyAttempts": 0,
"busyTimeout": 0,
"cancelAttempts": 0,
"cancelTimeout": 0,
"congestionAttempts": 0,
"congestionTimeout": 0,
"id": 0,
"name": "string",
"noAnswerAttempts": 0,
"noAnswerTimeout": 0,
"tvoxClosedAttempts": 0,
"tvoxClosedTimeout": 0,
"voicemailAttempts": 0,
"voicemailEnabled": true,
"voicemailTimeout": 0
}
],
"tot": 0
}
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
default | Default | Searched lists | SearchResultPDList |
Reset campaign list stats
Code samples
POST /tvox/rest/powerdialer/phone/list/stats/reset/0/0 HTTP/1.1
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/list/stats/reset/0/0",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request POST \
--url https://tvox_host/tvox/rest/powerdialer/phone/list/stats/reset/0/0 \
--header 'Accept: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID'
HttpResponse<String> response = Unirest.post("https://tvox_host/tvox/rest/powerdialer/phone/list/stats/reset/0/0")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/list/stats/reset/0/0"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://tvox_host/tvox/rest/powerdialer/phone/list/stats/reset/0/0");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "POST",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/list/stats/reset/0/0",
"headers": {
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = {
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("POST", "/tvox/rest/powerdialer/phone/list/stats/reset/0/0", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/list/stats/reset/0/0")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
response = http.request(request)
puts response.read_body
POST /rest/powerdialer/phone/list/stats/reset/{campaignId}/{listId}
Reset campaign stats and make available to it the new contacts in the a specific list associated with the campaign.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
campaignId | path | integer(int32) | true | Campaign id |
listId | path | integer(int32) | true | List id |
Responses
Example responses
default Response
true
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
404 | Not Found | Error: Object was not found. | None |
412 | Precondition Failed | Error: Object required. A required field is missing or empty | None |
default | Default | Campaing list stats reset | boolean |
Delete list
Code samples
DELETE /tvox/rest/powerdialer/phone/list/0 HTTP/1.1
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/list/0",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request DELETE \
--url https://tvox_host/tvox/rest/powerdialer/phone/list/0 \
--header 'Accept: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID'
HttpResponse<String> response = Unirest.delete("https://tvox_host/tvox/rest/powerdialer/phone/list/0")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/list/0"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("DELETE", "https://tvox_host/tvox/rest/powerdialer/phone/list/0");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "DELETE",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/list/0",
"headers": {
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = {
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("DELETE", "/tvox/rest/powerdialer/phone/list/0", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/list/0")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Delete.new(url)
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
response = http.request(request)
puts response.read_body
DELETE /rest/powerdialer/phone/list/{id}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | List id |
Responses
Example responses
default Response
true
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
403 | Forbidden | Error: Object is in use by another object. | None |
404 | Not Found | Error: Object was not found. | None |
412 | Precondition Failed | Error: Object required. A required field is missing or empty | None |
default | Default | List deleted | boolean |
Get list
Code samples
GET /tvox/rest/powerdialer/phone/list/0 HTTP/1.1
Accept: application/json
Cookie: JSESSIONID=SESSION_ID
Host: tvox_host
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tvox_host/tvox/rest/powerdialer/phone/list/0",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Cookie: JSESSIONID=SESSION_ID"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
curl --request GET \
--url https://tvox_host/tvox/rest/powerdialer/phone/list/0 \
--header 'Accept: application/json' \
--header 'Cookie: JSESSIONID=SESSION_ID'
HttpResponse<String> response = Unirest.get("https://tvox_host/tvox/rest/powerdialer/phone/list/0")
.header("Accept", "application/json")
.header("Cookie", "JSESSIONID=SESSION_ID")
.asString();
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://tvox_host/tvox/rest/powerdialer/phone/list/0"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("Cookie", "JSESSIONID=SESSION_ID")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("GET", "https://tvox_host/tvox/rest/powerdialer/phone/list/0");
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Cookie", "JSESSIONID=SESSION_ID");
xhr.send(data);
const http = require("https");
const options = {
"method": "GET",
"hostname": "tvox_host",
"port": null,
"path": "/tvox/rest/powerdialer/phone/list/0",
"headers": {
"Accept": "application/json",
"Cookie": "JSESSIONID=SESSION_ID"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
import http.client
conn = http.client.HTTPSConnection("tvox_host")
headers = {
'Accept': "application/json",
'Cookie': "JSESSIONID=SESSION_ID"
}
conn.request("GET", "/tvox/rest/powerdialer/phone/list/0", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://tvox_host/tvox/rest/powerdialer/phone/list/0")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
request["Cookie"] = 'JSESSIONID=SESSION_ID'
response = http.request(request)
puts response.read_body
GET /rest/powerdialer/phone/list/{id}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | integer(int32) | true | List id |
Responses
Example responses
default Response
{
"busyAttempts": 0,
"busyTimeout": 0,
"cancelAttempts": 0,
"cancelTimeout": 0,
"congestionAttempts": 0,
"congestionTimeout": 0,
"id": 0,
"name": "string",
"noAnswerAttempts": 0,
"noAnswerTimeout": 0,
"tvoxClosedAttempts": 0,
"tvoxClosedTimeout": 0,
"voicemailAttempts": 0,
"voicemailEnabled": true,
"voicemailTimeout": 0
}
Status | Meaning | Description | Schema |
---|---|---|---|
401 | Unauthorized | Error: Authorization required. Request is not authenticated or current user session is expired | None |
404 | Not Found | Error: Object was not found. | None |
412 | Precondition Failed | Error: Object required. A required field is missing or empty | None |
default | Default | Requested list | PDList |
Schemas
APIVersion
TVox and API version
Properties
{
"tvoxVersion": "string",
"webapiVersion": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
tvoxVersion | string | false | none | TVox Version |
webapiVersion | string | false | none | API Version |
Abilitazione
Enabling for outgoing calls
Properties
{
"descrizione": "string",
"id": 0
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
descrizione | string | true | none | Enabling description |
id | integer(int32) | true | none | Enabling ID |
AddressbookContactCustom
List of contact custom fields
Properties
{
"key": "CUSTOM_01",
"value": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
key | string | false | none | none |
value | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
key | CUSTOM_01 |
key | CUSTOM_02 |
key | CUSTOM_03 |
key | CUSTOM_04 |
key | CUSTOM_05 |
key | CUSTOM_06 |
key | CUSTOM_07 |
key | CUSTOM_08 |
key | CUSTOM_09 |
key | CUSTOM_10 |
AddressbookContactEmail
List of contact emails (max: 10)
Properties
{
"type": "INTERNET_WORK",
"value": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | string | false | none | none |
value | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
type | INTERNET_WORK |
type | INTERNET_HOME |
AddressbookContactExternal
External addressbook contact
Properties
{
"addressbookBackendId": "string",
"agentNote": "string",
"cap": "string",
"categories": [
"string"
],
"city": "string",
"company": "string",
"country": "string",
"customFields": [
{
"key": "CUSTOM_01",
"value": "string"
}
],
"department": "string",
"district": "string",
"emails": [
{
"type": "INTERNET_WORK",
"value": "string"
}
],
"id": "string",
"name": "string",
"note": "string",
"numbers": [
{
"type": "FAX",
"value": "string"
}
],
"otherName": "string",
"role": "string",
"street": "string",
"surname": "string",
"vip": true,
"webSites": [
{
"type": "WORK",
"value": "string"
}
]
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
addressbookBackendId | string | false | none | Addressbook backend id in which to create or update the contact. If not specified, the external addressbook default backend is used. |
agentNote | string | false | none | Contact agent note |
cap | string | false | none | Contact cap |
categories | [string] | false | none | List of contact categories |
city | string | false | none | Contact city |
company | string | false | none | Contact company (one of name, surname or company must be specified) |
country | string | false | none | Contact country |
customFields | [AddressbookContactCustom] | false | none | List of contact custom fields |
department | string | false | none | Contact department |
district | string | false | none | Contact district |
emails | [AddressbookContactEmail] | false | none | List of contact emails (max: 10) |
id | string | false | none | Contact id |
name | string | false | none | Contact name (one of name, surname or company must be specified) |
note | string | false | none | Contact note |
numbers | [AddressbookContactNumber] | false | none | List of contact numbers (max: 10) |
otherName | string | false | none | Contact other name |
role | string | false | none | Contact role |
street | string | false | none | Contact street |
surname | string | false | none | Contact surname (one of name, surname or company must be specified) |
vip | boolean | true | none | Contact vip |
webSites | [AddressbookContactWebSite] | false | none | List of contact web sites (max: 3) |
AddressbookContactNumber
List of contact numbers (max: 10)
Properties
{
"type": "FAX",
"value": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | string | false | none | none |
value | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
type | FAX |
type | HOME |
type | CELL |
type | WORK |
type | CELL_WORK |
type | FAX_WORK |
type | FAX_HOME |
type | CELL_HOME |
type | MAIN |
type | OTHER |
AddressbookContactWebSite
List of contact web sites (max: 3)
Properties
{
"type": "WORK",
"value": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | string | false | none | none |
value | string | false | none | none |
Enumerated Values
Property | Value |
---|---|
type | WORK |
type | HOME |
Language
Language
Properties
"IT"
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | Language |
Enumerated Values
Property | Value |
---|---|
anonymous | IT |
anonymous | it_IT |
anonymous | EN |
anonymous | en_US |
LoginByAccessTokenRequest
Login with access token request
Properties
{
"accessToken": "string",
"version": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accessToken | string | true | none | Access Token |
version | string | true | none | API version |
LoginProfile
Logged user profile
Properties
{
"accessToken": "string",
"anonymous": true,
"chatAuthToken": "string",
"chatUri": "string",
"chatUserId": "string",
"language": "IT",
"logged": true,
"name": "string",
"profileRoles": [
"string"
],
"publicUsername": "string",
"pwdChangeable": true,
"sessionId": "string",
"status": "UNKNOWN",
"surname": "string",
"userPermissions": [
"SUPERUSER"
],
"username": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accessToken | string | true | none | Access Token |
anonymous | boolean | true | none | Anonymous user |
chatAuthToken | string | false | none | Chat auth token |
chatUri | string | false | none | Chat URI |
chatUserId | string | false | none | Chat user ID |
language | Language | false | none | Language |
logged | boolean | true | none | Logged |
name | string | false | none | none |
profileRoles | [string] | false | none | User roles |
publicUsername | string | true | none | Public username |
pwdChangeable | boolean | true | none | Password changeable |
sessionId | string | true | none | Session ID |
status | string | true | none | Login status |
surname | string | false | none | none |
userPermissions | [UserPermission] | false | none | User permissions |
username | string | true | none | Username |
Enumerated Values
Property | Value |
---|---|
status | UNKNOWN |
status | LOGGED |
status | NOTLOGGED |
status | RETRY |
status | REFRESH |
status | SOCKET_NOTLOGGED |
status | PASSWORD_EXPIRED |
status | SOCKET_CLOSED_REQUEST_FORCE |
status | SOCKET_CLOSED_BY_USER |
status | SOCKET_CLOSED_USER_NOT_ENABLED |
status | SOCKET_CLOSED_USER_NOT_ENABLED_MCS |
LoginRequest
Login with credentials request
Properties
{
"password": "string",
"username": "string",
"version": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
password | string | true | none | Password |
username | string | true | none | Username |
version | string | true | none | API version |
PDCampaign
Power Dialer Campaign
Properties
{
"abilitazioneId": 0,
"busyChannels": 0,
"busyChannelsType": "PRESENT",
"enabled": true,
"endDate": "2019-08-24T14:15:22Z",
"id": 0,
"lists": [
{
"enabled": true,
"listId": 0,
"priority": 0
}
],
"name": "string",
"priority": 1,
"reservedChannels": 0,
"serviceCode": "string",
"startDate": "2019-08-24T14:15:22Z"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
abilitazioneId | integer(int32) | false | none | Enable outgoing calls to which the campaign is assigned. If not specified, the global one is used. |
busyChannels | integer(int32) | false | none | Number of channels involved in exit from TVox Communication for the current campaign calculated as a percentage of the resources on or available from those skillate for the associated service (in %, from 0 to 400). This number is, however, limited by the number of channels reserved to the campaign. |
busyChannelsType | string | false | none | Type of resources (AVAILABLE / PRESENT). Available Resources (AVAILABLE) are the agents logged in to the service whose status is different from Not Ready (NR) or not ready on busy (BUSY); Total Resources (PRESENT) are the agents logged in to the service. |
enabled | boolean | true | none | Campaign enabled |
endDate | string(date-time) | true | none | Campaign end date |
id | integer(int32) | true | none | Campaing id |
lists | [PDCampaignList] | false | none | Campaign lists |
name | string | false | none | Campaign name |
priority | integer(int32) | false | none | Campaign priority (1: low, 10: high). The value assigned is meaningful in situations in which you are working with contemporary campaigns and goes to affect the level of employment of telephone channels by which the TVox Communication evades the contacts of the campaign. |
reservedChannels | integer(int32) | false | none | Maximum number of telephone channels output from TVox Communication used by the current campaign calculated as a percentage of total channels configured for TVox Communication Power Dialing (in %, from 0 to 100). |
serviceCode | string | false | none | Power Dialer service for the campaign |
startDate | string(date-time) | true | none | Campaign start date |
Enumerated Values
Property | Value |
---|---|
busyChannelsType | PRESENT |
busyChannelsType | AVAILABLE |
PDCampaignList
Power Dialer Campaign List
Properties
{
"enabled": true,
"listId": 0,
"priority": 0
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
enabled | boolean | false | none | Enable the contact list for the current campaign |
listId | integer(int32) | false | none | List id |
priority | integer(int32) | false | none | Percentage weight that you assign to your contacts list to the total. This value takes on meaning when you work with more than one list at the same time associated with the current campaign. |
PDConf
Power Dialer general settings
Properties
{
"abilitazione": {
"descrizione": "string",
"id": 0
},
"enabled": true,
"maxChannels": 0,
"ringTimeout": 0
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
abilitazione | Abilitazione | false | none | Enabling for outgoing calls |
enabled | boolean | false | none | Power Dialing enabled |
maxChannels | integer(int32) | false | none | Maximum available channels |
ringTimeout | integer(int32) | false | none | Maximum ring time (seconds) |
PDContactInfo
Power Dialer List Item contact info
Properties
{
"addressbookBackendIds": [
"string"
],
"cap": "string",
"city": "string",
"company": "string",
"country": "string",
"department": "string",
"district": "string",
"id": "string",
"name": "string",
"organization": true,
"otherName": "string",
"street": "string",
"surname": "string",
"vip": true
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
addressbookBackendIds | [string] | false | none | List of addressbook ids in which to create or update the contact. If not specified, the addressbooks associated with the campaign service are used. |
cap | string | false | none | Contact cap |
city | string | false | none | Contact city |
company | string | false | none | Contact company (one of name, surname or company must be specified) |
country | string | false | none | Contact country |
department | string | false | none | Contact department |
district | string | false | none | Contact district |
id | string | false | none | Contact id |
name | string | false | none | Contact name (one of name, surname or company must be specified) |
organization | boolean | true | none | Contact is an organization |
otherName | string | false | none | Contact other name |
street | string | false | none | Contact street |
surname | string | false | none | Contact surname (one of name, surname or company must be specified) |
vip | boolean | true | none | Contact vip |
PDInterfaceItem
Power Dialer List Item (contact)
Properties
{
"campaignId": 0,
"contactInfo": {
"addressbookBackendIds": [
"string"
],
"cap": "string",
"city": "string",
"company": "string",
"country": "string",
"department": "string",
"district": "string",
"id": "string",
"name": "string",
"organization": true,
"otherName": "string",
"street": "string",
"surname": "string",
"vip": true
},
"data": [
"string"
],
"id": 0,
"itemNumber": 0,
"listId": 0,
"phoneNumber": "string"
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
campaignId | integer(int32) | true | none | Campaign id |
contactInfo | PDContactInfo | false | none | Power Dialer List Item contact info |
data | [string] | false | none | Item (contact) attached data. It is essential for the screen popup generation in the operator position. Data array will be joined with a pipe separator and the joined string length can not exceed 50 characters. |
id | integer(int32) | true | none | Item (contact) id |
itemNumber | integer(int32) | true | none | Item (contact) phone number id. Uniquely identifies in case an item (contact) has more than one phone number. |
listId | integer(int32) | true | none | List id |
phoneNumber | string | true | none | Item (contact) phone number |
PDList
Power Dialer List
Properties
{
"busyAttempts": 0,
"busyTimeout": 0,
"cancelAttempts": 0,
"cancelTimeout": 0,
"congestionAttempts": 0,
"congestionTimeout": 0,
"id": 0,
"name": "string",
"noAnswerAttempts": 0,
"noAnswerTimeout": 0,
"tvoxClosedAttempts": 0,
"tvoxClosedTimeout": 0,
"voicemailAttempts": 0,
"voicemailEnabled": true,
"voicemailTimeout": 0
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
busyAttempts | integer(int32) | true | none | Attempts: the contact is busy on another call |
busyTimeout | integer(int32) | true | none | Timeout between attempts: the contact is busy on another call |
cancelAttempts | integer(int32) | true | none | Attempts: the contact has answered the call and then hang up before being put in touch with the service associated with the campaign |
cancelTimeout | integer(int32) | true | none | Timeout between attempts: the contact has answered the call and then hang up before being put in touch with the service associated with the campaign |
congestionAttempts | integer(int32) | true | none | Attempts: the system TVox Communication Power Dialing found no telephone channel available to make the call or, alternatively, the number dialed is not a valid result |
congestionTimeout | integer(int32) | true | none | Timeout between attempts: the system TVox Communication Power Dialing found no telephone channel available to make the call or, alternatively, the number dialed is not a valid result |
id | integer(int32) | true | none | List id |
name | string | false | none | List name |
noAnswerAttempts | integer(int32) | true | none | Attempts: no answer provided by the contact called. |
noAnswerTimeout | integer(int32) | true | none | Timeout between attempts: no answer provided by the contact called |
tvoxClosedAttempts | integer(int32) | true | none | Attempts: the contact has responded and is still waiting to be served by service TVox Communication associated with the campaign. After expiry of the maximum time to wait on the service contact has been hung up |
tvoxClosedTimeout | integer(int32) | true | none | Timeout between attempts: the contact has responded and is still waiting to be served by service TVox Communication associated with the campaign. After expiry of the maximum time to wait on the service contact has been hung up |
voicemailAttempts | integer(int32) | true | none | Attempts: the contact has active an answering machine or another auto responder |
voicemailEnabled | boolean | true | none | Enable voicemail (answering machine or another auto responder) detection (AMD) |
voicemailTimeout | integer(int32) | true | none | Timeout between attempts: the contact has active an answering machine or another auto responder |
SearchResultPDCampaign
Generic search result
Properties
{
"result": [
{
"abilitazioneId": 0,
"busyChannels": 0,
"busyChannelsType": "PRESENT",
"enabled": true,
"endDate": "2019-08-24T14:15:22Z",
"id": 0,
"lists": [
{
"enabled": true,
"listId": 0,
"priority": 0
}
],
"name": "string",
"priority": 1,
"reservedChannels": 0,
"serviceCode": "string",
"startDate": "2019-08-24T14:15:22Z"
}
],
"tot": 0
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
result | [PDCampaign] | false | none | Result list |
tot | integer(int32) | false | none | Result total size |
SearchResultPDList
Generic search result
Properties
{
"result": [
{
"busyAttempts": 0,
"busyTimeout": 0,
"cancelAttempts": 0,
"cancelTimeout": 0,
"congestionAttempts": 0,
"congestionTimeout": 0,
"id": 0,
"name": "string",
"noAnswerAttempts": 0,
"noAnswerTimeout": 0,
"tvoxClosedAttempts": 0,
"tvoxClosedTimeout": 0,
"voicemailAttempts": 0,
"voicemailEnabled": true,
"voicemailTimeout": 0
}
],
"tot": 0
}
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
result | [PDList] | false | none | Result list |
tot | integer(int32) | false | none | Result total size |
UserPermission
User permissions
Properties
"SUPERUSER"
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | string | false | none | User permissions |
Enumerated Values
Property | Value |
---|---|
anonymous | SUPERUSER |
anonymous | SYSTEM_ADMIN |
anonymous | SUPERVISOR |
anonymous | UC_USERS |
anonymous | UC_SERVICES |
anonymous | UC_GROUP |
anonymous | CC_USERS |
anonymous | CC_SERVICES |
anonymous | CC_SKILLSET |
anonymous | ADDRESSBOOK |
anonymous | ACTIVITY_CODES |
anonymous | CALL_RESULTS |
anonymous | SURVEY |
anonymous | AUDIO |
anonymous | POPUP_MANAGER |
anonymous | MAIL_CHANNEL |
anonymous | FACEBOOK_CHANNEL |
anonymous | TWITTER_CHANNEL |
anonymous | TELEGRAM_CHANNEL |
anonymous | IVR |
anonymous | DEVICES |
anonymous | DIALPLAN_ROUTING |
anonymous | SHORT_NUMBERS |
anonymous | CONFERENCE |
anonymous | PICKUP_GROUPS |
anonymous | FAX |
anonymous | ADVANCED_SETTINGS |
anonymous | EMAIL_SETTINGS |
anonymous | WIDGET |
anonymous | CALENDAR |
anonymous | GRTD |
anonymous | CALL_NAVIGATOR |
anonymous | DOWNLOAD_FILE_AUDIO_RECORDED |
anonymous | CHAT_NAVIGATOR |
anonymous | TICKET_NAVIGATOR |
anonymous | VIDEO_NAVIGATOR |
anonymous | SEND_ADMIN_CHAT |
anonymous | RESET_PASSWORD |
anonymous | CHANSPY |
anonymous | KNOWLEDGEBASE_READ |
anonymous | KNOWLEDGEBASE_WRITE |
anonymous | SUPPORT_EMAIL_FILTER |
anonymous | REPORT_EXPORT |
anonymous | CUSTOM_CHANNEL_NAVIGATOR |
anonymous | LIVE_HELP_NAVIGATOR |
anonymous | INTRANET_CONFIG |
Changelog
1.4.0
Available from: 24.5.0
- Features / Enhancements
- General documentation improvements
- Power Dialer > Add list to campaign: Added method to add one or more lists to campaign
- Power Dialer > Remove list from campaign: Added method to remove one or more lists from campaign
- Power Dialer > Delete list by name for call campaigns: Added method to delete list by name
- Power Dialer > Campaign id and list id are no longer required for creating campaigns and lists
- Power Dialer > Removed the following deprecated properties from PDList:
voicemailAttempts
,voicemailEnabled
,voicemailTimeout
- TVox Users Management > Acquire exten by pin: Added method to acquire exten on user by pin
- TVox Users Management > Force logout of agent: Added method to logout agent
- TVox Users Management > Get username by pin: Added method to get username of the user by pin
- TVox Users Management > Get user: Added method to get TVox user
- User devices > Get user devices: Added method to get user devices
1.3.1
Available from: 24.3.0
- Features / Enhancements
- Phone channel - Call > Added new methods to record calls (start and stop) and get user's service calls
1.3.0
Available from: 24.3.0
- Features / Enhancements
- Power Dialer > Add list items (contacts): Added scheduled date from which the contact is to be called (
scheduledDate
) - Chat > List chat session messages: Now you can list chat session messages by chat session id
- Power Dialer > Add list items (contacts): Added scheduled date from which the contact is to be called (
1.2.0
Available from: 22.2.0, 24.3.0
- Features / Enhancements
- Power Dialer >: Now you can manage instant messaging campaings, start/stop runs for them and filter these runs by campaign
- Power Dialer >: Removed
/phone
from requests' endpoints
1.1.3
Available from: 22.0.33, 22.1.11, 22.2.7, 22.3.6, 24.3.0
- Features / Enhancements
- SMS >: Now you can send SMS from specific enabled user to any number
1.1.2
Available from: 22.0.29, 22.1.10, 22.2.6, 22.3.4, 24.3.0
- Features / Enhancements
- Support channel - Ticket > Search tickets: Now you can search tickets by agents and customers
- Support channel - Ticket > Added new methods to get customers and agents list
1.1.1
Available from: 22.0.23, 22.1.7, 22.2.5, 22.3.3, 24.3.0
- Features / Enhancements
- Support channel - Ticket > Get ticket: Now you can get tickets for support channel
- Support channel - Ticket > Added new values for ticket context (
AGENT
,CUSTOMER
)
1.1.0
- Features / Enhancements
- Support channel - Ticket > Create ticket: Now you can create tickets for support channel
1.0.3
- Features / Enhancements
- Addressbook Contact External > Now you can create, read , update or delete a contact in external addressbook
- Phone channel - Call > Dial number: Now you can indicate the id of the contact on which the call made must lookup
1.0.2
- Features / Enhancements
- Power Dialer > Add list items (contacts): Now you can reset stats at the same time as inserting a contact in a list
- Power Dialer > Delete list items (contacts): Now you can delete one or more items from the contact list associated with a campaign that have yet to be called; also, you can reset stats at the same time as deleting a contact in a list
1.0.1
- Features / Enhancements
- Power Dialer > Add list items (contacts): Now you can specify contact information to create or update the contact in the address book
- Phone channel - Call: Added methods for call management (dial number, hangup call)
1.0.0
- First release
- Authentication, version and user session management
- Power Dialer campaign management for phone channel