NAV
Version: 1.0.3
HTTP cURL PHP JavaScript Node.JS Java Python Ruby Go

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

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:
  • Authorization required. Current user session is expired
  • Wrong version was given
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:
  • Authorization required. Username or password are invalid or user session is expired
  • Wrong version was given
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:
  • Authorization required. Access token is expired or invalid
  • Wrong version was given
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:
  • Object required. A required field is missing or empty
  • Dial number error. At least one device must be in use by the user
  • Dial number error. User's client is not logged in
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

1.3.1

Available from: 24.3.0

1.3.0

Available from: 24.3.0

1.2.0

Available from: 22.2.0, 24.3.0

1.1.3

Available from: 22.0.33, 22.1.11, 22.2.7, 22.3.6, 24.3.0

1.1.2

Available from: 22.0.29, 22.1.10, 22.2.6, 22.3.4, 24.3.0

1.1.1

Available from: 22.0.23, 22.1.7, 22.2.5, 22.3.3, 24.3.0

1.1.0

1.0.3

1.0.2

1.0.1

1.0.0