NAV
Version: 1.2.2
GraphQL cURL

Introduction

TVox provides standard reporting and a set of insights dashboards that allow monitoring of the service levels and occupation of Contact Center resources.

TVox Data Model responds the need to create customized reports or dashboards (for example integrating CRM data) by providing access to the TVox Contact Center statistical data.

TVox Data Model consists in:

Statistical data covers channels:

Requirements

API Reference

Overview

TVox Data Model API provides access to statistical data through Web requests.

Endpoint for requests is constructed as follows:

https://<TVOX_HOST>/datamodel/query

The API is build on GraphQL query language, which allows you to request exactly the information you need with a simple and intuitive syntax.

Consult the GraphQL Glossary for terminology.

Request

TVox Data Model API allows GET or POST requests over HTTPS protocol.

GET request

In GET request the query must be passed as value of the query parameter.

query {
  me {
    name
  }
}

Example:

https://<TVOX_HOST>/datamodel/query?query={me{name}}

POST request

POST request should use the application/json content type, and include a JSON-encoded body of the following form:

{ "query": "{me{name}}" }

Response

Regardless of the method by which the request was sent, the response is returned in the body of the request in JSON format. A query might result in some data and some errors, and those are returned in a JSON object of the form:

{ "data": { ... }, "errors": [ ... ] }

If there were no errors returned, the errors field is not be present on the response. If no data is returned the data field is only be included if the error occurred during execution.

Authentication

TVox Data Model provides authentication via API Key, which can be retrieved from OCC (Advanced > TVox Data Model).
To authenticate requests it is necessary to have an X-Telenia-APIKey header:

X-Telenia-APIKey: <YOUR_APIKEY>

Rate Limit

Requests to TVox Data Model API are subject to rate limit, i.e. a maximum number of requests that can be made within a certain time period.
The rate limit is 100 requests per minute.

Time Window

Given the nature of the statistical data that are reported by year / month, their request needs to specify the year and month in which to search the data.

Example:

search: { year: 1970, month: 1, ... }

Pagination

Statistical data can have very high cardinalities and a query without limits could lead to a reduction in server performance or, worse, to failure situations.
To avoid this, queries that include a list of elements as result are paged. This means that a limit (max: 1000) and an offset must be specified for each request.

Example:

search: { ..., pagination: { limit: 1000, offset: 0 } }

Sorting

It is possibile to return lists of elements thar are sorted (ordered) according to sort key and sort direction (ascending or descending).

Example:

search: { ..., sorting: { key: START_TIME, direction: ASC } }

Development & Testing

TVox Data Model provides an interactive web environment (Playground) for develop and testing your queries.

Playground

It can be reached at the following link:

https://<TVOX_HOST>/datamodel

The Playground consists of two main sections:

To run the query just press the play button in the center.

Authentication header can be provided in HTTP HEADER section on bottom-left as JSON object with X-Telenia-APIKey field.

{ "X-Telenia-APIKey": "<YOUR_APIKEY>" }

The Playground allows also to generate the query's cURL command as an HTTP POST request.

Testing queries in Playground is a good way to verify that your request is correct and gives you the result you expect.

Phone

Statistical data for phone channel include:

These data can be retrieved by ID, searched and counted.

Inbound Service Call

Get Inbound Service Call by ID.

Result is the list of steps that make up the requested call.

Example:

Get call with ID equals to 1588581589.1320 and of this call get id, step, start time and end time.

Inbound Service Call

query {
  inboundCall(id: "1588581589.1320") {
    id
    step
    startTime
    endTime
  }
}
curl 'https://<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://<TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  inboundCall(id: \"1588581589.1320\") {\n    id\n    step\n    startTime\n    endTime\n  }\n}"}' --compressed

Inbound Service Calls

Search Inbound Service Calls.

Argument search is the object containing search criterias.
Search criterias include time window (year, month), pagination and sorting.

Result is the list of calls that respect search criteria; each call is in turn a list of steps that make up it.

Example:

Search calls according to the following search criteria:

Inbound Service Calls

query {
  inboundCalls(
    search: {
      year: 2020
      month: 5
      pagination: { limit: 100, offset: 0 }
      sorting: { key: ID, direction: ASC }
      startTime: {
        operator: BETWEEN
        valueLeft: "2020-05-01T00:00:00Z"
        valueRight: "2020-05-15T00:00:00Z"
      }
    }
  ) {
    id
    step
    startTime
    endTime
  }
}
curl 'https://<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://<TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  inboundCalls(\n    search: {\n      year: 2020\n      month: 5\n      pagination: { limit: 100, offset: 0 }\n      sorting: { key: ID, direction: ASC }\n      startTime: {\n        operator: BETWEEN\n        valueLeft: \"2020-05-01T00:00:00Z\"\n        valueRight: \"2020-05-15T00:00:00Z\"\n      }\n    }\n  ) {\n    id\n    step\n    startTime\n    endTime\n  }\n}\n"}' --compressed

Inbound Service Calls Count

Count Inbound Service Calls.

Argument search is the object containing search criterias.
Search criterias include time window (year, month).

Result is the 32-bit postive integer counting searched calls.

Example:

Count calls according to the following search criteria:

Inbound Service Calls Count

query {
  inboundCallsCount(
    search: {
      year: 2020
      month: 5
      startTime: {
        operator: BETWEEN
        valueLeft: "2020-05-01T00:00:00Z"
        valueRight: "2020-05-15T00:00:00Z"
      }
    }
  )
}
curl 'https://<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://<TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  inboundCallsCount(\n    search: {\n      year: 2020\n      month: 5\n      startTime: {\n        operator: BETWEEN\n        valueLeft: \"2020-05-01T00:00:00Z\"\n        valueRight: \"2020-05-15T00:00:00Z\"\n      }\n    }\n  )\n}\n"}' --compressed

Outbound Service Call

Get Outbound Service Call by ID.

Result is the list of steps that make up the requested call.

Example:

Get call with ID equals to 1588581589.1320 and of this call get id, step, start time and end time.

Outbound Service Call

query {
  outboundCall(id: "1588581589.1320") {
    id
    step
    startTime
    endTime
  }
}
curl 'https://<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://<TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  outboundCall(id: \"1588581589.1320\") {\n    id\n    step\n    startTime\n    endTime\n  }\n}"}' --compressed

Outbound Service Calls

Search Outbound Service Calls.

Argument search is the object containing search criterias.
Search criterias include time window (year, month), pagination and sorting.

Result is the list of calls that respect search criteria; each call is in turn a list of steps that make up it.

Example:

Search calls according to the following search criteria:

Outbound Service Calls

query {
  outboundCalls(
    search: {
      year: 2020
      month: 5
      pagination: { limit: 100, offset: 0 }
      sorting: { key: ID, direction: ASC }
      startTime: {
        operator: BETWEEN
        valueLeft: "2020-05-01T00:00:00Z"
        valueRight: "2020-05-15T00:00:00Z"
      }
    }
  ) {
    id
    step
    startTime
    endTime
  }
}
curl 'https://<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://<TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  outboundCalls(\n    search: {\n      year: 2020\n      month: 5\n      pagination: { limit: 100, offset: 0 }\n      sorting: { key: ID, direction: ASC }\n      startTime: {\n        operator: BETWEEN\n        valueLeft: \"2020-05-01T00:00:00Z\"\n        valueRight: \"2020-05-15T00:00:00Z\"\n      }\n    }\n  ) {\n    id\n    step\n    startTime\n    endTime\n  }\n}\n"}' --compressed

Outbound Service Calls Count

Count Outbound Service Calls.

Argument search is the object containing search criterias.
Search criterias include time window (year, month).

Result is the 32-bit postive integer counting searched calls.

Example:

Count calls according to the following search criteria:

Outbound Service Calls Count

query {
  outboundCallsCount(
    search: {
      year: 2020
      month: 5
      startTime: {
        operator: BETWEEN
        valueLeft: "2020-05-01T00:00:00Z"
        valueRight: "2020-05-15T00:00:00Z"
      }
    }
  )
}
curl 'https://<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://<TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  outboundCallsCount(\n    search: {\n      year: 2020\n      month: 5\n      startTime: {\n        operator: BETWEEN\n        valueLeft: \"2020-05-01T00:00:00Z\"\n        valueRight: \"2020-05-15T00:00:00Z\"\n      }\n    }\n  )\n}\n"}' --compressed

Video

Statistical data for video channel include:

These data can be retrieved by ID, searched and counted.

Inbound Service Video Call

Get Inbound Service Video Call by ID.

Result is the list of steps that make up the requested video call.

Example:

Get video call with ID equals to 1588581589.1320 and of this video call get id, step, start time and end time.

Inbound Service Video Call

query {
  inboundVideoCall(id: "1588581589.1320") {
    id
    step
    startTime
    endTime
  }
}
curl 'https://<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://<TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  inboundVideoCall(id: \"1588581589.1320\") {\n    id\n    step\n    startTime\n    endTime\n  }\n}"}' --compressed

Inbound Service Video Calls

Search Inbound Service Video Calls.

Argument search is the object containing search criterias.
Search criterias include time window (year, month), pagination and sorting.

Result is the list of video calls that respect search criteria; each video call is in turn a list of steps that make up it.

Example:

Search video calls according to the following search criteria:

Inbound Service Video Calls

query {
  inboundVideoCalls(
    search: {
      year: 2020
      month: 5
      pagination: { limit: 100, offset: 0 }
      sorting: { key: ID, direction: ASC }
      startTime: {
        operator: BETWEEN
        valueLeft: "2020-05-01T00:00:00Z"
        valueRight: "2020-05-15T00:00:00Z"
      }
    }
  ) {
    id
    step
    startTime
    endTime
  }
}
curl 'https://<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://<TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  inboundVideoCalls(\n    search: {\n      year: 2020\n      month: 5\n      pagination: { limit: 100, offset: 0 }\n      sorting: { key: ID, direction: ASC }\n      startTime: {\n        operator: BETWEEN\n        valueLeft: \"2020-05-01T00:00:00Z\"\n        valueRight: \"2020-05-15T00:00:00Z\"\n      }\n    }\n  ) {\n    id\n    step\n    startTime\n    endTime\n  }\n}\n"}' --compressed

Inbound Service Video Calls Count

Count Inbound Service Video Calls.

Argument search is the object containing search criterias.
Search criterias include time window (year, month).

Result is the 32-bit postive integer counting searched video calls.

Example:

Count video calls according to the following search criteria:

Inbound Service Video Calls Count

query {
  inboundVideoCallsCount(
    search: {
      year: 2020
      month: 5
      startTime: {
        operator: BETWEEN
        valueLeft: "2020-05-01T00:00:00Z"
        valueRight: "2020-05-15T00:00:00Z"
      }
    }
  )
}
curl 'https://<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://<TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  inboundVideoCallsCount(\n    search: {\n      year: 2020\n      month: 5\n      startTime: {\n        operator: BETWEEN\n        valueLeft: \"2020-05-01T00:00:00Z\"\n        valueRight: \"2020-05-15T00:00:00Z\"\n      }\n    }\n  )\n}\n"}' --compressed

Chat

Statistical data for chat channel include:

These data can be retrieved by ID, searched and counted.

Inbound Service Chat

Get Inbound Service Chat by ID.

Result is the list of steps that make up the requested chat.

Example:

Get chat with ID equals to 1588581589.1320 and of this chat get id, step, start time and end time.

Inbound Service Chat

query {
  inboundChat(id: "1588581589.1320") {
    id
    step
    startTime
    endTime
  }
}
curl 'https://<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://<TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  inboundChat(id: \"1588581589.1320\") {\n    id\n    step\n    startTime\n    endTime\n  }\n}"}' --compressed

Inbound Service Chats

Search Inbound Service Chats.

Argument search is the object containing search criterias.
Search criterias include time window (year, month), pagination and sorting.

Result is the list of chats that respect search criteria; each chat is in turn a list of steps that make up it.

Example:

Search chats according to the following search criteria:

Inbound Service Chats

query {
  inboundChats(
    search: {
      year: 2020
      month: 5
      pagination: { limit: 100, offset: 0 }
      sorting: { key: ID, direction: ASC }
      startTime: {
        operator: BETWEEN
        valueLeft: "2020-05-01T00:00:00Z"
        valueRight: "2020-05-15T00:00:00Z"
      }
    }
  ) {
    id
    step
    startTime
    endTime
  }
}
curl 'https://<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://<TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  inboundChats(\n    search: {\n      year: 2020\n      month: 5\n      pagination: { limit: 100, offset: 0 }\n      sorting: { key: ID, direction: ASC }\n      startTime: {\n        operator: BETWEEN\n        valueLeft: \"2020-05-01T00:00:00Z\"\n        valueRight: \"2020-05-15T00:00:00Z\"\n      }\n    }\n  ) {\n    id\n    step\n    startTime\n    endTime\n  }\n}\n"}' --compressed

Inbound Service Chats Count

Count Inbound Service Chats.

Argument search is the object containing search criterias.
Search criterias include time window (year, month).

Result is the 32-bit postive integer counting searched chats.

Example:

Count chats according to the following search criteria:

Inbound Service Chats Count

query {
  inboundChatsCount(
    search: {
      year: 2020
      month: 5
      startTime: {
        operator: BETWEEN
        valueLeft: "2020-05-01T00:00:00Z"
        valueRight: "2020-05-15T00:00:00Z"
      }
    }
  )
}
curl 'https://<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://<TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  inboundChatsCount(\n    search: {\n      year: 2020\n      month: 5\n      startTime: {\n        operator: BETWEEN\n        valueLeft: \"2020-05-01T00:00:00Z\"\n        valueRight: \"2020-05-15T00:00:00Z\"\n      }\n    }\n  )\n}\n"}' --compressed

Addressbook

Data for Addressbook include:

These data can be retrieved by UUID, searched and counted.

Addressbook Contact

Get an addressbook contact by UUID.

Result is an addressbook contact.

Example:

Get the addressbook contact with UUID equals to 0007418f-3d4a-4315-c3e2-b3bf3521a325 and for this contact get it's uuid, name and surname.

Addressbook Contact

query {
  addressBookContact(uuid: "0007418f-3d4a-4315-c3e2-b3bf3521a325") {
    uuid
    name
    surname
  }
}
curl '<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: <TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  addressBookContact(uuid: \"0007418f-3d4a-4315-c3e2-b3bf3521a325\") {\n    uuid\n    name\n    surname\n  }\n}\n"}' --compressed

Addressbook Contacts

Search Addressbook Contacts.

Argument search is the object containing search criterias.
Search criterias include pagination and sorting.

Result is the list of Addressbook Contacts that respect search criteria.

Example:

Search Addressbook Contacts according to the following search criteria:

Addressbook Contacts

query {
  addressBookContacts(
    search: {
      mail: { value: { operator: END_WITH, value: "teleniasoftware.com" } }
      organization: { fullName: { operator: CONTAIN, value: "telenia" } }
    }
  ) {
    uuid
    name
    surname
    mail {
      value
    }
  }
}
curl '<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: <TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  addressBookContacts(\n    search: {\n      mail: { value: { operator: END_WITH, value: \"gmail.com\" } }\n      organization: { fullName: { operator: CONTAIN, value: \"google\" } }\n    }\n  ) {\n    uuid\n    name\n    surname\n    mail {\n      value\n    }\n  }\n}\n"}' --compressed

Addressbook Contacts Count

Count Addressbook Contacts.

Argument search is the object containing search criterias.

Result is the 32-bit postive integer counting searched chats.

Example:

Count Addressbook Contacts according to the following search criteria:

Addressbook Contacts Count

query {
  addressBookContactCount(
    search: {
      mail: { value: { operator: END_WITH, value: "teleniasoftware.com" } }
      organization: { fullName: { operator: CONTAIN, value: "telenia" } }
    }
  )
}

curl '<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: <TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  addressBookContactCount(\n    search: {\n      mail: { value: { operator: END_WITH, value: \"gmail.com\" } }\n      organization: { fullName: { operator: CONTAIN, value: \"google\" } }\n    }\n  )\n}\n"}' --compressed

Support

Statistical data for Support channel include:

These data can be retrieved by ID, searched and counted.

Ticket

query {
  ticket(id: "12345") {
    id
    title
    service {
      code
      description
    }
    owner {
      uuid
      fullName
    }
    customer {
      uuid
      fullName
    }
    articles {
      id
      type
      createdBy {
        uuid
        fullName
      }
    }
  }
}
curl '<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: <TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  ticket(id: \"12345\") {\n    id\n    title\n    service {\n      code\n      description\n    }\n    owner {\n      uuid\n      fullName\n    }\n    customer {\n      uuid\n      fullName\n    }\n    articles {\n      id\n      type\n      createdBy {\n        uuid\n        fullName\n      }\n    }\n  }\n}\n"}' --compressed

Support Ticket

Get a Ticket by ID.

Result is a Ticket.

Example:

Get the Ticket with ID equals to 12345 and for this Ticket get it's id, title, service, owner, customer and articles.

Tickets

query {
  tickets(
    search: {
      owner:{surname:{operator:EQUAL, value:"rossi"}}
      state:[CLOSED]
      timeUnit:{operator:GREATER_THAN value:1800}
      sorting:{key:TIME_UNIT,direction:DESC}
    }
  ) {
      id
    title
    service {
      code
      description
    }
    owner {
      uuid
      fullName
    }
    customer {
      uuid
      fullName
    }
    articles {
      id
      type
      createdBy {
        uuid
        fullName
      }
    }
  }
}
curl '<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: <TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  tickets(\n    search: {\n      owner:{surname:{operator:EQUAL, value:\"rossi\"}}\n      state:[CLOSED]\n      timeUnit:{operator:GREATER_THAN value:1800}\n      sorting:{key:TIME_UNIT,direction:DESC}\n    }\n  ) {\n\t    id\n    title\n    service {\n      code\n      description\n    }\n    owner {\n      uuid\n      fullName\n    }\n    customer {\n      uuid\n      fullName\n    }\n    articles {\n      id\n      type\n      createdBy {\n        uuid\n        fullName\n      }\n    }\n  }\n}\n"}' --compressed

Support Tickets

Search Tickets.

Argument search is the object containing search criterias.
Search criterias include pagination and sorting.

Result is the list of Tickets that respect search criteria.

Example:

Search Tickets according to the following search criteria:

Tickets Count

query {
  ticketsCount(
    search: {
      owner:{surname:{operator:EQUAL, value:"rossi"}}
      state:[CLOSED]
      timeUnit:{operator:GREATER_THAN value:1800}
    }
  )
}
curl '<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: <TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  ticketsCount(\n    search: {\n      owner:{surname:{operator:EQUAL, value:\"rossi\"}}\n      state:[CLOSED]\n      timeUnit:{operator:GREATER_THAN value:1800}\n    }\n  )\n}\n"}' --compressed

Support Tickets Count

Count Tickets.

Argument search is the object containing search criterias.

Result is the 32-bit postive integer counting searched Tickets.

Example:

Count Tickets according to the following search criteria:

Advanced

Sometimes there is the need to produce data through complex queries.
To achieve this, a request can be made by directly specifying a SQL query on the available tables (described below).

Data are grouped in 3 areas:

Result is represented by a list of objects where the keys are the names of the selected fields and values are strings.

Advanced Query (TVox)

query {
  advancedQuery(
    type: TVOX
    query: "SELECT COUNT( DISTINCT ( uniqueid )) AS total, cli AS callerNumber, MAX( datainizio ) AS lastStartDate, MAX( orainizio ) AS lastStartTime FROM ast_calls_202005 GROUP BY cli;"
  )
}
curl 'https://<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://<TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  advancedQuery(\n    type: TVOX\n    query: \"SELECT COUNT( DISTINCT ( uniqueid )) AS total, cli AS callerNumber, MAX( datainizio ) AS lastStartDate, MAX( orainizio ) AS lastStartTime FROM ast_calls_202005 GROUP BY cli;\"\n  )\n}\n"}' --compressed

Example (TVox):

Count received service calls on May 2020 (table: ast_calls_202005) distinct by unique id (column: uniqueid) and grouped by caller number (column: cli), reporting start time (columns: datainizio and orainizio) of the latest received call.

SELECT COUNT( DISTINCT ( uniqueid )) AS total, cli AS callerNumber, MAX( datainizio ) AS lastStartDate, MAX( orainizio ) AS lastStartTime FROM ast_calls_202005 GROUP BY cli;

Advanced Query (Addressbook)

query {
  advancedQuery(
    type: ADDRESSBOOK,
    query: "SELECT uuid AS id, name, surname FROM t4you_global_addressbook;"
  )
}
curl 'https://<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://<TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  advancedQuery(\n    type: ADDRESSBOOK\n    query: \"SELECT uuid AS id, name, surname FROM t4you_global_addressbook;\"\n  )\n}\n"}' --compressed

Example (Addressbook):

Select contacts (table: t4you_global_addressbook) whose surname (columns: surname) is "Rossi", reporting contact id (columns: uuid), name (columns: name) and surname (columns: surname).

SELECT uuid AS id, name, surname FROM t4you_global_addressbook;

Advanced Query (Support)

query {
  advancedQuery(
    type: SUPPORT
    query: "SELECT COUNT( DISTINCT id ) AS total FROM tickets WHERE created_at >= '2020-01-05 00:00:00' AND created_at <= '2020-01-31 23:59:59';"
  )
}
curl 'https://<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://<TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  advancedQuery(\n    type: SUPPORT\n    query: \"SELECT COUNT( DISTINCT id ) AS total FROM tickets WHERE created_at >= '2020-01-05 00:00:00' AND created_at <= '2020-01-31 23:59:59';\"\n  )\n}\n"}' --compressed

Example (Support):

Count ticket created (column: created_at) on May 2020 (table: tickets) distinct by id (column: id).

SELECT COUNT( DISTINCT id ) AS total FROM tickets WHERE created_at >= '2020-01-05 00:00:00' AND created_at <= '2020-01-31 23:59:59';

Inbound Service Interactions

Table: ast_calls_yyyymm

Primary keys: idlastcall, step

Field Type Description Note Default
idchiamata varchar(20) *
sito_distribuzione varchar(10) *
pin varchar(255) Agent username
priorita_agente int(11) Agent priority
interno varchar(100) Agent logged exten
tipochiamata char(1) Type (direction) I alias Inbound
canale varchar(50) SIP channel identifier
skillset varchar(30) Skillset code
cli varchar(255) Caller Line Identification (Calling number) Only for Phone channel
dnis varchar(255) Direct Number Information System (Called number) Only for Phone channel
datainizio date Start date
orainizio varchar(7) Start time NB: hour format is hh,mmss
datadistribuzione date Distribution date
oradistribuzione varchar(7) Distribution time NB: hour format is hh,mmss
stato_cc varchar(30) Type code
statochiamata varchar(3) Status code Possible values: H - Hanging up the caller, T - terminated by the system, TT - ended with transfer (see column "Transferred to"), RC - agent response and ended by the caller, RA - response from agent and ended by agent, RTB - answer and ended by transferring without consultation (Blind), RTC - answer and ended by transferring with consultation (Attended), E - reportion error for the call
trasferita varchar(30) Number or service code it has been transfered to
datarispostaag1 date Answer date by agent
orarispostaag1 varchar(7) Answer time by agent NB: hour format is hh,mmss
attesaag1 int(6) Ringing time on agent
durataag1 int(6) Connection time with agent
datadisconnessione date End date
oradisconnessione varchar(7) End time NB: hour format is hh,mmss
durataattesa int(6) Waiting duration time in IVR
duratacomplessiva int(6) Total duration time in the system
servizio varchar(50) Service code
grpservizio varchar(1020) List of services crossed involved by the call
popuptype enum Popup Type EXE,WEB
popupresult text Popup result (if expected)
popupinfo varchar(1000) Additional information collected by IVR or third party applications The individual information is separated by the special character "|"
idlastcall varchar(100) * composed by uniqueid@sito
sito varchar(10) *
uniqueid varchar(50) Unique identifier of the call unixtimestamp followed by an incremental number separated by "."
priorita int(20) unsigned *
contesto varchar(3) Time context AT attivo, FO fuori orario, OS fuori servizio
sipcallid varchar(255) SIP call identifier
accodamento text *
cliente varchar(20) Customer code
prior_serv int(3) Service priority
step tinyint(1) unsigned Step
FdO tinyint(1) *
pid int(11) *
contatore int(11) unsigned *
mc_id int(11) unsigned Multichannel channel id 0 = Phone Channel, 1001 = Video Channel, 1002 = Support Channel, 1003 = LiveHelp Chat Channel, 1004 = Widget Chat channel, 1, 2, 3 for optional custom channel
mc_session varchar(100) Multichannel session id
mc_text text Multichannel additional data
mc_description varchar(255) Multichannel description
ivr_label text IVR node label present if configured
interview_service varchar(50) Survey service code
smartrec varchar(255) *
calldata varchar(1024) Additional data
data_coda date Starting queuing date
ora_coda varchar(7) Queuing time NB: hour format is hh,mmss
data_wnr_ag1 date After call work date
ora_wnr_ag1 varchar(7) After call work time NB: hour format is hh,mmss
durata_wnr_ag1 int(6) After call work duration time
durata_coda int(6) Queuing duration time
callresult_result varchar(100) Exit code id
callresult_result_level_2 varchar(100) Second level exit code id
callresult_note1 text Optional Exit code note
callresult_note2 text Optional Exit code note
durata_hold int(11) Hold duration time on agent
calltag_note1 varchar(512) Optional tagging note
calltag_note2 varchar(512) Optional tagging note
channel_destination enum Transfer destination INTERNAL, EXTERNAL, REMOTE
ccbs_user_monitor char(50) *
ccbs_result enum * DEFAULT, CHANUNAVAIL, CONGESTION, NOANSWER, BUSY, ANSWER, CANCEL, DONTCALL, TORTURE, INVALIDARGS, ERROR
call_transfer_from_service char(30) *
sentiment int(11) Customer sentiment code
contact_id varchar(40) Contact identifier UUID read from t4you
contact_username varchar(255) Contact username (if internal)
contact_value varchar(255) Contact value
contact_type enum Contact type USER, SERVICE, SHORT_NUMBER, EXTERNAL_ITEM, EXTERNAL_ORGANIZATION, PERSONAL_ITEM, UNKNOWN, ANONYMOUS
contact_lookup_type enum Contact lookup result SUCCESS, MULTIPLE, NONE, ERROR
census_result varchar(100) Contact census result
access_list int(10) unsigned *
abandoned_call_id char(36) Abandoned call id
callback_call_id char(36) Callback call id
generico1 varchar(255) Generic custom data
generico2 varchar(255) Generic custom data
generico3 varchar(255) Generic custom data
generico4 varchar(255) Generic custom data
generico5 varchar(255) Generic custom data
update_time timestamp Last update timestamp

Outbound Service Interactions

Table: ast_calls_outbound_yyyymm

Primary keys: idlastcall, step

Field Type Description Note Default
idchiamata varchar(20) *
sito_distribuzione varchar(10) *
pin varchar(255) Agent username
priorita_agente int(11) Agent priority
interno varchar(100) Agent logged exten
tipochiamata char(1) Type (direction) O alias Outbound
canale varchar(50) SIP channel identifier
skillset varchar(30) Skillset code
cli varchar(255) Caller Line Identification (Calling number)
dnis varchar(255) Direct Number Information System (Called number)
datainizio date Start date
orainizio varchar(7) Start time NB: hour format is hh,mmss
datadistribuzione date Distribution date
oradistribuzione varchar(7) Distribution time NB: hour format is hh,mmss
stato_cc varchar(30) Type code
statochiamata varchar(3) Status code Possible values: H - Hanging up the caller, T - terminated by the system, TT - ended with transfer (see column "Transferred to"), RC - agent response and ended by the caller, RA - response from agent and ended by agent, RTB - answer and ended by transferring without consultation (Blind), RTC - answer and ended by transferring with consultation (Attended), E - reportion error for the call
trasferita varchar(30) Number or service code it has been transfered to
datarispostaag1 date Answer date by agent
orarispostaag1 varchar(7) Answer time by agent NB: hour format is hh,mmss
attesaag1 int(6) Ringing time on agent
durataag1 int(6) Connection time with agent
datadisconnessione date End date
oradisconnessione varchar(7) End time NB: hour format is hh,mmss
durataattesa int(6) Waiting duration time in IVR
duratacomplessiva int(6) Total duration time (in system)
servizio varchar(50) Service code
grpservizio varchar(1020) List of services crossed
popuptype enum Popup Type EXE, WEB
popupresult text Popup result (if expected)
popupinfo varchar(1000) Additional information collected by IVR or third party applications The individual information is separated by the special character "|"
idlastcall varchar(100) * composed by uniqueid@sito
sito varchar(10) *
uniqueid varchar(50) Unique identifier of the call unixtimestamp followed by an incremental number separated by "."
priorita int(20) unsigned *
contesto varchar(3) Time context AT attivo, FO fuori orario, OS fuori servizio
sipcallid varchar(255) SIP call identifier
accodamento text *
cliente varchar(20) Customer code
prior_serv int(3) Service priority
step tinyint(1) unsigned Step
FdO tinyint(1) *
pid int(11) *
campagna int(11) unsigned Outbound campaign code
lista int(11) unsigned Outbound campaign list code
id_spool_record int(11) Contact id used by outbound campaign interface table
item_number_spool_record int(11) unsigned Contact number id used by outbound campaign interface table
run_id int(11) *
contact_priority int(11) *
contatore int(11) unsigned *
mc_id int(11) unsigned Multichannel channel id 0 Phone channel
mc_session varchar(100) Multichannel session id Not in use
mc_text text Multichannel additional data Not in use
mc_description varchar(255 Multichannel description Not in use
ivr_label text IVR node label
interview_service varchar(50) Survey service code
smartrec varchar(255) *
calldata varchar(1024) Additional data
data_coda date Queuing date
ora_coda varchar(7) Queuing time NB: hour format is hh,mmss
data_wnr_ag1 date After call work date
ora_wnr_ag1 varchar(7) After call work time NB: hour format is hh,mmss
durata_wnr_ag1 int(6) After call work duration time
durata_coda int(6) Queuing duration time
callresult_result varchar(100) Exit code id
callresult_result_level_2 varchar(100) Second level exit code id
callresult_note1 text Optional Exit code note
callresult_note2 text Optional Exit code note
durata_hold int(11) Hold duration time on agent
calltag_note1 varchar(512) Optional tagging note
calltag_note2 varchar(512) Optional tagging note
channel_destination enum Transfer destination INTERNAL, EXTERNAL, REMOTE
call_transfer_from_service char(30) *
sentiment int(11)
contact_id varchar(40) Contact identifier UUID read from t4you
contact_username varchar(255) Contact username (if internal)
contact_value varchar(255) Contact value
contact_type enum Contact type USER, SERVICE, SHORT_NUMBER, EXTERNAL_ITEM, EXTERNAL_ORGANIZATION, PERSONAL_ITEM, UNKNOWN, ANONYMOUS
contact_lookup_type enum Contact lookup result SUCCESS, MULTIPLE, NONE, ERROR
access_list int(10) unsigned *
abandoned_call_id char(36)
callback_call_id char(36)
generico1 varchar(255) Generic custom data
generico2 varchar(255) Generic custom data
generico3 varchar(255) Generic custom data
generico4 varchar(255) Generic custom data
generico5 varchar(255) Generic custom data
update_time timestamp Last update timestamp

Calls Detail

Table: ast_cdr_YYYYMM

Primary keys: uniqueid, id_node

Field Type Description Note Default
uniqueid char(50) Unique call id (Unix timestamp)
id_node int(3) node id When the call is transferred, multiple records are created with the same uniqueid and increasing id_node values. The value 99 indicates the record relative to the end of the call.
subevent int(11) *
subevent_digit char(80) *
current_uniqueid char(50) *
channel varchar(255) Identification of the SIP channel related to the call
dstchannel varchar(255) Identifier of the SIP channel to which the call is transferred
datainizio timestamp Call start date
datarisposta timestamp Call answer date
clid char(80) Caller Line IDentification
user_clid char(50) Calling TVox user username
sipcallid_clid varchar(128) *
exten_type_clid enum clid exten type SIP, MCS_SIP, MCS_APP, EXTERNAL, WEBRTC
exten_clid char(50) *
access_code varchar(10) Call access code
dnis char(80) Called number = Direct Number Information Service
user_dnis char(50) Username of the called TVox user
sipcallid_dnis varchar(128) *
exten_type_dnis enum dnis exten type SIP, MCS_SIP, MCS_APP, EXTERNAL, WEBRTC
exten_dnis char(50) *
linea varchar(100) Identification code of the trunk engaged in the call
durata int(10) Total call duration
durata_costo int(10) Duration of the call that made the cost
commessa varchar(1024) *
id_centrale int(10) TVox identification code
transfer char(80) Telephone number to which the call was transferred
user_transfer char(50) Username TVox user to whom the call was transferred
privata char(50) Identifies whether a call is private
tipo char(10) Type of call 0= internal; 1= outbound; 2= inbound; 3= trunk-in-to-trunk-out; 4= trunk-out-to-trunk-out; 5= trunk-in-to-trunk-in; 9= SMS outbound; 11= FAX internal; 12= FAX outbound; 13= FAX inbound;
stato varchar(100) call status NOANSWER, BUSY, FAILED, ANSWER, SUCCESS, TIMEOUT
call_service_status varchar(100) Final call status where applicable
webrtc_status_clid enum * OK, ERROR_ICE, ERROR_DTLS, ERROR_MEDIA, ERROR_CONNECTIVITY, ERROR_BAD_MEDIA
janus_sessionid_clid varchar(128) *
janus_handleid_clid varchar(128) *
webrtc_status_dnis enum OK, ERROR_ICE, ERROR_DTLS, ERROR_MEDIA, ERROR_CONNECTIVITY, ERROR_BAD_MEDIA
janus_sessionid_dnis varchar(128) *
janus_handleid_dnis varchar(128) *
abilitazione int(10) Enable code used for the outgoing call
outbound_route int(10) Outbound rule code used for the outgoing call
auth_code char(50) Username of the user who called using the authorization code
contatore int(11) counter

IVR Calls Detail

Table: ast_ivr_records_bis_yyyymm

Primary keys: idcall, passaggio, nodo, passo

Field Type Description Note Default
idcall varchar(50) Unique call identifier (unix timestamp)
passaggio timestamp Transit instant in the IVR node
nodo int(5) Node ID
passo int(5) Identification of the step in the node
durata int(11) Total time spent in the current node
servizio varchar(30) Service code associated with the call
ntel varchar(20) *
digit varchar(20) Any Digit selected in the current node
timeout int(1) Indicates whether the call has passed the possible timeout period in the node without making any choice
invalid int(1) Indicates whether the call registered an invalid choice among those requested in the current node
retry int(1) *
label varchar(100) *
action varchar(10) Code of the action performed on the current node
qi_evalutation varchar(100) Survey ID
qi_service varchar(30) Identification of the service associated with the survey
qi_evalutation_min varchar(100) Minimum value required by the survey
qi_evalutation_max varchar(100) Maximum value required by the survey

Callback Service Calls

Table: ast_calls_callback_yyyymm

Key: id

Field Type Description Note Default
id char(36) Record identifier
score int(11) Score of the record, determines its priority and order of display
firstCallId char(100) Id of the service call that generated the record
closeCallId char(100) Id of the incoming or outgoing call that determined closed the record
service char(30) Code of the called service
type enum * IVR, WEB
escalation_time datetime(4) *
solution_time datetime(4) *
remove_time datetime(4) *
contact_uid_generated varchar(255) Indexing support column
contact_id varchar(40) Uid of the calling contact
contact_username varchar(255) Username of the calling internal contact
contact_value varchar(255) Caller number for contacts not mapped in the address book
contact_type enum Type of the calling contact USER, SERVICE, SHORT_NUMBER, EXTERNAL_ITEM, EXTERNAL_ORGANIZATION, PERSONAL_ITEM, UNKNOWN, ANONYMOUS
contact_last_number varchar(255) Number of the user's last call
start_time datetime(4) Start time of the first callback request
last_received_time datetime(4) Instant of the last call received by the customer
last_recall_time datetime(4) Moment of the last attempt made by the operator
update_time datetime(4) Last update of the callback request
close_time datetime(4) Closing moment
owner varchar(255) Operator username that is handling the call
owner_retry int(11) Number of callback attempts made by operators
user_retry int(11) Number of callback attempts made by the contact
status enum Status of the callback request NEW, LOCKED, UNLOCKED, CLOSED
closed_result enum Reason for closing the record SUCCESS, DELETED_BY_AGENT, EXPIRED, RETRY_EXCEEDED, CONTACT_RECALL, SUCCESS_FROM_ABANDONED, DELETED_BY_AGENT_FROM_ABANDONED
last_recall_result_code varchar(100) Result of the last callback made by the operator
last_recall_owner varchar(255) Last operator who managed the record
note text Notes left by the operator

Abandoned Service Calls

Table: ast_calls_abandoned_yyyymm

Key: id

Field Type Description Note Default
id char(36) Record identifier
score int(11) Score of the record, determines its priority and order of display
firstCallId char(100) Id of the service call that generated the record
closeCallId char(100) Id of the incoming or outgoing call that determined closed the record
service char(30) Code of the called service
contact_uid_generated varchar(255) Indexing support column
contact_id varchar(40) Uid of the calling contact
contact_username varchar(255) Username of the calling internal contact
contact_value varchar(255) Caller number for contacts not mapped in the address book
contact_type enum Type of the calling contact USER, SERVICE, SHORT_NUMBER, EXTERNAL_ITEM, EXTERNAL_ORGANIZATION, PERSONAL_ITEM, UNKNOWN, ANONYMOUS
contact_last_number varchar(255) Number of the user's last call
start_time datetime(4) Start time of the first abandoned call
last_received_time datetime(4) Instant of the last call received by the customer
last_recall_time datetime(4) Moment of the last attempt made by the operator
update_time datetime(4) Last update of the abandoned call
close_time datetime(4) Closing moment
owner varchar(255) Operator username that is handling the call
owner_retry int(11) Number of callback attempts made by operators
user_retry int(11) Number of callback attempts made by the contact
status enum Status of the abandoned call NEW, LOCKED, UNLOCKED, CLOSED
closed_result enum Reason for closing the record SUCCESS, DELETED_BY_AGENT, EXPIRED, RETRY_EXCEEDED, CONTACT_RECALL, SUCCESS_FROM_CALLBACK, DELETED_BY_AGENT_FROM_CALLBACK
last_recall_result_code varchar(100) Result of the last callback made by the operator
last_recall_owner varchar(255) Last operator who managed the record
note text Notes left by the operator

Calls Recordings

Table: smartrec_yyyymm

Key: filewave

Field Type Description Note Default
data date Date of the call
ora varchar(7) Time of the call
id_sito int(11) *
codiceagente varchar(255) Agent's username
sito_agente varchar(10) *
dnis varchar(20) Direct Number Information System called number
clid varchar(20) Caller Line Identification caller number
interno varchar(32) Extension where the Agent is logged in
idchiamata int(11) *
note text Notes associated with the call
filewave varchar(255) Name of the call recording .wave file
databackup date Registration filing date
labelbackup varchar(50) Name of the registration archive
durata int(11) Duration of registration
tipo char(1) Type of call I= Inbound, O= Outbound)
dati_esterni varchar(255) Data collected by third party applications
callhandle varchar(255) Unique identifier for call
callhandle_linked varchar(255) *
servizio varchar(50) Service Code
sito_servizio varchar(10) *
is_file_moved_on_remote_disk int(11) *
is_file_removed int(11) *
type enum Call recording type SERVICE, ON_DEMAND, AUTOMATIC

Outbound Campaign Calls

Table: ast_pd_history_yyyymm

Key: id, item_number, campagna, lista, insert_time

Field Type Description Note Default
insert_time timestamp Instant insertion of the record unix timestamp
id int(11) unsigned Contact identifier read from the ast_pd_interface table
item_number int(11) unsigned Contact telephone number of the contact read from the ast_pd_interface table
campagna int(11) unsigned Outbound campaign code
lista int(11) unsigned List code associated with the Outbound campaign
phone_number varchar(255) phone number dialed
stato int(11) call status Initial state: 0 = "record to be processed" - Intermediate states: 1 = "call in progress", 4 = "ringing contact", 5 = "call in management to the queuing service", 10 = "call during distribution to operator / agent" - Final call states: 6 = "successfully completed", 7 = "ended unsuccessfully", 8 = "ended with generic error"
call_result varchar(20) Outcome code of the call ANSWER - the contact answered the call; BUSY - the contact is busy; NOANSWER - the contacted number has not been answered;
tentativi int(2) Number of attempts logged for the current contact
dial_sched_time int(11) unsigned *
call_time int(11) unsigned *
data varchar(50) Data needed for the agent's screen popup which are read from the ast_pd_interface table
canale varchar(50) Identifier of the SIP channel from which the call entered
run_id int(11) *
contact_priority int(11) *
contact_uuid varchar(40) *
tentativi_NOANSWER int(2) number of attempts that resulted in "call not answered"
tentativi_CANCEL int(2) number of attempts that resulted in "Call rejected"
tentativi_BUSY int(2) number of attempts that resulted in "Call busy"
tentativi_TVOX_CLOSED int(2) number of attempts that resulted in "Call closed by TVox"
tentativi_AMD int(2) not in use
tentativi_CONGESTION int(2) number of attempts that resulted in a failed call due to congestion

Contacts

Table: t4you_global_addressbook

Primary keys: uuid, owner

Field Type Description Note Default
owner char(100) username of the user to whom the contact belongs, if the contact data_source is PERSONAL
uuid varchar(100) contact unique id
resource varchar(255) *
backend_source varchar(100) *
backend_config_name varchar(255) id of the address book to which the contact belongs
uuid_source varchar(100) contact id on source
source_origin_type enum * SOURCE_SYNC, DIRECT_SYNC, T4YOU_USER_AGENT, MC0, MC1, MC2, MC3, MC1000, MC1001, MC1002, MC1003, MC1004, MC1005
vcard_origin text *
fullname text contact full name
data_source enum the contact type PERSONAL, EXTERNAL, INTERNAL EXTERNAL
surname text * the contact surname
name text the contact name
other_name text the contact other name
customer_code varchar(255) the contact customer code
company text the contact company
department text the contact department
street text the contact street
city text the contact city
district text the contact district
cap text the contact cap
country text the contact country
category text the contact category
note mediumtext *
vip tinyint(1) if is a vip contact 0
presence tinyint(1) if the contact has enabled presence 0
kind enum the contact type org, location, group, individual, thing individual
accept_census tinyint(1) if contact accept census 1
img_retriver varchar(50) *
img varchar(50) *
site varchar(255) the conatct site
role varchar(255) the conatct role
groups text *
persistent_interactions tinyint(1) * 1
company_uuid_source varchar(100) source id of the company to which the contact belongs
company_uuid varchar(100) id of the company to which the contact belongs
nota_agente text note entered by a operator on the contact
nps int(11) last nps vote entered by the contact who called
tel_value_1 varchar(255) contact telephone number
tel_type_1 enum contact tel_value_1 type FAX, HOME, CELL, WORK, CELL_WORK, FAX_WORK, FAX_HOME, CELL_HOME, MAIN, OTHER
tel_value_2 varchar(255) contact telephone number
tel_type_2 enum contact tel_value_2 type FAX, HOME, CELL, WORK, CELL_WORK, FAX_WORK, FAX_HOME, CELL_HOME, MAIN, OTHER
tel_value_3 varchar(255) contact telephone number
tel_type_3 enum contact tel_value_3 type FAX, HOME, CELL, WORK, CELL_WORK, FAX_WORK, FAX_HOME, CELL_HOME, MAIN, OTHER
tel_value_4 varchar(255) contact telephone number
tel_type_4 enum contact tel_value_4 type FAX, HOME, CELL, WORK, CELL_WORK, FAX_WORK, FAX_HOME, CELL_HOME, MAIN, OTHER
tel_value_5 varchar(255) contact telephone number
tel_type_5 enum contact tel_value_5 type FAX, HOME, CELL, WORK, CELL_WORK, FAX_WORK, FAX_HOME, CELL_HOME, MAIN, OTHER
tel_value_6 varchar(255) contact telephone number
tel_type_6 enum contact tel_value_6 type FAX, HOME, CELL, WORK, CELL_WORK, FAX_WORK, FAX_HOME, CELL_HOME, MAIN, OTHER
tel_value_7 varchar(255) contact telephone number
tel_type_7 enum contact tel_value_7 type FAX, HOME, CELL, WORK, CELL_WORK, FAX_WORK, FAX_HOME, CELL_HOME, MAIN, OTHER
tel_value_8 varchar(255) contact telephone number
tel_type_8 enum contact tel_value_8 type FAX, HOME, CELL, WORK, CELL_WORK, FAX_WORK, FAX_HOME, CELL_HOME, MAIN, OTHER
tel_value_9 varchar(255) contact telephone number
tel_type_9 enum contact tel_value_9 type FAX, HOME, CELL, WORK, CELL_WORK, FAX_WORK, FAX_HOME, CELL_HOME, MAIN, OTHER
tel_value_10 varchar(255) contact telephone number
tel_type_10 enum contact tel_value_10 type FAX, HOME, CELL, WORK, CELL_WORK, FAX_WORK, FAX_HOME, CELL_HOME, MAIN, OTHER
mail_value_1 varchar(255) contact email address
mail_type_1 enum contact mail_value_1 type INTERNET_WORK, INTERNET_HOME
mail_value_2 varchar(255) contact email address
mail_type_2 enum contact mail_value_2 type INTERNET_WORK, INTERNET_HOME
mail_value_3 varchar(255) contact email address
mail_type_3 enum contact mail_value_3 type INTERNET_WORK, INTERNET_HOME
mail_value_4 varchar(255) contact email address
mail_type_4 enum contact mail_value_4 type INTERNET_WORK, INTERNET_HOME
mail_value_5 varchar(255) contact email address
mail_type_5 enum contact mail_value_5 type INTERNET_WORK, INTERNET_HOME
mail_value_6 varchar(255) contact email address
mail_type_6 enum contact mail_value_6 type INTERNET_WORK, INTERNET_HOME
mail_value_7 varchar(255) contact email address
mail_type_7 enum contact mail_value_7 type INTERNET_WORK, INTERNET_HOME
mail_value_8 varchar(255) contact email address
mail_type_8 enum contact mail_value_8 type INTERNET_WORK, INTERNET_HOME
mail_value_9 varchar(255) contact email address
mail_type_9 enum contact mail_value_9 type INTERNET_WORK, INTERNET_HOME
mail_value_10 varchar(255) contact email address
mail_type_10 enum contact mail_value_10 type INTERNET_WORK, INTERNET_HOME
web_value_1 text contact web site
web_type_1 enum web_value_1 type WORK, HOME
web_value_2 text contact web site
web_type_2 enum web_value_2 type WORK, HOME
web_value_3 text contact web site
web_type_3 enum web_value_3 type WORK, HOME
custom_1 text general purpose custom field
custom_2 text general purpose custom field
custom_3 text general purpose custom field
custom_4 text general purpose custom field
custom_5 text general purpose custom field
custom_6 text general purpose custom field
custom_7 text general purpose custom field
custom_8 text general purpose custom field
custom_9 text general purpose custom field
custom_10 text general purpose custom field

Multichannel Contact Relationships

Table: t4you_multichannel_addressbook

Primary keys: channel_id, backend_config_name, channel_data, contact_uuid, contact_owner

Field Type Description Note Default
channel_id int(11) the channel id
channel_data varchar(255) channel contact id
contact_owner varchar(100) contact owner
contact_uuid varchar(100) t4you uuid FOREIGN KEY t4you_global_addressbook
backend_config_name varchar(255) backend config name
created_time timestamp when it was created
to_delete tinyint(1) manages contacts that have been modified and must not be deleted at the new sync 1

Tickets

Table: tickets

Primary keys: id

Foreign keys: group_id, owner_id, customer_id, created_by_id, updated_by_id

Field Type Description Note Default
id int(11) ticket id
group_id int(11) the ticket service id FOREIGN KEY groups
owner_id int(11) the ticket owner (operator) id FOREIGN KEY users
customer_id int(11) the customer id from which the ticket was opened FOREIGN KEY users
state_id int(11) the ticket state id Possible values:
1 - new,
2 - open,
3 - pending reminder,
4 - pending action,
5 - closed,
6 - merged
priority_id int(11) the ticket priority id Possible values: 1 - low, 2 - normal, 3 - high
number varchar(60) the ticket number
title varchar(250) the ticket title
first_response_at timestamp(3) date on which the ticket received the first response
first_response_escalation_at timestamp(3) date on which first response SLA expires
first_response_in_min int(11) after how many minutes was the first answer given
first_response_diff_in_min int(11) minutes difference from the first response SLA
close_at timestamp(3) date on which the ticket the ticket was closed
close_escalation_at timestamp(3) date on which close SLA expires
close_in_min int(11) after how many minutes was closed the ticket
close_diff_in_min int(11) minutes difference from the close SLA
update_escalation_at timestamp(3) date when update SLA expires
update_in_min int(11) after how many minutes was updated the ticket
update_diff_in_min int(11) minutes difference from the update SLA
last_contact_at timestamp(3) the date of the last operation on the ticket
last_contact_agent_at timestamp(3) the date of the last message sent by the operator
last_contact_customer_at timestamp(3) the date of the last message sent by the customer
last_owner_update_at timestamp(3) the date of the last owner update
create_article_type_id int(11) the type of the first ticket article Possible values:
1 - email
2 - sms
3 - chat
4 - fax
5 - phone
6 - twitter status
7 - twitter direct-message
8 - facebook feed post
9 - facebook feed comment
10 - note
11 - web
12 - telegram personal-message
create_article_sender_id int(11) the type of the first ticket article sender Possible values:
1 - Agent
2 - Customer
3 - System
article_count int(11) number of ticket articles
escalation_at timestamp(3) the most upcoming SLA date
pending_time timestamp(3) the last date the ticket was pending
time_unit decimal(6,2) minutes/100 of all article working time (addition of all Ticket Time Accountings)
created_at datetime date when ticket was created
updated_at datetime(3) last date when ticket was updated
created_by_id int(11) the user who created the ticket FOREIGN KEY users
updated_by_id int(11) the last user who updated the ticket FOREIGN KEY users
t_custom_01 varchar(120) general purpose custom field
t_custom_02 varchar(120) general purpose custom field
t_custom_03 varchar(120) general purpose custom field
t_custom_04 varchar(120) general purpose custom field
t_custom_05 varchar(120) general purpose custom field
t_custom_06 varchar(120) general purpose custom field
t_custom_07 varchar(120) general purpose custom field
t_custom_08 varchar(120) general purpose custom field
t_custom_09 varchar(120) general purpose custom field
t_custom_10 varchar(120) general purpose custom field
t_custom_11 varchar(255) general purpose custom field
t_custom_12 varchar(255) general purpose custom field
t_custom_13 varchar(255) general purpose custom field
t_custom_14 varchar(255) general purpose custom field
t_custom_15 varchar(255) general purpose custom field
t_custom_16 varchar(255) general purpose custom field
t_custom_17 varchar(255) general purpose custom field
t_custom_18 varchar(255) general purpose custom field
t_custom_19 varchar(255) general purpose custom field
t_custom_20 varchar(255) general purpose custom field
t_custom_21 varchar(120) general purpose custom field
t_custom_22 varchar(120) general purpose custom field
t_custom_23 varchar(120) general purpose custom field
t_custom_24 varchar(120) general purpose custom field
t_custom_25 varchar(120) general purpose custom field
t_custom_26 varchar(120) general purpose custom field
t_custom_27 varchar(120) general purpose custom field
t_custom_28 varchar(120) general purpose custom field
t_custom_29 varchar(120) general purpose custom field
t_custom_30 varchar(120) general purpose custom field
t_custom_31 varchar(120) general purpose custom field
t_custom_32 varchar(120) general purpose custom field
t_custom_33 varchar(120) general purpose custom field
t_custom_34 varchar(120) general purpose custom field
t_custom_35 varchar(120) general purpose custom field
t_custom_36 varchar(120) general purpose custom field
t_custom_37 varchar(120) general purpose custom field
t_custom_38 varchar(120) general purpose custom field
t_custom_39 varchar(120) general purpose custom field
t_custom_40 varchar(120) general purpose custom field
t_custom_41 varchar(120) general purpose custom field
t_custom_42 varchar(120) general purpose custom field
t_custom_43 varchar(120) general purpose custom field
t_custom_44 varchar(120) general purpose custom field
t_custom_45 varchar(120) general purpose custom field
t_custom_46 varchar(120) general purpose custom field
t_custom_47 varchar(120) general purpose custom field
t_custom_48 varchar(120) general purpose custom field
t_custom_49 varchar(120) general purpose custom field
t_custom_50 varchar(120) general purpose custom field
t_custom_51 varchar(120) general purpose custom field
t_custom_52 varchar(120) general purpose custom field
t_custom_53 varchar(120) general purpose custom field
t_custom_54 varchar(120) general purpose custom field
t_custom_55 varchar(120) general purpose custom field
t_custom_56 varchar(120) general purpose custom field
t_custom_57 varchar(120) general purpose custom field
t_custom_58 varchar(120) general purpose custom field
t_custom_59 varchar(120) general purpose custom field
t_custom_60 varchar(120) general purpose custom field
t_custom_61 varchar(120) general purpose custom field
t_custom_62 varchar(120) general purpose custom field
t_custom_63 varchar(120) general purpose custom field
t_custom_64 varchar(120) general purpose custom field
t_custom_65 varchar(120) general purpose custom field
t_custom_66 varchar(120) general purpose custom field
t_custom_67 varchar(120) general purpose custom field
t_custom_68 varchar(120) general purpose custom field
t_custom_69 varchar(120) general purpose custom field
t_custom_70 varchar(120) general purpose custom field
t_custom_71 varchar(120) general purpose custom field
t_custom_72 varchar(120) general purpose custom field
t_custom_73 varchar(120) general purpose custom field
t_custom_74 varchar(120) general purpose custom field
t_custom_75 varchar(120) general purpose custom field
t_custom_76 varchar(120) general purpose custom field
t_custom_77 varchar(120) general purpose custom field
t_custom_78 varchar(120) general purpose custom field
t_custom_79 varchar(120) general purpose custom field
t_custom_80 varchar(120) general purpose custom field
t_custom_81 varchar(120) general purpose custom field
t_custom_82 varchar(120) general purpose custom field
t_custom_83 varchar(120) general purpose custom field
t_custom_84 varchar(120) general purpose custom field
t_custom_85 varchar(120) general purpose custom field
t_custom_86 varchar(120) general purpose custom field
t_custom_87 varchar(120) general purpose custom field
t_custom_88 varchar(120) general purpose custom field
t_custom_89 varchar(120) general purpose custom field
t_custom_90 varchar(120) general purpose custom field
t_custom_91 varchar(120) general purpose custom field
t_custom_92 varchar(120) general purpose custom field
t_custom_93 varchar(120) general purpose custom field
t_custom_94 varchar(120) general purpose custom field
t_custom_95 varchar(120) general purpose custom field
t_custom_96 varchar(120) general purpose custom field
t_custom_97 varchar(120) general purpose custom field
t_custom_98 varchar(120) general purpose custom field
t_custom_99 varchar(120) general purpose custom field
t_custom_date_01 datetime date general purpose custom field
t_custom_date_02 datetime date general purpose custom field
t_custom_date_03 datetime date general purpose custom field
t_custom_date_04 datetime date general purpose custom field
t_custom_date_05 datetime date general purpose custom field
t_custom_date_06 datetime date general purpose custom field
t_custom_date_07 datetime date general purpose custom field
t_custom_date_08 datetime date general purpose custom field
t_custom_date_09 datetime date general purpose custom field
t_custom_date_10 datetime date general purpose custom field
t_custom_date_11 datetime date general purpose custom field
t_custom_date_12 datetime date general purpose custom field
t_custom_date_13 datetime date general purpose custom field
t_custom_date_14 datetime date general purpose custom field
t_custom_date_15 datetime date general purpose custom field
t_custom_date_16 datetime date general purpose custom field
t_custom_date_17 datetime date general purpose custom field
t_custom_date_18 datetime date general purpose custom field
t_custom_date_19 datetime date general purpose custom field
t_custom_date_20 datetime date general purpose custom field
t_custom_date_21 datetime date general purpose custom field
t_custom_date_22 datetime date general purpose custom field
t_custom_date_23 datetime date general purpose custom field
t_custom_date_24 datetime date general purpose custom field
t_custom_date_25 datetime date general purpose custom field
t_custom_date_26 datetime date general purpose custom field
t_custom_date_27 datetime date general purpose custom field
t_custom_date_28 datetime date general purpose custom field
t_custom_date_29 datetime date general purpose custom field
t_custom_date_30 datetime date general purpose custom field
t_custom_date_31 datetime date general purpose custom field
t_custom_date_32 datetime date general purpose custom field
t_custom_date_33 datetime date general purpose custom field
t_custom_date_34 datetime date general purpose custom field
t_custom_date_35 datetime date general purpose custom field
t_custom_date_36 datetime date general purpose custom field
t_custom_date_37 datetime date general purpose custom field
t_custom_date_38 datetime date general purpose custom field
t_custom_date_39 datetime date general purpose custom field
t_custom_date_40 datetime date general purpose custom field
t_custom_date_41 datetime date general purpose custom field
t_custom_date_42 datetime date general purpose custom field
t_custom_date_43 datetime date general purpose custom field
t_custom_date_44 datetime date general purpose custom field
t_custom_date_45 datetime date general purpose custom field
t_custom_date_46 datetime date general purpose custom field
t_custom_date_47 datetime date general purpose custom field
t_custom_date_48 datetime date general purpose custom field
t_custom_date_49 datetime date general purpose custom field

Ticket Groups

Table: groups

Primary keys: id

Foreign keys: created_by_id, updated_by_id

Field Type Description Note Default
id int(11) the group id
email_address_id int(11) email address for incomig tickets
name varchar(160) the group name
follow_up_possible varchar(100) if follow up is enabled yes
follow_up_assignment tinyint(1) follwo up assignment value 1
active tinyint(1) if group is active 1
created_at datetime creation date
updated_at datetime(3) last update date
created_by_id int(11) the user who created the group FOREIGN KEY users
updated_by_id int(11) the last user who updated the group FOREIGN KEY users

Ticket Time Accountings

Table: ticket_time_accountings

Primary keys: id

Foreign keys: ticket_id, ticket_article_id, created_by_id

Field Type Description Note Default
id int(11) time accounting unique id
ticket_id int(11) ticket id FOREIGN KEY tickets
ticket_article_id int(11) ticket article id FOREIGN KEY ticket_articles
time_unit decimal(6,2) working time spent on the article (secods/100)
created_at datetime creation date
updated_at datetime(3) last update date
created_by_id int(11) the user who created the time accounting FOREIGN KEY users

Ticket Groups Users

Table: groups_users

Foreign keys: user_id, group_id

Field Type Description Note Default
user_id int(11) user id FOREIGN KEY users
group_id int(11) group id FOREIGN KEY groups

Table: links

Primary keys: id

Field Type Description Note Default
id int(11) link id
link_type_id int(11) link type Possible values:
1 - normal,
2 - parent,
3 - child
link_object_source_id int(11) link source type
link_object_source_value int(11) link source
link_object_target_id int(11) link target type
link_object_target_value int(11) link target
created_at datetime creation date
updated_at datetime(3) last update date

Table: link_objects

Primary keys: id

Field Type Description Note Default
id int(11) link objects id
name varchar(250) link object name
active tinyint(1) if link objects is enabled 1
created_at datetime creation date
updated_at datetime(3) last update date

Ticket Articles

Table: ticket_articles

Primary keys: id

Foreign keys: ticket_id, created_by_id, updated_by_id

Field Type Description Note Default
id int(11) icket article id
ticket_id int(11) id of associated ticket FOREIGN KEY tickets
sender_id int(11) sender type id Possible values:
1 - Agent,
2 - Customer,
3 - System
type_id int(11) article tipe id Possible values:
1 - email,
2 - sms,
3 - chat,
4 - fax,
5 - phone,
6 - twitter status,
7 - twitter direct-message,
8 - facebook feed post,
9 - facebook feed comment,
10 - note,
11 - web,
12 - telegram personal-message
from varchar(3000) the email address, and, optionally, the name of the author
to varchar(3000) the email address, and optionally name of the message recipient
cc varchar(3000) carbon copyin
subject varchar(3000) a brief summary of the topic of the message
reply_to varchar(300) address should be used to reply to the message
message_id varchar(3000) an automatic-generated field to prevent multiple deliveries and for reference in in_reply_to
in_reply_to varchar(3000) message-id of the message this is a reply to, used to link related messages together, this field only applies to reply messages
content_type varchar(20) the message content type text/plain
references varchar(3200) message-id of the message this is a reply to, and the message-id of the message the previous reply was a reply to, etc.
body longtext the message body
internal tinyint(1) id is internal article 0
created_at datetime creation date
updated_at datetime(3) last update date
created_by_id int(11) the user who created the article FOREIGN KEY users
updated_by_id int(11) the last user who updated the article FOREIGN KEY users

Ticket Users

Table: users

Primary keys: id

Foreign keys: created_by_id, updated_by_id

Field Type Description Note Default
id int(11) users id
firstname varchar(100) first name
lastname varchar(100) last name
email varchar(255) email
web varchar(100) web site
phone varchar(100) phone number
fax varchar(100) fax number
mobile varchar(100) mobile phone number
department varchar(200) department
street varchar(120) street address
zip varchar(100) postal code
city varchar(100) city
country varchar(100) country
address varchar(500) address
vip tinyint(1) if is vip user 0
verified tinyint(1) if user is verified 0
active tinyint(1) if user is enabled 1
created_at datetime creation date
updated_at datetime(3) last update date
created_by_id int(11) the user who created the user FOREIGN KEY users
updated_by_id int(11) the last user who updated the user FOREIGN KEY users
t_custom_01 varchar(120) general purpose custom field
t_custom_02 varchar(120) general purpose custom field
t_custom_03 varchar(120) general purpose custom field
t_custom_04 varchar(120) general purpose custom field
t_custom_05 varchar(120) general purpose custom field
t_custom_06 varchar(255) general purpose custom field
t_custom_07 varchar(255) general purpose custom field
t_custom_08 varchar(255) general purpose custom field
t_custom_09 varchar(255) general purpose custom field
t_custom_10 varchar(255) general purpose custom field

Schema Types

This section documents the schema types of the TVox Data Model API.

Basic knowledge

Syntax Description
Type! Type object is required
[Type] List of Type objects
[Type]! List of Type objects where at least one element is required, but this element can be null
[Type!]! List of Type objects where at least one element is required and this element can not be null

Query

List of queries to retrieve statistical data.

Field Argument Type Description
inboundCall [InboundInteraction!] Get Inbound Service Call by ID. Result is the list of steps that make up the requested call.
id String!
inboundCalls [[InboundInteraction!]!]! Search Inbound Service Calls. Argument `search` is the object containing search criterias. Search criterias include time window (year, month), pagination and sorting. Result is the list of calls that respect search criteria; each call is in turn a list of steps that make up it.
search SearchInteraction!
inboundCallsCount Int! Count Inbound Service Calls. Argument `search` is the object containing search criterias. Search criterias include time window (year, month), pagination and sorting. Result is the 32-bit postive integer counting searched calls.
search SearchInteraction!
outboundCall [OutboundInteraction!] Get Outbound Service Call by ID. Result is the list of steps that make up the requested call.
id String!
outboundCalls [[OutboundInteraction!]!]! Search Outbound Service Calls. Argument `search` is the object containing search criterias. Search criterias include time window (year, month), pagination and sorting. Result is the list of calls that respect search criteria; each call is in turn a list of steps that make up it.
search SearchOutboundInteraction!
outboundCallsCount Int! Count Outbound Service Calls. Argument `search` is the object containing search criterias. Search criterias include time window (year, month), pagination and sorting. Result is the 32-bit postive integer counting searched calls.
search SearchOutboundInteraction!
inboundVideoCall [InboundInteraction!] Get Inbound Service Video Call by ID. Result is the list of steps that make up the requested video call.
id String!
inboundVideoCalls [[InboundInteraction!]!]! Search Inbound Service Video Calls. Argument `search` is the object containing search criterias. Search criterias include time window (year, month), pagination and sorting. Result is the list of video calls that respect search criteria; each video call is in turn a list of steps that make up it.
search SearchInteraction!
inboundVideoCallsCount Int! Count Inbound Service Video Calls. Argument `search` is the object containing search criterias. Search criterias include time window (year, month), pagination and sorting. Result is the 32-bit postive integer counting searched video calls.
search SearchInteraction!
inboundChat [InboundInteraction!] Get Inbound Service Chat by ID. Result is the list of steps that make up the requested chat.
id String!
inboundChats [[InboundInteraction!]!]! Search Inbound Service Chats. Argument `search` is the object containing search criterias. Search criterias include time window (year, month), pagination and sorting. Result is the list of chats that respect search criteria; each chat is in turn a list of steps that make up it.
search SearchInteraction!
inboundChatsCount Int! Count Inbound Service Chats. Argument `search` is the object containing search criterias. Search criterias include time window (year, month), pagination and sorting. Result is the 32-bit postive integer counting searched chats.
search SearchInteraction!
ticket Ticket Get a ticket by ID. Result a ticket with given id if exists.
id String!
tickets [Ticket!] Search tickets. Argument `search` is the object containing search criterias. Search criterias include, pagination and sorting. Result is the list of tickets that respect search criteria.
search SearchTicket!
ticketsCount Int! Count Tickets. Argument `search` is the object containing search criterias. Search criterias include pagination and sorting. Result is the 32-bit postive integer counting searched Tickets.
search SearchTicket!
addressBookContact AddressBookContact! Get an AddressBookContact by ID. Result an AddressBookContact with given id if exists.
uuid String!
addressBookContacts [AddressBookContact!]! Search AddressBookContacts. Argument `search` is the object containing search criterias. Search criterias include, pagination and sorting. Result is the list of AddressBookContacts that respect search criteria.
search SearchAddressBookContact!
addressBookContactCount Int! Count AddressBookContacts. Argument `search` is the object containing search criterias. Search criterias include pagination and sorting. Result is the 32-bit postive integer counting searched AddressBookContacts.
search SearchAddressBookContact!
advancedQuery [OrderedMap!]! Advanced query for **TVox**(_phone_, _video_, _chat_), **Support** and **Addressbook**. See the complete documentation for model details and query limitations. Argument `type` is used to select query source between TVox, Support and Addressbook. Argument `query` is a string containing the advanced query to be executed. Update, insert or delete actions are not allowed. Result is represented by a list of objects where the keys are the names of the selected fields and values are strings.
type AdvancedQueryType
query String!

Objects

AddressBookContact

The AddressBookContact type represents a single contact from an address-book

Field Argument Type Description
uuid String the `uuid` represents the uuid of an addressbook contact
fullName String the `fullName` represents the full name of an addressbook contact
name String the `name` represents the name of an addressbook contact
surname String the `surname` represents the surname of an addressbook contact
contactType AddressBookContactType the `contactType` represents the contact type of an addressbook contact
otherName String the `otherName` represents the other Name of an addressbook contact
organization AddressBookContactBase the `organization` represents the organization of an addressbook contact
department String the `department` represents the department of an addressbook contact
street String the `street` represents the street of an addressbook contact
city String the `city` represents the city of an addressbook contact
district String the `district` represents the district of an addressbook contact
cap String the `cap` represents the cap of an addressbook contact
country String the `country` represents the country of an addressbook contact
customerCode String the `customerCode` represents the customer code of an addressbook contact
category String the `category` represents the category of an addressbook contact
note String the `note` represents the note of an addressbook contact
vip Boolean the `vip` if the contact is vip one
nps Int the `nps` represents the last nps vote entered by the contact
role String the `role` represents the role of an addressbook contact
tel [AddressBookTel!] the `tel` represents the tel of an addressbook contact
mail [AddressBookMail!] the `mail` represents the mail of an addressbook contact
web [AddressBookWeb!] the `web` represents the web of an addressbook contact
site String the `site` represents the site of an addressbook contact
operatorNote OperatorNote the `operatorNote` represents the operatorNote of an addressbook contact
custom_1 String general purpouse custom field
custom_2 String general purpouse custom field
custom_3 String general purpouse custom field
custom_4 String general purpouse custom field
custom_5 String general purpouse custom field
custom_6 String general purpouse custom field
custom_7 String general purpouse custom field
custom_8 String general purpouse custom field
custom_9 String general purpouse custom field
custom_10 String general purpouse custom field

AddressBookContactBase

Field Argument Type Description
uuid String uuid of an addressbook contact
fullName String fullName of an addressbook contact

AddressBookMail

The AddressBookMail type represents an adressbook contact email and its type

Field Argument Type Description
value String The `value` type represents an adressbook contact email
type AddressBookMailType The `type` type represents an adressbook contact email type

AddressBookTel

The AddressBookTel type represents an adressbook contact telephone number and its type

Field Argument Type Description
value String The `value` type represents an adressbook contact telephone number
type AddressBookTelType The `type` type represents an adressbook contact telephone number type

AddressBookWeb

The AddressBookWeb type represents an adressbook contact web site and its type

Field Argument Type Description
value String The `type` type represents an adressbook contact web
type AddressBookWebType The `type` type represents an adressbook contact web type

CallResult

The CallResult type represents call result data

Field Argument Type Description
resultLevel1 String 1st level call result (exit code)
resultLevel2 String 2nd level call result (exit code)
note1 String 1st level call result (exit code) note
note2 String 2nd level call result (exit code) note

CallTag

The CallTag type represents call tagging data

Field Argument Type Description
note1 String 1st call tagging note
note2 String 2nd call tagging note

Contact

The Contact type represents contact data

Field Argument Type Description
id String Contact UUID
username String Contact username (if internal of type "USER")
value String Contact value (e.g. phone number)
type ContactType Contact type
lookupType ContactLookupType Contact lookup result type

GenericFields

The GenericFields type represents generic fields data

Field Argument Type Description
generic1 String Generic custom data 1
generic2 String Generic custom data 2
generic3 String Generic custom data 3
generic4 String Generic custom data 4
generic5 String Generic custom data 5

InboundInteraction

The InboundInteraction type represents a single inbound interaction step (call, video call and chat).

Field Argument Type Description
id String! Unique identifier
step Int! Number of the interaction step. Each interaction can be composed of several steps (N), sorted from the most recent (0) to the oldest (N-1).
user String User's username
exten String User's logged exten
SIPChannel String SIP channel identifier
skillset String Skillset code
cli String Caller Line Identification (Calling number)
dnis String Direct Number Information System (Called number)
startTime Time Start time
distributionTime Time Distribution time
status Status Status
transferedTo TransferTo Service or number to which the interaction was transferred
answerByUserTime Time Answer time by user
waitDurationOnUser Int! Ringing time on user
durationOnUser Int! Connection time with user
endTime Time End time
waitDuration Int! Waiting duration time in IVR
totalDuration Int! Total duration time in the system
service String Service code
popup Popup Popup
context Context Time context
SIPCallId String SIP call identifier (only for calls)
customer String Customer code
servicePriority Int! Service priority
multiChannel MultiChannel! Multichannel
IVRLabel String IVR node label
interviewService String Interview (Survey) service code
smartrec String Recording file (only for calls)
data String Additional data
queueTime Time Queueing time
queueDuration Int! Queueing duration time
wnrOnUserTime Time WNR (after interaction work) time
wnrDurationOnUser Int! WNR (after interaction work) duration time
callResult CallResult Call result (exit code)
holdDuration Int! Hold duration time on user
callTag CallTag Call tagging
channelDestination ChannelDestinationType Channel destination of transfer
sentiment Int! Customer sentiment code
contact Contact Contact
censusResult String Contact censur result
abandonedCall String Linked abandoned call id
callbackCall String Linked callback call id
generic GenericFields Generic custom data
lastUpdateTime Time! Last update time

MultiChannel

The MultiChannel type represents multichannel data

Field Argument Type Description
type MultiChannelType! Multichannel type
session String Multichannel session id
text String Multichannel additional data
description String Multichannel description

OperatorNote

The OperatorNote type represents a note written by a TVox operator on an address book contact

Field Argument Type Description
value String The `value` is the written note
lastUpdateTime Time The `lastUpdateTime` is the date when the note was updated last time
lastUpdateUser AddressBookContactBase The `lastUpdateUser` is the TVox operatr who updated the note

OutboundInteraction

The OutboundInteraction type represents a single outbound interaction step (call).

Field Argument Type Description
id String! Unique identifier
step Int! Number of the interaction step. Each interaction can be composed of several steps (N), sorted from the most recent (0) to the oldest (N-1).
user String User's username
exten String User's logged exten
SIPChannel String SIP channel identifier
cli String Caller Line Identification (Calling number)
dnis String Direct Number Information System (Called number)
startTime Time Start time
distributionTime Time Distribution time
status Status Status
transferedTo String Service or number to which the interaction was transferred
answerByUserTime Time Answer time by user
waitDurationOnUser Int! Ringing time on user
durationOnUser Int! Connection time with user
endTime Time End time
waitDuration Int! Waiting duration time in IVR
totalDuration Int! Total duration time in the system
service String Service code
popup Popup Popup
context Context Time context
SIPCallId String SIP call identifier (only for calls)
customer String Customer code
servicePriority Int! Service priority
multiChannel MultiChannel! Multichannel
IVRLabel String IVR node label
interviewService String Interview (Survey) service code
smartrec String Recording file (only for calls)
data String Additional data
queueTime Time Queueing time
queueDuration Int! Queueing duration time
wnrOnUserTime Time WNR (after interaction work) time
wnrDurationOnUser Int! WNR (after interaction work) duration time
callResult CallResult Call result (exit code)
holdDuration Int! Hold duration time on user
callTag CallTag Call tagging
channelDestination ChannelDestinationType Channel destination of transfer
sentiment Int! Customer sentiment code
contact Contact Contact
abandonedCall String Linked abandoned call id
callbackCall String Linked callback call id
generic GenericFields Generic custom data
lastUpdateTime Time! Last update time

The Popup type represents popup data

Field Argument Type Description
type PopupType! Popup type (EXE or WEB)
result String Popup result
info String Additional information collected by IVR or third party applications. The individual information is separated by the special character "|".

ServiceDescription

The ServiceDescription type represents a service with its description

Field Argument Type Description
code String! service code
description String service description

Ticket

Field Argument Type Description
id Int id
service ServiceDescription service
owner [AddressBookContact!] owner
customer [AddressBookContact!] customer
createdBy [AddressBookContact!] createdby user who created the first article
priority TicketPriority priority
state TicketState state
organization [AddressBookContact!]
number String number
title String title
firstResponseAt Time first response at
firstResponseEscalationAt Time first response escalation at
firstResponseInMin Int first response in min
firstResponseDiffInMin Int first response diff in min
createdAt Time Created at
closeAt Time close at
closeEscalationAt Time close escalation at
closeInMin Int close in min
closeDiffInMin Int close diff in min
updateEscalationAt Time update escalation at
updateInMin Int update in min
updateDiffInMin Int update diff in min
lastContactAt Time last contact at
lastContactAgentAt Time last contact agent at
lastContactCustomerAt Time last contact customer at
lastOwnerUpdateAt Time last owner update at
createArticleType TicketArticleType create article type
createArticleSenderType TicketArticleSender create article sender type
articleCount Int article count
links [TicketLink!] list of ticket associated links
articles [TicketArticle!] list of ticket associated articles
escalationAt Time escalation at
pendingTime Time pending time
timeUnit Float time unit seconds
tCustom1 String Custom field 1
tCustom2 String Custom field 2
tCustom3 String Custom field 3
tCustom4 String Custom field 4
tCustom5 String Custom field 5
tCustom6 String Custom field 6
tCustom7 String Custom field 7
tCustom8 String Custom field 8
tCustom9 String Custom field 9
tCustom10 String Custom field 10
tCustom11 String Custom field 11
tCustom12 String Custom field 12
tCustom13 String Custom field 13
tCustom14 String Custom field 14
tCustom15 String Custom field 15
tCustom16 String Custom field 16
tCustom17 String Custom field 17
tCustom18 String Custom field 18
tCustom19 String Custom field 19
tCustom20 String Custom field 20
tCustom21 String Custom field 21
tCustom22 String Custom field 22
tCustom23 String Custom field 23
tCustom24 String Custom field 24
tCustom25 String Custom field 25
tCustom26 String Custom field 26
tCustom27 String Custom field 27
tCustom28 String Custom field 28
tCustom29 String Custom field 29
tCustom30 String Custom field 30
tCustom31 String Custom field 31
tCustom32 String Custom field 32
tCustom33 String Custom field 33
tCustom34 String Custom field 34
tCustom35 String Custom field 35
tCustom36 String Custom field 36
tCustom37 String Custom field 37
tCustom38 String Custom field 38
tCustom39 String Custom field 39
tCustom40 String Custom field 40
tCustom41 String Custom field 41
tCustom42 String Custom field 42
tCustom43 String Custom field 43
tCustom44 String Custom field 44
tCustom45 String Custom field 45
tCustom46 String Custom field 46
tCustom47 String Custom field 47
tCustom48 String Custom field 48
tCustom49 String Custom field 49
tCustom50 String Custom field 50
tCustom51 String Custom field 51
tCustom52 String Custom field 52
tCustom53 String Custom field 53
tCustom54 String Custom field 54
tCustom55 String Custom field 55
tCustom56 String Custom field 56
tCustom57 String Custom field 57
tCustom58 String Custom field 58
tCustom59 String Custom field 59
tCustom60 String Custom field 60
tCustom61 String Custom field 61
tCustom62 String Custom field 62
tCustom63 String Custom field 63
tCustom64 String Custom field 64
tCustom65 String Custom field 65
tCustom66 String Custom field 66
tCustom67 String Custom field 67
tCustom68 String Custom field 68
tCustom69 String Custom field 69
tCustom70 String Custom field 70
tCustom71 String Custom field 71
tCustom72 String Custom field 72
tCustom73 String Custom field 73
tCustom74 String Custom field 74
tCustom75 String Custom field 75
tCustom76 String Custom field 76
tCustom77 String Custom field 77
tCustom78 String Custom field 78
tCustom79 String Custom field 79
tCustom80 String Custom field 80
tCustom81 String Custom field 81
tCustom82 String Custom field 82
tCustom83 String Custom field 83
tCustom84 String Custom field 84
tCustom85 String Custom field 85
tCustom86 String Custom field 86
tCustom87 String Custom field 87
tCustom88 String Custom field 88
tCustom89 String Custom field 89
tCustom90 String Custom field 90
tCustom91 String Custom field 91
tCustom92 String Custom field 92
tCustom93 String Custom field 93
tCustom94 String Custom field 94
tCustom95 String Custom field 95
tCustom96 String Custom field 96
tCustom97 String Custom field 97
tCustom98 String Custom field 98
tCustom99 String Custom field 99
tCustomDate1 Time Time Custom Date field 1
tCustomDate2 Time Time Custom Date field 2
tCustomDate3 Time Time Custom Date field 3
tCustomDate4 Time Time Custom Date field 4
tCustomDate5 Time Time Custom Date field 5
tCustomDate6 Time Time Custom Date field 6
tCustomDate7 Time Time Custom Date field 7
tCustomDate8 Time Time Custom Date field 8
tCustomDate9 Time Time Custom Date field 9
tCustomDate10 Time Time Custom Date field 10
tCustomDate11 Time Time Custom Date field 11
tCustomDate12 Time Time Custom Date field 12
tCustomDate13 Time Time Custom Date field 13
tCustomDate14 Time Time Custom Date field 14
tCustomDate15 Time Time Custom Date field 15
tCustomDate16 Time Time Custom Date field 16
tCustomDate17 Time Time Custom Date field 17
tCustomDate18 Time Time Custom Date field 18
tCustomDate19 Time Time Custom Date field 19
tCustomDate20 Time Time Custom Date field 20
tCustomDate21 Time Time Custom Date field 21
tCustomDate22 Time Time Custom Date field 22
tCustomDate23 Time Time Custom Date field 23
tCustomDate24 Time Time Custom Date field 24
tCustomDate25 Time Time Custom Date field 25
tCustomDate26 Time Time Custom Date field 26
tCustomDate27 Time Time Custom Date field 27
tCustomDate28 Time Time Custom Date field 28
tCustomDate29 Time Time Custom Date field 29
tCustomDate30 Time Time Custom Date field 30
tCustomDate31 Time Time Custom Date field 31
tCustomDate32 Time Time Custom Date field 32
tCustomDate33 Time Time Custom Date field 33
tCustomDate34 Time Time Custom Date field 34
tCustomDate35 Time Time Custom Date field 35
tCustomDate36 Time Time Custom Date field 36
tCustomDate37 Time Time Custom Date field 37
tCustomDate38 Time Time Custom Date field 38
tCustomDate39 Time Time Custom Date field 39
tCustomDate40 Time Time Custom Date field 40
tCustomDate41 Time Time Custom Date field 41
tCustomDate42 Time Time Custom Date field 42
tCustomDate43 Time Time Custom Date field 43
tCustomDate44 Time Time Custom Date field 44
tCustomDate45 Time Time Custom Date field 45
tCustomDate46 Time Time Custom Date field 46
tCustomDate47 Time Time Custom Date field 47
tCustomDate48 Time Time Custom Date field 48
tCustomDate49 Time Time Custom Date field 49

TicketArticle

The TicketArticle type represents a ticket article

Field Argument Type Description
id Int The id field represents the id of article
ticketId Int The ticket id field represents the ticket associated with article
type TicketArticleType The type field represents te type of article
senderType TicketArticleSender The sender type field represents the sender type
from String The from field represents the email address, and, optionally, the name of the author
to String The to field represents the email address, and optionally name of the message recipient
cc String The cc field represents the carbon copyin of article
subject String The subject field represents a brief summary of the topic of the message
replyTo String The reply to field represents address should be used to reply to the message
messageId String The message id represents an automatic-generated field to prevent multiple deliveries and for reference in in_reply_to
inReplyTo String The in reply to field represents message-id of the message this is a reply to, used to link related messages together, this field only applies to reply messages
contentType String The content type field represents the message content type
references String The references field represents message-id of the message this is a reply to, and the message-id of the message the previous reply was a reply to, etc.
internal Boolean The internal field represents id is internal article
createdBy [AddressBookContact!] The created by id field represents the user who created the article
createdAt Time The created at field represents the creation date

The TicketLink type represents a ticket link

Field Argument Type Description
type TicketLinkType! Link type
ticketId Int! Linked ticket id

TransferTo

The TransferTo type represents transfer destination data

Field Argument Type Description
type TransferToType! Transfer destination type (service or number)
value String! Transfer destination value (service code or phone number)

Inputs

ComparisonDuration

The ComparisonDuration type represents comparison between duration values.

Field Type Description
operator ComparisonTimeOperator Operator to compare duration values
value Int Duration value to compare
valueLeft Int Duration value used as left term in bynary comparison
valueRight Int Duration value used as right term in bynary comparison

ComparisonNumber

The ComparisonString type represents comparison between string values.

Field Type Description
operator ComparisonNumberOperator Operator to compare string values
value [Int!] List of string values to compare

ComparisonString

The ComparisonString type represents comparison between string values.

Field Type Description
operator ComparisonStringOperator Operator to compare string values
value [String!] List of string values to compare
regexp String Regular expression to match

ComparisonTime

The ComparisonTime type represents comparison between time values.

Field Type Description
operator ComparisonTimeOperator Operator to compare time values
value Time Time value to compare
valueLeft Time Time value used as left term in bynary comparison
valueRight Time Time value used as right term in bynary comparison

Pagination

The Pagination type represents pagination.

Field Type Description
limit Int Maximum number of element to retrieve
offset Int Offset of the first element to retrieve (starting from 0)

SearchAddressBookContact

The AddressBookContact type represents a single contact from an addressbook

Field Type Description
pagination Pagination Pagination (limit and offset)
sorting SortingAddressBookContact Sorting field and order
uuid ComparisonString the `uuid` represents the uuid of an addressbook contact
fullName ComparisonString the `fullName` represents the full name of an addressbook contact
name ComparisonString the `name` represents the name of an addressbook contact
surname ComparisonString the `surname` represents the surname of an addressbook contact
contactType [AddressBookContactType!] the `contactType` represents the contact type of an addressbook contact
otherName ComparisonString the `otherName` represents the other Name of an addressbook contact
organization SearchAddressBookContactBase the `organization` represents the organization of an addressbook contact, if the contact itself is not an organization
department ComparisonString the `department` represents the department of an addressbook contact
street ComparisonString the `street` represents the street of an addressbook contact
city ComparisonString the `city` represents the city of an addressbook contact
district ComparisonString the `district` represents the district of an addressbook contact
cap ComparisonString the `cap` represents the cap of an addressbook contact
country ComparisonString the `country` represents the country of an addressbook contact
customerCode ComparisonString the `customerCode` represents the customer code of an addressbook contact
category ComparisonString the `category` represents the category of an addressbook contact
note ComparisonString the `note` represents the note of an addressbook contact
vip Boolean the `vip` if the contact is vip one
nps ComparisonNumber the `nps` represents the last nps vote entered by the contact
role ComparisonString the `role` represents the role of an addressbook contact
tel SearchAddressBookTel the `tel` represents the tel of an addressbook contact
mail SearchAddressBookMail the `mail` represents the mail of an addressbook contact
web SearchAddressBookWeb the `web` represents the web of an addressbook contact
site ComparisonString the `site` represents the site of an addressbook contact
operatorNote SearchOperatorNote the `operatorNote` represents the operatorNote of an addressbook contact
custom_1 ComparisonString general purpouse custom field
custom_2 ComparisonString general purpouse custom field
custom_3 ComparisonString general purpouse custom field
custom_4 ComparisonString general purpouse custom field
custom_5 ComparisonString general purpouse custom field
custom_6 ComparisonString general purpouse custom field
custom_7 ComparisonString general purpouse custom field
custom_8 ComparisonString general purpouse custom field
custom_9 ComparisonString general purpouse custom field
custom_10 ComparisonString general purpouse custom field

SearchAddressBookContactBase

The SearchAddressBookContactBase type represents a base search parameter on an address book contact

Field Type Description
uuid ComparisonString uuid of an addressbook contact
fullName ComparisonString fullName of an addressbook contact

SearchAddressBookMail

The SearchAddressBookMail type represents a search parameter on an address book contact email

Field Type Description
value ComparisonString The `value` type represents an adressbook contact email
type [AddressBookMailType!] The `type` type represents an adressbook contact email type

SearchAddressBookTel

The AddressBookTel type represents a search parameter on an address book contact telephone

Field Type Description
value ComparisonString The `value` type represents an adressbook contact telephone number
type [AddressBookTelType!] The `type` type represents an adressbook contact telephone number type

SearchAddressBookWeb

The AddressBookWeb type represents a search parameter on an address book contact web

Field Type Description
value ComparisonString The `type` type represents an adressbook contact web
type [AddressBookWebType!] The `type` type represents an adressbook contact web type

SearchCallResult

The SearchCallResult type represents search criteria for call result.

Field Type Description
resultLevel1 ComparisonString String values comparison for call result (level 1)
resultLevel2 ComparisonString String values comparison for call result (level 2)
note1 ComparisonString String values comparison for call result note (level 1)
note2 ComparisonString String values comparison for call result note (level 2)

SearchCallTag

The SearchCallTag type represents search criteria for call tag.

Field Type Description
note1 ComparisonString String values comparison for call tag note 1
note2 ComparisonString String values comparison for call tag note 2

SearchContact

The SearchContact type represents search criteria for contact.

Field Type Description
id ComparisonString String values comparison for contact id
username ComparisonString String values comparison for contact username
value ComparisonString String values comparison for contact value
type [ContactType!] List of contact types to search
lookupType [ContactLookupType!] List of contact lookup types to search

SearchGenericFields

The SearchGenericFields type represents search criteria for generic fields.

Field Type Description
generic1 ComparisonString String values comparison for generic field 1
generic2 ComparisonString String values comparison for generic field 2
generic3 ComparisonString String values comparison for generic field 3
generic4 ComparisonString String values comparison for generic field 4
generic5 ComparisonString String values comparison for generic field 5

SearchInteraction

The SearchInteraction type represents search criterias for interactions (calls, video calls and chats).

Field Type Description
year Int Year in which to search interactions
month Int Month in which to search interactions
pagination Pagination Pagination (limit and offset)
sorting SortingInboundInteraction Sorting (key and direction)
id ComparisonString String values comparison for id
step Step Interaction step to retrieve (last or all)
user ComparisonString String values comparison for user
exten ComparisonString String values comparison for exten
SIPChannel ComparisonString String values comparison for SIP channel
skillset ComparisonString String values comparison for skillset
cli ComparisonString String values comparison for cli
dnis ComparisonString String values comparison for dnis
startTime ComparisonTime Time values comparison for start time. The comparison is applied on year, month and day, not taking into account hours, minutes and seconds.
distributionTime ComparisonTime Time values comparison for distribution time The comparison is applied on year, month and day, not taking into account hours, minutes and seconds.
status [Status!] List of statuses to search
transferedTo SearchTransferTo Search criteria for transfer destination
answerByUserTime ComparisonTime Time values comparison for answer by user time The comparison is applied on year, month and day, not taking into account hours, minutes and seconds.
waitDurationOnUser ComparisonDuration Duration values comparison for wait duration on user
durationOnUser ComparisonDuration Duration values comparison for duration on user
endTime ComparisonTime Time values comparison for end time The comparison is applied on year, month and day, not taking into account hours, minutes and seconds.
waitDuration ComparisonDuration Duration values comparison for wait duration
totalDuration ComparisonDuration Duration values comparison for total duration
service ComparisonString String values comparison for service
popup SearchPopup Search criteria for popup
context [Context!] List of contexts to search
SIPCallId ComparisonString String values comparison for SIP call id
customer ComparisonString String values comparison for customer
servicePriority [Int!] List of service priorities (integers) to search
multiChannel SearchMultiChannel Search criteria for multichannel
IVRLabel ComparisonString String values comparison for IVR label
interviewService ComparisonString String values comparison for interview service
smartrec ComparisonString String values comparison for smartrec
data ComparisonString String values comparison for data
queueTime ComparisonTime Time values comparison for queue time The comparison is applied on year, month and day, not taking into account hours, minutes and seconds.
queueDuration ComparisonDuration Duration values comparison for queue duration
wnrOnUserTime ComparisonTime Time values comparison for wnr (after interaction work) on user time The comparison is applied on year, month and day, not taking into account hours, minutes and seconds.
wnrDurationOnUser ComparisonDuration Duration values comparison for wnr (after interaction work) duration on user
callResult SearchCallResult Search criteria for call result
holdDuration ComparisonDuration Duration values comparison for hold duration
callTag SearchCallTag Search criteria for call tag
channelDestination [ChannelDestinationType!] List of channel destination types to search
sentiment [Int!] List of sentiment values (integers) to search
contact SearchContact Search criteria for contact
censusResult ComparisonString String values comparison for census result
abandonedCall Boolean Has or not a linked abandoned call
callbackCall Boolean Has or not a linked callback call
generic SearchGenericFields Search criteria for generic fields
lastUpdateTime ComparisonTime Time values comparison for last update time

SearchMultiChannel

The SearchMultiChannel type represents search criteria for multichannel.

Field Type Description
session ComparisonString String values comparison for multichannel session
text ComparisonString String values comparison for multichannel text
description ComparisonString String values comparison for multichannel description

SearchOperatorNote

The SearchOperatorNote type represents a search parameter on an address book contact operator note

Field Type Description
value ComparisonString The `value` is the written note
lastUpdateTime ComparisonTime The `lastUpdateTime` is the date when the note was updated last time
lastUpdateUser SearchAddressBookContactBase The `lastUpdateUser` is the TVox operatr who updated the note

SearchOutboundInteraction

The SearchOutboundInteraction type represents search criterias for outbound interactions (calls).

Field Type Description
year Int Year in which to search interactions
month Int Month in which to search interactions
pagination Pagination Pagination (limit and offset)
sorting SortingInboundInteraction Sorting (key and direction)
id ComparisonString String values comparison for id
step Step Interaction step to retrieve (last or all)
user ComparisonString String values comparison for user
exten ComparisonString String values comparison for exten
SIPChannel ComparisonString String values comparison for SIP channel
cli ComparisonString String values comparison for cli
dnis ComparisonString String values comparison for dnis
startTime ComparisonTime Time values comparison for start time. The comparison is applied on year, month and day, not taking into account hours, minutes and seconds.
distributionTime ComparisonTime Time values comparison for distribution time The comparison is applied on year, month and day, not taking into account hours, minutes and seconds.
status [Status!] List of statuses to search
transferedTo ComparisonString Search criteria for transfer destination (service code or phone number)
answerByUserTime ComparisonTime Time values comparison for answer by user time The comparison is applied on year, month and day, not taking into account hours, minutes and seconds.
waitDurationOnUser ComparisonDuration Duration values comparison for wait duration on user
durationOnUser ComparisonDuration Duration values comparison for duration on user
endTime ComparisonTime Time values comparison for end time The comparison is applied on year, month and day, not taking into account hours, minutes and seconds.
waitDuration ComparisonDuration Duration values comparison for wait duration
totalDuration ComparisonDuration Duration values comparison for total duration
service ComparisonString String values comparison for service
popup SearchPopup Search criteria for popup
context [Context!] List of contexts to search
SIPCallId ComparisonString String values comparison for SIP call id
customer ComparisonString String values comparison for customer
servicePriority [Int!] List of service priorities (integers) to search
multiChannel SearchMultiChannel Search criteria for multichannel
IVRLabel ComparisonString String values comparison for IVR label
interviewService ComparisonString String values comparison for interview service
smartrec ComparisonString String values comparison for smartrec
data ComparisonString String values comparison for data
queueTime ComparisonTime Time values comparison for queue time The comparison is applied on year, month and day, not taking into account hours, minutes and seconds.
queueDuration ComparisonDuration Duration values comparison for queue duration
wnrOnUserTime ComparisonTime Time values comparison for wnr (after interaction work) on user time The comparison is applied on year, month and day, not taking into account hours, minutes and seconds.
wnrDurationOnUser ComparisonDuration Duration values comparison for wnr (after interaction work) duration on user
callResult SearchCallResult Search criteria for call result
holdDuration ComparisonDuration Duration values comparison for hold duration
callTag SearchCallTag Search criteria for call tag
channelDestination [ChannelDestinationType!] List of channel destination types to search
sentiment [Int!] List of sentiment values (integers) to search
contact SearchContact Search criteria for contact
abandonedCall Boolean Has or not a linked abandoned call
callbackCall Boolean Has or not a linked callback call
generic SearchGenericFields Search criteria for generic fields
lastUpdateTime ComparisonTime Time values comparison for last update time

SearchPopup

The SearchPopup type represents search criteria for popup.

Field Type Description
type [PopupType!] List of popup types to search
result ComparisonString String values comparison for popup result
info ComparisonString String values comparison for popup info

SearchServiceDescription

The SearchServiceDescription type represents a base search parameter for services

Field Type Description
code ComparisonString service code
description ComparisonString service description

SearchTicket

Field Type Description
pagination Pagination Pagination (limit and offset)
sorting SortingTicket Sorting (key and direction)
id ComparisonNumber String values comparison for id
title ComparisonString String values comparison for title
owner SearchAddressBookContact SearchAddressBookContact search param for owner
customer SearchAddressBookContact SearchAddressBookContact search param for customer
createdBy SearchAddressBookContact SearchAddressBookContact search param for user who created the first ticket article
organization SearchAddressBookContact SearchAddressBookContact search param for organization
service SearchServiceDescription String values comparison for service
priority [TicketPriority!] List of ticket priorities to search
state [TicketState!] List of ticket states to search
number ComparisonNumber Number value comparison for number field
firstResponseAt ComparisonTime Time value comparison for first response field
firstResponseEscalationAt ComparisonTime Time value comparison for first response escalation
firstResponseInMin ComparisonDuration Number value comparison for first response in min
firstResponseDiffInMin ComparisonDuration Number value comparison for first response diff in min
createdAt ComparisonTime Time value comparison for created at
closeAt ComparisonTime Time value comparison for close at
closeEscalationAt ComparisonTime Time value comparison for close escalation at
closeInMin ComparisonDuration Number value comparison for close in min
closeDiffInMin ComparisonDuration Number value comparison for close diff in min
updateEscalationAt ComparisonTime Time value comparison for update escalation at
updateInMin ComparisonDuration Number value comparison for update in min
updateDiffInMin ComparisonDuration Number value comparison for update diff in min
lastContactAt ComparisonTime Time value comparison for last contact at
lastContactAgentAt ComparisonTime Time value comparison for last contact agent at
lastContactCustomerAt ComparisonTime Time value comparison for last contact customer at
lastOwnerUpdateAt ComparisonTime Time value comparison for last owner update at
createArticleType [TicketArticleType!] List of ticket article types to search
createArticleSenderType [TicketArticleSender!] List of ticket article senders to search
articleCount ComparisonNumber Number value comparison for article count
links SearchTicketLink Search parameter for ticket links
articles SearchTicketArticle Search parameter for ticket articles
escalationAt ComparisonTime Time value comparison for escalation at
pendingTime ComparisonTime Time value comparison for pending time
timeUnit ComparisonNumber Number value comparison for time unit
tCustom1 ComparisonString String values comparison for tCustom1
tCustom2 ComparisonString String values comparison for tCustom2
tCustom3 ComparisonString String values comparison for tCustom3
tCustom4 ComparisonString String values comparison for tCustom4
tCustom5 ComparisonString String values comparison for tCustom5
tCustom6 ComparisonString String values comparison for tCustom6
tCustom7 ComparisonString String values comparison for tCustom7
tCustom8 ComparisonString String values comparison for tCustom8
tCustom9 ComparisonString String values comparison for tCustom9
tCustom10 ComparisonString String values comparison for tCustom10
tCustom11 ComparisonString String values comparison for tCustom11
tCustom12 ComparisonString String values comparison for tCustom12
tCustom13 ComparisonString String values comparison for tCustom13
tCustom14 ComparisonString String values comparison for tCustom14
tCustom15 ComparisonString String values comparison for tCustom15
tCustom16 ComparisonString String values comparison for tCustom16
tCustom17 ComparisonString String values comparison for tCustom17
tCustom18 ComparisonString String values comparison for tCustom18
tCustom19 ComparisonString String values comparison for tCustom19
tCustom20 ComparisonString String values comparison for tCustom20
tCustom21 ComparisonString String values comparison for tCustom21
tCustom22 ComparisonString String values comparison for tCustom22
tCustom23 ComparisonString String values comparison for tCustom23
tCustom24 ComparisonString String values comparison for tCustom24
tCustom25 ComparisonString String values comparison for tCustom25
tCustom26 ComparisonString String values comparison for tCustom26
tCustom27 ComparisonString String values comparison for tCustom27
tCustom28 ComparisonString String values comparison for tCustom28
tCustom29 ComparisonString String values comparison for tCustom29
tCustom30 ComparisonString String values comparison for tCustom30
tCustom31 ComparisonString String values comparison for tCustom31
tCustom32 ComparisonString String values comparison for tCustom32
tCustom33 ComparisonString String values comparison for tCustom33
tCustom34 ComparisonString String values comparison for tCustom34
tCustom35 ComparisonString String values comparison for tCustom35
tCustom36 ComparisonString String values comparison for tCustom36
tCustom37 ComparisonString String values comparison for tCustom37
tCustom38 ComparisonString String values comparison for tCustom38
tCustom39 ComparisonString String values comparison for tCustom39
tCustom40 ComparisonString String values comparison for tCustom40
tCustom41 ComparisonString String values comparison for tCustom41
tCustom42 ComparisonString String values comparison for tCustom42
tCustom43 ComparisonString String values comparison for tCustom43
tCustom44 ComparisonString String values comparison for tCustom44
tCustom45 ComparisonString String values comparison for tCustom45
tCustom46 ComparisonString String values comparison for tCustom46
tCustom47 ComparisonString String values comparison for tCustom47
tCustom48 ComparisonString String values comparison for tCustom48
tCustom49 ComparisonString String values comparison for tCustom49
tCustom50 ComparisonString String values comparison for tCustom50
tCustom51 ComparisonString String values comparison for tCustom51
tCustom52 ComparisonString String values comparison for tCustom52
tCustom53 ComparisonString String values comparison for tCustom53
tCustom54 ComparisonString String values comparison for tCustom54
tCustom55 ComparisonString String values comparison for tCustom55
tCustom56 ComparisonString String values comparison for tCustom56
tCustom57 ComparisonString String values comparison for tCustom57
tCustom58 ComparisonString String values comparison for tCustom58
tCustom59 ComparisonString String values comparison for tCustom59
tCustom60 ComparisonString String values comparison for tCustom60
tCustom61 ComparisonString String values comparison for tCustom61
tCustom62 ComparisonString String values comparison for tCustom62
tCustom63 ComparisonString String values comparison for tCustom63
tCustom64 ComparisonString String values comparison for tCustom64
tCustom65 ComparisonString String values comparison for tCustom65
tCustom66 ComparisonString String values comparison for tCustom66
tCustom67 ComparisonString String values comparison for tCustom67
tCustom68 ComparisonString String values comparison for tCustom68
tCustom69 ComparisonString String values comparison for tCustom69
tCustom70 ComparisonString String values comparison for tCustom70
tCustom71 ComparisonString String values comparison for tCustom71
tCustom72 ComparisonString String values comparison for tCustom72
tCustom73 ComparisonString String values comparison for tCustom73
tCustom74 ComparisonString String values comparison for tCustom74
tCustom75 ComparisonString String values comparison for tCustom75
tCustom76 ComparisonString String values comparison for tCustom76
tCustom77 ComparisonString String values comparison for tCustom77
tCustom78 ComparisonString String values comparison for tCustom78
tCustom79 ComparisonString String values comparison for tCustom79
tCustom80 ComparisonString String values comparison for tCustom80
tCustom81 ComparisonString String values comparison for tCustom81
tCustom82 ComparisonString String values comparison for tCustom82
tCustom83 ComparisonString String values comparison for tCustom83
tCustom84 ComparisonString String values comparison for tCustom84
tCustom85 ComparisonString String values comparison for tCustom85
tCustom86 ComparisonString String values comparison for tCustom86
tCustom87 ComparisonString String values comparison for tCustom87
tCustom88 ComparisonString String values comparison for tCustom88
tCustom89 ComparisonString String values comparison for tCustom89
tCustom90 ComparisonString String values comparison for tCustom90
tCustom91 ComparisonString String values comparison for tCustom91
tCustom92 ComparisonString String values comparison for tCustom92
tCustom93 ComparisonString String values comparison for tCustom93
tCustom94 ComparisonString String values comparison for tCustom94
tCustom95 ComparisonString String values comparison for tCustom95
tCustom96 ComparisonString String values comparison for tCustom96
tCustom97 ComparisonString String values comparison for tCustom97
tCustom98 ComparisonString String values comparison for tCustom98
tCustom99 ComparisonString String values comparison for tCustom99
tCustomDate1 ComparisonTime Time values comparison for tCustomDate1
tCustomDate2 ComparisonTime Time values comparison for tCustomDate2
tCustomDate3 ComparisonTime Time values comparison for tCustomDate3
tCustomDate4 ComparisonTime Time values comparison for tCustomDate4
tCustomDate5 ComparisonTime Time values comparison for tCustomDate5
tCustomDate6 ComparisonTime Time values comparison for tCustomDate6
tCustomDate7 ComparisonTime Time values comparison for tCustomDate7
tCustomDate8 ComparisonTime Time values comparison for tCustomDate8
tCustomDate9 ComparisonTime Time values comparison for tCustomDate9
tCustomDate10 ComparisonTime Time values comparison for tCustomDate10
tCustomDate11 ComparisonTime Time values comparison for tCustomDate11
tCustomDate12 ComparisonTime Time values comparison for tCustomDate12
tCustomDate13 ComparisonTime Time values comparison for tCustomDate13
tCustomDate14 ComparisonTime Time values comparison for tCustomDate14
tCustomDate15 ComparisonTime Time values comparison for tCustomDate15
tCustomDate16 ComparisonTime Time values comparison for tCustomDate16
tCustomDate17 ComparisonTime Time values comparison for tCustomDate17
tCustomDate18 ComparisonTime Time values comparison for tCustomDate18
tCustomDate19 ComparisonTime Time values comparison for tCustomDate19
tCustomDate20 ComparisonTime Time values comparison for tCustomDate20
tCustomDate21 ComparisonTime Time values comparison for tCustomDate21
tCustomDate22 ComparisonTime Time values comparison for tCustomDate22
tCustomDate23 ComparisonTime Time values comparison for tCustomDate23
tCustomDate24 ComparisonTime Time values comparison for tCustomDate24
tCustomDate25 ComparisonTime Time values comparison for tCustomDate25
tCustomDate26 ComparisonTime Time values comparison for tCustomDate26
tCustomDate27 ComparisonTime Time values comparison for tCustomDate27
tCustomDate28 ComparisonTime Time values comparison for tCustomDate28
tCustomDate29 ComparisonTime Time values comparison for tCustomDate29
tCustomDate30 ComparisonTime Time values comparison for tCustomDate30
tCustomDate31 ComparisonTime Time values comparison for tCustomDate31
tCustomDate32 ComparisonTime Time values comparison for tCustomDate32
tCustomDate33 ComparisonTime Time values comparison for tCustomDate33
tCustomDate34 ComparisonTime Time values comparison for tCustomDate34
tCustomDate35 ComparisonTime Time values comparison for tCustomDate35
tCustomDate36 ComparisonTime Time values comparison for tCustomDate36
tCustomDate37 ComparisonTime Time values comparison for tCustomDate37
tCustomDate38 ComparisonTime Time values comparison for tCustomDate38
tCustomDate39 ComparisonTime Time values comparison for tCustomDate39
tCustomDate40 ComparisonTime Time values comparison for tCustomDate40
tCustomDate41 ComparisonTime Time values comparison for tCustomDate41
tCustomDate42 ComparisonTime Time values comparison for tCustomDate42
tCustomDate43 ComparisonTime Time values comparison for tCustomDate43
tCustomDate44 ComparisonTime Time values comparison for tCustomDate44
tCustomDate45 ComparisonTime Time values comparison for tCustomDate45
tCustomDate46 ComparisonTime Time values comparison for tCustomDate46
tCustomDate47 ComparisonTime Time values comparison for tCustomDate47
tCustomDate48 ComparisonTime Time values comparison for tCustomDate48
tCustomDate49 ComparisonTime Time values comparison for tCustomDate49

SearchTicketArticle

The SearchTicketArticle type search criteria for a ticket article

Field Type Description
id ComparisonNumber The id field represents the id of article
ticketId ComparisonNumber The ticket id field represents the ticket associated with article
type [TicketArticleType!] The type field represents te type of article
senderType [TicketArticleSender!] The sender type field represents the sender type
from ComparisonString The from field represents the email address, and, optionally, the name of the author
to ComparisonString The to field represents the email address, and optionally name of the message recipient
cc ComparisonString The cc field represents the carbon copyin of article
subject ComparisonString The subject field represents a brief summary of the topic of the message
replyTo ComparisonString The reply to field represents address should be used to reply to the message
messageId ComparisonString The message id represents an automatic-generated field to prevent multiple deliveries and for reference in in_reply_to
inReplyTo ComparisonString The in reply to field represents message-id of the message this is a reply to, used to link related messages together, this field only applies to reply messages
contentType ComparisonString The content type field represents the message content type
internal Boolean The internal field represents id is internal article
references ComparisonString The references field represents article references
createdBy SearchAddressBookContact The created by id field represents the user who created the article
createdAt ComparisonTime The created at field represents the creation date

The SearchTicketLink type represents a search parameter for ticket links

Field Type Description
type [TicketLinkType!] Ticket link type
ticketId ComparisonNumber Linked ticket id

SearchTransferTo

The SearchTransferTo type represents search criteria for transfer destination.

Field Type Description
type [TransferToType!] List of transfer destination types to search
value ComparisonString String values comparison for value

SortingAddressBookContact

Field Type Description
key SortKeyAddressBookContact Key for sorting inbound interactions
direction SortDirection Direction for sorting inbound interactions

SortingInboundInteraction

The SortingInboundInteraction type represents sorting for inbound interactions (calls, video calls and chats).

Field Type Description
key SortKeyInboundInteraction Key for sorting inbound interactions
direction SortDirection Direction for sorting inbound interactions

SortingTicket

The SortingSupportInboundInteraction type represents sorting for support inbound interactions.

Field Type Description
key SortKeyTicket Key for sorting inbound interactions
direction SortDirection Direction for sorting inbound interactions

Enums

AddressBookContactType

The AddressBookContactType enum represents the type of an address book contact

Value Description
USER
CUSTOMER
ORGANIZATION

AddressBookMailType

The AddressBookMailType enum represents the type of an addressbook contact email

Value Description
WORK Work mail type
HOME Home mail type

AddressBookTelType

The AddressBookTelType enum represents the type of an addressbook contact telephone number

Value Description
FAX Fax telephone number type
HOME Home telephone number type
CELL Cell telephone number type
WORK Work telephone number type
CELL_WORK Cell_work telephone number type
FAX_WORK Fax_work telephone number type
FAX_HOME Fax_home telephone number type
CELL_HOME Cell_home telephone number type
MAIN Main telephone number type
OTHER Other telephone number type

AddressBookWebType

The AddressBookWebType enum represents the type of an addressbook contact web site

Value Description
WORK Work web type
HOME Home web type

AdvancedQueryType

The AdvancedQueryType enum represents the type of the advanced query

Value Description
TVOX TVox type
ADDRESSBOOK Addressbook type
SUPPORT Support type

ChannelDestinationType

The ChannelDestinationType enum represents the channel destination type of transfer.

Value Description
INTERNAL Internal
EXTERNAL External
REMOTE Remote

ComparisonNumberOperator

The ComparisonNumberOperator enum represents operator to compare number values.

Value Description
NULL Number value is 'null'.
EMPTY Number value is empty.
NOT_NULL Number value is not 'null'.
NOT_EMPTY Number value is not empty.
EQUAL Number value is equal to at least one value of list field "value" of "ComparisonNumber" type.
NOT_EQUAL Number value is not equal to at least one value of list field "value" of "ComparisonNumber" type.
CONTAIN Number value is contained into at least one value of list field "value" of "ComparisonNumber" type.
GREATER_THAN Number value is greater than or equals to equal to field "value" of "ComparisonNumber" type.
LESSER_THAN Number value is lesser than or equals to equal to field "value" of "ComparisonNumber" type.
GREATER_EQUAL_THAN Number value is greater or equal than or equals to equal to field "value" of "ComparisonNumber" type.
LESSER_EQUAL_THAN Number value is lesser than or equals to equal to field "value" of "ComparisonNumber" type.
BETWEEN Number value is between field "valueLeft" and field "valueRight" of "ComparisonNumber" type.
IN Number value is in values

ComparisonStringOperator

The ComparisonStringOperator enum represents operator to compare string values.

Value Description
NULL String value is 'null'.
EMPTY String value is empty.
NOT_NULL String value is not 'null'.
NOT_EMPTY String value is not empty.
EQUAL String value is equal to at least one value of list field "value" of "ComparisonString" type.
NOT_EQUAL String value is not equal to at least one value of list field "value" of "ComparisonString" type.
CONTAIN String value is contained into at least one value of list field "value" of "ComparisonString" type.
START_WITH String value is the initial part of at least one value of list field "value" of "ComparisonString" type.
END_WITH String value is the end of at least one value of list field "value" of "ComparisonString" type.
IN String is in values
REGEXP String value matches the regular expression in field "regexp" of "ComparisonString" type.

ComparisonTimeOperator

The ComparisonTimeOperator enum represents operator to compare time values.

Value Description
GREATER_THAN Time value is greater than or equals to equal to field "value" of "ComparisonTime" type.
LESSER_THAN Time value is lesser than or equals to equal to field "value" of "ComparisonTime" type.
BETWEEN Time value is between field "valueLeft" and field "valueRight" of "ComparisonTime" type.

ContactLookupType

The ContactLookupType enum represents contact lookup type.

Value Description
SUCCESS Single contact lookup
MULTIPLE Multiple contact lookup
NONE No contact lookup
ERROR Error in contact lookup

ContactType

The ContactType enum represents contact type.

Value Description
USER Internal user contact
SERVICE Service contact
SHORT_NUMBER Short number contact
EXTERNAL_ITEM External contact
EXTERNAL_ORGANIZATION External organization contact
PERSONAL_ITEM Personal contact
UNKNOWN Unknown contact
ANONYMOUS Anonymous contact

Context

The Context enum represents the time context of interaction.

Value Description
ACTIVE Active
OUT_OF_SERVICE Out of service
OUT_OF_CALENDAR Out of calendar
CUSTOM_1 Custom context 1
CUSTOM_2 Custom context 2
CUSTOM_3 Custom context 3
CUSTOM_4 Custom context 4
CUSTOM_5 Custom context 5

MultiChannelType

The MultiChannelType enum represents multichannel type.

Value Description
CALL Call / Phone channel
GENERIC_1 Custom generic channel 1
GENERIC_2 Custom generic channel 2
GENERIC_3 Custom generic channel 3
VIDEO Video channel
MAIL Mail / Support channel
LIVEHELP LiveHelp channel
CHAT Chat channel

PopupType

The PopupType enum represents popup type.

Value Description
EXE Executable popup
WEB Web popup

SortDirection

The SortKeyInboundInteraction enum represents sort direction for inbound interactions search.

Value Description
ASC Ascending direction
DESC Descending direction

SortKeyAddressBookContact

Value Description
UUID Uuid
FULL_NAME Full name
NAME Name
SURNAME Surname
OTHER_NAME Other name
ORGANIZATION_UUID Organization uuid
ORGANIZATION_FULL_NAME Organization full name
DEPARTMENT Department
STREET Street
CITY City
DISTRICT District
CAP Cap
COUNTRY Country
CUSTOMER_CODE Customer code
CATEGORY Category
NOTE Note
VIP Vip
NPS Nps
ROLE Role
SITE Site
CUSTOM_1 Custom 1
CUSTOM_2 Custom 2
CUSTOM_3 Custom 3
CUSTOM_4 Custom 4
CUSTOM_5 Custom 5
CUSTOM_6 Custom 6
CUSTOM_7 Custom 7
CUSTOM_8 Custom 8
CUSTOM_9 Custom 9
CUSTOM_10 Custom 10

SortKeyInboundInteraction

The SortKeyInboundInteraction enum represents sort key for inbound interactions search.

Value Description
ID Unique identifier
USER User's username
EXTEN User's logged exten
SIP_CHANNEL SIP channel identifier
SKILLSET Skillset code
CLI Caller Line Identification (Calling number)
DNIS Direct Number Information System (Called number)
START_TIME Start time
DISTRIBUTION_TIME Distribution time
ANSWER_BY_USER_TIME Answer time by user
WAIT_DURATION_ON_USER Ringing time on user
DURATION_ON_USER Connection time with user
END_TIME End time
WAIT_DURATION Waiting duration time in IVR
TOTAL_DURATION Total duration time in the system
SERVICE Service code
POPUP_TYPE Popup type
CONTEXT Time context
SIP_CALL_ID SIP call identifier (only for calls)
CUSTOMER Customer code
SERVICE_PRIORITY Service priority
MULTICHANNEL_SESSION Multichannel session id
IVR_LABEL IVR node label
INTERVIEW_SERVICE Interview (Survey) service code
SMARTREC Recording file (only for calls)
DATA Additional data
QUEUE_TIME Queueing time
QUEUE_DURATION Queueing duration time
WNR_ON_USER_TIME WNR (after interaction work) time
WNR_DURATION_ON_USER WNR (after interaction work) duration time
CALL_RESULT_LEVEL_1 1st level of call result (exit code)
CALL_RESULT_LEVEL_2 2nd level of call result (exit code)
HOLD_DURATION Hold duration time on user
CALL_TAG_NOTE_1 Call tagging note 1
CALL_TAG_NOTE_2 Call tagging note 2
CHANNEL_DESTINATION Channel destination of transfer
SENTIMENT Customer sentiment code
CONTACT_ID Contact UUID
CONTACT_USERNAME Contact username (if internal of type "USER")
CONTACT_VALUE Contact value (e.g. phone number)
CONTACT_TYPE Contact type
CONTACT_LOOKUP_TYPE Contact lookup result type
CENSUS_RESULT Contact censur result
ABANDONED_CALL Linked abandoned call id
CALLBACK_CALL Linked callback call id
GENERIC_1 Generic custom data 1
GENERIC_2 Generic custom data 2
GENERIC_3 Generic custom data 3
GENERIC_4 Generic custom data 4
GENERIC_5 Generic custom data 5
LAST_UPDATE_TIME Last update time

SortKeyTicket

Value Description
ID Id
PRIORITY Priority
STATE State
NUMBER Number
TITLE Title
FIRST_RESPONSE_AT First response at
FIRST_RESPONSE_ESCALATION_AT First response escalation at
FIRST_RESPONSE_IN_MIN First response in min
FIRST_RESPONSE_DIFF_IN_MIN First response diff in min
CLOSE_AT Close at
CLOSE_ESCALATION_AT Close escalation at
CLOSE_IN_MIN Close in min
CLOSE_DIFF_IN_MIN Close diff in min
UPDATE_ESCALATION_AT Update escalation at
UPDATE_IN_MIN Update in min
UPDATE_DIFF_IN_MIN Update diff in min
LAST_CONTACT_AT Last contact at
LAST_CONTACT_AGENT_AT Last contact agent at
LAST_CONTACT_CUSTOMER_AT Last contact customer at
LAST_OWNER_UPDATE_AT Last owner update at
CREATE_ARTICLE_TYPE_ID Create article type id
CREATE_ARTICLE_SENDER_ID Create article sender id
ARTICLE_COUNT Article count
ESCALATION_AT Escalation at
PENDING_TIME Pending time
TIME_UNIT Time unit
T_CUSTOM_1 Custom field 1
T_CUSTOM_2 Custom field 2
T_CUSTOM_3 Custom field 3
T_CUSTOM_4 Custom field 4
T_CUSTOM_5 Custom field 5
T_CUSTOM_6 Custom field 6
T_CUSTOM_7 Custom field 7
T_CUSTOM_8 Custom field 8
T_CUSTOM_9 Custom field 9
T_CUSTOM_10 Custom field 10
T_CUSTOM_11 Custom field 11
T_CUSTOM_12 Custom field 12
T_CUSTOM_13 Custom field 13
T_CUSTOM_14 Custom field 14
T_CUSTOM_15 Custom field 15
T_CUSTOM_16 Custom field 16
T_CUSTOM_17 Custom field 17
T_CUSTOM_18 Custom field 18
T_CUSTOM_19 Custom field 19
T_CUSTOM_20 Custom field 20
T_CUSTOM_21 Custom field 21
T_CUSTOM_22 Custom field 22
T_CUSTOM_23 Custom field 23
T_CUSTOM_24 Custom field 24
T_CUSTOM_25 Custom field 25
T_CUSTOM_26 Custom field 26
T_CUSTOM_27 Custom field 27
T_CUSTOM_28 Custom field 28
T_CUSTOM_29 Custom field 29
T_CUSTOM_30 Custom field 30
T_CUSTOM_31 Custom field 31
T_CUSTOM_32 Custom field 32
T_CUSTOM_33 Custom field 33
T_CUSTOM_34 Custom field 34
T_CUSTOM_35 Custom field 35
T_CUSTOM_36 Custom field 36
T_CUSTOM_37 Custom field 37
T_CUSTOM_38 Custom field 38
T_CUSTOM_39 Custom field 39
T_CUSTOM_40 Custom field 40
T_CUSTOM_41 Custom field 41
T_CUSTOM_42 Custom field 42
T_CUSTOM_43 Custom field 43
T_CUSTOM_44 Custom field 44
T_CUSTOM_45 Custom field 45
T_CUSTOM_46 Custom field 46
T_CUSTOM_47 Custom field 47
T_CUSTOM_48 Custom field 48
T_CUSTOM_49 Custom field 49
T_CUSTOM_50 Custom field 50
T_CUSTOM_51 Custom field 51
T_CUSTOM_52 Custom field 52
T_CUSTOM_53 Custom field 53
T_CUSTOM_54 Custom field 54
T_CUSTOM_55 Custom field 55
T_CUSTOM_56 Custom field 56
T_CUSTOM_57 Custom field 57
T_CUSTOM_58 Custom field 58
T_CUSTOM_59 Custom field 59
T_CUSTOM_60 Custom field 60
T_CUSTOM_61 Custom field 61
T_CUSTOM_62 Custom field 62
T_CUSTOM_63 Custom field 63
T_CUSTOM_64 Custom field 64
T_CUSTOM_65 Custom field 65
T_CUSTOM_66 Custom field 66
T_CUSTOM_67 Custom field 67
T_CUSTOM_68 Custom field 68
T_CUSTOM_69 Custom field 69
T_CUSTOM_70 Custom field 70
T_CUSTOM_71 Custom field 71
T_CUSTOM_72 Custom field 72
T_CUSTOM_73 Custom field 73
T_CUSTOM_74 Custom field 74
T_CUSTOM_75 Custom field 75
T_CUSTOM_76 Custom field 76
T_CUSTOM_77 Custom field 77
T_CUSTOM_78 Custom field 78
T_CUSTOM_79 Custom field 79
T_CUSTOM_80 Custom field 80
T_CUSTOM_81 Custom field 81
T_CUSTOM_82 Custom field 82
T_CUSTOM_83 Custom field 83
T_CUSTOM_84 Custom field 84
T_CUSTOM_85 Custom field 85
T_CUSTOM_86 Custom field 86
T_CUSTOM_87 Custom field 87
T_CUSTOM_88 Custom field 88
T_CUSTOM_89 Custom field 89
T_CUSTOM_90 Custom field 90
T_CUSTOM_91 Custom field 91
T_CUSTOM_92 Custom field 92
T_CUSTOM_93 Custom field 93
T_CUSTOM_94 Custom field 94
T_CUSTOM_95 Custom field 95
T_CUSTOM_96 Custom field 96
T_CUSTOM_97 Custom field 97
T_CUSTOM_98 Custom field 98
T_CUSTOM_99 Custom field 99
T_CUSTOM_DATE_1 Time Custom Date field 1
T_CUSTOM_DATE_2 Time Custom Date field 2
T_CUSTOM_DATE_3 Time Custom Date field 3
T_CUSTOM_DATE_4 Time Custom Date field 4
T_CUSTOM_DATE_5 Time Custom Date field 5
T_CUSTOM_DATE_6 Time Custom Date field 6
T_CUSTOM_DATE_7 Time Custom Date field 7
T_CUSTOM_DATE_8 Time Custom Date field 8
T_CUSTOM_DATE_9 Time Custom Date field 9
T_CUSTOM_DATE_10 Time Custom Date field 10
T_CUSTOM_DATE_11 Time Custom Date field 11
T_CUSTOM_DATE_12 Time Custom Date field 12
T_CUSTOM_DATE_13 Time Custom Date field 13
T_CUSTOM_DATE_14 Time Custom Date field 14
T_CUSTOM_DATE_15 Time Custom Date field 15
T_CUSTOM_DATE_16 Time Custom Date field 16
T_CUSTOM_DATE_17 Time Custom Date field 17
T_CUSTOM_DATE_18 Time Custom Date field 18
T_CUSTOM_DATE_19 Time Custom Date field 19
T_CUSTOM_DATE_20 Time Custom Date field 20
T_CUSTOM_DATE_21 Time Custom Date field 21
T_CUSTOM_DATE_22 Time Custom Date field 22
T_CUSTOM_DATE_23 Time Custom Date field 23
T_CUSTOM_DATE_24 Time Custom Date field 24
T_CUSTOM_DATE_25 Time Custom Date field 25
T_CUSTOM_DATE_26 Time Custom Date field 26
T_CUSTOM_DATE_27 Time Custom Date field 27
T_CUSTOM_DATE_28 Time Custom Date field 28
T_CUSTOM_DATE_29 Time Custom Date field 29
T_CUSTOM_DATE_30 Time Custom Date field 30
T_CUSTOM_DATE_31 Time Custom Date field 31
T_CUSTOM_DATE_32 Time Custom Date field 32
T_CUSTOM_DATE_33 Time Custom Date field 33
T_CUSTOM_DATE_34 Time Custom Date field 34
T_CUSTOM_DATE_35 Time Custom Date field 35
T_CUSTOM_DATE_36 Time Custom Date field 36
T_CUSTOM_DATE_37 Time Custom Date field 37
T_CUSTOM_DATE_38 Time Custom Date field 38
T_CUSTOM_DATE_39 Time Custom Date field 39
T_CUSTOM_DATE_40 Time Custom Date field 40
T_CUSTOM_DATE_41 Time Custom Date field 41
T_CUSTOM_DATE_42 Time Custom Date field 42
T_CUSTOM_DATE_43 Time Custom Date field 43
T_CUSTOM_DATE_44 Time Custom Date field 44
T_CUSTOM_DATE_45 Time Custom Date field 45
T_CUSTOM_DATE_46 Time Custom Date field 46
T_CUSTOM_DATE_47 Time Custom Date field 47
T_CUSTOM_DATE_48 Time Custom Date field 48
T_CUSTOM_DATE_49 Time Custom Date field 49

Status

The Status enum represents the status of interaction.

Value Description
HANGUP Hanging up the caller
CLOSED_BY_SYSTEM Closed by the system
CLOSED_BY_SYSTEM_NO_SELECTION Closed by system for no selection in IVR
CLOSED_BY_SYSTEM_MAX_QUEUED_CALL_OVER Closed by system for reaching the maximum number of interactions in the queue
CLOSED_BY_SYSTEM_MAX_CALL_OVER Closed by system for reaching the maximum number of interactions
CLOSED_BY_SYSTEM_CALLBACK Closed by system for callback (phone channel)
CLOSED_WITH_TRANSFER Closed by system with transfer
ANSWERED_CLOSED_BY_CALLER Answered and closed by caller
ANSWERED_CLOSED_BY_CALLED Answered and closed by called
ANSWERED_WITH_BLIND_TRANSFER Answered and transfered (blind)
ANSWERED_WITH_CONSULTATION_TRANSFER Answered and transfered with consultation
ERROR Error

Step

The Step enum represents interaction step to return to the interaction type result.

Value Description
LAST Last step
ALL All steps

TicketArticleSender

The TicketArticleSender enum represents the type of a ticket article sender

Value Description
AGENT Agent article sender type
CUSTOMER Customer article sender type
SYSTEM System article sender type

TicketArticleType

The TicketArticleType enum represents the type of a ticket article

Value Description
EMAIL Email ticket type
SMS Sms ticket type
CHAT Chat ticket type
FAX Fax ticket type
PHONE Phone ticket type
TWITTER_STATUS Twitter STATUS ticket type
TWITTER_DIRECT_MESSAGE Twitter direct message ticket type
FACEBOOK_FEED_POST Facebook feed post ticket type
FACEBOOK_FEED_COMMENT Facebook feed comment ticket type
NOTE Note ticket type
WEB Web ticket type
TELEGRAM_PERSONAL_MESSAGE Telegram PERSONAL-MESSAGE ticket type

TicketLinkType

The TicketLinkType enum represents the type of a ticket link

Value Description
NORMAL Normal ticket link type
PARENT Parent ticket link type
CHILD Child ticket link type

TicketPriority

The TicketPriority enum represents the priority of a support ticket

Value Description
LOW lowest priority
NORMAL medium priority
HIGH highest priority

TicketState

The TicketState enum represents the state of a support ticket

Value Description
NEW New ticket state
OPEN Open ticket state
PENDING_REMINDER Pending reminder ticket state
CLOSED Closed ticket state
MERGED Merged ticket state
PENDING_CLOSE Pending close ticket state

TransferToType

The TransferToType enum represents the type of transfer destination.

Value Description
SERVICE Transfer to service
NUMBER Transfer to number

Scalars

Boolean

The Boolean scalar type represents true or false.

Float

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Int

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

OrderedMap

The OrderedMap scalar type represents a map where keys keeps an order and values are strings.

String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Time

The Time scalar type represents date/time (RFC 3339) as string at UTC.

Integration

TVox Data Model can be integrated with any third-party software that can have a Web API (HTTP GET/POST requests) as its data source and can manipulate its response in JSON format.

Microsoft and Google provide some of the most popular tools for data analysis / BI and reporting:

Microsoft Excel & Power BI

Microsoft Excel, both in its desktop and cloud version (Microsoft Office 365), is one of the industry standard for spreadsheet applications featuring calculation and graphing tools for data analysis and reporting.

Microsoft Power BI is a business analytics service. It aims to provide interactive visualizations and business intelligence capabilities with an interface simple enough for end users to create their own reports and dashboards.

Both Excel and Power BI use the Power Query tool to get data from an external source and transform it.

Example:

Below is an example of how to integrate the search for inbound service calls on Excel 2016.

query {
  inboundCalls(search: { year: 2020, month: 5 }) {
    id
    step
    cli
    dnis
  }
}
curl 'https://<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://<TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  inboundCalls(search: { year: 2020, month: 5 }) {\n    id\n    step\n    cli\n    dnis\n  }\n}\n"}' --compressed

Power Query

let
    /* Return error messages in table */
    ErrorHandler = (errors) =>   
        let
            #"Conversione in tabella" = Table.FromList(errors, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
            #"Tabella Column1 espansa" = Table.ExpandRecordColumn(#"Conversione in tabella", "Column1", {"message"}, {"message"})
        in  
            #"Tabella Column1 espansa",
    /* Return query result data in table */
    DataHandler = (data) =>
        let
            calls = data[inboundCalls],
            #"Conversione in tabella" = Table.FromList(calls, Splitter.SplitByNothing(), null, null, ExtraValues.Ignore),
            #"Tabella Column1 espansa" = Table.ExpandListColumn(#"Conversione in tabella", "Column1"),
            #"Tabella Column1 espansa1" = Table.ExpandRecordColumn(#"Tabella Column1 espansa", "Column1", {"id", "step", "cli", "dnis"}, {"id", "step", "cli", "dnis"})
        in
            #"Tabella Column1 espansa1",

    Source = Web.Contents(
    "https://<TVOX_HOST>/datamodel/query",
    [
        Headers=[
            #"Method"="POST",
            #"Content-Type"="application/json",
            #"X-Telenia-APIKey"="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
            #"Access-Control-Allow-Origin"="*" 
        ],
        Content=Text.ToBinary("{""query"": ""query { inboundCalls(search: { year: 2020, month: 5 }) { id step cli dnis }}""}")
    ]
    ),
    #"JSON" = Json.Document(Source),
    Result = try ErrorHandler(JSON[errors]) otherwise if JSON[data] <> null then DataHandler(JSON[data]) else null
in
    Result

The Power Query code on the right makes an HTTP POST call to the inboundCalls API passing the APIKey in the header; the result is converted into a table showing for each call step its id, step, cli and dnis.

To execute the request:

  1. Open Excel 2016.
  2. Select the Data tab.
  3. From Get & Transform select New Query > Other sources > Empty query.
  4. From Query open Advanded editor and write/paste the Power Query code you can find on the right, replacing <TVOX_HOST> with the host of your TVox and XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX value with the actual API Key.
  5. Selecting Close and save query result will be loaded on your sheet.

This is just a simple example of how to integrate the TVox Data Model with Excel 2016 but it can be developed according to your needs and also integrated on Microsoft Excel for Office 365 and Microsoft PowerBI.

Consult the API Reference section to compose your query, helping you with the development and testing environment.

Google Sheets

Google Sheets is a cloud-based software where you can create and edit spreadsheets directly in your web browser or mobile app (Android or iOS). Multiple people can work simultaneously, you can see people’s changes as they make them, and every change is saved automatically.

Google Sheets does not natively allow you to retrieve data from a web source in JSON format, but it is possible to integrate custom functions (in Javascript code) capable of doing so.

IMPORTJSONAPI (complete documentation here) provides a custom function to selectively extract data from a JSON or GraphQL API in a tabular format suitable for import into a Google Sheets spreadsheet.
Following example uses this function.

Example:

Below is an example of how to integrate the search for inbound service calls on Google Spredsheet.

The Function Query code on the right makes an HTTP POST call to the inboundCalls API passing the APIKey in the header; the result is converted into a table showing for each call step its id, step, cli and dnis.

query {
  inboundCalls(search: { year: 2020, month: 5 }) {
    id
    step
    cli
    dnis
  }
}
curl 'https://<TVOX_HOST>/datamodel/query' -H 'Accept-Encoding: gzip, deflate, br' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin: https://<TVOX_HOST>' -H 'X-Telenia-APIKey: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' --data-binary '{"query":"query {\n  inboundCalls(search: { year: 2020, month: 5 }) {\n    id\n    step\n    cli\n    dnis\n  }\n}\n"}' --compressed

Function Query

=IMPORTJSONAPI("https://<TVOX_HOST>/datamodel/query"; "$..inboundCalls[*][*]"; "id,step,cli,dnis"; "method=post"; "contentType=application/json"; "headers={ 'X-Telenia-APIKey' : 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' }"; "payload={ 'query': '{ inboundCalls(search: { year: 2020, month: 5 }) { id step cli dnis }}'}")

To add IMPORTJSONAPI custom function to your spreadsheet and use it, follow this procedure:

  1. Open the a Google Sheet spreadsheet in your browser.
  2. Select the Tools > Script editor menu option. This will open a script editor window. You will need to copy and paste the function code into a blank script file.
  3. Copy the entire contents of the IMPORTJSONAPI.gs file. The raw file can be found here.
  4. Paste this into the blank Code.gs script file or another blank script file that you have created.
  5. Select the File > Save menu option to save the script.
  6. Go back to your sheet and you should now be able to use the =IMPORTJSONAPI() function.
  7. In a cell of your spreadsheet write/paste the Function Query code you can find on the right, replacing <TVOX_HOST> with the host of your TVox and XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX value with the actual API Key.

This is just a simple example of how to integrate the TVox Data Model with Google Sheets but it can be developed according to your needs and also integrated on Google Sheets with you own custom function.

Consult the API Reference section to compose your query, helping you with the development and testing environment.

Glossary

TVox

Term Description Example
Step Single event that makes up the life cycle of an interaction (call, video call or chat) A call received from user A, transfered to user B and then closed, corresponds to an interaction consisting of 3 steps
Interaction Call, video call or chat. Formed by one or more steps, from the most recent to the oldest
CLI Caller Line Identification (Calling number) 1234567890
DNIS Direct Number Information System (Called number) 0452224600

GraphQL

Below a short GraphQL glossary of the main terms used in reference to the example on the right, reporting a basic GraphQL query for retrieving some users info searching them by name.

# Query "users" searches for users with name equal to "John"
# and displays their name, surname and address (street and city)
query {
  users(searchName: "John") {
    name
    surname
    address {
      street
      city
    }
  }
}
Term Description Example
Query Operation type defining a single data request query
Operation Function that retrieves requested data users
Argument Condition to filter, paginate and sort requested data searchName
Field Value that rapresents requested data name, surname, address (street and city are defined as fields of address)

Changelog

2.2.2

Available from: 24.8.0, 24.3.25, 24.7.4
* Features / Enhancements
* added new chatsession count query: chatSessionCount

2.2.1

Available from: 24.6 * Features / Enhancements * added new tickets history query: TicketsHistory

2.2.0

Available from: 23.0.0 * Features / Enhancements * added new Power Dialer query: PowerDialerCampaigns, PowerDialerCampaignExecutions, PowerDialerMultiChannelHistory * added new Power Dialer Instant Messaging query: PowerDialerInstantMessagingCampaignStatus, PowerDialerInstantMessagingHistory * added new Chat Channel query: chatHistorySummary, chatHistorySummaryCount, chatSession * added new Callback Call query: callbackCallsHistory, callbackCallsHistoryCount * added new Call Detail Record (CDR) query: callDetailRecords, callDetailRecordsCount, callDetailRecordsSummary

2.1.4

Available from: 22.2.0 * Features / Enhancements * added new Power Dialer query: PowerDialerCampaigns, PowerDialerCampaignExecutions, PowerDialerMultiChannelHistory * added new Power Dialer Instant Messaging query: PowerDialerInstantMessagingCampaignStatus, PowerDialerInstantMessagingHistory

2.1.3

Available from: 23.0.0, 22.1.0, 22.0.12

2.1.2

Available from: 23.0.0, 22.1.0, 22.0.9

2.1.1

Available from: 23.0.0, 22.1.0, 22.0.4

2.1.0

Available from: 23.0.0, 22.1.0, 22.0.2

2.0.0

Available from: 22.0.0

1.2.9

1.2.8

1.2.7

1.2.6

1.2.5

1.2.4

1.2.3

1.2.2

1.2.1

1.2.0

1.1.0

1.0.0